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

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

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

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

Помогите плиз с плагином!

Статус пользователя byvaliy
сообщение 15.12.2010, 15:46
Сообщение #1
Стаж: 16 лет

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

Код
#include <amxmodx>
#include <amxmisc>

#define VERSION "0.1"

new g_MaxClients

public plugin_init()
{
    register_plugin("Kill Menu", VERSION, "Byv@liy");
    register_event("DeathMsg", "event_death", "a");
    g_MaxClients = get_maxplayers()
}

public event_death()
{
    new killer = read_data(1);
    new victim = read_data(2);
    
    if ( !( 1 <= killer <= g_MaxClients ) || killer == victim )
    {
        return PLUGIN_CONTINUE;
    }

    new vicname[32], killname[32]
    get_user_name(victim,vicname,31);
    get_user_name(killer,killname,31);
    
    new menu=menu_create("\rПричина убийства:","menu_handler")
    menu_additem(menu,"\wНе выполнил приказ","1")
    menu_additem(menu,"\wПроиграл в игру","2")
    menu_additem(menu,"\wАтаковал надзирателей","3")
    menu_additem(menu,"\wАФК","4")
    menu_additem(menu,"\wДругое","5")
    menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
    
    menu_display(killer,menu,0)
    return PLUGIN_HANDLED
}

public menu_handler(killer,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)
    
    switch(key) {
        case 1:{
            client_print(0, print_chat, "[Тюрьма] Игрок %s убит за невыполнение приказа!", victim)
        }
        case 2:{
            client_print(0, print_chat, "[Тюрьма] Игрок %s убит за приогрыш в игре!", victim)
        }
        case 3:{
            client_print(0, print_chat, "[Тюрьма] Игрок %s убит за атаку надзирателей!", victim)
        }
        case 4:{
            client_print(0, print_chat, "[Тюрьма] Игрок %s убит за АФК!", victim)
        }
        case 5:{
            client_print(0, print_chat, "[Тюрьма] Игрок %s убит за неизвестную причину!", victim)
        }
    }
    return PLUGIN_HANDLED
}


Пишет ошибки (компилил онлайн):
Код
/home/groups/amxmodx/tmp3/phpRX9On3.sma(56) : error 017: undefined symbol "victim"
/home/groups/amxmodx/tmp3/phpRX9On3.sma(59) : error 017: undefined symbol "victim"
/home/groups/amxmodx/tmp3/phpRX9On3.sma(62) : error 017: undefined symbol "victim"
/home/groups/amxmodx/tmp3/phpRX9On3.sma(65) : error 017: undefined symbol "victim"
/home/groups/amxmodx/tmp3/phpRX9On3.sma(68) : error 017: undefined symbol "victim"


Помогите плиз!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя ckapa6eu
сообщение 15.12.2010, 16:00
Сообщение #2
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 13

попробуй так
Код
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <hamsandwich>

#define VERSION "0.1"

new g_MaxClients;
new victim;

public plugin_init()
{
    register_plugin("Kill Menu", VERSION, "Byv@liy");
    register_event("DeathMsg", "event_death", "a");
    g_MaxClients = get_maxplayers()
}

public event_death()
{
    new killer = read_data(1);
    new victim = read_data(2);
    
    if ( !( 1 <= killer <= g_MaxClients ) || killer == victim )
    {
        return PLUGIN_CONTINUE;
    }

    new vicname[32], killname[32]
    get_user_name(victim,vicname,31);
    get_user_name(killer,killname,31);
    
    new menu=menu_create("\rПричина убийства:","menu_handler")
    menu_additem(menu,"\wНе выполнил приказ","1")
    menu_additem(menu,"\wПроиграл в игру","2")
    menu_additem(menu,"\wАтаковал надзирателей","3")
    menu_additem(menu,"\wАФК","4")
    menu_additem(menu,"\wДругое","5")
    menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
    
    menu_display(killer,menu,0)
    return PLUGIN_HANDLED
}

public menu_handler(killer,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)
    
    switch(key) {
        case 1:{
            client_printcolor(0, "/g[Тюрьма] /yИгрок %s убит за невыполнение приказа!", victim)
        }
        case 2:{
            client_printcolor(0, "/g[Тюрьма] /yИгрок %s убит за приогрыш в игре!", victim)
        }
        case 3:{
            client_printcolor(0, "/g[Тюрьма] /yИгрок %s убит за атаку надзирателей!", victim)
        }
        case 4:{
            client_printcolor(0, "/g[Тюрьма] /yИгрок %s убит за АФК!", victim)
        }
        case 5:{
            client_printcolor(0, "/g[Тюрьма] /yИгрок %s убит за неизвестную причину!", victim)
        }
    }
    return PLUGIN_HANDLED
}stock client_printcolor ( const id, const input[], any:... )
{
    new iCount = 1, iPlayers[32]
    
    new sNewMsg[191]
    vformat( sNewMsg, charsmax ( sNewMsg ), input, 3 )
    //format ( sNewMsg, charsmax ( sNewMsg ), "^4[x^1 %s", sNewMsg )
    
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/g", "^4") // green txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/y", "^1") // orange txt
    replace_all ( sNewMsg, charsmax ( sNewMsg ), "/t", "^3") // team txt
    
    if ( id )
        iPlayers[0] = id
    else
        get_players ( iPlayers, iCount, "ch" )
        
    for ( new i; i < iCount; i++ )
    {
        if ( is_user_connected ( iPlayers[i] ) )
        {
            message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "SayText" ), _, iPlayers[i] )
            write_byte ( iPlayers[i])
            write_string ( sNewMsg)
            message_end ()
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 15.12.2010, 16:08
Сообщение #3
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

ckapa6eu,
Зачем ты 2 раза объявляешь переменную victim?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ckapa6eu
сообщение 15.12.2010, 16:17
Сообщение #4
Стаж: 16 лет

Сообщений: 47
Благодарностей: 5
Полезность: 13

не знаю почему, но в 1-м случае была ошибка "undefined symbol "victim" то есть, как ты понимаешь "не определенный символ ...."

объявил его в new, плагин скомпилился с варнингами по поводу каких-то ColorSelection и т.д..


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