[ROZWIĄZANE] Pomoc z dodaniem paru funkcji...
Najlepsza odpowiedź
Gość_21977_*
28.08.2013 00:55
1.
#include <amxmisc>
Zbędne. Nie używasz funkcji z tego zbioru.
2. Ad. 1. Skoro menu się nie zmienia, to warto je zcache`ować, choćby w plugin_cfg, niż za każdym razem tworzyć je na nowo.
public plugin_cfg(){ gMyMenu=menu_create("Klasy Humana", "cbMyMenu"); menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50"); menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja"); menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed"); menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm"); menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost"); menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare"); }
3. Jeśli menu ma być tylko dla ludzi, to sprawdź, czy nie jest to zombie:
public klasy(id){ if(!zp_get_user_zombie(id)){ menu_display(id, gMyMenu,0); } return PLUGIN_HANDLED; }
4. Zmiana prędkości gracza by Benio101 > przeczytaj i popraw. Obecnie bonus prędkości zresetuje się choćby po zmianie broni na inną, a chyba nie o to chodziło.
5. Domyślne ograniczenia granatów to 1 HE, 2 FB i 1 SG. Kod
give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade");
Przydzieli i tak tylko jeden granat, gdyż jaki jest domyślny limit, tutaj powinieneś ręcznie ustalić liczbę granatów w plecaku na 3, itp. dla pozostałych granatów (użyj funkcji cs_set_user_bpammo).
6. Ad. 2. Byty, istotne zdarzenia i studium pluginu > Start_rundy by Benio101 + set_task - funkcje czasowe by Miczu
7. Ad. 3. Po wyborze drużyny, zablokuj graczowi zmianę do końca rundy (AM: (en) New Round / Player Spawn / Round Start / Round End - do Not mess it by VEN).
Po rozpoczęciu nowej rundy, zmień klasę gracza na wybraną w poprzedniej rundzie. Dane zapisuj w tablicy globalnej o 33 elementach.
Przejdź do postu
Predator ;*
26.08.2013
Siema . Wczoraj napisałem 1 taki swój plugin do zombie plague / mod . Potrzebuje waszej pomocy .
Chciałbym to dodać do pluginu
- Aby był tylko dla Humana (klasy)
- Aby wybór klas sam się pokazywał co rundę . 10 sekund po rozpoczęciu nowej rundzie
- Jeżeli gracz chcę zmienić klasę na inną to aby nowa wybrana klasa zmieniła się po rozpoczęciu nowej rundy .
Plugin:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #include <core> #include <cstrike> #define PLUGIN "zp_humna_klasy" #define VERSION "1.0" #define AUTHOR "Predator" new gMyMenu; public plugin_init() { register_plugin("zp_humna_klasy", "1.0", "Predator") register_clcmd("say /klasa","klasy") } public klasy(id){ gMyMenu=menu_create("Klasy Humana", "cbMyMenu"); menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50"); menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja"); menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed"); menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm"); menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost"); menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare"); menu_display(id, gMyMenu,0); return PLUGIN_HANDLED; } public cbMyMenu(id, menu, item){ switch(item){ case 0:{ set_user_armor(id, 50); } case 1:{ set_user_gravity (id, 0.50 ); } case 2:{ set_user_maxspeed (id, 300.0 ); } case 3:{ give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade"); } case 4:{ give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); } case 5:{ give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_smokegrenade"); give_item(id, "weapon_smokegrenade"); cs_set_user_nvg (id, 1); } } }
Proszę o pomoc .
Użytkownik Predator ;* edytował ten post 26.08.2013 08:05
PaiN kiLLer
26.08.2013
co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz
menu_display(id, gMyMenu,0); return PLUGIN_HANDLED;
Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje
Użytkownik PaiN kiLLer edytował ten post 26.08.2013 09:17
d0naciak
26.08.2013
co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz
menu_display(id, gMyMenu,0); return PLUGIN_HANDLED;Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje
Nie musi się wcale powtarzać, a pokazywanie lepiej zastosować w pętli, tym bardziej że ma to być wysyłane dla ludzi (humanów).
Jakiej wersji zombie moda używasz?
Predator ;*
27.08.2013
co do 2. Tworzysz event nowe rundy. Potem dajesz set_task 10 sekund i żeby tylko raz się powturszyło. Następnie w funkcji set_taska dajesz
menu_display(id, gMyMenu,0); return PLUGIN_HANDLED;Napisał bym ci ten kod ale nie umiem robić set taska który powtarza się X razy, poprostu cos mi sie nigdy nie kompiluje
Nie musi się wcale powtarzać, a pokazywanie lepiej zastosować w pętli, tym bardziej że ma to być wysyłane dla ludzi (humanów).
Jakiej wersji zombie moda używasz?
Odświeżam .
Zombie Plague 4.3 używam .
Użytkownik Predator ;* edytował ten post 27.08.2013 08:21
dasiek
27.08.2013
Ten temat został przeniesiony z forum
Scripting AMXX → Pytania
do
Scripting AMXX → Problemy
Predator ;*
27.08.2013
Odświeżam .
Pomoże ktoś to dokończyć ? Albo jakieś wskazówki co pomoże mi to zrobić ?
Najlepsza odpowiedź Gość_21977_* 28.08.2013
1.
#include <amxmisc>
Zbędne. Nie używasz funkcji z tego zbioru.
2. Ad. 1. Skoro menu się nie zmienia, to warto je zcache`ować, choćby w plugin_cfg, niż za każdym razem tworzyć je na nowo.
public plugin_cfg(){ gMyMenu=menu_create("Klasy Humana", "cbMyMenu"); menu_additem(gMyMenu, "Pancernik (Pancerz +50)", "Pancerz +50"); menu_additem(gMyMenu, "Skoczek (Grawitacja 0.50)", "Zwiekszona Grawitacja"); menu_additem(gMyMenu, "Szybki (Zwiekszony Speed)", "Zwiekszony Speed"); menu_additem(gMyMenu, "Ognisty (3x Napalm)", "3x Napalm"); menu_additem(gMyMenu, "Mrozny (3x Frost)", "3x Frost"); menu_additem(gMyMenu, "Swietlik (3x Flare)", "3x Flare"); }
3. Jeśli menu ma być tylko dla ludzi, to sprawdź, czy nie jest to zombie:
public klasy(id){ if(!zp_get_user_zombie(id)){ menu_display(id, gMyMenu,0); } return PLUGIN_HANDLED; }
4. Zmiana prędkości gracza by Benio101 > przeczytaj i popraw. Obecnie bonus prędkości zresetuje się choćby po zmianie broni na inną, a chyba nie o to chodziło.
5. Domyślne ograniczenia granatów to 1 HE, 2 FB i 1 SG. Kod
give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade"); give_item(id, "weapon_hegrenade");
Przydzieli i tak tylko jeden granat, gdyż jaki jest domyślny limit, tutaj powinieneś ręcznie ustalić liczbę granatów w plecaku na 3, itp. dla pozostałych granatów (użyj funkcji cs_set_user_bpammo).
6. Ad. 2. Byty, istotne zdarzenia i studium pluginu > Start_rundy by Benio101 + set_task - funkcje czasowe by Miczu
7. Ad. 3. Po wyborze drużyny, zablokuj graczowi zmianę do końca rundy (AM: (en) New Round / Player Spawn / Round Start / Round End - do Not mess it by VEN).
Po rozpoczęciu nowej rundy, zmień klasę gracza na wybraną w poprzedniej rundzie. Dane zapisuj w tablicy globalnej o 33 elementach.