Русское сообщество по скриптингу

[ZP] CSO Addom : The Hero: index out of bounds

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

[ZP] CSO Addom : The Hero: index out of bounds

Сообщение MaLiBoo » 12 янв 2018, 16:01

Зомби мод 4.3, нужна ваша помощь!
Сама ошибка в логах:

Код: Выделить всё
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(PLUGINVERSIONAUTHOR)
    
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(1iPlayersNum))
        
    
g_hero[id] = true

    zp_force_buy_extra_item
idzp_get_extra_item_id(NAMEITEM), 1)
    
set_user_healthid get_user_healthid ) + HEALTH );
    
set_user_armor(id get_user_armorid ) + ARMOR );
    
cs_set_user_model(id,"hero")

    new 
szName32 ]
    
get_user_nameidszName31 )
    
set_dhudmessage025500.050.4510.05.01.01.0)
    
show_dhudmessage0TEXTszName )
}

gRandomAlive(n)
{
    static 
Aliveid
    Alive 
0
    
    
for (id 1id <= g_iMaxClientsid++)
    {
        if (
is_user_alive(id) && !zp_get_user_zombie(id))
            
Alive++
        
        if (
Alive == n)
            return 
id;
    }
    
    return -
1;
}

gAlive()
{
    static 
Aliveid
    Alive 
0
    
    
for (id 1id <= g_iMaxClientsid++)
    {
        if (
is_user_alive(id) && !zp_get_user_zombie(id))
            
Alive++
    }
    
    return 
Alive;
}

public 
zp_round_ended()
{
    static 
id;
                                                          
    for( 
id 1id <= g_iMaxClientsid++ )
    {
        if( !
is_user_connectedid ) || !g_heroid ] )
            continue;

        
g_heroid ] = 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(PLUGINVERSIONAUTHOR)
    
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_die1ArrayCreate(321)
    
g_die2 ArrayCreate(321)
    
g_die3 ArrayCreate(321)
    
g_die4 ArrayCreate(321)
    
g_die5 ArrayCreate(321)
    
g_die6 ArrayCreate(321)
    
g_die7 ArrayCreate(321)
    
g_die8 ArrayCreate(321)
    
g_die9 ArrayCreate(321)
    
g_die10 ArrayCreate(321)
    
g_die11 ArrayCreate(321)
    
g_die12 ArrayCreate(321)
    
g_die13 ArrayCreate(321)
    
g_die ArrayCreate(321)
    
g_pain1 ArrayCreate(321)
    
g_pain2 ArrayCreate(321)
    
g_pain3 ArrayCreate(321)
    
g_pain4 ArrayCreate(321)
    
g_pain5 ArrayCreate(321)
    
g_pain6 ArrayCreate(321)
    
g_pain7 ArrayCreate(321)
    
g_pain8 ArrayCreate(321)
    
g_pain9 ArrayCreate(321)
    
g_pain10 ArrayCreate(321)
    
g_pain11 ArrayCreate(321)
    
g_pain12 ArrayCreate(321)
    
g_pain13 ArrayCreate(321)
    
g_pain ArrayCreate(321)
    
g_infect1 ArrayCreate(321)
    
g_infect2 ArrayCreate(321)
    
g_infect3 ArrayCreate(321)
    
g_infect4 ArrayCreate(321)
    
g_infect5 ArrayCreate(321)
    
g_infect6 ArrayCreate(321)
    
g_infect7 ArrayCreate(321)
    
g_infect8 ArrayCreate(321)
    
g_infect9 ArrayCreate(321)
    
g_infect10 ArrayCreate(321)
    
g_infect11 ArrayCreate(321)
    
g_infect12 ArrayCreate(321)
    
g_infect13 ArrayCreate(321)
    
g_infect ArrayCreate(321)
    
g_zombie_idle1 ArrayCreate(321)
    
g_zombie_idle2 ArrayCreate(321)
    
g_zombie_idle3 ArrayCreate(321)
    
g_zombie_idle4 ArrayCreate(321)
    
g_zombie_idle5 ArrayCreate(321)
    
g_zombie_idle6 ArrayCreate(321)
    
