Chciałbym zrobić życzenia, tylko mam dwa pluginy, i do tego pierwszego chciałbym dodać podmenu pojedynki. (czyli klikamy "Pojedynki" i otwieraja nam się menu z pojedynkami na bronie). chciałbym również zamienić FD dla wszystkich na FD dla ostatniego więźnia i żeby mu się automatycznie dawał następnego dnia. Pliki sma dodałem do
bo wyskoczył "Błąd podczas wysyłania". [code]#include <amxmodx> #include <amxmisc> #include <cstrike> #include <colorchat> #define PLUGIN "Menu Zyczen" #define VERSION "1.0" #define AUTHOR "JustBeFime" #define MAX 31 new nazwa_gracza[MAX+1][64]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg","Death_Event","a"); register_clcmd("say /lr","menuzyczen"); register_clcmd("fl_menuzyczen","menuzyczen"); } public Death_Event() { new Players[32],Num get_players(Players,Num, "aceh", "TERRORIST") for(new i=0;i<Num;i++) { new id = Players[i] if(!is_user_connected(id)) continue; if(Num < 2) { menuzyczen(id) } } } public menuzyczen(id) { client_print(id, print_chat,"\r[JailBreak]\wJestes ostatnim wiezniem! Wybierz zyczenie!"); new menu = menu_create("\r[JailBreak]\w Menu zyczen.","menuzyczenww"); menu_additem(menu, "\y[Jutro]\w Duch dla mnie.");//1 menu_additem(menu, "\y[Jutro]\w Duch dla...");//2 menu_additem(menu, "\y[Jutro]\w FreeDay dla wszystkich.");//3 menu_additem(menu, "\y[Jutro]\w Bawimy sie w Quiz.");//4 menu_additem(menu, "\y[Jutro]\w Bawimy sie w Prawda/Falsz.");//5 menu_additem(menu, "\y[Jutro]\w Bawimy sie w Mam Talent.");//6 menu_additem(menu, "\y[Jutro]\w Gramy w Pilke.");//7 menu_additem(menu, "\y[Jutro]\w CT rozkazuje spiewajaco.");//8 menu_additem(menu, "\y[Jutro]\w CT rozkazuje na siedzaco.");//9 menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER); menu_display(id, menu, 0); return PLUGIN_CONTINUE } public menuzyczenww(id, menu, item) { new nick[32]; get_user_name(id, nick, 31); switch(item) { case 1: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Ducha dla siebie!", nick) } case 2: { DajDucha(id) } case 3: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 FreeDay jutro dla wszystkich!", nick) } case 4: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro bawimy sie w Quiz!", nick) } case 5: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro bawimy sie w Prawda/Falsz!", nick) } case 6: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro bawimy sie w Mam Talent!", nick) } case 7: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro gramy w Pilke!", nick) } case 8: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro CT prowadzi spiewajaco!", nick) } case 9: { ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro CT prowadzi na siedzaco!", nick) } } menu_destroy(menu) return PLUGIN_HANDLED } public DajDucha(id) { new menu = menu_create("Wybierz gracza komu chcesz dac ducha:", "Handle_Duch"); new num, players[32]; for(new i=0; i<num; i++) { new num[3], id2 = players[i]; if(!is_user_connected(id2) || get_user_team(id2) != 1) continue; num_to_str(id2, num, charsmax(num)); menu_additem(menu, nazwa_gracza[id2], num); } menu_setprop(menu, MPROP_EXITNAME, "Wyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); return PLUGIN_HANDLED; } public Handle_Duch(id, menu, item) { if(item == MENU_EXIT || !is_user_connected(id)) { menu_destroy(menu); return PLUGIN_CONTINUE; } new nick[32]; get_user_name(id, nick, 31); new data[3], acces, callback; menu_item_getinfo(menu, item, acces, data, charsmax(data), _, _, callback); ColorChat(id, GREEN, "[Zyczenie]^x03 %s^x01 wybral^x03 Jutro Ducha dla %s!", nick, nazwa_gracza) return PLUGIN_CONTINUE; }[/code] [spoiler][code]#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <colorchat> #include <jailbreak> #include <ColorChat> #define PLUGIN "Jail Zyczenia" #define VERSION "v1.1" #define AUTHOR "Cypis - edit by Nestea****Lemon" /////////// Pojedynek /////////// new bronie_pojedynek, pojedynek[2]; new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31]; /////////// Pojedynek /////////// new const maxAmmo[31] = {0,52,0,90,1,31,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,31,90,120,90,2,35,90,90,0,100}; new id_bezruch, id_freeday, id_duszek, id_scouty, id_deagle, id_awp, id_m3, id_noze, id_he, id_ak; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) id_bezruch = jail_register_wish("Bezruch"); id_freeday = jail_register_wish("FreeDay"); id_duszek = jail_register_wish("Duszek"); id_he = jail_register_wish("Pojedynek na HE"); id_noze = jail_register_wish("Pojedynek na kosy"); id_ak = jail_register_wish("Pojedynek na AK47"); id_scouty = jail_register_wish("Pojedynek na Scouty"); id_deagle = jail_register_wish("Pojedynek na Deagle"); id_awp = jail_register_wish("Pojedynek na AWP"); id_m3 = jail_register_wish("Pojedynek na m3"); } public plugin_precache() { precache_sound("jb_cypis/rambomode.wav"); precache_sound("jb_cypis/pojedynek.wav"); } public OnRemoveData() { /////////// Pojedynek /////////// if(pojedynek[0] || pojedynek[1]) { pojedynek[0] = 0; pojedynek[1] = 0; RegisterHams(false); } bronie_pojedynek = 0; /////////// Pojedynek /////////// } public OnLastPrisonerTakeWish(id, zyczenie) { if(zyczenie == id_bezruch) { strip_user_weapons(id); give_item(id, "weapon_knife"); give_item(id, "weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, maxAmmo[CSW_DEAGLE]); jail_set_ct_hit_tt(true); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT) continue; give_item(i, "weapon_deagle"); jail_set_user_speed(i, 0.1); } } else if(zyczenie == id_freeday) { if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść fd return JAIL_HANDLED; user_kill(id); jail_set_prisoner_free(id); } else if(zyczenie == id_duszek) { if(jail_get_days() == CZWARTEK || jail_get_days() == SOBOTA) //w tych dniach nie mozna wziść duszka return JAIL_HANDLED; user_kill(id); jail_set_prisoner_ghost(id); } else if(zyczenie == id_noze) { pojedynek[0] = id; bronie_pojedynek = CSW_KNIFE; MenuPojedynek(id); } else if(zyczenie == id_he) { pojedynek[0] = id; bronie_pojedynek = CSW_HEGRENADE; MenuPojedynek(id); } else if(zyczenie == id_ak) { pojedynek[0] = id; bronie_pojedynek = CSW_AK47; MenuPojedynek(id); } else if(zyczenie == id_scouty) { pojedynek[0] = id; bronie_pojedynek = CSW_SCOUT; MenuPojedynek(id); } else if(zyczenie == id_deagle) { pojedynek[0] = id; bronie_pojedynek = CSW_DEAGLE; MenuPojedynek(id); } else if(zyczenie == id_awp) { pojedynek[0] = id; bronie_pojedynek = CSW_AWP; MenuPojedynek(id); } else if(zyczenie == id_m3) { pojedynek[0] = id; bronie_pojedynek = CSW_M3; MenuPojedynek(id); } return JAIL_CONTINUE; } /////////// Pojedynek /////////// public MenuPojedynek(id) { new menu = menu_create("Pojedynek Z:", "Handel_Pojedynek"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_CT) continue; new name[64]; get_user_name(i, name, 63); menu_additem(menu, name); } menu_setprop(menu, MPROP_EXITNAME, "\dWyjdz"); menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona"); menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona"); menu_display(id, menu); } public Handel_Pojedynek(id, menu, item) { if(pojedynek[0] != id || pojedynek[1] || !is_user_alive(id)) return; if(item == MENU_EXIT) { menu_display(id, menu); return; } new acces, callback, data[3], szName2[64]; menu_item_getinfo(menu, item, acces, data, 2, szName2, 63, callback); pojedynek[1] = get_user_index(szName2); if(!is_user_alive(pojedynek[1]) || !is_user_connected(pojedynek[1])) { pojedynek[1] = 0; MenuPojedynek(id); return; } new szName[32]; get_user_name(id, szName, 31); ColorChat(0, TEAM_COLOR, "^x04[PrisonBreak]^x03 %s^x01 walczy z^x03 %s", szName, szName2); client_cmd(0, "spk jb_cypis/pojedynek.wav"); RegisterHams(true); set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10); set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10); jail_set_user_block(pojedynek[0], true) jail_set_user_block(pojedynek[1], true); set_user_health(id, 100); set_user_health(pojedynek[1], 100); strip_user_weapons(id); strip_user_weapons(pojedynek[1]); new weapon_name[24]; get_weaponname(bronie_pojedynek, weapon_name, 23); new ent = give_item(id, weapon_name); new ent2 = give_item(pojedynek[1], weapon_name); cs_set_weapon_ammo(ent, 1); cs_set_weapon_ammo(ent2, 1); } public TakeDamage(id, ent, attacker, Float:damage, damagebits) return vTracerAttack(id, attacker); public TraceAttack(id, attacker, Float:damage, Float:direction[3], tracehandle, damagebits) return vTracerAttack(id, attacker); vTracerAttack(id, attacker) { if(!pojedynek[0] || !is_user_connected(id) || !is_user_connected(attacker) || id == attacker) return HAM_IGNORED; if(pojedynek[0] == id && pojedynek[1] != attacker) return HAM_SUPERCEDE; if(pojedynek[0] == attacker && pojedynek[1] != id) return HAM_SUPERCEDE; return HAM_IGNORED; } public SmiercGraczaPost(id, attacker, shouldgib) { if(!is_user_connected(id) || id != pojedynek[1]) return HAM_IGNORED; jail_set_user_block(id, false); SzukajPrzeciwnika(); return HAM_IGNORED; } public WeaponAttack(ent) { new id = get_pdata_cbase(ent, 41, 4); if(pojedynek[0] == id || pojedynek[1] == id) { cs_set_user_bpammo(id, bronie_pojedynek, 1); } } public client_disconnect(id) { if(pojedynek[1] == id) SzukajPrzeciwnika(); } public SzukajPrzeciwnika() { pojedynek[1] = RandomPlayer(2); if(!pojedynek[1]) return; if(is_user_alive(pojedynek[0])) set_user_health(pojedynek[0], 100); set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10); jail_set_user_block(pojedynek[1], true); set_user_health(pojedynek[1], 100); strip_user_weapons(pojedynek[1]); new weapon_name[24] get_weaponname(bronie_pojedynek, weapon_name, 23); new ent = give_item(pojedynek[1], weapon_name); cs_set_weapon_ammo(ent, 1); } public RegisterHams(bool:wartosc) { if(wartosc) { if(fHamKill) EnableHamForward(fHamKill); else fHamKill = RegisterHam(Ham_Killed, "player", "SmiercGraczaPost", 1); if(fHamDamage) EnableHamForward(fHamDamage); else fHamDamage = RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); if(fHamTrace) EnableHamForward(fHamTrace); else fHamTrace = RegisterHam(Ham_TraceAttack, "player", "TraceAttack"); if(fHamWeapon[bronie_pojedynek]) EnableHamForward(fHamWeapon[bronie_pojedynek]); else { new WeaponName[24]; get_weaponname(bronie_pojedynek, WeaponName, 23); fHamWeapon[bronie_pojedynek] = RegisterHam(Ham_Weapon_PrimaryAttack, WeaponName, "WeaponAttack", 1); } } else { if(fHamKill) DisableHamForward(fHamKill); if(fHamDamage) DisableHamForward(fHamDamage); if(fHamTrace) DisableHamForward(fHamTrace); if(fHamWeapon[bronie_pojedynek]) DisableHamForward(fHamWeapon[bronie_pojedynek]); } } /////////// Pojedynek /////////// /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
Użytkownik killer98 edytował ten post 15.01.2014 00:35