• Гость, перед открытием темы прочитай описание раздела, чтобы не ошибиться. Любые вопросы по настройке сервера создаются в разделе Технической Поддержки.

Помощь Ошибки в главном моде 017 [ZM]

RiDeR

Участник
Сообщения
6
Симпатии
0
Баллы
1
#1
Привет, кто может помочь с данной проблемой? или как её самому решить/

// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1454) : error 017: undefined symbol "fm_set_kvd"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1455) : error 017: undefined symbol "fm_set_kvd"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1803) : error 017: undefined symbol "load_spawns"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1849) : error 017: undefined symbol "save_customization"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1922) : error 017: undefined symbol "fm_cs_get_user_team"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1928) : error 017: undefined symbol "save_stats"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1943) : error 017: undefined symbol "ambience_sound_stop"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1948) : error 017: undefined symbol "fnGetZombies"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1956) : error 017: undefined symbol "PlaySound"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1962) : error 017: undefined symbol "fnGetHumans"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1970) : error 017: undefined symbol "PlaySound"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1984) : error 017: undefined symbol "PlaySound"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(1991) : error 017: undefined symbol "balance_teams"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2092) : error 017: undefined symbol "fm_cs_get_user_team"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2109) : error 017: undefined symbol "do_random_spawn"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2122) : error 017: undefined symbol "reset_vars"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2123) : error 017: undefined symbol "zombieme"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2128) : error 017: undefined symbol "reset_vars"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2135) : error 017: undefined symbol "fm_set_user_health"
// D:\Zombie CSO ╤сюЁър\ZP4.3\cstrike\addons\amxmodx\scripting\zombie_plague40.sma(2139) : error 017: undefined symbol "fm_cs_get_user_team"
 

RiDeR

Участник
Сообщения
6
Симпатии
0
Баллы
1
#2
// Weather/ambience effects
if (g_ambience_fog)
{
ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_fog"))
if (pev_valid(ent))
{
fm_set_kvd(ent, "density", g_fog_density, "env_fog")
fm_set_kvd(ent, "rendercolor", g_fog_color, "env_fog")
}
}
if (g_ambience_rain) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_rain"))
if (g_ambience_snow) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "env_snow"))

// Prevent some entities from spawning
g_fwSpawn = register_forward(FM_Spawn, "fw_Spawn")

// Prevent hostage sounds from being precached
g_fwPrecacheSound = register_forward(FM_PrecacheSound, "fw_PrecacheSound")
}
-------------------------

// Collect random spawn points
load_spawns()

// Set a random skybox?
if (g_sky_enable)
{
new sky[32]
ArrayGetString(g_sky_names, random_num(0, ArraySize(g_sky_names) - 1), sky, charsmax(sky))
set_cvar_string("sv_skyname", sky)
}

// Disable sky lighting so it doesn't mess with our custom lighting
set_cvar_num("sv_skycolor_r", 0)
set_cvar_num("sv_skycolor_g", 0)
set_cvar_num("sv_skycolor_b", 0)

// Format mod name
formatex(g_modname, charsmax(g_modname), "Zombie Plague %s", PLUGIN_VERSION)

// Get Max Players
g_maxplayers = get_maxplayers()

// Reserved saving slots starts on maxplayers+1
db_slot_i = g_maxplayers+1

// Check if it's a CZ server
new mymod[6]
get_modname(mymod, charsmax(mymod))
if (equal(mymod, "czero")) g_czero = 1
}

public plugin_cfg()
{
// Plugin disabled?
if (!g_pluginenabled) return;

// Get configs dir
new cfgdir[32]
get_configsdir(cfgdir, charsmax(cfgdir))

// Execute config file (zombieplague.cfg)
server_cmd("exec %s/zombieplague.cfg", cfgdir)

// Prevent any more stuff from registering
g_arrays_created = false

// Save customization data
save_customization()
----------------------------------------


// Not connected
if (!g_isconnected[id])
continue;

team = fm_cs_get_user_team(id)

// Not playing
if (team == FM_CS_TEAM_SPECTATOR || team == FM_CS_TEAM_UNASSIGNED)
continue;

save_stats(id)
}
}

// Round ended
g_endround = true

// Stop old tasks (if any)
remove_task(TASK_WELCOMEMSG)
remove_task(TASK_MAKEZOMBIE)

// Stop ambience sounds
if ((g_ambience_sounds[AMBIENCE_SOUNDS_NEMESIS] && g_nemround) || (g_ambience_sounds[AMBIENCE_SOUNDS_SURVIVOR] && g_survround) || (g_ambience_sounds[AMBIENCE_SOUNDS_SWARM] && g_swarmround) || (g_ambience_sounds[AMBIENCE_SOUNDS_PLAGUE] && g_plagueround) || (g_ambience_sounds[AMBIENCE_SOUNDS_INFECTION] && !g_nemround && !g_survround && !g_swarmround && !g_plagueround))
{
remove_task(TASK_AMBIENCESOUNDS)
ambience_sound_stop()
}

