Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Плагин hook

, ошибка в логе
Статус пользователя I to doo
сообщение 24.6.2013, 16:11
Сообщение #1
Стаж: 14 лет

Сообщений: 16
Благодарностей: 1
Полезность: 0

Здраствуйте, в логе выдало такую ошибку:

Код
[ENGINE] Invalid entity 20
L 06/24/2013 - 16:27:38: [AMXX] Run time error 10 (plugin "hook.amxx") (native "entity_set_vector") - debug not enabled!
L 06/24/2013 - 16:27:38: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).


Как устранить эту ошибку?

Вот исходник плагина:

Код
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fun>
#include <hamsandwich>
#include <colorchat>

#define HOOK_LEVEL ADMIN_LEVEL_G  // Уровен доступа


new bool:canusehook[32]
new bool:ishooked[32]
new hookorigin[32][3]

new Enable
new Glow, GlowRandom, GlowR, GlowG, GlowB
new Tsprite, CTsprite, STsprite, sprstandart
new Fade, FadeRandom, fadeR, fadeG, fadeB
new HookSpeed


public plugin_init() {
    register_plugin("Hook","1.5","LLInH9rA")
    
    register_clcmd("+hook","hook_on",HOOK_LEVEL)
    register_clcmd("-hook","hook_off",HOOK_LEVEL)
    register_clcmd("hook_give","give_hook",HOOK_LEVEL,"<name|#userid|steamid|@ALL> <on/off>") // Дать/отнять хук
    
    Enable            =    register_cvar( "hook_enable", "1" )                // Вкл./Выкл. Плагин (По умолчанию Вкл)
    Glow            =    register_cvar( "hook_glow", "1" )                // Аура при полете Вкл./Выкл. (По умолчанию Вкл)
    GlowRandom        =    register_cvar( "hook_glow_random", "1" )        // Рандомная подсветка
    GlowR            =    register_cvar( "hook_glow_r", "255" )            // Цвет свечения(красный)
    GlowG            =    register_cvar( "hook_glow_g", "255" )            // Цвет свечения(зеленый)
    GlowB            =    register_cvar( "hook_glow_b", "255" )            // Цвет свечения(синий)
    sprstandart        =    register_cvar( "hook_sprite_new", "1" )            // Новый или старый спрайт хука (По умолчанию новый)
    Fade            =    register_cvar( "hook_screenfade", "0" )            // Затемнение экрана при полете Вкл./Выкл. (По умолчанию Вкл)
    FadeRandom        =    register_cvar( "hook_screenfade_random", "1" )    // Использовать рандомный цвет (1 - да, 2 -нет)(По умолчанию 1)
    fadeR            =     register_cvar( "hook_fade_r", "255" )            // Цвет затемнения экрана при полете(красный)
    fadeG             =     register_cvar( "hook_fade_g", "255" )            // Цвет затемнения экрана при полете(зеленый)
    fadeB             =     register_cvar( "hook_fade_b", "255" )            // Цвет затемнения экрана при полете(синий)
    HookSpeed        =    register_cvar( "hook_speed", "550" )            // Скорость (По умолчанию: 350)
}

public plugin_precache() {
    precache_sound("loading/pon.wav")                                    // Загрузка звука
    Tsprite            =    precache_model("sprites/lonc.spr")         // Загрузка спрайта для террористов
    CTsprite        =    precache_model("sprites/lonc.spr")         // Загрузка спрайта для контров
    STsprite        =    precache_model("sprites/lonc.spr")         // Загрузка стандартного спрайта
    
}

// ================================================================================
=================

public client_disconnect(id) {
    remove_hook(id)
}

public client_putinserver(id) {
    remove_hook(id)
}

// ================================================================================
=================

