Im guessing it happens because of the events, forwards registered first
Код за потвърждение: Избери целия код
L 04/16/2020 - 14:00:58: [AMXX] Displaying debug trace (plugin "zp50_g.amxx", version "1.0")
L 04/16/2020 - 14:00:58: [AMXX] Run time error 3: stack error
L 04/16/2020 - 14:00:58: [AMXX] [0] zp50_g.sma::update_icon (line 223)
L 04/16/2020 - 14:01:09: Invalid event (name "CurWeapon") (plugin "zp50_g.amxx")
L 04/16/2020 - 14:01:09: [AMXX] Displaying debug trace (plugin "zp50_g.amxx", version "1.0")
L 04/16/2020 - 14:01:09: [AMXX] Run time error 10: native error (native "register_event")
L 04/16/2020 - 14:01:09: [AMXX] [0] zp50_g.sma::plugin_precache (line 58)
Код за потвърждение: Избери целия код
public plugin_precache()
{
register_plugin("[ZP] Game Mode: Zombie Event", "1.0", "ZP Dev Team"
zp_gamemodes_register("Zombie Event Mode")
g_HudSync = CreateHudSyncObj()
g_MaxPlayers = get_maxplayers()
// Create the HUD Sync Objects
cvar_Event_chance = register_cvar("zp_event_chance", "20")
cvar_Event_show_hud = register_cvar("zp_event_show_hud", "1")
cvar_Event_sounds = register_cvar("zp_event_sounds", "1")
cvar_Event_min_players = register_cvar("zp_event_min_players", "0")
cvar_Event_allow_respawn = register_cvar("zp_event_allow_respawn", "0")
register_event("CurWeapon", "update_icon", "b")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage", 0);
RegisterHam(Ham_TraceAttack, "player", "fw_TraceAttack", 0);
register_forward(FM_CmdStart, "fw_Start")
// Initialize arrays
g_sound_Event = ArrayCreate(SOUND_MAX_LENGTH)
// Load from external file
amx_load_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "ROUND Event", g_sound_Event)
// If we couldn't load custom sounds from file, use and save default ones
new index
if (!ArraySize(g_sound_Event))
{
for (index = 0; index < sizeof sound_Event; index++)
ArrayPushString(g_sound_Event, sound_Event[index])
// Save to external file
amx_save_setting_string_arr(ZP_SETTINGS_FILE, "Sounds", "ROUND Event", g_sound_Event)
}
// Precache sounds
new sound[SOUND_MAX_LENGTH]
for (index = 0; index < ArraySize(g_sound_Event); index++)
{
ArrayGetString(g_sound_Event, index, sound, charsmax(sound))
if (equal(sound[strlen(sound)-4], ".mp3"))
{
format(sound, charsmax(sound), "sound/%s", sound)
precache_generic(sound)
}
else
precache_sound(sound)
}
}
Код за потвърждение: Избери целия код
public update_icon(id)
{
if(is_user_alive(id))
{
if(get_user_weapon(id) != CSW_KNIFE)
{
strip_user_weapons(id)
give_item(id, "weapon_knife")
}
}
return PLUGIN_CONTINUE
}
Код за потвърждение: Избери целия код
if (get_pcvar_num(cvar_Event_sounds))
{
new sound[SOUND_MAX_LENGTH]
ArrayGetString(g_sound_Event, random_num(0, ArraySize(g_sound_Event) - 1), sound, charsmax(sound))
PlaySoundToClients(sound)
}