Megoldva!
Megoldás:
Kód: #include <amxmodx> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <fun> #include <engine> #define PLUGIN "Deathrun szabad es ruli kor" #define VERSION "1.1" #define AUTHOR "Demon" #pragma semicolon 1 new const Prefix[ ] = "[InformáciĂł]"; new bool:g_ParbajKor; new bool:g_Nyomott; new bool:g_Parancs; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /free", "ParbajKor"); register_clcmd("team_say /free", "ParbajKor"); register_clcmd("say /szabad", "ParbajKor"); register_clcmd("team_say /szabad", "ParbajKor"); register_clcmd("say /ruli", "ParbajKor"); register_clcmd("team_say /ruli", "ParbajKor"); register_clcmd("say /parbaj", "ParbajKor"); register_clcmd("team_say /parbaj", "ParbajKor"); register_forward(FM_CmdStart, "fw_CmdStart", 1); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "func_button")) RegisterHam(Ham_Use, "func_button", "FwdHamUse_Button"); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname","func_rot_button")) RegisterHam(Ham_Use, "func_rot_button", "FwdHamUse_Button"); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "button_target")) RegisterHam(Ham_Use, "button_target", "FwdHamUse_Button"); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "armoury_entity")) RegisterHam(Ham_Touch, "armoury_entity", "arm_ent_touch", 0); register_event( "CurWeapon", "EventCurWeapon", "be", "1=1", "2!29" ); register_event( "HLTV", "EventNewRound", "a", "1=0", "2=0" ); register_event( "TextMsg", "EventRestart", "a", "2&#Game_C", "2&#Game_w" ); RegisterHam(Ham_Spawn, "player", "fwSpawn", 1); } public fwSpawn(id) set_task(3.0, "Eled", id); public Eled(id) { if(g_ParbajKor && is_user_connected(id) && is_user_alive(id)) { strip_user_weapons(id); give_item(id, "weapon_knife"); new iWpnID = give_item(id, "weapon_usp"); cs_set_weapon_ammo(iWpnID, 1); cs_set_user_bpammo(id, CSW_USP, 0); } } public arm_ent_touch(ent,id) { if((g_ParbajKor) && is_user_connected(id) && is_user_alive(id)) return HAM_SUPERCEDE; return HAM_IGNORED; } public fw_CmdStart(id, handle, seed) { if(!is_user_alive(id)) return FMRES_IGNORED; static iInAttackButton, iInAttackOldButton; iInAttackButton = (get_uc(handle, UC_Buttons) & IN_ATTACK); iInAttackOldButton = (get_user_oldbutton(id) & IN_ATTACK); if(iInAttackButton && !iInAttackOldButton) { if(get_user_weapon(id) == CSW_USP && g_ParbajKor) { new clip,ammo ; get_user_ammo(id,CSW_USP,clip,ammo); if(ammo==0) cs_set_user_bpammo(id, CSW_USP, 1); return FMRES_HANDLED; } } return FMRES_IGNORED; } public EventNewRound() { g_ParbajKor=false; g_Nyomott=false; g_Parancs=false; set_task(5.0, "Parancs"); new p[32], n, id; get_players(p, n, "ca"); for(new i=0; i < n; i++) { id = p[i]; if(get_user_team(id) == 1) print_color(id, "!g%s !yHa !trulizni !yszeretnĂ©l Ărd be:!t /free", Prefix); } } public Parancs() g_Parancs=true; public EventRestart() { g_ParbajKor=false; g_Nyomott=false; } public EventCurWeapon(id) { if(g_ParbajKor) { new weapon = get_user_weapon(id); if(weapon != CSW_KNIFE,CSW_USP && weapon != CSW_USP) client_cmd(id, "weapon_usp"); new clip,ammo; get_user_ammo(id,CSW_USP,clip,ammo); if(ammo==0) cs_set_user_bpammo(id, CSW_USP, 0); } } public ParbajKor(id) { if(cs_get_user_team(id) != CS_TEAM_T) { print_color(id, "!g%s !yEzt a parancsot csak !tterroristák !yhasználhatják.", Prefix); return PLUGIN_CONTINUE; } else if(!g_Parancs) { print_color(id, "!g%s !yKörkezdĂ©s után !t5 !ymásodpercet kell várnod, hogy használhasd ezt a parancsot.", Prefix); return PLUGIN_CONTINUE; } else if(g_ParbajKor) { print_color(id, "!g%s !tPárbaj kör !yvan ezĂ©rt nem használhatĂł a parancs.", Prefix); return PLUGIN_CONTINUE; } if(g_Nyomott) print_color(id, "!g%s !yMár nyomtál gombot ezĂ©rt nem lehet !tPárbaj kör!y.", Prefix); else { g_ParbajKor=true; set_hudmessage(0, 255, 0, 0.02, 0.38, 2, 6.0, 10.0, 0.25, 1.5); show_hudmessage(0, "Párbaj kör"); print_color(0, "!g%s !tTerrorista !yĂşgy döntött, hogy ez a kör !tPárbaj kör !ylesz.", Prefix); new p[32], n, pid; get_players(p, n, "ca"); for(new i=0; i < n; i++) { pid = p[i]; strip_user_weapons(pid); give_item(pid, "weapon_knife"); new iWpnID = give_item(pid, "weapon_usp"); cs_set_weapon_ammo(iWpnID, 1); cs_set_user_bpammo(id, CSW_USP, 0); } } return PLUGIN_CONTINUE; } public FwdHamUse_Button(iEntity, id, iActivator, iUseType, Float:flValue) { if((g_ParbajKor) && iUseType == 2 && flValue == 1.0 && is_user_alive( id ) && get_user_team( id ) == 1 && get_pdata_int( iEntity, 41, 4 ) == 1 ) { if(g_ParbajKor) { set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 2.0, 2.0, 0.2, 0.2, 3); show_hudmessage(id, "Nem nyomhatsz gombot, Párbaj kör van!"); } return HAM_SUPERCEDE; } if(!g_ParbajKor && !g_Nyomott && get_user_team(id) == 1) g_Nyomott=true; return HAM_IGNORED; } stock print_color(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); replace_all(msg, 190, "!y", "^1"); replace_all(msg, 190, "!t", "^3"); if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } return PLUGIN_HANDLED; }
|