public give_hook(id,level,cid) {
    if(!cmd_access(id,level,cid,3))
        return PLUGIN_HANDLED
            
    new name[32]
    get_user_name(id,name,32)
        
    new szarg1[32], szarg2[8], bool:mode
    read_argv(1,szarg1,32)
    read_argv(2,szarg2,32)
    if(equal(szarg2,"on"))
        mode = true
        
    if(equal(szarg1,"@ALL")) {
        for(new i=1;i<=get_maxplayers();i++) {
            if(is_user_connected(i) && is_user_alive(i)) {
                canusehook[i-1] = mode
                if(mode) {
                    client_print(i,print_chat,"[Hook] Админ %s дал возможность возможность использовать hook",name)
                    client_print(i,print_chat,"[Hook] Забиндите '+hook' на кнопку")
                }
                else
                    client_print(i,print_chat,"[Hook] Админ %s отнял возможность возможность использовать hook",name)
            }
        }
    }
    else {
        new pid = cmd_target(id,szarg1,2)
        if(pid > 0) {
            canusehook[pid-1] = mode
            if(mode) {
                client_print(pid,print_chat,"[Hook] Админ %s дал возможность возможность использовать hook",name)
                client_print(pid,print_chat,"[Hook] Забиндите '+hook' на кнопку")
            }
            else
                client_print(pid,print_chat,"[Hook] Админ %s отнял возможность возможность использовать hook",name)
        }
    }
    
    return PLUGIN_HANDLED
}

// ================================================================================
=================

public hook_on(id,level,cid)
{
    if( get_pcvar_num( Enable ) )
    {
    if(!canusehook[id-1] && !cmd_access(id,level,cid,1))
        return PLUGIN_HANDLED
    
    get_user_origin(id,hookorigin[id-1],3)
    
    if(callfunc_begin("detect_cheat","prokreedz.amxx") == 1) {
        callfunc_push_int(id)
        callfunc_push_str("Hook")
        callfunc_end()
    }
    
    ishooked[id-1] = true
    
    emit_sound(id,CHAN_STATIC,"loading/pon.wav",1.0,ATTN_NORM,0,PITCH_NORM)
    set_task(0.1,"hook_task",id,"",0,"ab")
    hook_task(id)
    if( is_user_alive( id ) && get_pcvar_num( Glow ) )
    {
        if( is_user_alive( id ) && get_pcvar_num( GlowRandom ) )
        {
        set_user_rendering(id, kRenderFxGlowShell,  random_num( 0,255 ),  random_num( 0,255 ),  random_num( 0,255 ), kRenderNormal, 16 )
        }
        else
        {
        set_user_rendering(id, kRenderFxGlowShell, ( get_pcvar_num( GlowR ) ),  ( get_pcvar_num( GlowG ) ),  ( get_pcvar_num( GlowB ) ), kRenderNormal, 16 )
        }
    }
    
    }
    else
    {
    ColorChat(id, RED,"[Hook] ^4Функция отключена!")
    }
    
    if( get_pcvar_num( Fade ) )
    {
        if( get_pcvar_num( FadeRandom ) )
        {
        message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
        write_short( 10<<12 )
        write_short( 10<<16 )
        write_short( 1<<1 )
        write_byte random_num( 0,255 )
        write_byte random_num( 0,255 )
        write_byte random_num( 0,255 )
        write_byte( 255 )
        message_end()
        }
        else
        {
        message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
        write_short( 10<<12 )
        write_short( 10<<16 )
        write_short( 1<<1 )
        write_byte ( get_pcvar_num( fadeR ) )
        write_byte ( get_pcvar_num( fadeG ) )
        write_byte ( get_pcvar_num( fadeB ) )
        write_byte( 255 )
        message_end()
        }
    }
    
    return PLUGIN_HANDLED
}

// ================================================================================
=================

public is_hooked(id) {
    return ishooked[id-1]
}

// ================================================================================
=================

