Czy da sie sprawdzic osobnym pluginem czy klasa ma np. rakiety? lub jakas inna zdolnosc
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Mlodzik
Rejestracja: 20.04.2013Aktualnie: Nieaktywny
Poza forum Ostatnio: 01.05.2013 13:47





Statystyki
- Grupa: Użytkownik
- Całość postów: 12
- Odwiedzin: 1 121
- Tytuł: Początkujący
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Płeć
Mężczyzna
-
Lokalizacja
Pomorskie
Kontakt
Moje tematy
Sprawdzenie zdolnosci klasy
01.05.2013 10:26
2 klasy: Szalony furiat i Szpieg
28.04.2013 13:44
Poproszę o 2 klasy:
Szpieg:
-1/2 na resp u wroga, 1/4 na odrodzenie po śmierci, staty po 20, wygląd wroga, ak
Szalony Furiat:
-co runde dostaje losową broń główną i pistola, i jeśli by się dało to jeszcze losowe zdolności
Problem z rankiem
27.04.2013 13:59
Chodzi o to, że gram na swoim serwie(hostowany na kompie) z botami i kumplami, ale jest problem bo w ranku widać tylko mnie i jednego bota, cvary poustawiałem tak żeby zaliczało boty i żeby zapisywało na nick, ale ciągle tylko ja i bot jesteśmy w ranku. Co zrobić? Jeśli to problem z pluginem to proszę o przeniesieni.
AMXX Studio nie działa
26.04.2013 16:44
Jak w temacie, nie działa mi amxx studio.
Pisałem se plugin, zapisałem go, próbuje zamknąć amxx studio, wyskakuje błąd, no nic udało mi się zamknąć ale otworzyć już nie mogę, ciągle błąd, nawet gdy ściągnąłem jeszcze raz to ciągle to samo. Co zrobić?
PS.
Jeśli zły dział proszę o przeniesienie
Opis i pytanie po wyborze klasy
20.04.2013 10:14
Witam!
Wymyśliłem jak zrobić, aby po wybraniu klasy pokazywało nam opis klasy i pytanie czy chcemy ją wybrać(dla pewności).
Postanowiłem że się z Wami tym podzielę.
A więc po kolei:
1. Tworzymy nową zmienną pomiędzy:
new bool:freezetime = true;
a:
public plugin_init()
o nazwie wybrana_klasa, czyli będzie to wyglądać tak:
new bool:freezetime = true; new wybrana_klasa[33] public plugin_init()
2.Odszukujemy funkcję
public WybierzKlase_Handle(id, menu, item)
3.Zamieniamy:
if(item == klasa_gracza[id] && !nowa_klasa_gracza[id]) return PLUGIN_CONTINUE;
na:
if(item == klasa_gracza[id]) return PLUGIN_CONTINUE;
4. Usuwamy:
nowa_klasa_gracza[id] = item;
i w miejsce tego dodajemy:
wybrana_klasa[id] = item
5. Tworzymy nowe menu, które w tytule będzie miało opis wybranej klasy i pytanie czy chcemy ją wybrać, czyli tuż pod poprzednim dopisujemy:
new text[513] new bronie[320]; for(new i=1, n=1; i <= 32; i++) { if((1<<i) & bronie_klasy[item]) { new weaponname[22]; get_weaponname(i, weaponname, 21); replace_all(weaponname, 21, "weapon_", " "); if(n > 1) add(bronie, charsmax(bronie), ","); add(bronie, charsmax(bronie), weaponname); n++; } } format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n\rInteligencja: \w%i^n\rZdrowie: \w%i^n\rWytrzymalosc: \w%i^n\rKondycja: \w%i^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item]) new nmenu = menu_create(text, "WybierzKlase_Handler") menu_additem(nmenu, "Tak") menu_additem(nmenu, "Nie") menu_display(id, nmenu)
Czyli ostatecznie funkcja WybierzKlase_Handle będzie wyglądała tak:
{ client_cmd(id, "spk QTM_CodMod/select"); if(item++ == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } if(item == klasa_gracza[id]) return PLUGIN_CONTINUE; wybrana_klasa[id] = item new text[513] new bronie[320]; for(new i=1, n=1; i <= 32; i++) { if((1<<i) & bronie_klasy[item]) { new weaponname[22]; get_weaponname(i, weaponname, 21); replace_all(weaponname, 21, "weapon_", " "); if(n > 1) add(bronie, charsmax(bronie), ","); add(bronie, charsmax(bronie), weaponname); n++; } } format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n\rInteligencja: \w%i^n\rZdrowie: \w%i^n\rWytrzymalosc: \w%i^n\rKondycja: \w%i^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item]) new nmenu = menu_create(text, "WybierzKlase_Handler") menu_additem(nmenu, "Tak") menu_additem(nmenu, "Nie") menu_display(id, nmenu) return PLUGIN_CONTINUE }
6. Tuż pod funkcją WybierzKlase_Handle tworzymy nową WybierzKlase_Handler, w ten sposób:
public WybierzKlase_Handler(id, menu, item)
7. Do tej nowej funkcji wrzucamy:
client_cmd(id, "spk QTM_CodMod/select"); //aby byl dzwiek przy wybraniu tak/nie if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id]) //aby nie wybierało nam nowej klasy jesli ta nowa to ta sama co juz mamy return PLUGIN_CONTINUE;
8.Sprawdzamy co wybrał gracz czyli:
switch(item) { case 0: //jesli wybral TAK... { nowa_klasa_gracza[id] = wybrana_klasa[id]; //to ustawiamy mu nowa klase taka co wybral if(klasa_gracza[id]) //jesli juz ma klase to zmieni mu sie w next rundzie client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); else //jesli nie ma... { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); //automatycznie ustawi mu sie } } case 1: //Jesli wybral NIE... { WybierzKlase(id) //To wraca do menu wyboru klasy } }
9. Na koniec do funkcji dopisujemy jeszcze tylko:
return PLUGIN_CONTINUE
Czyli funkcja WybierzKlase_Handler, będzie wyglądać tak:
public WybierzKlase_Handler(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id]) return PLUGIN_CONTINUE; switch(item) { case 0: { nowa_klasa_gracza[id] = wybrana_klasa[id]; if(klasa_gracza[id]) client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); else { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); } } case 1: { WybierzKlase(id) } } return PLUGIN_CONTINUE; }
A całość:
public WybierzKlase(id) { new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle"); new klasa[50]; for(new i=1; i <= ilosc_klas; i++) { WczytajDane(id, i); format(klasa, charsmax(klasa), "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]); menu_additem(menu, klasa); } WczytajDane(id, klasa_gracza[id]); menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); client_cmd(id, "spk QTM_CodMod/select"); } public WybierzKlase_Handle(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(item++ == MENU_EXIT) { menu_destroy(menu); return PLUGIN_CONTINUE; } if(item == klasa_gracza[id]) return PLUGIN_CONTINUE; wybrana_klasa[id] = item new text[513] new bronie[320]; for(new i=1, n=1; i <= 32; i++) { if((1<<i) & bronie_klasy[item]) { new weaponname[22]; get_weaponname(i, weaponname, 21); replace_all(weaponname, 21, "weapon_", " "); if(n > 1) add(bronie, charsmax(bronie), ","); add(bronie, charsmax(bronie), weaponname); n++; } } format(text, 512, "\rNazwa: \w%s ^n\rOpis: \w%s^n\rBronie: \w%s^n\rInteligencja: \w%i^n\rZdrowie: \w%i^n\rWytrzymalosc: \w%i^n\rKondycja: \w%i^n^n\yCzy chcesz wybrac te klase?",nazwy_klas[item], opisy_klas[item], bronie, inteligencja_klas[item], zdrowie_klas[item], wytrzymalosc_klas[item], kondycja_klas[item]) new nmenu = menu_create(text, "WybierzKlase_Handler") menu_additem(nmenu, "Tak") menu_additem(nmenu, "Nie") menu_display(id, nmenu) return PLUGIN_CONTINUE } public WybierzKlase_Handler(id, menu, item) { client_cmd(id, "spk QTM_CodMod/select"); if(wybrana_klasa[id] == klasa_gracza[id] && !nowa_klasa_gracza[id]) return PLUGIN_CONTINUE; switch(item) { case 0: { nowa_klasa_gracza[id] = wybrana_klasa[id]; if(klasa_gracza[id]) client_print(id, print_chat, "[COD:MW] Klasa zostanie zmieniona w nastepnej rundzie."); else { UstawNowaKlase(id); DajBronie(id); ZastosujAtrybuty(id); } } case 1: { WybierzKlase(id) } } return PLUGIN_CONTINUE; }
Mam nadzieję, że się przyda, napisałem to bo mówiono mi że jeszcze nikt poprawnie tego nie zrobił, więc chyba jestem pierwszy Działać na pewno działa, bo testowałem już to u siebie.
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Tematy: Mlodzik
- Regulamin