// Show HUD notice, play win sound, update team scores...
static sound[64]
if (!fnGetZombies())
{
// Human team wins
set_dhudmessage(0, 0, 200, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0)
show_dhudmessage(0, "%L", LANG_PLAYER, "WIN_HUMAN")

// Play win sound and increase score
ArrayGetString(sound_win_humans, random_num(0, ArraySize(sound_win_humans) - 1), sound, charsmax(sound))
PlaySound(sound)
g_scorehumans++

// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_HUMAN);
}
else if (!fnGetHumans())
{
// Zombie team wins
set_dhudmessage(200, 0, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0)
show_dhudmessage(0, "%L", LANG_PLAYER, "WIN_ZOMBIE")

// Play win sound and increase score
ArrayGetString(sound_win_zombies, random_num(0, ArraySize(sound_win_zombies) - 1), sound, charsmax(sound))
PlaySound(sound)
g_scorezombies++

// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_ZOMBIE);
}
else
{
// No one wins
set_dhudmessage(0, 200, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0)
show_dhudmessage(0, "%L", LANG_PLAYER, "WIN_NO_ONE")

// Play win sound
ArrayGetString(sound_win_no_one, random_num(0, ArraySize(sound_win_no_one) - 1), sound, charsmax(sound))
PlaySound(sound)

// Round end forward
ExecuteForward(g_fwRoundEnd, g_fwDummyResult, ZP_TEAM_NO_ONE);
}

// Balance the teams
balance_teams()
}

// Event Map Ended
public event_intermission()
{
// Remove ambience sounds task
remove_task(TASK_AMBIENCESOUNDS)
}

// BP Ammo update
public event_ammo_x(id)
{
// Humans only
if (g_zombie[id])
return;

// Get ammo type
static type
type = read_data(1)

// Unknown ammo type
if (type >= sizeof AMMOWEAPON)
return;

// Get weapon's id
static weapon
weapon = AMMOWEAPON[type]

// Primary and secondary only
if (MAXBPAMMO[weapon] <= 2)
return;

// Get ammo amount
static amount
amount = read_data(2)

// Unlimited BP Ammo?
if (g_survivor[id] ? get_pcvar_num(cvar_survinfammo) : get_pcvar_num(cvar_infammo))
{
if (amount < MAXBPAMMO[weapon])
{
// The BP Ammo refill code causes the engine to send a message, but we
// can't have that in this forward or we risk getting some recursion bugs.
// For more info see: [Bug 3664 – Re-entrancy bug when a message is sent during register_event forward]
static args[1]
args[0] = weapon
set_task(0.1, "refill_bpammo", id, args, sizeof args)
}
}
// Bots automatically buy ammo when needed
else if (g_isbot[id] && amount <= BUYAMMO[weapon])
{
// Task needed for the same reason as above
set_task(0.1, "clcmd_buyammo", id)
}
}

/*================================================================================
[Main Forwards]
=================================================================================*/

// Entity Spawn Forward
public fw_Spawn(entity)
{
// Invalid entity
if (!pev_valid(entity)) return FMRES_IGNORED;

// Get classname
new classname[32], objective[32], size = ArraySize(g_objective_ents)
pev(entity, pev_classname, classname, charsmax(classname))

// Check whether it needs to be removed
for (new i = 0; i < size; i++)
{
ArrayGetString(g_objective_ents, i, objective, charsmax(objective))

if (equal(classname, objective))
{
engfunc(EngFunc_RemoveEntity, entity)
return FMRES_SUPERCEDE;
}
}

return FMRES_IGNORED;
}

// Sound Precache Forward
public fw_PrecacheSound(const sound[])
{
// Block all those unneeeded hostage sounds
if (equal(sound, "hostage", 7))
return FMRES_SUPERCEDE;

return FMRES_IGNORED;
}

// Ham Player Spawn Post Forward
public fw_PlayerSpawn_Post(id)
{
// Not alive or didn't join a team yet
if (!is_user_alive(id) || !fm_cs_get_user_team(id))
return;

// Player spawned
g_isalive[id] = true

// Remove previous tasks
remove_task(id+TASK_SPAWN)
remove_task(id+TASK_MODEL)
remove_task(id+TASK_BLOOD)
remove_task(id+TASK_AURA)
remove_task(id+TASK_BURN)
remove_task(id+TASK_CHARGE)
remove_task(id+TASK_FLASH)
remove_task(id+TASK_NVISION)

// Spawn at a random location?
if (get_pcvar_num(cvar_randspawn)) do_random_spawn(id)

// Hide money?
if (get_pcvar_num(cvar_removemoney))
set_task(0.4, "task_hide_money", id+TASK_SPAWN)

// Respawn player if he dies because of a worldspawn kill?
if (get_pcvar_num(cvar_respawnworldspawnkill))
set_task(2.0, "respawn_player_task", id+TASK_SPAWN)

// Spawn as zombie?
if (g_respawn_as_zombie[id] && !g_newround)
{
reset_vars(id, 0) // reset player vars
zombieme(id, 0, 0, 0, 0) // make him zombie right away
return;
}

// Reset player vars
reset_vars(id, 0)

// Show custom buy menu?
if (get_pcvar_num(cvar_buycustom))
set_task(0.2, "show_menu_buy1", id+TASK_SPAWN)

// Set health and gravity
fm_set_user_health(id, get_pcvar_num(cvar_humanhp))
set_pev(id, pev_gravity, get_pcvar_float(cvar_humangravity))

// Switch to CT if spawning mid-round
if (!g_newround && fm_cs_get_user_team(id) != FM_CS_TEAM_CT) // need to change team?
{
remove_task(id+TASK_TEAM)
fm_cs_set_user_team(id, FM_CS_TEAM_CT)
fm_user_team_update(id)
}
 
Последнее редактирование модератором:

RiDeR

Участник
Сообщения
6
Симпатии
0
Баллы
1
#3
Кинул не весь исходный код, а так к примеру с 1448 строки по 1466, это первое, и потом другие строки делит "-----------"
Чтобы не думали, что такой исходный код и есть:)
 

ko1dun

Модератор
Сообщения
142
Симпатии
34
Баллы
104
#4
лучше ввиде файла, так как тут пишет, что функция отсутствует
 
Сверху