Senior Member
|
04-30-2012
, 15:45
Re: Auto Revive
|
#20
|
Here is a peace of code I use for my server, I'm sure you can get working. There are a few things added in there but just simple delete. It's also a bit outdated, Ham is much better but I haven't had much time or motivation to change it.
PHP Code:
#include <amxmisc> #include <fun> #include <amxmodx> #include <fakemeta_util> #include <hamsandwich> #include <cstrike> #include <engine>
#define CVAR "amx_noweapdrop_ondeath"
// no drop #define WBOX "models/w_weaponbox.mdl" #define BOMB "models/w_backpack.mdl" #define SHLD "models/w_shield.mdl" #define MAX_PLAYERS 32 new g_entid[MAX_PLAYERS + 1] new g_maxents // no drop end
new cvar_respawndelay
public plugin_init() { register_plugin("Player", "Respawn", "iBrazilian") register_event("DeathMsg", "event_deathmsg", "a") cvar_respawndelay = register_cvar("amx_respawndelay", "5.0") // Delay before respawning RegisterHam(Ham_Spawn, "player", "WeaponMenu", 1) set_msg_block( get_user_msgid( "ClCorpse" ), BLOCK_SET ); //no drop register_forward(FM_SetModel, "forward_set_model") register_cvar(CVAR, "1") g_maxents = get_global_int(GL_maxEntities) // no drop }
public event_deathmsg() { set_task(get_pcvar_float(cvar_respawndelay), "respawn_player", read_data(2)) }
public respawn_player(id) { if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR) return; set_pev(id, pev_deadflag, DEAD_RESPAWNABLE) dllfunc(DLLFunc_Think, id) if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE) { dllfunc(DLLFunc_Spawn, id) } }
public WeaponMenu(id) { new menu = menu_create("\rGun menu", "gun_handler"); menu_additem(menu, "\wM4a1", "1", 0); menu_additem(menu, "\wAk47", "2", 0); menu_additem(menu, "\wAwp", "3", 0); menu_additem(menu, "\wAutoshotgun", "4", 0); menu_additem(menu, "\w12Gauge", "5", 0); menu_additem(menu, "\wP90", "6", 0); menu_additem(menu, "\wBullpup", "7", 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); menu_display(id, menu, 0); } public gun_handler(id, menu, item) { if( item == MENU_EXIT ) { menu_destroy(menu); return PLUGIN_HANDLED; } new data[6], szName[64]; new access, callback; menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); new key = str_to_num(data); switch(key) { case 1: { fm_give_item(id,"weapon_m4a1") fm_give_item(id,"ammo_556nato") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") menu_destroy(menu); return PLUGIN_HANDLED; } case 2: { fm_give_item(id,"weapon_ak47") fm_give_item(id,"ammo_762nato") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } case 3: { fm_give_item(id,"weapon_awp") fm_give_item(id,"ammo_338magnum") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } case 4: { fm_give_item(id,"weapon_xm1014") fm_give_item(id,"ammo_buckshot") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } case 5: { fm_give_item(id,"weapon_m3") fm_give_item(id,"ammo_buckshot") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } case 6: { fm_give_item(id,"weapon_p90") fm_give_item(id,"ammo_57mm") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } case 7: { fm_give_item(id,"weapon_aug") fm_give_item(id,"ammo_556nato") fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_smokegrenade") fm_give_item(id,"weapon_hegrenade") } } menu_destroy(menu); return PLUGIN_HANDLED; }
public forward_set_model(entid, model[]) { if (!is_valid_ent(entid) || !equal(model, WBOX, 9) || !get_cvar_num(CVAR)) return FMRES_IGNORED new id = entity_get_edict(entid, EV_ENT_owner) if (!id || !is_user_connected(id) || is_user_alive(id)) return FMRES_IGNORED if (equal(model, SHLD)) { kill_entity(entid) return FMRES_IGNORED } if (equal(model, WBOX)) { g_entid[id] = entid return FMRES_IGNORED } if (entid != g_entid[id]) return FMRES_IGNORED g_entid[id] = 0 if (equal(model, BOMB)) return FMRES_IGNORED for (new i = 1; i <= g_maxents; ++i) { if (is_valid_ent(i) && entid == entity_get_edict(i, EV_ENT_owner)) { kill_entity(entid) kill_entity(i) } } return FMRES_IGNORED }
stock kill_entity(id) { entity_set_int(id, EV_INT_flags, entity_get_int(id, EV_INT_flags)|FL_KILLME) }
// RegisterHam( Ham_Spawn, "player", "player_spawn", 1 ) //public player_spawn( id ) { // if( is_user_alive( id ) ) /// { // set_user_health( id, 120 ); // } //}
__________________
Pokemod Season 5 [ |||||||||| Complete]
|
|