Code: Select all
#include <amxmodx>#include <amxmisc>#include <cstrike>#include <fun>#include <hamsandwich>#include <fakemeta> #define MAX_BUTTONS 100 new gaudynes[33]new bool:touch_weapons[33] new gEnt[MAX_BUTTONS];new giPointer=0; public plugin_init(){ register_plugin("JailBreak: Dienos", "0.1", "Aurimasko"); register_clcmd("say /gaudynes", "catch"); register_clcmd("say_team /gaudynes", "catch"); RegisterHam(Ham_Spawn, "player", "respawn", 1); RegisterHam(Ham_Touch, "weaponbox", "nelietimas"); RegisterHam(Ham_Touch, "armory_entity", "nelietimas"); if( engfunc(EngFunc_FindEntityByString,-1 ,"classname", "func_button")) RegisterHam(Ham_Use, "func_button", "fwButtonUsed"); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname","func_rot_button")) RegisterHam(Ham_Use, "func_rot_button", "fwButtonUsed"); if(engfunc(EngFunc_FindEntityByString,-1 ,"classname", "button_target")) RegisterHam(Ham_Use, "button_target", "fwButtonUsed"); register_logevent( "ResetButtons", 2, "0=World triggered", "1=Round_Start"); fillButtons("func_button"); fillButtons("func_rot_button"); fillButtons("button_target"); } public nelietimas(weapon, id){ if(!is_user_connected(id)) return HAM_IGNORED; if (touch_weapons[id] && gaudynes[id]) return HAM_SUPERCEDE; return HAM_IGNORED;} public respawn(id){ set_user_godmode(id, 0) gaudynes[id] = false touch_weapons[id] = false} public catch(id){ if(cs_get_user_team(id) == CS_TEAM_CT || get_user_team(id) & ADMIN_IMMUNITY) { gaudynes[id] = true client_print(id, print_center, "gaudynes") gaudes(id) }} public gaudes(id){ if(gaudynes[id]) { set_user_health(id, 100) strip_user_weapons(id) give_item(id, "weapon_knife") touch_weapons[id] = true if(cs_get_user_team(id) == CS_TEAM_CT) { set_user_godmode(id, 1) } } } get_ent_index(ent){ /* for(new i=0;i<giPointer;i++) if(gEnt[i]==ent) return i; return -1; */ return pev(ent, pev_iuser4)-1;} fillButtons(const szClass[]){ new ent = -1; while((ent = engfunc(EngFunc_FindEntityByString,ent ,"classname", szClass)) != 0){ gEnt[giPointer++]=ent; set_pev(ent, pev_iuser4, giPointer); }} restoreButton(ent){ if(pev(ent, pev_frame) > 0.0){ new Float:Life; pev(ent, pev_nextthink, Life); set_pev(ent, pev_ltime, Life-0.01); }} public ResetButtons(){ for(new i=0;i<MAX_BUTTONS;i++) { restoreButton(gEnt[i]); }} public fwButtonUsed(id, this, idcaller, idactivator, use_type, Float:value){ if(gaudynes[id]) { if(idcaller!=idactivator) return HAM_IGNORED; if(pev(this, pev_frame) > 0.0) return HAM_IGNORED; new index=get_ent_index(this); if(index==-1) return HAM_IGNORED; } return HAM_IGNORED;}
Dabar kompilinasi, bet serve neveikia godmode, ir galima gunus is buttons pasiimti.