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

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

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

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

Ошибки в плагине

, vip_weapon
CannibaL
сообщение 15.3.2014, 21:49
Сообщение #1
Стаж: 12 лет

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

Ошибка:(
L 03/15/2014 - 22:10:11: Start of error session.
L 03/15/2014 - 22:10:11: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20140315.log")
L 03/15/2014 - 22:10:11: [FUN] Invalid player 10
L 03/15/2014 - 22:10:11: [AMXX] Displaying debug trace (plugin "vip_weapon.amxx")
L 03/15/2014 - 22:10:11: [AMXX] Run time error 10: native error (native "give_item")
L 03/15/2014 - 22:10:11: [AMXX] [0] phplDLVDO.sma::VIP (line 339)

Помогите ! что нужно убрать или изменить ?
Заранее благодарен
Прикрепленные файлы:
Прикрепленный файл  vip_weapon.rar ( 2,84 килобайт ) Кол-во скачиваний: 6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
serfreeman1337
сообщение 16.3.2014, 5:19
Сообщение #2
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Держи:
Прикрепленный файл  vip_weapon.sma ( 9,61 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
CannibaL
сообщение 16.3.2014, 5:43
Сообщение #3
Стаж: 12 лет

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

Цитата(serfreeman1337 @ 16.3.2014, 6:19) *
Держи:
Прикрепленный файл  vip_weapon.sma ( 9,61 килобайт ) Кол-во скачиваний: 8

Попробую спасибо
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя IM_RAM
сообщение 16.3.2014, 6:41
Сообщение #4


Стаж: 13 лет

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

vip_weapon
Код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <hamsandwich>
#include <fakemeta_util>

#define VIP_FLAG ADMIN_LEVEL_H
new round_number
new bool:has_used[33]
//new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18};
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers
new gmsgSayText

public plugin_init()
{
    register_plugin("Vip weapon V2", "2.0", "7eVen_Fix by RAM");
    
    RegisterHam(Ham_Spawn,"player","VIP",1)
    
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    register_logevent("event_new_round", 2, "1=Round_Start")          
    register_clcmd("say /adminka", "adminka");
    register_clcmd("say /vipka","ShowMotd");
    register_clcmd("vipmenu", "function_menu");
    maxplayers = get_maxplayers()
    gmsgSayText = get_user_msgid("SayText")
    register_clcmd("say", "handle_say")
    register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
}

public handle_say(id) {
    new said[192]
    read_args(said,192)
    if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
        set_task(0.1,"print_adminlist",id)
    return PLUGIN_CONTINUE
}

public event_round_start ( )
{
    round_number++
}

public print_adminlist(user)
{
    new adminnames[33][32]
    new message[256]
    new contactinfo[256], contact[112]
    new id, count, x, len
    
    for(id = 1; id <= maxplayers; id++)
        if(is_user_connected(id))
        if(get_user_flags(id) & ADMIN_LEVEL_H)
        get_user_name(id, adminnames[count++], 31)
    
    len = format(message, 255, "%s Випы онлайн ",COLOR)
    if(count > 0) {
        for(x = 0; x < count; x++) {
            len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
            if(len > 96 ) {
                print_message(user, message)
                len = format(message, 255, "%s ",COLOR)
            }
        }
        print_message(user, message)
    }
    else {
        len += format(message[len], 255-len, "Випов онлайн нет.")
        print_message(user, message)
    }
    
    get_cvar_string("amx_contactinfo", contact, 63)
    if(contact[0])  {
        format(contactinfo, 111, "%s Контакт администратора -- %s", COLOR, contact)
        print_message(user, contactinfo)
    }
}

print_message(id, msg[]) {
    message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
    write_byte(id)
    write_string(msg)
    message_end()
}

public function_menu(id)
{
    if ( ! ( get_user_flags ( id ) & VIP_FLAG )  )  
    {
        ChatColor ( id , "!g[V.I.P]!team  Только для !g[V.I.P] " );
        return PLUGIN_HANDLED;
    }    
    
    new menu = menu_create("\w[\y V.I.P \w] \r Меню", "menu_handler")
    
    
    menu_additem(menu, "\yОружейка\r","1")
    menu_additem(menu, "\yДругое\r", "2")
    
    menu_setprop(menu, MPROP_EXITNAME, "\yВыход")
    menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
    
    menu_display(id,menu,0)
    return PLUGIN_HANDLED    
}

public vintov1(id)
{
    new mMENU4 = menu_create("\w[\y V.I.P \w] \r Оружейка", "menu_5")

    menu_additem(mMENU4, "\wВзять \r[\y Famas \r]\r","1")
    menu_additem(mMENU4, "\wВзять \r[\y Krieg SG552 \r]\r", "2")
    menu_additem(mMENU4, "\wВзять \r[\y AK47 \r]\r", "3")
    menu_additem(mMENU4, "\wВзять \r[\y M4A1 \r]\r","4")
    menu_additem(mMENU4, "\wВзять \r[\y Bullpup \r]\r","5")
    menu_additem(mMENU4, "\wВзять \r[\y Scout \r]\r","6")
    menu_additem(mMENU4, "\wВзять \r[\y AWP \r]\r", "7")
    menu_additem(mMENU4, "\wВзять \r[\y Galil \r]\r", "8")
    menu_additem(mMENU4, "\wВзять \r[\y CT Auto Sniper \r]\r", "9")
    menu_additem(mMENU4, "\wВзять \r[\y T Auto Sniper \r]\r", "10")
    menu_setprop(mMENU4, MPROP_NEXTNAME, "\yДальше")
    menu_setprop(mMENU4, MPROP_BACKNAME, "\yНазад")
    menu_setprop(mMENU4, MPROP_EXITNAME, "Выход")
    menu_setprop(mMENU4, MPROP_EXIT,MEXIT_ALL)
    
    menu_display(id,mMENU4,0)
    return PLUGIN_HANDLED    
}

public drygoe1(id)
{
    new mMENU5 = menu_create("\w[\y V.I.P \w] \r Другое", "menu_6")
    
    menu_additem(mMENU5, "\wВзять \r[\y M249 \r]\r","1")
    menu_additem(mMENU5, "\wВзять рандомно \r[\y $1-16000 \r]\r", "2")
    
    menu_setprop(mMENU5, MPROP_EXITNAME, "\yВыход")
    menu_setprop(mMENU5, MPROP_EXIT,MEXIT_ALL)
        
    menu_display(id,mMENU5,0)
    return PLUGIN_HANDLED    
}

public menu_handler(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)
    
    switch(key)
    {
        case 1:
        {
            vintov1(id)
        }
        case 2:
        {
            drygoe1(id)
        }
    }
    return PLUGIN_HANDLED
}

public menu_5(id, mMENU4, item)
{
    if(is_user_alive(id)&& !has_used[id] )
    {    
        if ( round_number <= 3 )
        {
            ChatColor ( id , "!g[V.I.P]!team  Доступно со 2  раунда!" );
            return PLUGIN_HANDLED;
        }
        if(item == MENU_EXIT)
        {
            menu_destroy(mMENU4)
            return PLUGIN_HANDLED;
        }
        
        new data[6], iName[64], access, callback
        menu_item_getinfo(mMENU4, item, access, data, 5, iName, 63, callback)
        
        new key = str_to_num(data)
        
        switch(key)
        {
            case 1:
            {
                fm_give_item(id, "weapon_famas" )
                cs_set_user_bpammo( id , CSW_FAMAS, 90 )
            }
            case 2:
            {
                fm_give_item(id, "weapon_sg552" )
                cs_set_user_bpammo( id , CSW_SG552, 90 )
            }
            case 3:
            {
                fm_give_item(id, "weapon_ak47" )
                cs_set_user_bpammo( id , CSW_AK47, 90 )
            }
            case 4:
            {
                fm_give_item(id, "weapon_m4a1" )
                cs_set_user_bpammo( id , CSW_M4A1, 90 )
            }
            case 5:
            {
                fm_give_item(id, "weapon_aug" )
                cs_set_user_bpammo( id , CSW_AUG, 90 )
            }
            case 6:
            {
                fm_give_item(id, "weapon_scout" )
                cs_set_user_bpammo( id , CSW_SCOUT, 90 )
            }
            case 7:
            {
                if ( round_number <= 4 )
                {
                    ChatColor(id, "!g[V.I.P]!team  Вы уже использовали.Подождите...");
                    return PLUGIN_HANDLED;
                }
                fm_give_item(id, "weapon_awp" )
                cs_set_user_bpammo( id , CSW_AWP, 30 )
            }
            case 8:
            {
                fm_give_item(id, "weapon_galil" )
                cs_set_user_bpammo( id , CSW_GALIL, 100 )
            }
            case 9:
            {
                if ( round_number <= 4 )
                {
                    ChatColor ( id , "!g[V.I.P]!team  Доступно со 4  раунда!" );  
                    return PLUGIN_HANDLED;
                }
                fm_give_item(id, "weapon_g3sg1" )
                cs_set_user_bpammo( id , CSW_G3SG1, 90 )
            }
            case 10:
            {
                if ( round_number <= 4 )
                {
                    ChatColor ( id , "!g[V.I.P]!team  Доступно со 4  раунда!" );
                    return PLUGIN_HANDLED;
                }
                fm_give_item(id, "weapon_sg550" )
                cs_set_user_bpammo( id , CSW_SG550, 90 )
            }
        }
        has_used[id] = true;
    }
    else
    {
        ChatColor(id, "!g[V.I.P]!team  Вы уже использовали.Подождите...");
        return PLUGIN_HANDLED;  
    }
    return PLUGIN_HANDLED;
}
public menu_6(id, mMENU5, item)
{
    if(is_user_alive(id)&& !has_used[id] )
    {    
        if ( round_number <= 5 )
        {
            ChatColor ( id , "!g[V.I.P]!team  Доступно со 5  раунда!" );  
            return PLUGIN_HANDLED;
        }
        if(item == MENU_EXIT)
        {
            menu_destroy(mMENU5)
            return PLUGIN_HANDLED
        }
        
        new data[6], iName[64], access, callback
        menu_item_getinfo(mMENU5, item, access, data, 5, iName, 63, callback)
        
        new key = str_to_num(data)
        
        switch(key)
        {
            case 1:
            {
                fm_give_item(id, "weapon_m249" )
                cs_set_user_bpammo( id , CSW_M249, 200 )
            }
            case 2:
            {
                loter(id)
            }
        }
        has_used[id] = true;
    }
    else
    {
        ChatColor(id, "!g[V.I.P]!team  Вы уже использовали.Подождите...");
        return PLUGIN_HANDLED;  
    }
    return PLUGIN_HANDLED;
}

public adminka(id)
{
    show_motd(id, "adminka.txt")
}
public client_authorized(id)
{
    client_cmd(id, "bind ^"-^" ^"vipmenu^"")
}

public VIP(id)
{
    if(!is_user_alive(id))
        return HAM_IGNORED
    
    if (get_user_flags(id) & VIP_FLAG)
    {
        for (new i = 0; i < 6; i++)
        {
//            if (fm_strip_user_gun(id, pistols[i]))
//            {
//                break;
//            }
            
            message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
            write_byte(id)
            write_byte(4)
            message_end()    
            
            fm_give_item( id,"weapon_hegrenade" )
            fm_give_item( id, "weapon_flashbang" );
            fm_give_item( id, "weapon_flashbang" );
            fm_give_item( id, "weapon_smokegrenade" );
            fm_give_item( id, "item_assaultsuit" );
            fm_give_item( id, "item_thighpack" );
//            fm_give_item( id, "weapon_deagle")
            
            fm_give_item( id, "ammo_50ae" )
            fm_give_item( id, "ammo_50ae" )
            fm_give_item( id, "ammo_50ae" )
            fm_give_item( id, "ammo_50ae" )
            fm_give_item( id, "ammo_50ae" )
        }
    }
    
    return HAM_IGNORED
}

public ShowMotd(id)
{
    show_motd(id, "vip.txt")
}
public event_new_round()
{
    arrayset(has_used, false, 33)
}    
public loter(id)
{
    new shans;
    shans = random_num(1, 16000);
    cs_set_user_money(id, cs_get_user_money(id) + shans);
    ChatColor(id,"!g[V.I.P]!team Вы Выйграли !g %d$ !!!", shans);
    return PLUGIN_HANDLED
}

stock ChatColor(const id, const input[], any:...)
{
    new count = 1, players[32]
    static msg[191]
    vformat(msg, 190, input, 3)
    
    replace_all(msg, 190, "!g", "^4") // Green Color
    replace_all(msg, 190, "!y", "^1") // Default Color
    replace_all(msg, 190, "!team", "^3") // Team Color
    replace_all(msg, 190, "!team2", "^0") // Team2 Color
    
    if (id) players[0] = id; else get_players(players, count, "ch")
    {
        for (new i = 0; i < count; i++)
        {
            if (is_user_connected(players[i]))
            {
                message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
                write_byte(players[i]);
                write_string(msg);
                message_end();
            }
        }
    }
}


Здесь вырезана выдача випам дигла при респауне!
Для включения функции удали "//" в 10,330-333,346 строках.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя mde1337
сообщение 16.3.2014, 7:16
Сообщение #5
Стаж: 12 лет

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

Код
L 03/15/2014 - 22:10:11: [FUN] Invalid player 10

Говорит о том, что игрок грубо говорят инвалид( вышел). Тоесть выдается оружие игроку, которого нету, вот сервер и падает.

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