Добрый вечер помогите с плагином в логах пишет:
CODE
L 08/03/2015 - 19:17:04: [AMXX] Displaying debug trace (plugin "aKnife.amxx")
L 08/03/2015 - 19:17:04: [AMXX] Run time error 4: index out of bounds
L 08/03/2015 - 19:17:04: [AMXX] [0] d931c3ec244e1f7b6095b43e24adbb6c.sma::event_damage (line 46)
Вот сам sma:
Код:
#include < amxmodx >
#include < engine >
#include < hamsandwich >
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
new const models [ ][ ] =
{
"models/aknife/v_combat.mdl",
"models/aknife/p_combat.mdl",
"models/aknife/v_bayonet.mdl",
"models/aknife/p_bayonet.mdl"
}
enum _:udata
{
knife
}
new UserData [ 33 ][ udata ]
public plugin_init ( )
{
register_plugin ( "Admin Knife", "3.2", "OverGame" )
register_event ( "CurWeapon", "event_curweapon", "be", "1=1" )
RegisterHam ( Ham_TakeDamage, "player", "event_damage", 0 )
register_clcmd ( "aknife", "open_menu" )
register_clcmd ( "say /aknife", "open_menu" )
register_clcmd ( "say_team /aknife", "open_menu" )
}
public plugin_precache ( )
{
for ( new i; i < sizeof ( models ); i++ )
precache_model ( models [ i ] )
}
public event_damage ( victim, inflicator, attacker, Float:damage )
{
if ( !is_user_connected ( attacker ) && victim == attacker || !victim )
return
if ( UserData [ attacker ][ knife ] == 2 )
SetHamParamFloat ( 4, damage * 2.0 )
}
public client_putinserver ( id )
{
if ( get_user_flags ( id ) & ADMIN_LEVEL_F )
{
UserData [ id ][ knife ] = 1
} else {
UserData [ id ][ knife ] = 0
}
}
public client_PreThink ( id )
{
if ( UserData [ id ][ knife ] == 1 )
{
entity_set_float ( id, EV_FL_fuser2, 0.0 )
if ( entity_get_int ( id, EV_INT_button ) & 2 )
{
new flags = entity_get_int ( id, EV_INT_flags )
if ( flags & FL_WATERJUMP )
return PLUGIN_CONTINUE
if ( entity_get_int ( id, EV_INT_waterlevel ) >= 2 )
return PLUGIN_CONTINUE
if ( !( flags & FL_ONGROUND ) )
return PLUGIN_CONTINUE
new Float:velocity [ 3 ]
entity_get_vector ( id, EV_VEC_velocity, velocity )
velocity [ 2 ] += 250.0
entity_set_vector ( id, EV_VEC_velocity, velocity )
entity_set_int ( id, EV_INT_gaitsequence, 6 )
}
}
return PLUGIN_CONTINUE
}
public open_menu ( id )
{
new menu, caption [ 128 ], admin [ 33 ]
if ( get_user_flags ( id ) & ADMIN_LEVEL_F )
admin [ id ] = true
else
admin [ id ] = false
format ( caption, charsmax ( caption ), "\d[ aKnife ]\r Меню РЅРѕР¶Р°^n\yР’С‹ \r%s", admin [ id ] ? "РђРґРјРёРЅ" : "Р?РіСЂРѕРє" )
menu = menu_create ( caption, "omenu_hand" )
menu_additem ( menu, "\rСтандартный^n", "0" )
menu_additem ( menu, "\wКомбат \d[ Bhop ]", "1" )
menu_additem ( menu, "\wBayonet \d[ Дамаг ]", "2" )
menu_setprop ( menu, MPROP_BACKNAME, "Назад" )
menu_setprop ( menu, MPROP_NEXTNAME, "Далее" )
menu_setprop ( menu, MPROP_EXITNAME, "Выход" )
menu_display ( id, menu, 0 )
return PLUGIN_HANDLED
}
public omenu_hand ( id, menu, item )
{
if ( item == MENU_EXIT )
{
menu_destroy ( menu )
return PLUGIN_HANDLED
}
new data [ 6 ], iName [ 64 ], access, callback
menu_item_getinfo ( menu, item, access, data, 5, iName, 63, callback )
new key = str_to_num ( data )
if ( get_user_flags ( id ) & ADMIN_LEVEL_F )
{
UserData [ id ][ knife ] = key
event_curweapon ( id )
}
return PLUGIN_HANDLED
}
public event_curweapon ( id )
{
new weapon = read_data ( 2 )
if ( weapon == CSW_KNIFE )
{
switch ( UserData [ id ][ knife ] )
{
case 0:
{
entity_set_string ( id, EV_SZ_viewmodel, "models/v_knife.mdl" )
entity_set_string ( id, EV_SZ_weaponmodel, "models/p_knife.mdl" )
}
case 1:
{
entity_set_string ( id, EV_SZ_viewmodel, models [ 0 ] )
entity_set_string ( id, EV_SZ_weaponmodel, models [ 1 ] )
}
case 2:
{
entity_set_string ( id, EV_SZ_viewmodel, models [ 2 ] )
entity_set_string ( id, EV_SZ_weaponmodel, models [ 3 ] )
}
}
}
return PLUGIN_CONTINUE
}
Кто разбирается настройте пожалуйста