Skocz do zawartości

Gra Mod IP Monitoring Właściciel Serwera Opiekun Serwera GameTracker HLTV Połącz
Only DD2 91.224.117.59:27130 erroR.! & PLum ` maJami.
CSGO:MOD 91.224.117.53:27160 erroR.! & PLum Po Pro Stu K0z4K
4MAPS 54.36.186.16:27195 Slox
BF2MOD 145.239.236.14:27075 Copyrighter
TeamSpeak3 tsgwardia.pl erroR.!
Tabela serwerów @ Copyright by Stara-Gwardia.pl
Zaloguj się, aby obserwować  
K@MILOVVSKY

[Plugin] Wybór skinów do broni

Polecane posty

Napisano (edytowany)

OPIS

Plugin mojego autorstwa. Pozwala nam  w łatwy i szybki sposób zmienić skin (model) broni, na taki, jaki wybierzemy w menu. Domyślnie jest to po pięć skinów do 4 rodzajów broni: nóż, M4A1, AK47, AWP. Gdy wyjdziemy z serwera i wejdziemy po jakimś czasie (dowolnie jakim) model będzie taki sam, jaki wybraliśmy podczas ostatniej wizyty na serwerze. No chyba, że nie wybraliśmy to model będzie domyślny. Do tego wyborowi skinów towarzyszy ładny wygląd menu. 

KONFIGURACJA

Nie umieszczam modeli, ponieważ każdy ma prawo mieć na swoim serwerze takie jakie chce. Można bezproblemowo dodawać/usuwać skiny, dodawać/usuwać bronie.  Aby nie wywalało serwera z powodu braku modelu, pamiętaj, aby nazwy folderów były takie same jak w sma pluginu!

INSTALACJA

- plik skiny.amxx wrzucic do addons/amxmodx/plugins

- do pliku addons/amxmodx/configs/plugins.ini dopisz skiny.amxx

- swoje modele do poszczególnych broni wrzuć do models/noz lub models/m4a1 lub models/ak lub models/awp - w zależności z jaką bronią masz do czynienia.

 

Link do oficjalnego tematu: https://amxx.pl/topic/161825-plugin-menu-wyboru-broni-skiny/

 

skiny.sma

 

Edytowano przez K@MILOVVSKY
  • Lubie to 1
  • Pomocne 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Co prawda plugin nie jest często spotykany lecz jak już jest na serwerach często widać go w opcji tylko dla vipów. Może coś takiego skombinujesz ? Leci plus za dobrą robotę, ponieważ napisać plugin z tak wieloma zmiennymi nie jest tak łatwo.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki @MisQuZii za miłe słowa, zmiennych jest raptem kilka, więc to nic takiego :) Już odpowiadam na Twoje pytanie: oczywiście, mogę. 

Można to zrobić na dwa sposoby: jeden dla leniwych, a drugi dla osób, które dysponują większym zasobem czasu. 

Sposób pierwszy polega na podmienieniu funkcji menuWyboru  na takie coś:

public menuWyboru(id)
{
	if(get_user_flags(id) & FLAGA_VIP)
	{
		new menuBody[512]
		formatex(menuBody, charsmax(menuBody), "\d[\r*\yTwojaSiec.pl\r*\d]^n\wMenu Skinow:\y")
		new menu = menu_create(menuBody, "skinsmenu")

		menu_additem(menu, "\wNoz")
		menu_additem(menu, "\wM4A1")
		menu_additem(menu, "\wAK47")
		menu_additem(menu, "\wAWP")
	
	
		menu_setprop(menu, MPROP_BACKNAME, "Wroc");
		menu_setprop(menu, MPROP_NEXTNAME, "Dalej");
		menu_setprop(menu, MPROP_EXITNAME, "Wyjscie");

		menu_display(id, menu);
	}
	else 
		client_print(id, print_chat, "Nie masz dostepu do wyboru skina - taka opcja tylko dla VIP'a!");
}

W miejsce FLAGA_VIP wpisujemy flagę, którą ma VIP. Jak to działa? Jeśli /skiny wpisze zwykły gracz, wyświetli mu się komunikat na chacie: "Nie masz dostepu do wyboru skina - taka opcja tylko dla VIP'a!", natomiast jeśli /skiny wpisze VIP to wtedy wyświetli mu się normalnie menu. 

Drugi sposób:                                                                                                                                                                                                                                                                                                                    Chcemy np. zmienić jednego skina do kosy, aby był tylko dla VIPow. W takim układzie, udajemy się do funkcji knife_deploy(id) i pod

new menu = menu_create(menuBody, "knifemenu")

dodajemy

new aktywna=menu_makecallback("aktywna_func");
	new nieaktywna=menu_makecallback("nieaktywna_func");

Następnie znajdujemy interesujący nas skin i robimy coś takiego:

if(get_user_flags(id) & FLAGA_VIP) menu_additem(menu, "\wBayonet | Fade","",0, aktywna)
	else menu_additem(menu, "\wBayonet | Fade \r[Tylko dla VIP'a]","",0, nieaktywna)

Potem w dowolnym miejscu w pluginie dodajemy:

public aktywna_func(id, menu, item){
	return ITEM_ENABLED;
}
public nieaktywna_func(id, menu, item){
	return ITEM_DISABLED;
}

Jak to działa? Zwykłemu graczowi zostanie zablokowany dostęp do wyboru tego skina i będzie pisało: Bayonet | Fade [Tylko dla VIP'a], zaś VIP będzie mógł normalnie wybrać tego skina. Dla innych skinów/broni postępujemy analogicznie, oprócz ostatniego kroku (czyli dodania publiców aktywna_func oraz nieaktywna_func) no bo przecież już je mamy w pluginie. 

  • Lubie to 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się
Zaloguj się, aby obserwować  

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×