Próbowałem jakoś zrobić plugin Pojedynek na Deagle pomiędzy dwoma terrorystami. Coś wyszło wzorując się na pluginie Pojedynku na Deagle w JailBreaku
Jestem amatorem , próbuję coś robić aby się uczyć ale nie wychodzi mi to trochę , potrzebuję pomocy z tym najlepiej od was.
Po wpisaniu /pojedynek wyświetla się menu z graczami z TT , ale po wciśnięciu na gracza nic się nie dzieje.
Nie wiem gdzie jest błąd , za cienki chyba w tym jestem ale proszę o podanie przyczyny nie wyświetlającego się menu
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <colorchat> #define PLUGIN "Deagle" #define VERSION "1.0" #define AUTHOR "Ripposta" new bronie_pojedynek, pojedynek[2]; new HamHook:fHamKill, HamHook:fHamDamage, HamHook:fHamTrace, HamHook:fHamWeapon[31]; new id_deagle; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /pojedynek", "MenuPojedynek") } public OnRemoveData(day) { if(pojedynek[0] || pojedynek[1]) { pojedynek[0] = 0; pojedynek[1] = 0; RegisterHams(false); } bronie_pojedynek = 0; } public OnLastPrisonerTakeWish(id, zyczenie) { if(zyczenie == id_deagle) { pojedynek[0] = id; bronie_pojedynek = CSW_DEAGLE; MenuPojedynek(id); } return PLUGIN_CONTINUE; } public MenuPojedynek(id) { new menu = menu_create("Pojedynek Z:", "Handle_Pojedynek"); for(new i=1; i<=32; i++) { if(!is_user_alive(i) || !is_user_connected(i) || cs_get_user_team(i) != CS_TEAM_T) 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 Handle_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[Pojedynek]^x03 %s^x01 walczy z^x03 %s", szName, szName2); RegisterHams(true); set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 10); set_user_rendering(pojedynek[1], kRenderFxGlowShell, 0, 0, 255, kRenderNormal, 10); 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 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 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]); } }
Użytkownik Ripposta edytował ten post 03.11.2014 20:22