AMX MOD X
Среда, 07.01.2026, 23:21:53



Приветствую Вас Гость | RSS
[ Главная ] [ Плугин ругается на Строку . - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
Плугин ругается на Строку .
ahaДата: Вторник, 11.03.2008, 23:55:04 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
Вот кусочек :

public fwd_touch(ent, id)
{
if(get_cvar_num("amx_asdf") != 1)
return FMRES_IGNORED

new model[33]
entity_get_string(ent, EV_SZ_model, model, 32)
pev(ent, pev_model, model, 31)

if(equali(model, "models/w_awp.mdl")||equali(model, "models/w_g3sg1.mdl")||equali(model, "models/w_sg550.mdl"))
if(blabla[id] == 0) return FMRES_SUPERCEDE

entity_get_string(ent, EV_SZ_model, model, 32)
pev(ent, pev_model, model, 31)
if(equal(model, "models/w_xm1014.mdl")||equal(model, "models/w_weaponbox.mdl")||equal(model, "models/w_ump45.mdl")||equal(model, "models/w_tmp.mdl")||
equal(model, "models/w_smokegrenade.mdl")||equal(model, "models/w_shotgun.mdl")||equal(model, "models/w_shield.mdl")||equal(model, "models/w_sg552.mdl")||
equal(model, "models/w_sg550.mdl")||equal(model, "models/w_famas.mdl")||equal(model, "models/w_aug.mdl")||equal(model, "models/w_assault.mdl")||equal(model, "models/w_deagle.mdl")||
equal(model, "models/w_357.mdl")||equal(model, "models/w_awp.mdl")||equal(model, "models/w_ak47.mdl")||
equal(model, "models/w_fb.mdl")||equal(model, "models/w_sg550.mdl")||equal(model, "models/w_elite.mdl")||equal(model, "models/w_fiveseven.mdl")||equal(model, "models/w_p228.mdl")||
equal(model, "models/w_p90.mdl")||equal(model, "models/w_mp5.mdl")||equal(model, "models/w_flashbang.mdl")||equal(model, "models/w_mac10.mdl")||equal(model, "models/w_g3sg1.mdl")||
equal(model, "models/w_m249.mdl")||equal(model, "models/w_galil.mdl")||equal(model, "models/w_m4a1.mdl")||equal(model, "models/w_m3.mdl")||equal(model, "models/w_glock18.mdl")||
equal(model, "models/w_hegrenade.mdl")||equal(model, "models/w_grenade.mdl")||equal(model, "models/w_usp.mdl")||equal(model, "models/w_scout.mdl"))
if(blabla2[id] == 1) return FMRES_SUPERCEDE

return FMRES_IGNORED
}

Плугин в резиме debug ругается на эту строку :

if(blabla2[id] == 1) return FMRES_SUPERCEDE

но плугин вполне работает .. помогите в чем же проблема ..

 
slogicДата: Среда, 12.03.2008, 00:58:43 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
как именно ругается?
 
ahaДата: Среда, 12.03.2008, 17:41:32 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 370
Репутация: 6
Статус: Не в сети
[AMXX] Run time error 4: index out of bounds
[AMXX] [0] amx_plugin.sma::fwd_touch <line ***>

Вот...

 
DaTaДата: Среда, 12.03.2008, 21:47:01 | Сообщение # 4
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Репутация: 16
Статус: Не в сети
ну почему так происходит? вероятно ты огласил blabla2 как массив[33], но вот id может быть больше, чем 33. Например ты выкинул пистолет, он упал на ящик, который является ентити func_wall, и у пистолета айди 133, тогда это уже ошибка, так как в массиве всего 33 элемента, а ты пытаешься узнать значение 133
Как починить? Поставить проверку такого рода:
if( !( 1 <= id <= get_maxplayers() ) )
return FMRES_IGNORED

ну и советую тебе проверять энтити на их существование
if(!pev_valid() || !pev_valid(ent))
return FMRES_IGNORED
ну и проверка, жив ли игрок, присоединенный ли, если нада(is_player_alive(id), is_user_connected(id))

PS если ты пытаешься запретить игрокам подбор оружия, то не самый эффективный способ проверять модели энтити, нужно проверять ее класс, в первую очередь

Сообщение отредактировал DaTa - Среда, 12.03.2008, 21:51:56
 
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2026