public hook_off(id) {

    remove_hook(id)
    if( is_user_alive( id ) && get_pcvar_num( Glow ) )
    {
    set_user_rendering(id, kRenderFxGlowShell,  random_num( 0,0 ),  random_num( 0,0 ),  random_num( 0,0 ), kRenderNormal, 16 )
    }
    
    if( get_pcvar_num( Fade ) )
    {
    message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{0,0,0}, id)
    write_short( 10<<12 )
    write_short( 10<<16 )
    write_short( 1<<1 )
    write_byte ( 255 )
    write_byte ( 255 )
    write_byte ( 255 )
    write_byte( 255 )
    message_end()
    }
    
    return PLUGIN_HANDLED
}

// ================================================================================
=================

public hook_task(id) {
    if(!is_user_connected(id) || !is_user_alive(id))
        remove_hook(id)
    
    remove_beam(id)
    draw_hook(id)
    
    new origin[3], Float:velocity[3]
    get_user_origin(id,origin)
    new distance = get_distance(hookorigin[id-1],origin)
    
    new Float:HSpeed = get_pcvar_float(HookSpeed)
    
    if(distance > 25)  {
        velocity[0] = (hookorigin[id-1][0] - origin[0]) * (2.0 * HSpeed / distance)
        velocity[1] = (hookorigin[id-1][1] - origin[1]) * (2.0 * HSpeed / distance)
        velocity[2] = (hookorigin[id-1][2] - origin[2]) * (2.0 * HSpeed / distance)
        
        entity_set_vector(id,EV_VEC_velocity,velocity)
    }
    else {
        entity_set_vector(id,EV_VEC_velocity,Float:{0.0,0.0,0.0})
        remove_hook(id)
    }
}

// ================================================================================
=================

public draw_hook(id) {
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(1)                // TE_BEAMENTPOINT
    write_short(id)                // entid
    write_coord(hookorigin[id-1][0])    // origin
    write_coord(hookorigin[id-1][1])    // origin
    write_coord(hookorigin[id-1][2])    // origin
    if( get_pcvar_num( sprstandart ) )                 // sprite index
    {
    if(get_user_team(id) == 1) {
    write_short( Tsprite )            
    }
    else
    {
    write_short( CTsprite )
    }
    }
    else
    {
    write_short( STsprite )
    }
    write_byte( 0 )                    // start frame
    write_byte( 0 )                    // framerate
    write_byte( 100 )                // life
    write_byte( 10 )                // width
    write_byte( 0 )                    // noise
    if( get_pcvar_num( sprstandart ) )
    {
    if(get_user_team(id) == 1) {    // Террористы
        write_byte( 255 )            // красный
        write_byte( 255 )            // зеленый
        write_byte( 255 )            // синий
    }
    else
    {                                // Контры
        write_byte( 255 )            // красный
        write_byte( 255 )            // зеленый
        write_byte( 255 )            // синий
    }
    }
    else
    {
    if(get_user_team(id) == 1) {    // Террористы
        write_byte( 255 )            // красный
        write_byte( 0 )                // зеленый
        write_byte( 0 )                // синий
    }
    else
    {                                // Контры
        write_byte( 0 )                // красный
        write_byte( 0 )                // зеленый
        write_byte( 255 )            // синий
    }
    }
    write_byte( 150 )                // brightness
    write_byte(0)                    // Скорость
    message_end()
}

// ================================================================================
=================

public remove_hook(id) {
    if(task_exists(id))
        remove_task(id)
    remove_beam(id)
    ishooked[id-1] = false
}

// ================================================================================
=================

public remove_beam(id) {
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(99) // TE_KILLBEAM
    write_short(id)
    message_end()
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Kristl
сообщение 24.6.2013, 16:13
Сообщение #2


Стаж: 14 лет

Сообщений: 329
Благодарностей: 96
Полезность: 215

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

Отредактировал: Kristl, - 24.6.2013, 16:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 24.6.2013, 16:14
Сообщение #3


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

включи debug, там видно будет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: