host_error
I get this error:
Code:
Host_Error: PF_precache_model_I: 'models/w_medkit.mdl' Precache can only
be done in spawn functions.
Code:
PHP Code:
#include <amxmodx> #include <amxmisc> #include <engine> #include <fakemeta>
new CLASSNAME[] = "item_healthkit"
#define ACCESS_LEVEL ADMIN_CFG
new const g_medkit_pickup[] = "umbrella/medkit_pickup.wav"
new bool: g_zombie[33] new bool: g_human[33] new g_medkit[33]
new FILE[96]
public plugin_init() { register_touch("my_entity", "player", "medkit_pickup") register_clcmd("healthkit_spawn", "cmd_healthkit_spawn", ACCESS_LEVEL, "[save]") register_concmd("healthkit_load", "cmd_healthkit_load", ACCESS_LEVEL, "<x> <y> <z>") register_concmd("healthkit_clear", "cmd_healthkit_clear", ACCESS_LEVEL)
register_forward(FM_Touch, "fw_medkit_pickup")
new configs_dir[64], map[32] get_configsdir(configs_dir, 63) get_mapname(map, 31) format(FILE, 95, "%s/maps/%s.cfg", configs_dir, map) }
public plugin_precache() { precache_sound(g_medkit_pickup) }
public fw_medkit_pickup(pToucher, pTouched, client) { if ( pev_valid(pToucher)) { static className[32], className2[32] pev(pToucher, pev_classname, className, 31) if ( pev_valid(pTouched)) pev(pTouched, pev_classname, className2, 31) if ( equal(className, CLASSNAME)) { if ( pev_valid(pTouched)) { if ( equal(className2, "player") && is_user_connected(pTouched)) { static origin[3] get_user_origin(pTouched, origin) if(g_zombie[pToucher]) { return PLUGIN_HANDLED } else if(g_human[pToucher]) { emit_sound(client, CHAN_ITEM, g_medkit_pickup, 1.0, ATTN_NORM, 0, PITCH_NORM); g_medkit[client] = true; } } } engfunc(EngFunc_RemoveEntity, pToucher) } } return FMRES_IGNORED }
public cmd_healthkit_spawn(id, level, cid) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED
emit_sound(id, CHAN_ITEM, g_medkit_pickup, 1.0, ATTN_NORM, 0, PITCH_NORM);
new origin[3] get_user_origin(id, origin) healthkit_spawn(origin)
new arg1[6] read_argv(1, arg1, 5) if (!equali(arg1, "save")) return PLUGIN_HANDLED
new command[48] format(command, 47, "healthkit_load %d %d %d", origin[0], origin[1], origin[2]) write_file(FILE, command)
return PLUGIN_HANDLED }
public cmd_healthkit_load(id, level, cid) { if (!cmd_access(id, level, cid, 4)) return PLUGIN_HANDLED
new arg1[8], arg2[8], arg3[8], origin[3] read_argv(1, arg1, 7) read_argv(2, arg2, 7) read_argv(3, arg3, 7) origin[0] = str_to_num(arg1) origin[1] = str_to_num(arg2) origin[2] = str_to_num(arg3) healthkit_spawn(origin)
return PLUGIN_HANDLED }
public cmd_healthkit_clear(id, level, cid) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED
new healthkit = -1 while ((healthkit = find_ent_by_class(healthkit, CLASSNAME))) remove_entity(healthkit)
return PLUGIN_HANDLED }
healthkit_spawn(origin[3]) { new healthkit = create_entity(CLASSNAME) if (!healthkit) return
new Float:vec[3] IVecFVec(origin, vec) entity_set_origin(healthkit, vec) DispatchSpawn(healthkit) }
|