/* Human Classes for zombie plague, menu for classes automatically invoked 8 seconds after player spawn This plug is far from complete, please help with further development of it since it may have some undesired results on gameplay. You can edit this plug however it fit your needs. Here is TO DO list: 1. Make B key invoke human class menu 2. Make user choose class only once per round (could be limited with round timer or some other method) - done 3. Make user choice remember thru whole map time, just like it was done for zombies 4. Changing of models is not implemented yet due to numerous bugs and uncertain effects 5. For now, there are 7 classes only. If you have idea for more classes, make a request 6. Make classes buyable for ammo packs 7. Bots support */ #include <amxmodx> #include <cstrike> #include <fun> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <zombieplague> new ma_klase[33] public plugin_init() { register_plugin("Klasy Ludzi", "1.2", "[AvP] ELOS & TheRock") RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) register_clcmd("say /klasa", "WybierzLudzi"); } public fwHamPlayerSpawnPost(id) { set_task(get_cvar_float("zp_delay")+0.2, "sprawdz",id) } public WybierzLudzi(id) { new menu = menu_create("\rWybierz Klase Ludzi.", "WybierzLudziSelect"); menu_additem(menu, "\wUzbrojony Cywil", "1", 0) menu_additem(menu, "\wSportowiec", "2", 0) menu_additem(menu, "\wGrubas", "3", 0) menu_additem(menu, "\wLodowy czlowiek", "4", 0) menu_additem(menu, "\wDziewczynka z zapalnikiem", "5", 0) menu_additem(menu, "\wStary Komandos", "6", 0) menu_additem(menu, "\wDziecko swiatla", "7", 0) menu_additem(menu, "\wX-Men \r(Premium)", "8", ADMIN_LEVEL_H) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public WybierzLudziSelect(id, menu, item) { if (item == MENU_EXIT) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], iName[64]; new zaccess, callback; menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback); new key = str_to_num(data) switch(key) { case 1: { if(ma_klase[id] == 1) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie") ma_klase[id] = 1 } } case 2: { if(ma_klase[id] == 2) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie") ma_klase[id] = 2 } } case 3: { if(ma_klase[id] == 3) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Grubas wybrana poprawnie") ma_klase[id] = 3 } } case 4: { if(ma_klase[id] == 4) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Lodowy Czlowiek wybrana poprawnie") ma_klase[id] = 4 } } case 5: { if(ma_klase[id] == 5) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Dziewczynka z zapalnikiem wybrana poprawnie") ma_klase[id] = 5 } } case 6: { if(ma_klase[id] == 6) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Stary komandos wybrana poprawnie") ma_klase[id] = 6 } } case 7: { if(ma_klase[id] == 7) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa Dziecko swiatla wybrana poprawnie") ma_klase[id] = 7 } } case 8: { if(ma_klase[id] == 8) { client_print(id, print_chat, "To jest twoja aktualna klasa") } else { client_print(id, print_chat, "Klasa X-Men wybrana poprawnie") ma_klase[id] = 8 } } } menu_destroy(menu); return PLUGIN_HANDLED; } public DajMoce(id) { if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id)) { return PLUGIN_HANDLED; } else if(ma_klase[id] == 0) { set_user_armor(id, 40) } else if(ma_klase[id] == 1) { set_user_gravity(id, 1.20) set_user_maxspeed(id, 1.20) } else if(ma_klase[id] == 2) { set_user_health(id, 300) } else if(ma_klase[id] == 3) { set_user_gravity(id, 0.50) set_user_maxspeed(id, 1.20) } else if(ma_klase[id] == 4) { fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "weapon_smokegrenade"); fm_give_item(id, "weapon_smokegrenade") } else if(ma_klase[id] == 5) { fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_hegrenade"); fm_give_item(id, "weapon_hegrenade") } else if(ma_klase[id] == 6) { fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang"); fm_give_item(id, "weapon_flashbang") } else if(ma_klase[id] == 7) { fm_give_item(id, "weapon_g3sg1") } else if(ma_klase[id] == 8) { set_user_armor(id, 200) set_user_health(id, 250) set_user_gravity(id, 0.50) set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,70) } return PLUGIN_HANDLED; } public sprawdz(id) { DajMoce(id) if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id)) { return PLUGIN_HANDLED; } else if(ma_klase[id] == 0) { WybierzLudzi(id) } return PLUGIN_HANDLED; }
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.
|
Guest Message by DevFuse
Nie daje itemów ;/ ani nie pokazuje menu po czasie
Temat rozp.
Monisse
, 14.08.2012 09:35
7 odpowiedzi w tym temacie
#1
Napisano 14.08.2012 09:35
Witam, chce aby ten plugin dawał te itemy, które są dołąćzone do klas czyli granaty + autokampa, bo w grze nie daje, po zatym chce aby ktoś zrobił, że po kilkunastu sekundach samo sie okienko pokazywalo
#2 Gość_21977_*
Napisano 14.08.2012 10:00
zamień
Tak samo, zamiast
PS Jakie okienko?
fm_give_item(id, "weapon_smokegrenade");na
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_smokegrenade");
fm_give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_smokegrenade");i podobnie dla reszty granatów (o ile dobrze rozumiem, że chcesz 5 granatów mieć?)
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 5)
Tak samo, zamiast
fm_give_item(id,"weapon_g3sg1");użyj
give_item(id,"weapon_g3sg1");
PS Jakie okienko?
#3
Napisano 14.08.2012 10:09
Obczaj na dialbomodzie masz tak, że okienko z wyborem klasy wyświetla się na początku mapy jakieś 20 sekund po rozpoczęciu, w moim przypadku chce tak samo zrobić.
#4
Napisano 14.08.2012 13:28
Dzięki działą już.
#5
Napisano 14.08.2012 16:05
A jak dodać, aby każda klasa miała inny model postaci ?
#6
Napisano 18.08.2012 22:44
To musisz pierw skolowacc modele
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#7 Gość_21977_*
Napisano 19.08.2012 17:49
Sprawdzasz, jaką klasę ma postać i dajesz jej po odrodzeniu (np. Ham_Spawn) odpowiedni model cs_set_user_model, wcześniej go precache`ując
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych