Сама ошибка в логах:
- Код: Выделить всё
L 01/12/2018 - 06:55:31: [AMXX] Run time error 4: index out of bounds
L 01/12/2018 - 06:55:31: [AMXX] [0] zp_hero_new.sma::make_hero (line 50)
L 01/12/2018 - 07:23:07: Invalid cellvector handle provided (145:0:0)
L 01/12/2018 - 07:23:07: [AMXX] Displaying debug trace (plugin "zombieSounds.amxx")
L 01/12/2018 - 07:23:07: [AMXX] Run time error 10: native error (native "ArrayGetString")
L 01/12/2018 - 07:23:07: [AMXX] [0] zombieSounds.sma::zp_user_infected_post (line 211)
L 01/12/2018 - 08:56:25: Start of error session.
Вот исходники. Была подобная ошибка как в zombieSounds.amxx, только в гл. моде зп, и была связана с моделью админа, решение было такое, что в zombieplague.ini не была прописана модель для админа, как вписал, то ошибка исчезла, возможно эта похожая ошибка со звуками и как быть тут я не знаю.
Помогите!
50 строка: g_hero[id] = true
zp_hero_new:
- Код: Выделить всё
#include < amxmodx >
#include < fun >
#include < cstrike >
#include < zombieplague >
#include < dhudmessage >
#define PLUGIN "[ZP] CSO Addom : The Hero"
#define VERSION "1.0"
#define AUTHOR "ShuriK/ и еще кто-то"
#define HEALTH 400
#define ARMOR 250
#define NAMEITEM "sala"
#define MODEL "dsv_hero"
#define TEXT "Огнеметчик в этом раунде: %s"
#define MINPEOPLE 0
new g_hero[33] , g_iMaxClients ;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_iMaxClients = get_maxplayers( );
}
public plugin_precache()
{
precache_model("models/player/dsv_hero/dsv_hero.mdl")
}
public zp_round_started(round)
{
if (zp_get_human_count( ) < MINPEOPLE )
return;
if(round == MODE_MULTI || round == MODE_INFECTION)
{
set_task(0.5,"make_hero")
}
}
public make_hero(id)
{
new id
static iPlayersNum
iPlayersNum = gAlive()
id = gRandomAlive(random_num(1, iPlayersNum))
g_hero[id] = true
zp_force_buy_extra_item( id, zp_get_extra_item_id(NAMEITEM), 1)
set_user_health( id , get_user_health( id ) + HEALTH );
set_user_armor(id , get_user_armor( id ) + ARMOR );
cs_set_user_model(id,"hero")
new szName[ 32 ]
get_user_name( id, szName, 31 )
set_dhudmessage( 0, 255, 0, 0.05, 0.45, 1, 0.0, 5.0, 1.0, 1.0)
show_dhudmessage( 0, TEXT, szName )
}
gRandomAlive(n)
{
static Alive, id
Alive = 0
for (id = 1; id <= g_iMaxClients; id++)
{
if (is_user_alive(id) && !zp_get_user_zombie(id))
Alive++
if (Alive == n)
return id;
}
return -1;
}
gAlive()
{
static Alive, id
Alive = 0
for (id = 1; id <= g_iMaxClients; id++)
{
if (is_user_alive(id) && !zp_get_user_zombie(id))
Alive++
}
return Alive;
}
public zp_round_ended()
{
static id;
for( id = 1; id <= g_iMaxClients; id++ )
{
if( !is_user_connected( id ) || !g_hero[ id ] )
continue;
g_hero[ id ] = false;
}
}
211 строка: if(g_gender[id] == 13) ArrayGetString(g_infect13, random_num(0, ArraySize(g_infect13) - 1), sound, charsmax(sound))
zombieSounds:
- Код: Выделить всё
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <xs>
#include <zombieplague>
#define PLUGIN "[ZP] Sounds for classes."
#define VERSION "1.0"
#define AUTHOR "=)"
enum (+= 100)
{
TASK_BLOOD
}
new g_gender[33] , Array:g_die1, Array:g_die2 , Array:g_die3, Array:g_die4 , Array:g_die5, Array:g_die6 , Array:g_die7 , Array:g_die8 , Array:g_die9 , Array:g_die10 , Array:g_die11 , Array:g_die12 , Array:g_die13 , Array:g_die ,
Array:g_pain1, Array:g_pain2 , Array:g_pain3, Array:g_pain4 , Array:g_pain5, Array:g_pain6 , Array:g_pain7 , Array:g_pain8 , Array:g_pain9 , Array:g_pain10 , Array:g_pain11 , Array:g_pain12 , Array:g_pain13 , Array:g_pain ,
Array:g_infect1, Array:g_infect2 , Array:g_infect3, Array:g_infect4 , Array:g_infect5, Array:g_infect6 , Array:g_infect7 , Array:g_infect8 , Array:g_infect9 , Array:g_infect10 , Array:g_infect11 , Array:g_infect12 , Array:g_infect13 , Array:g_infect ,
Array:g_zombie_idle1, Array:g_zombie_idle2 , Array:g_zombie_idle3, Array:g_zombie_idle4 , Array:g_zombie_idle5, Array:g_zombie_idle6 , Array:g_zombie_idle7 , Array:g_zombie_idle8 , Array:g_zombie_idle9 , Array:g_zombie_idle10 , Array:g_zombie_idle11 , Array:g_zombie_idle12 , Array:g_zombie_idle13 , Array:g_zombie_idle
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_forward(FM_EmitSound, "fw_EmitSound")
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
}
public plugin_natives()
{
register_native("zp_set_user_gender", "native_set_user_gender", 1)
register_native("zp_get_user_gender", "native_get_user_gender", 1)
}
public plugin_precache()
{
g_die1= ArrayCreate(32, 1)
g_die2 = ArrayCreate(32, 1)
g_die3 = ArrayCreate(32, 1)
g_die4 = ArrayCreate(32, 1)
g_die5 = ArrayCreate(32, 1)
g_die6 = ArrayCreate(32, 1)
g_die7 = ArrayCreate(32, 1)
g_die8 = ArrayCreate(32, 1)
g_die9 = ArrayCreate(32, 1)
g_die10 = ArrayCreate(32, 1)
g_die11 = ArrayCreate(32, 1)
g_die12 = ArrayCreate(32, 1)
g_die13 = ArrayCreate(32, 1)
g_die = ArrayCreate(32, 1)
g_pain1 = ArrayCreate(32, 1)
g_pain2 = ArrayCreate(32, 1)
g_pain3 = ArrayCreate(32, 1)
g_pain4 = ArrayCreate(32, 1)
g_pain5 = ArrayCreate(32, 1)
g_pain6 = ArrayCreate(32, 1)
g_pain7 = ArrayCreate(32, 1)
g_pain8 = ArrayCreate(32, 1)
g_pain9 = ArrayCreate(32, 1)
g_pain10 = ArrayCreate(32, 1)
g_pain11 = ArrayCreate(32, 1)
g_pain12 = ArrayCreate(32, 1)
g_pain13 = ArrayCreate(32, 1)
g_pain = ArrayCreate(32, 1)
g_infect1 = ArrayCreate(32, 1)
g_infect2 = ArrayCreate(32, 1)
g_infect3 = ArrayCreate(32, 1)
g_infect4 = ArrayCreate(32, 1)
g_infect5 = ArrayCreate(32, 1)
g_infect6 = ArrayCreate(32, 1)
g_infect7 = ArrayCreate(32, 1)
g_infect8 = ArrayCreate(32, 1)
g_infect9 = ArrayCreate(32, 1)
g_infect10 = ArrayCreate(32, 1)
g_infect11 = ArrayCreate(32, 1)
g_infect12 = ArrayCreate(32, 1)
g_infect13 = ArrayCreate(32, 1)
g_infect = ArrayCreate(32, 1)
g_zombie_idle1 = ArrayCreate(32, 1)
g_zombie_idle2 = ArrayCreate(32, 1)
g_zombie_idle3 = ArrayCreate(32, 1)
g_zombie_idle4 = ArrayCreate(32, 1)
g_zombie_idle5 = ArrayCreate(32, 1)
g_zombie_idle6 = ArrayCreate(32, 1)
g_zombie_idle7 = ArrayCreate(32, 1)
g_zombie_idle8 = ArrayCreate(32, 1)
g_zombie_idle9 = ArrayCreate(32, 1)
g_zombie_idle10 = ArrayCreate(32, 1)
g_zombie_idle11 = ArrayCreate(32, 1)
g_zombie_idle12 = ArrayCreate(32, 1)
g_zombie_idle13 = ArrayCreate(32, 1)
g_zombie_idle = ArrayCreate(32, 1)
load_custom()
new buffer[32], i
for (i = 0; i < ArraySize(g_pain); i++)
{
ArrayGetString(g_pain, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(g_die); i++)
{
ArrayGetString(g_die, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(g_infect); i++)
{
ArrayGetString(g_infect, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
for (i = 0; i < ArraySize(g_zombie_idle); i++)
{
ArrayGetString(g_zombie_idle, i, buffer, charsmax(buffer))
engfunc(EngFunc_PrecacheSound, buffer)
}
}
public native_set_user_gender(id, num)
{
g_gender[id] = num
}
public native_get_user_gender(id)
{
return g_gender[id]
}
public fw_PlayerSpawn_Post(id)
{
remove_task(id+TASK_BLOOD)
}
public client_disconnect(id)
{
remove_task(id+TASK_BLOOD)
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
remove_task(victim+TASK_BLOOD)
}
public fw_EmitSound(id, channel, sample[], Float:volume, Float:attn, flag, pitch)
{
new sound[64]
if(!is_user_connected(id))
return FMRES_IGNORED
if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id))
{
if (sample[7] == 'b' && sample[8] == 'h' && sample[9] == 'i' && sample[10] == 't')
{
if(g_gender[id] == 1) ArrayGetString(g_pain1, random_num(0, ArraySize(g_pain1) - 1), sound, charsmax(sound))
if(g_gender[id] == 2) ArrayGetString(g_pain2, random_num(0, ArraySize(g_pain2) - 1), sound, charsmax(sound))
if(g_gender[id] == 3) ArrayGetString(g_pain3, random_num(0, ArraySize(g_pain3) - 1), sound, charsmax(sound))
if(g_gender[id] == 4) ArrayGetString(g_pain4, random_num(0, ArraySize(g_pain4) - 1), sound, charsmax(sound))
if(g_gender[id] == 5) ArrayGetString(g_pain5, random_num(0, ArraySize(g_pain5) - 1), sound, charsmax(sound))
if(g_gender[id] == 6) ArrayGetString(g_pain6, random_num(0, ArraySize(g_pain6) - 1), sound, charsmax(sound))
if(g_gender[id] == 7) ArrayGetString(g_pain7, random_num(0, ArraySize(g_pain7) - 1), sound, charsmax(sound))
if(g_gender[id] == 8) ArrayGetString(g_pain8, random_num(0, ArraySize(g_pain8) - 1), sound, charsmax(sound))
if(g_gender[id] == 9) ArrayGetString(g_pain9, random_num(0, ArraySize(g_pain9) - 1), sound, charsmax(sound))
if(g_gender[id] == 10) ArrayGetString(g_pain10, random_num(0, ArraySize(g_pain10) - 1), sound, charsmax(sound))
if(g_gender[id] == 11) ArrayGetString(g_pain11, random_num(0, ArraySize(g_pain11) - 1), sound, charsmax(sound))
if(g_gender[id] == 12) ArrayGetString(g_pain12, random_num(0, ArraySize(g_pain12) - 1), sound, charsmax(sound))
if(g_gender[id] == 13) ArrayGetString(g_pain13, random_num(0, ArraySize(g_pain13) - 1), sound, charsmax(sound))
emit_sound(id, channel, sound, volume, attn, flag, pitch)
return FMRES_SUPERCEDE
}else if (sample[7] == 'd' && ((sample[8] == 'i' && sample[9] == 'e') || (sample[8] == 'e' && sample[9] == 'a')))
{
if(g_gender[id] == 1) ArrayGetString(g_die1, random_num(0, ArraySize(g_die1) - 1), sound, charsmax(sound))
if(g_gender[id] == 2) ArrayGetString(g_die2, random_num(0, ArraySize(g_die2) - 1), sound, charsmax(sound))
if(g_gender[id] == 3) ArrayGetString(g_die3, random_num(0, ArraySize(g_die3) - 1), sound, charsmax(sound))
if(g_gender[id] == 4) ArrayGetString(g_die4, random_num(0, ArraySize(g_die4) - 1), sound, charsmax(sound))
if(g_gender[id] == 5) ArrayGetString(g_die5, random_num(0, ArraySize(g_die5) - 1), sound, charsmax(sound))
if(g_gender[id] == 6) ArrayGetString(g_die6, random_num(0, ArraySize(g_die6) - 1), sound, charsmax(sound))
if(g_gender[id] == 7) ArrayGetString(g_die7, random_num(0, ArraySize(g_die7) - 1), sound, charsmax(sound))
if(g_gender[id] == 8) ArrayGetString(g_die8, random_num(0, ArraySize(g_die8) - 1), sound, charsmax(sound))
if(g_gender[id] == 9) ArrayGetString(g_die9, random_num(0, ArraySize(g_die9) - 1), sound, charsmax(sound))
if(g_gender[id] == 10) ArrayGetString(g_die10, random_num(0, ArraySize(g_die10) - 1), sound, charsmax(sound))
if(g_gender[id] == 11) ArrayGetString(g_die11, random_num(0, ArraySize(g_die11) - 1), sound, charsmax(sound))
if(g_gender[id] == 12) ArrayGetString(g_die12, random_num(0, ArraySize(g_die12) - 1), sound, charsmax(sound))
if(g_gender[id] == 13) ArrayGetString(g_die13, random_num(0, ArraySize(g_die13) - 1), sound, charsmax(sound))
emit_sound(id, channel, sound, volume, attn, flag, pitch)
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public zp_user_infected_post(id, infector)
{
g_gender[id] = zp_get_user_zombie_class(id) + 1
if(zp_get_user_nemesis(id)) g_gender[id] = 13
new sound[64]
if(g_gender[id] == 1) ArrayGetString(g_infect1, random_num(0, ArraySize(g_infect1) - 1), sound, charsmax(sound))
if(g_gender[id] == 2) ArrayGetString(g_infect2, random_num(0, ArraySize(g_infect2) - 1), sound, charsmax(sound))
if(g_gender[id] == 3) ArrayGetString(g_infect3, random_num(0, ArraySize(g_infect3) - 1), sound, charsmax(sound))
if(g_gender[id] == 4) ArrayGetString(g_infect4, random_num(0, ArraySize(g_infect4) - 1), sound, charsmax(sound))
if(g_gender[id] == 5) ArrayGetString(g_infect5, random_num(0, ArraySize(g_infect5) - 1), sound, charsmax(sound))
if(g_gender[id] == 6) ArrayGetString(g_infect6, random_num(0, ArraySize(g_infect6) - 1), sound, charsmax(sound))
if(g_gender[id] == 7) ArrayGetString(g_infect7, random_num(0, ArraySize(g_infect7) - 1), sound, charsmax(sound))
if(g_gender[id] == 8) ArrayGetString(g_infect8, random_num(0, ArraySize(g_infect8) - 1), sound, charsmax(sound))
if(g_gender[id] == 9) ArrayGetString(g_infect9, random_num(0, ArraySize(g_infect9) - 1), sound, charsmax(sound))
if(g_gender[id] == 10) ArrayGetString(g_infect10, random_num(0, ArraySize(g_infect10) - 1), sound, charsmax(sound))
if(g_gender[id] == 11) ArrayGetString(g_infect11, random_num(0, ArraySize(g_infect11) - 1), sound, charsmax(sound))
if(g_gender[id] == 12) ArrayGetString(g_infect12, random_num(0, ArraySize(g_infect12) - 1), sound, charsmax(sound))
if(g_gender[id] == 13) ArrayGetString(g_infect13, random_num(0, ArraySize(g_infect13) - 1), sound, charsmax(sound))
emit_sound(id, CHAN_WEAPON, sound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
remove_task(id+TASK_BLOOD)
if(!zp_get_user_nemesis(id)) set_task(random_float(50.0, 70.0), "zombie_play_idle", id+TASK_BLOOD, _, _, "b")
}
public zombie_play_idle(taskid)
{
static sound[64]
new id = taskid
if(zp_get_user_zombie(id) && !zp_get_user_nemesis(id) && is_user_alive(id))
{
if(g_gender[id] == 1) ArrayGetString(g_zombie_idle1, random_num(0, ArraySize(g_zombie_idle1) - 1), sound, charsmax(sound))
if(g_gender[id] == 2) ArrayGetString(g_zombie_idle2, random_num(0, ArraySize(g_zombie_idle2) - 1), sound, charsmax(sound))
if(g_gender[id] == 3) ArrayGetString(g_zombie_idle3, random_num(0, ArraySize(g_zombie_idle3) - 1), sound, charsmax(sound))
if(g_gender[id] == 4) ArrayGetString(g_zombie_idle4, random_num(0, ArraySize(g_zombie_idle4) - 1), sound, charsmax(sound))
if(g_gender[id] == 5) ArrayGetString(g_zombie_idle5, random_num(0, ArraySize(g_zombie_idle5) - 1), sound, charsmax(sound))
if(g_gender[id] == 6) ArrayGetString(g_zombie_idle6, random_num(0, ArraySize(g_zombie_idle6) - 1), sound, charsmax(sound))
if(g_gender[id] == 7) ArrayGetString(g_zombie_idle7, random_num(0, ArraySize(g_zombie_idle7) - 1), sound, charsmax(sound))
if(g_gender[id] == 8) ArrayGetString(g_zombie_idle8, random_num(0, ArraySize(g_zombie_idle8) - 1), sound, charsmax(sound))
if(g_gender[id] == 9) ArrayGetString(g_zombie_idle9, random_num(0, ArraySize(g_zombie_idle9) - 1), sound, charsmax(sound))
if(g_gender[id] == 10) ArrayGetString(g_zombie_idle10, random_num(0, ArraySize(g_zombie_idle10) - 1), sound, charsmax(sound))
if(g_gender[id] == 11) ArrayGetString(g_zombie_idle11, random_num(0, ArraySize(g_zombie_idle11) - 1), sound, charsmax(sound))
if(g_gender[id] == 12) ArrayGetString(g_zombie_idle12, random_num(0, ArraySize(g_zombie_idle12) - 1), sound, charsmax(sound))
if(g_gender[id] == 13) ArrayGetString(g_zombie_idle13, random_num(0, ArraySize(g_zombie_idle13) - 1), sound, charsmax(sound))
emit_sound(id, CHAN_VOICE, sound, 1.0, ATTN_NORM, 0, PITCH_NORM)
}
}
public zp_user_humanized_post(id)
{
remove_task(id+TASK_BLOOD)
}
public load_custom()
{
// Build customization file path
new path[64]
get_configsdir(path, charsmax(path))
format(path, charsmax(path), "%s/zp_classsounds.ini", path)
// File not present
if (!file_exists(path))
{
new error[100]
formatex(error, charsmax(error), "Cannot load customization file %s!", path)
set_fail_state(error)
return;
}
// Set up some vars to hold parsing info
new linedata[1024], key[64], value[960], section
// Open customization file for reading
new file = fopen(path, "rt")
while (file && !feof(file))
{
// Read one line at a time
fgets(file, linedata, charsmax(linedata))
// Replace newlines with a null character to prevent headaches
replace(linedata, charsmax(linedata), "^n", "")
// Blank line or comment
if (!linedata[0] || linedata[0] == ';') continue;
// New section starting
if (linedata[0] == '[')
{
section++
continue;
}
// Get key and value(s)
strtok(linedata, key, charsmax(key), value, charsmax(value), '=')
// Trim spaces
trim(key)
trim(value)
if (equal(key, "SOUND_DIE1"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die1, key)
}
}
if (equal(key, "SOUND_DIE2"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die2, key)
}
}
if (equal(key, "SOUND_DIE3"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die3, key)
}
}
if (equal(key, "SOUND_DIE4"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die4, key)
}
}
if (equal(key, "SOUND_DIE5"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die5, key)
}
}
if (equal(key, "SOUND_DIE6"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die6, key)
}
}
if (equal(key, "SOUND_DIE7"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die7, key)
}
}
if (equal(key, "SOUND_DIE8"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die8, key)
}
}
if (equal(key, "SOUND_DIE9"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die9, key)
}
}
if (equal(key, "SOUND_DIE10"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die10, key)
}
}
if (equal(key, "SOUND_DIE11"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die11, key)
}
}
if (equal(key, "SOUND_DIE12"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die12, key)
}
}
if (equal(key, "SOUND_DIE13"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_die, key)
ArrayPushString(g_die13, key)
}
}
if (equal(key, "SOUND_PAIN1"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain1, key)
}
}
if (equal(key, "SOUND_PAIN2"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain2, key)
}
}
if (equal(key, "SOUND_PAIN3"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain3, key)
}
}
if (equal(key, "SOUND_PAIN4"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain4, key)
}
}
if (equal(key, "SOUND_PAIN5"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain5, key)
}
}
if (equal(key, "SOUND_PAIN6"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain6, key)
}
}
if (equal(key, "SOUND_PAIN7"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain7, key)
}
}
if (equal(key, "SOUND_PAIN8"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain8, key)
}
}
if (equal(key, "SOUND_PAIN9"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain9, key)
}
}
if (equal(key, "SOUND_PAIN10"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain10, key)
}
}
if (equal(key, "SOUND_PAIN11"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain11, key)
}
}
if (equal(key, "SOUND_PAIN12"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain12, key)
}
}
if (equal(key, "SOUND_PAIN13"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_pain, key)
ArrayPushString(g_pain12, key)
}
}
if (equal(key, "SOUND_INFECT1"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect1, key)
}
}
if (equal(key, "SOUND_INFECT2"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect2, key)
}
}
if (equal(key, "SOUND_INFECT3"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect3, key)
}
}
if (equal(key, "SOUND_INFECT4"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect4, key)
}
}
if (equal(key, "SOUND_INFECT5"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect5, key)
}
}
if (equal(key, "SOUND_INFECT6"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect6, key)
}
}
if (equal(key, "SOUND_INFECT7"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect7, key)
}
}
if (equal(key, "SOUND_INFECT8"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect8, key)
}
}
if (equal(key, "SOUND_INFECT9"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect9, key)
}
}
if (equal(key, "SOUND_INFECT10"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect10, key)
}
}
if (equal(key, "SOUND_INFECT11"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect11, key)
}
}
if (equal(key, "SOUND_INFECT12"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect12, key)
}
}
if (equal(key, "SOUND_INFECT13"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_infect, key)
ArrayPushString(g_infect13, key)
}
}
if (equal(key, "SOUND_IDLE1"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle1, key)
}
}
if (equal(key, "SOUND_IDLE2"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle2, key)
}
}
if (equal(key, "SOUND_IDLE3"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle3, key)
}
}
if (equal(key, "SOUND_IDLE4"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle4, key)
}
}
if (equal(key, "SOUND_IDLE5"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle5, key)
}
}
if (equal(key, "SOUND_IDLE6"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle6, key)
}
}
if (equal(key, "SOUND_IDLE7"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle7, key)
}
}
if (equal(key, "SOUND_IDLE8"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle8, key)
}
}
if (equal(key, "SOUND_IDLE9"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle9, key)
}
}
if (equal(key, "SOUND_IDLE10"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle10, key)
}
}
if (equal(key, "SOUND_IDLE11"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle11, key)
}
}
if (equal(key, "SOUND_IDLE12"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle12, key)
}
}
if (equal(key, "SOUND_IDLE13"))
{
// Parse weapons
while (value[0] != 0 && strtok(value, key, charsmax(key), value, charsmax(value), ','))
{
trim(key)
trim(value)
ArrayPushString(g_zombie_idle, key)
ArrayPushString(g_zombie_idle13, key)
}
}
}
if (file) fclose(file)
}[/spoiler]
[spoiler="файл ини где прописаны звуки"]SOUND_DIE1 = soundsClass/z4human_death_male.wav
SOUND_DIE2 = soundsClass/light_die.wav
SOUND_DIE3 = soundsClass/die.wav
SOUND_DIE4 = soundsClass/heavy_die.wav
SOUND_DIE5 = soundsClass/banshe_death.wav
SOUND_DIE6 = soundsClass/sting_finger_die.wav
SOUND_DIE7 = soundsClass/death.wav
SOUND_PAIN1 = soundsClass/pain6.wav, soundsClass/pain5.wav
SOUND_PAIN2 = soundsClass/light_pain.wav , soundsClass/light_gut_flinch1.wav
SOUND_PAIN3 = soundsClass/classic_pain.wav , soundsClass/classic_pain1.wav
SOUND_PAIN4 = soundsClass/pain2.wav, soundsClass/pain5.wav
SOUND_PAIN5 = soundsClass/pain.wav, soundsClass/light_gut_flinch1.wav
SOUND_PAIN6 = soundsClass/sting_finger_pain.wav , soundsClass/sting_finger_pain1.wav
SOUND_PAIN7 = soundsClass/pain2.wav
SOUND_INFECT1 = soundsClass/infect2.wav
SOUND_INFECT2 = soundsClass/light_infect.wav , soundsClass/light_dash.wav
SOUND_INFECT3 = soundsClass/infect.wav
SOUND_INFECT4 = soundsClass/heavy_infect.wav
SOUND_INFECT5 = soundsClass/banshee_laugh.wav , soundsClass/light_dash.wav
SOUND_INFECT6 = soundsClass/sting_finger_infect.wav
SOUND_INFECT7 = soundsClass/z4human_death_male.wav
SOUND_IDLE1 = soundsClass/umb_zombie_last4.wav
SOUND_IDLE2 = soundsClass/light_idle1.wav , soundsClass/light_idle21.wav
SOUND_IDLE3 = soundsClass/umb_zombie_idle1.wav
SOUND_IDLE4 = soundsClass/umb_zombie_idle3.wav
SOUND_IDLE5 = soundsClass/umb_zombie_last1.wav
SOUND_IDLE6 = soundsClass/umb_zombie_last4.wav
SOUND_IDLE7 = soundsClass/healer_idle.wav
Неинформативное название темы (исправлено) // Subb98