g_zombie_idle7 ArrayCreate(321)
    
g_zombie_idle8 ArrayCreate(321)
    
g_zombie_idle9 ArrayCreate(321)
    
g_zombie_idle10 ArrayCreate(321)
    
g_zombie_idle11 ArrayCreate(321)
    
g_zombie_idle12 ArrayCreate(321)
    
g_zombie_idle13 ArrayCreate(321)
    
g_zombie_idle ArrayCreate(321)
    

    
load_custom()

    new 
buffer[32], i
    
for (0ArraySize(g_pain); i++)
    {
        
ArrayGetString(g_painibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    }
    for (
0ArraySize(g_die); i++)
    {
        
ArrayGetString(g_dieibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    }
    for (
0ArraySize(g_infect); i++)
    {
        
ArrayGetString(g_infectibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    }
    for (
0ArraySize(g_zombie_idle); i++)
    {
        
ArrayGetString(g_zombie_idleibuffercharsmax(buffer))
        
engfunc(EngFunc_PrecacheSoundbuffer)
    }

}

public 
native_set_user_gender(idnum)
{
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(victimattackershouldgib)
{
remove_task(victim+TASK_BLOOD)
}
public 
fw_EmitSound(idchannelsample[], Float:volumeFloat:attnflagpitch)
{
    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] == 1ArrayGetString(g_pain1random_num(0ArraySize(g_pain1) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 2ArrayGetString(g_pain2random_num(0ArraySize(g_pain2) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 3ArrayGetString(g_pain3random_num(0ArraySize(g_pain3) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 4ArrayGetString(g_pain4random_num(0ArraySize(g_pain4) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 5ArrayGetString(g_pain5random_num(0ArraySize(g_pain5) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 6ArrayGetString(g_pain6random_num(0ArraySize(g_pain6) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 7ArrayGetString(g_pain7random_num(0ArraySize(g_pain7) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 8ArrayGetString(g_pain8random_num(0ArraySize(g_pain8) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 9ArrayGetString(g_pain9random_num(0ArraySize(g_pain9) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 10ArrayGetString(g_pain10random_num(0ArraySize(g_pain10) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 11ArrayGetString(g_pain11random_num(0ArraySize(g_pain11) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 12ArrayGetString(g_pain12random_num(0ArraySize(g_pain12) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 13ArrayGetString(g_pain13random_num(0ArraySize(g_pain13) - 1), soundcharsmax(sound))
        
emit_sound(idchannelsoundvolumeattnflagpitch)
        return 
FMRES_SUPERCEDE
    
}else if (sample[7] == 'd' && ((sample[8] == 'i' && sample[9] == 'e') || (sample[8] == 'e' && sample[9] == 'a')))
    {        
        if(
g_gender[id] == 1ArrayGetString(g_die1random_num(0ArraySize(g_die1) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 2ArrayGetString(g_die2random_num(0ArraySize(g_die2) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 3ArrayGetString(g_die3random_num(0ArraySize(g_die3) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 4ArrayGetString(g_die4random_num(0ArraySize(g_die4) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 5ArrayGetString(g_die5random_num(0ArraySize(g_die5) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 6ArrayGetString(g_die6random_num(0ArraySize(g_die6) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 7ArrayGetString(g_die7random_num(0ArraySize(g_die7) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 8ArrayGetString(g_die8random_num(0ArraySize(g_die8) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 9ArrayGetString(g_die9random_num(0ArraySize(g_die9) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 10ArrayGetString(g_die10random_num(0ArraySize(g_die10) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 11ArrayGetString(g_die11random_num(0ArraySize(g_die11) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 12ArrayGetString(g_die12random_num(0ArraySize(g_die12) - 1), soundcharsmax(sound))
        if(
g_gender[id] == 13ArrayGetString(g_die13random_num(0ArraySize(g_die13) - 1), soundcharsmax(sound))
        
emit_sound(idchannelsoundvolumeattnflagpitch)
        return 
FMRES_SUPERCEDE
    
}
    }
    return 
FMRES_IGNORED
}
public 
zp_user_infected_post(idinfector)
{
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] == 1ArrayGetString(g_infect1random_num(0ArraySize(g_infect1) - 1), soundcharsmax(sound))
if(
g_gender[id] == 2ArrayGetString(g_infect2random_num(0ArraySize(g_infect2) - 1), soundcharsmax(sound))
if(
g_gender[id] == 3ArrayGetString(g_infect3random_num(0ArraySize(g_infect3) - 1), soundcharsmax(sound))
if(
g_gender[id] == 4ArrayGetString(g_infect4random_num(0ArraySize(g_infect4) - 1), soundcharsmax(sound))
if(
g_gender[id] == 5ArrayGetString(g_infect5random_num(0ArraySize(g_infect5) - 1), soundcharsmax(sound))
if(
g_gender[id] == 6ArrayGetString(g_infect6random_num(0ArraySize(g_infect6) - 1), soundcharsmax(sound))
if(
g_gender[id] == 7ArrayGetString(g_infect7random_num(0ArraySize(g_infect7) - 1), soundcharsmax(sound))
if(
g_gender[id] == 8ArrayGetString(g_infect8random_num(0ArraySize(g_infect8) - 1), soundcharsmax(sound))
if(
g_gender[id] == 9ArrayGetString(g_infect9random_num(0ArraySize(g_infect9) - 1), soundcharsmax(sound))
if(
g_gender[id] == 10ArrayGetString(g_infect10random_num(0ArraySize(g_infect10) - 1), soundcharsmax(sound))
if(
g_gender[id] == 11ArrayGetString(g_infect11random_num(0ArraySize(g_infect11) - 1), soundcharsmax(sound))
if(
g_gender[id] == 12ArrayGetString(g_infect12random_num(0ArraySize(g_infect12) - 1), soundcharsmax(sound))
if(
g_gender[id] == 13ArrayGetString(g_infect13random_num(0ArraySize(g_infect13) - 1), soundcharsmax(sound))

emit_sound(idCHAN_WEAPONsoundVOL_NORMATTN_NORM0PITCH_NORM)
remove_task(id+TASK_BLOOD)
if(!
zp_get_user_nemesis(id)) set_task(random_float(50.070.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] == 1ArrayGetString(g_zombie_idle1random_num(0ArraySize(g_zombie_idle1) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 2ArrayGetString(g_zombie_idle2random_num(0ArraySize(g_zombie_idle2) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 3ArrayGetString(g_zombie_idle3random_num(0ArraySize(g_zombie_idle3) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 4ArrayGetString(g_zombie_idle4random_num(0ArraySize(g_zombie_idle4) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 5ArrayGetString(g_zombie_idle5random_num(0ArraySize(g_zombie_idle5) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 6ArrayGetString(g_zombie_idle6random_num(0ArraySize(g_zombie_idle6) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 7ArrayGetString(g_zombie_idle7random_num(0ArraySize(g_zombie_idle7) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 8ArrayGetString(g_zombie_idle8random_num(0ArraySize(g_zombie_idle8) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 9ArrayGetString(g_zombie_idle9random_num(0ArraySize(g_zombie_idle9) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 10ArrayGetString(g_zombie_idle10random_num(0ArraySize(g_zombie_idle10) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 11ArrayGetString(g_zombie_idle11random_num(0ArraySize(g_zombie_idle11) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 12ArrayGetString(g_zombie_idle12random_num(0ArraySize(g_zombie_idle12) - 1), soundcharsmax(sound))
    if(
g_gender[id] == 13ArrayGetString(g_zombie_idle13random_num(0ArraySize(g_zombie_idle13) - 1), soundcharsmax(sound))

    
emit_sound(idCHAN_VOICEsound1.0ATTN_NORM0PITCH_NORM)
    }
}
public 
zp_user_humanized_post(id)
{
    
remove_task(id+TASK_BLOOD)
}
public 
load_custom()
{
    
// Build customization file path
    
new path[64]
    
get_configsdir(pathcharsmax(path))
    
format(pathcharsmax(path), "%s/zp_classsounds.ini"path)
    
    
// File not present
    
if (!file_exists(path))
    {
        new 
error[100]
        
formatex(errorcharsmax(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(filelinedatacharsmax(linedata))
        
        
// Replace newlines with a null character to prevent headaches
        
replace(linedatacharsmax(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(linedatakeycharsmax(key), valuecharsmax(value), '=')
        
        
// Trim spaces
        
trim(key)
        
trim(value)
        
        if (
equal(key"SOUND_DIE1"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die1key)
            }
        }
        if (
equal(key"SOUND_DIE2"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die2key)
            }
        }
        if (
equal(key"SOUND_DIE3"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die3key)
            }
        }
        if (
equal(key"SOUND_DIE4"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die4key)
            }
        }
        if (
equal(key"SOUND_DIE5"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die5key)
            }
        }
        if (
equal(key"SOUND_DIE6"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die6key)
            }
        }
        if (
equal(key"SOUND_DIE7"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die7key)
            }
        }
        if (
equal(key"SOUND_DIE8"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die8key)
            }
        }
        if (
equal(key"SOUND_DIE9"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die9key)
            }
        }
        if (
equal(key"SOUND_DIE10"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die10key)
            }
        }
        if (
equal(key"SOUND_DIE11"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die11key)
            }
        }
        if (
equal(key"SOUND_DIE12"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die12key)
            }
        }
        if (
equal(key"SOUND_DIE13"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_diekey)    
                
ArrayPushString(g_die13key)
            }
        }
        if (
equal(key"SOUND_PAIN1"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain1key)
            }
        }
        if (
equal(key"SOUND_PAIN2"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain2key)
            }
        }
        if (
equal(key"SOUND_PAIN3"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain3key)
            }
        }
        if (
equal(key"SOUND_PAIN4"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain4key)
            }
        }
        if (
equal(key"SOUND_PAIN5"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain5key)
            }
        }
        if (
equal(key"SOUND_PAIN6"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain6key)
            }
        }
        if (
equal(key"SOUND_PAIN7"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain7key)
            }
        }
        if (
equal(key"SOUND_PAIN8"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain8key)
            }
        }
        if (
equal(key"SOUND_PAIN9"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain9key)
            }
        }
        if (
equal(key"SOUND_PAIN10"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain10key)
            }
        }
        if (
equal(key"SOUND_PAIN11"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain11key)
            }
        }
        if (
equal(key"SOUND_PAIN12"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain12key)
            }
        }
        if (
equal(key"SOUND_PAIN13"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_painkey)    
                
ArrayPushString(g_pain12key)
            }
        }
        if (
equal(key"SOUND_INFECT1"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect1key)
            }
        }
        if (
equal(key"SOUND_INFECT2"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect2key)
            }
        }
        if (
equal(key"SOUND_INFECT3"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect3key)
            }
        }
        if (
equal(key"SOUND_INFECT4"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect4key)
            }
        }
        if (
equal(key"SOUND_INFECT5"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect5key)
            }
        }
        if (
equal(key"SOUND_INFECT6"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect6key)
            }
        }
        if (
equal(key"SOUND_INFECT7"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect7key)
            }
        }
        if (
equal(key"SOUND_INFECT8"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect8key)
            }
        }
        if (
equal(key"SOUND_INFECT9"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect9key)
            }
        }
        if (
equal(key"SOUND_INFECT10"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect10key)
            }
        }
        if (
equal(key"SOUND_INFECT11"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect11key)
            }
        }
        if (
equal(key"SOUND_INFECT12"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect12key)
            }
        }
        if (
equal(key"SOUND_INFECT13"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_infectkey)    
                
ArrayPushString(g_infect13key)
            }
        }
        if (
equal(key"SOUND_IDLE1"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle1key)
            }
        }
        if (
equal(key"SOUND_IDLE2"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle2key)
            }
        }
        if (
equal(key"SOUND_IDLE3"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle3key)
            }
        }
        if (
equal(key"SOUND_IDLE4"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle4key)
            }
        }
        if (
equal(key"SOUND_IDLE5"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle5key)
            }
        }
        if (
equal(key"SOUND_IDLE6"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle6key)
            }
        }
        if (
equal(key"SOUND_IDLE7"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle7key)
            }
        }
        if (
equal(key"SOUND_IDLE8"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle8key)
            }
        }
        if (
equal(key"SOUND_IDLE9"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle9key)
            }
        }
        if (
equal(key"SOUND_IDLE10"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle10key)
            }
        }
        if (
equal(key"SOUND_IDLE11"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle11key)
            }
        }
        if (
equal(key"SOUND_IDLE12"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle12key)
            }
        }
        if (
equal(key"SOUND_IDLE13"))
        {
            
// Parse weapons
            
while (value[0] != && strtok(valuekeycharsmax(key), valuecharsmax(value), ','))
            {
                
trim(key)
                
trim(value)
                
ArrayPushString(g_zombie_idlekey)    
                
ArrayPushString(g_zombie_idle13key)
            }
        }
    }
    if (
filefclose(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.wavsoundsClass/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.wavsoundsClass/pain5.wav
SOUND_PAIN5 
soundsClass/pain.wavsoundsClass/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
Аватара пользователя
MaLiBoo
 
Сообщения: 4
Зарегистрирован: 30 июн 2017, 16:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: -

Re: Ошибка в логах 2 плагинах ЗП 4.3, нужна ваша помощь

Сообщение MaLiBoo » 13 янв 2018, 14:45

Никто не знает в чем дело, возможное решение данной ошибки?
Аватара пользователя
MaLiBoo
 
Сообщения: 4
Зарегистрирован: 30 июн 2017, 16:30
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: -

Re: Ошибка в логах 2 плагинах ЗП 4.3, нужна ваша помощь

Сообщение Subb98 » 13 янв 2018, 16:26

MaLiBoo, добрый день. Пожалуйста, измените название темы на информативное, в соответствии с Вы должны зарегистрироваться, чтобы видеть ссылки.. Если вы не сделаете этого в течение суток, я изменю название темы сам, однако в этом случае вам будет выдано предупреждение в профиль.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: [ZP] CSO Addom : The Hero: index out of bounds

Сообщение Mapaky9 » 22 янв 2018, 15:39

3-4 года прошло, а люди все так же используют те самые, кривые плагины от Шурика и Попрыгунчика? :-D

Ps. Автору, чисто жизненный опыт, если хочешь качественный сервер то заказывай хороший код у гуру скриптеров а не используй эти коды, которые работают через раз.
Аватара пользователя
Mapaky9
 
Сообщения: 185
Зарегистрирован: 02 июн 2013, 20:30
Откуда: Уфа
Благодарил (а): 61 раз.
Поблагодарили: 67 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: [ZP] CSO Addom : The Hero: index out of bounds

Сообщение Subb98 » 22 янв 2018, 15:53

Mapaky9, вы немного "отстали от жизни": сейчас просто найти исполнителя уже проблема, найти "гуру скриптера", который напишет объёмный мод, это не просто проблема - это почти нереально и сказочно дорого. :-)
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: [ZP] CSO Addom : The Hero: index out of bounds

Сообщение Mapaky9 » 22 янв 2018, 16:25

Subb98 писал(а):Mapaky9, вы немного "отстали от жизни": сейчас просто найти исполнителя уже проблема, найти "гуру скриптера", который напишет объёмный мод, это не просто проблема - это почти нереально и сказочно дорого. :-)

Да я отстал от жизни, в первые зашел суда за долгое время) Последняя активность 2014 год август) Смотрю темы, одни и те же недокоды, плагины. А если поискать, то можно найти хороших скриптеров, просто все любят халяву а в итоге получают гомно :(
Аватара пользователя
Mapaky9
 
Сообщения: 185
Зарегистрирован: 02 июн 2013, 20:30
Откуда: Уфа
Благодарил (а): 61 раз.
Поблагодарили: 67 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: [ZP] CSO Addom : The Hero: index out of bounds

Сообщение Subb98 » 22 янв 2018, 17:28

Mapaky9 писал(а):все любят халяву а в итоге получают гомно

Я вижу в этом справедливость. Если хочешь что-то сделать - лучше сделай это сам. Иначе, как говорится, жри, что дают. :-)
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8