|
Veteran Member
Join Date: Oct 2006
Location: Germany
|

04-05-2009
, 14:36
Re: auto_restart_knives
|
#1
|
i was bored too
PHP Code:
/* Plugin generated by AMXX-Studio */ /* FAQ: When Setting The Value For -> amx_auto_restart <- Setting Value Like This amx_auto_restart "30.0" Is Correct Setting Value Like This amx_auto_restart "30" Is Not Correct Because The Cvar Value Is A Float */
#include <amxmodx> #include <amxmisc> #include <fakemeta>
#define PLUGIN "Auto Restart Deagle vl" #define VERSION "1.0" #define AUTHOR "vato loco [GE-S]"
#define EXTRAOFFSET_WEAPONS 4 #define OFFSET_CLIPAMMO 51
#define TIMER_TASK 123456 #define RESTART_TASK 789123
#define ACCESS_LEVEL ADMIN_IMMUNITY
new g_counter
new g_autorestart new g_autoenabled
new g_SyncGameStart new g_SyncRestartTimer
new bool:g_bRoundStart new bool:g_bDeagleArena
new g_iMaxPlayers
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_logevent("RoundStart", 2, "1=Round_Start") register_event("TextMsg","RestartTask","a","2&#Game_C") register_event("CurWeapon","ForceDeagle","be","1=1","2!26") register_concmd("amx_auto_deagle","DeagleArena",ACCESS_LEVEL,"amx_auto_deagle <1/0>") register_dictionary("auto_rr_deagle.txt") g_autoenabled = register_cvar("amx_autorr_enable","1") g_autorestart = register_cvar("amx_auto_restart","45.0") g_SyncGameStart = CreateHudSyncObj() g_SyncRestartTimer = CreateHudSyncObj() g_iMaxPlayers = get_maxplayers() }
public DeagleArena(id, lvl, cid) { if(!cmd_access(id, lvl, cid, 2)) return PLUGIN_HANDLED new szarg[8] read_argv(1,szarg,7) if(equal(szarg,"1")) { set_pcvar_num(g_autoenabled, 1) client_print(0,print_chat,"%L", LANG_PLAYER, "ENABLED") } else if(equal(szarg,"0")) { set_pcvar_num(g_autoenabled, 0) client_print(0,print_chat,"%L", LANG_PLAYER, "DISABLED") } return PLUGIN_HANDLED }
public RoundStart() { if(get_pcvar_num(g_autoenabled) && g_bDeagleArena) { for(new i = 1 ; i <= g_iMaxPlayers ; i++) { if(is_user_connected(i) && is_user_alive(i)) { fm_strip_user_weapons(i) fm_give_item(i, "weapon_deagle") engclient_cmd(i,"weapon_deagle") new weapon_id = fm_find_ent_by_owner(-1, "weapon_deagle", i) if(weapon_id) { fm_set_weapon_ammo(weapon_id, 56) } } } } if(g_bRoundStart) { set_hudmessage( 0, 255, 0, -1.0, 0.40, 1, 5.0, 8.0, 0.0, 0.0, -1) ShowSyncHudMsg( 0, g_SyncGameStart, "%L",LANG_PLAYER, "GAME_STARTED") } g_bRoundStart = false return PLUGIN_CONTINUE }
public RestartTask() { if(get_pcvar_num(g_autoenabled) && !g_bDeagleArena) { pause("ac","M_Antirusher.amxx") g_bDeagleArena = true set_task(1.0,"TimeCounter",TIMER_TASK,_,_,"a",get_pcvar_num(g_autorestart)) set_task(get_pcvar_float(g_autorestart),"RestartRound",RESTART_TASK) } return PLUGIN_CONTINUE }
public TimeCounter() { g_counter++ new Float:iRestartTime = get_pcvar_float(g_autorestart) - g_counter new Float:fSec fSec = iRestartTime set_hudmessage( 0, 255, 255, -1.0, 0.25, 0, 0.0, 1.0, 0.0, 0.0, -1) ShowSyncHudMsg( 0, g_SyncRestartTimer, "%L",LANG_PLAYER, "AUTO_RESTART", fSec) if(get_pcvar_num(g_autorestart) - g_counter < 4 && get_pcvar_num(g_autorestart) - g_counter !=0) { static szNum[32] num_to_word(get_pcvar_num(g_autorestart) - g_counter, szNum, 31) client_cmd(0,"speak ^"vox/%s^"", szNum) } if(g_counter == get_pcvar_num(g_autorestart)) { g_bRoundStart = true } }
public RestartRound() { new cmdrestartround[50] formatex(cmdrestartround, 49, "sv_restartround 1") server_cmd(cmdrestartround) unpause("ac","M_Antirusher.amxx") g_bDeagleArena = false }
public ForceDeagle(id) { if(get_pcvar_num(g_autoenabled) && g_bDeagleArena) { new weapon_num weapon_num = read_data(2) if(weapon_num != CSW_DEAGLE) { engclient_cmd(id,"weapon_deagle") } } return PLUGIN_CONTINUE }
stock fm_strip_user_weapons(index) { new ent = fm_create_entity("player_weaponstrip") if (!pev_valid(ent)) return 0 dllfunc(DLLFunc_Spawn, ent) dllfunc(DLLFunc_Use, ent, index) engfunc(EngFunc_RemoveEntity, ent) return 1 }
stock fm_set_weapon_ammo(weapon_id, newammo) { set_pdata_int(weapon_id, OFFSET_CLIPAMMO, newammo, EXTRAOFFSET_WEAPONS) }
stock fm_give_item(index, const item[]) { if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10)) return 0 new ent = fm_create_entity(item) if (!pev_valid(ent)) return 0 new Float:origin[3] pev(index, pev_origin, origin) set_pev(ent, pev_origin, origin) set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN) dllfunc(DLLFunc_Spawn, ent) new save = pev(ent, pev_solid) dllfunc(DLLFunc_Touch, ent, index) if (pev(ent, pev_solid) != save) return ent engfunc(EngFunc_RemoveEntity, ent) return -1 }
stock fm_create_entity(const classname[]) { return engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname)) }
stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) { new strtype[11] = "classname", ent = index switch (jghgtype) { case 1: copy(strtype, 6, "target") case 2: copy(strtype, 10, "targetname") } while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {} return ent }
__________________
Last edited by vato loco [GE-S]; 04-05-2009 at 16:03.
|
|