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

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

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

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

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

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

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

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

Vip_weapon

Статус пользователя Andrey777best
сообщение 23.6.2013, 10:19
Сообщение #1


Стаж: 13 лет
Город: Харьков

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

Всем привет можете помочь сделать бинд на кнопку F5 и убрать показ MOTD окон (say /adminka) (say /vip)
Скрытый текст
Код
/*
*-------------------Информация--------------------*
*
* Название: Vip_weapon
* Автор: 7eVen
* Версия: 1.1
* Последнее обновление: 19.12.2012
* Посетите сайт: http://lancs.ru/
*
*-------------------------------------------------*
*
*-------------------Переменные--------------------*
*     
* amx_vip_give [По умолчанию: 3]
* - Количество раундов, после которых оружия
* - будет доступно.
*
*-------------------------------------------------*
*
*----------------История изменений----------------*
*
* 1.0:
*    [!] Первый релиз.
*
* 1.1:
*    [!] Полная оптимизация кода.
*    [*] Фикс некоторых ошибок.
*    [+] При выдачи Deagle второе оружия убирается.
*     [+] Добавлен квар amx_vip_give.
*
*-------------------------------------------------*
*
*----------------------P.S------------------------*
*
* Пишу плагины, на заказ. Skype magoga25
*
*-------------------------------------------------*
*/

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#define VIP_FLAG ADMIN_LEVEL_H

new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}

new round_number, g_round
new bool:has_used[32]

public plugin_init()
{
    register_plugin("Vip_weapon", "1.1", "7eVen")
    
    register_event("ResetHUD", "ResetHUD", "be")
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    
    register_clcmd("vipmenu", "vip_menu")
    
    register_clcmd("say /adminka", "adminka")
    register_clcmd("say /vipka","vipka")
    
    g_round = register_cvar("amx_vip_give", "3")
}

public vip_menu(id)
{
    if ( ! ( get_user_flags ( id ) & VIP_FLAG )  )  
    {
        ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Только для ^4[V.I.P]")
        return PLUGIN_HANDLED;
    }    
    
    new menu = menu_create("\r Оружейка \w[\y V.I.P \w]", "show_vipmenu")

    menu_additem(menu, "\wВзять \r[\y Famas \r]\r", "1")
    menu_additem(menu, "\wВзять \r[\y M4A1 \r]\r", "2")
    menu_additem(menu, "\wВзять \r[\y AK47 \r]\r", "3")
    menu_additem(menu, "\wВзять \r[\y AWP \r]\r", "4")
    
    menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
    menu_setprop(menu, MPROP_BACKNAME, "Назад")
    menu_setprop(menu, MPROP_EXITNAME, "Выход")
    menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
        
    menu_display(id,menu,0)
    return PLUGIN_HANDLED;
}

public show_vipmenu(id, menu, item)
{    
    if(item == MENU_EXIT)
    {
        menu_destroy(menu)
        return PLUGIN_HANDLED;
    }
    
    if(is_user_alive(id)&& !has_used[id] )
    {
    
    if ( round_number <= get_pcvar_num(g_round) )
    {
        ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Доступно со %d раунда!", get_pcvar_num(g_round) )
        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:
        {
            give_item( id, "weapon_famas" )
            cs_set_user_bpammo( id , CSW_FAMAS, 90 )
        }
        case 2:
        {
            give_item( id, "weapon_m4a1" )
            cs_set_user_bpammo( id , CSW_M4A1, 90 )
        }
        case 3:
        {
            give_item( id, "weapon_ak47" )
            cs_set_user_bpammo( id , CSW_AK47, 90 )
        }
        case 4:
        {
            give_item( id, "weapon_awp" )
            cs_set_user_bpammo( id , CSW_AWP, 30 )
        }
    }
    has_used[id] = true;
    }
    else
    {
        ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Вы уже использовали.Подождите..." )
        return PLUGIN_HANDLED;
    }
    return PLUGIN_HANDLED;
}

public event_round_start ()
{
    round_number++
    arrayset(has_used, false, 32)
}

public adminka(id)
{
    show_motd( id, "adminka.txt", "Покупка - Админки!" )
}

public vipka(id)
{
    show_motd( id, "vip.txt", "Покупка - V.I.P!" )
}

public ResetHUD(id)
{
    set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
    new id = TaskID - 6910
  
    if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id))
    {
        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()    
            give_item( id, "weapon_hegrenade" )
            give_item( id, "weapon_flashbang" )
            give_item( id, "weapon_flashbang" )
            give_item( id, "weapon_smokegrenade" )
            give_item( id, "item_assaultsuit" )
            give_item( id, "item_thighpack" )
            give_item( id, "weapon_deagle")
        
            give_item( id, "ammo_50ae" )
            give_item( id, "ammo_50ae" )
            give_item( id, "ammo_50ae" )
            give_item( id, "ammo_50ae" )
            give_item( id, "ammo_50ae" )    
        }
    }
    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();
            }
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя offtop2012
сообщение 23.6.2013, 10:26
Сообщение #2


Стаж: 13 лет

Сообщений: 878
Благодарностей: 126
Полезность: 356

Добавь
client_cmd(id, "bind ^"F5^" ^"menu^"")
Убери
register_clcmd("say /adminka", "adminka")
register_clcmd("say /vipka","vipka")

public adminka(id)
{
show_motd( id, "adminka.txt", "Покупка - Админки!" )
}

public vipka(id)
{
show_motd( id, "vip.txt", "Покупка - V.I.P!" )
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.6.2013, 10:34
Сообщение #3


Стаж: 13 лет
Город: Харьков

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

Цитата(offtop2012 @ 23.6.2013, 11:26) *
Добавь
client_cmd(id, "bind ^"F5^" ^"menu^"")
Убери
register_clcmd("say /adminka", "adminka")
register_clcmd("say /vipka","vipka")

public adminka(id)
{
show_motd( id, "adminka.txt", "Покупка - Админки!" )
}

public vipka(id)
{
show_motd( id, "vip.txt", "Покупка - V.I.P!" )
}

Сделал, но не компилируеться ошибка..
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя offtop2012
сообщение 23.6.2013, 10:58
Сообщение #4


Стаж: 13 лет

Сообщений: 878
Благодарностей: 126
Полезность: 356

Код:
/* 
*-------------------Информация--------------------*
*
* Название: Vip_weapon
* Автор: 7eVen
* Версия: 1.1
* Последнее обновление: 19.12.2012
* Посетите сайт: http://lancs.ru/
*
*-------------------------------------------------*
*
*-------------------Переменные--------------------*
*
* amx_vip_give [По умолчанию: 3]
* - Количество раундов, после которых оружия
* - будет доступно.
*
*-------------------------------------------------*
*
*----------------История изменений----------------*
*
* 1.0:
* [!] Первый релиз.
*
* 1.1:
* [!] Полная оптимизация кода.
* [*] Фикс некоторых ошибок.
* [+] При выдачи Deagle второе оружия убирается.
* [+] Добавлен квар amx_vip_give.
*
*-------------------------------------------------*
*
*----------------------P.S------------------------*
*
* Пишу плагины, на заказ. Skype magoga25
*
*-------------------------------------------------*
*/

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#define VIP_FLAG ADMIN_LEVEL_H

new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}

new round_number, g_round
new bool:has_used[32]

public plugin_init()
{
register_plugin("Vip_weapon", "1.1", "7eVen")

register_event("ResetHUD", "ResetHUD", "be")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

register_clcmd("vipmenu", "vip_menu")

g_round = register_cvar("amx_vip_give", "3")
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F5^" ^"vip_menu^"")
}

public vip_menu(id)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Только для ^4[V.I.P]")
return PLUGIN_HANDLED;
}

new menu = menu_create("\r Оружейка \w[\y V.I.P \w]", "show_vipmenu")

menu_additem(menu, "\wВзять \r[\y Famas \r]\r", "1")
menu_additem(menu, "\wВзять \r[\y M4A1 \r]\r", "2")
menu_additem(menu, "\wВзять \r[\y AK47 \r]\r", "3")
menu_additem(menu, "\wВзять \r[\y AWP \r]\r", "4")

menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED;
}

public show_vipmenu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}

if(is_user_alive(id)&& !has_used[id] )
{

if ( round_number <= get_pcvar_num(g_round) )
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Доступно со %d раунда!", get_pcvar_num(g_round) )
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:
{
give_item( id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}
case 2:
{
give_item( id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )
}
case 3:
{
give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )
}
case 4:
{
give_item( id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )
}
}
has_used[id] = true;
}
else
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Вы уже использовали.Подождите..." )
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}

public event_round_start ()
{
round_number++
arrayset(has_used, false, 32)
}

public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id))
{
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()
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )
give_item( id, "item_assaultsuit" )
give_item( id, "item_thighpack" )
give_item( id, "weapon_deagle")

give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
}
}
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();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.6.2013, 11:09
Сообщение #5


Стаж: 13 лет
Город: Харьков

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

Цитата(offtop2012 @ 23.6.2013, 11:58) *
Код:
/* 
*-------------------Информация--------------------*
*
* Название: Vip_weapon
* Автор: 7eVen
* Версия: 1.1
* Последнее обновление: 19.12.2012
* Посетите сайт: http://lancs.ru/
*
*-------------------------------------------------*
*
*-------------------Переменные--------------------*
*
* amx_vip_give [По умолчанию: 3]
* - Количество раундов, после которых оружия
* - будет доступно.
*
*-------------------------------------------------*
*
*----------------История изменений----------------*
*
* 1.0:
* [!] Первый релиз.
*
* 1.1:
* [!] Полная оптимизация кода.
* [*] Фикс некоторых ошибок.
* [+] При выдачи Deagle второе оружия убирается.
* [+] Добавлен квар amx_vip_give.
*
*-------------------------------------------------*
*
*----------------------P.S------------------------*
*
* Пишу плагины, на заказ. Skype magoga25
*
*-------------------------------------------------*
*/

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#define VIP_FLAG ADMIN_LEVEL_H

new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}

new round_number, g_round
new bool:has_used[32]

public plugin_init()
{
register_plugin("Vip_weapon", "1.1", "7eVen")

register_event("ResetHUD", "ResetHUD", "be")
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

register_clcmd("vipmenu", "vip_menu")

g_round = register_cvar("amx_vip_give", "3")
}

public client_authorized(id)
{
client_cmd(id, "bind ^"F5^" ^"vip_menu^"")
}

public vip_menu(id)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Только для ^4[V.I.P]")
return PLUGIN_HANDLED;
}

new menu = menu_create("\r Оружейка \w[\y V.I.P \w]", "show_vipmenu")

menu_additem(menu, "\wВзять \r[\y Famas \r]\r", "1")
menu_additem(menu, "\wВзять \r[\y M4A1 \r]\r", "2")
menu_additem(menu, "\wВзять \r[\y AK47 \r]\r", "3")
menu_additem(menu, "\wВзять \r[\y AWP \r]\r", "4")

menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED;
}

public show_vipmenu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}

if(is_user_alive(id)&& !has_used[id] )
{

if ( round_number <= get_pcvar_num(g_round) )
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Доступно со %d раунда!", get_pcvar_num(g_round) )
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:
{
give_item( id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}
case 2:
{
give_item( id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )
}
case 3:
{
give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )
}
case 4:
{
give_item( id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )
}
}
has_used[id] = true;
}
else
{
ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Вы уже использовали.Подождите..." )
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}

public event_round_start ()
{
round_number++
arrayset(has_used, false, 32)
}

public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id))
{
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()
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )
give_item( id, "item_assaultsuit" )
give_item( id, "item_thighpack" )
give_item( id, "weapon_deagle")

give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
}
}
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();
}
}
}
}

Не работает меню, не бинд, не так не открываеться
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя GOOD FELLOW
сообщение 23.6.2013, 11:54
Сообщение #6


Иконка группы

Стаж: 13 лет

Сообщений: 2294
Благодарностей: 1187
Полезность: 890

в UTF-8 без ВОМ сохрани, и скомпилит

Отредактировал: GOOD FELLOW, - 23.6.2013, 11:54
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 23.6.2013, 12:14
Сообщение #7


Стаж: 13 лет
Город: Харьков

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

Цитата(GOOD FELLOW @ 23.6.2013, 12:54) *
в UTF-8 без ВОМ сохрани, и скомпилит

Я скомпилировал но меню не работает.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Castiel
сообщение 1.3.2014, 18:21
Сообщение #8


Стаж: 12 лет
Город: Херсон

Сообщений: 81
Благодарностей: 12
Полезность: 11

Здравствуйте smile.gif
Такая проблема стоит плагин vip_weapon
vip_weapon
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#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");
register_event("ResetHUD", "ResetHUD", "be");
register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_logevent("event_new_round", 2, "1=Round_Start")
register_logevent("RestartRound", 2, "1=Game_Commencing")
register_event("TextMsg", "RestartRound", "a", "2=#Game_will_restart_in")

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++
round_start_menu()
}

public round_start_menu() {
new Players[32], Num, player
get_players(Players, Num, "ch")
for(new i = 0; i < Num; i++) {
player = Players[i]
client_cmd(player, "vipmenu")
}
}

public RestartRound() {
round_number = 0
}

//ham_strip_weapon
stock ham_strip_weapon(id,weapon[]) {
if(!equal(weapon,"weapon_",7)) return 0

new wId = get_weaponid(weapon)
if(!wId) return 0

new wEnt
while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
if(!wEnt) return 0

if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt)

if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0
ExecuteHamB(Ham_Item_Kill,wEnt);

set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId))

return 1
}

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( !is_user_alive( id ) & is_user_connected ( id ) ) return PLUGIN_HANDLED;
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
return PLUGIN_HANDLED;
}

new mMENU4 = menu_create("\r[\yVIP\r] \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 Galil \r]\r","6")
menu_additem(mMENU4, "\wВзять \r[\y AWP \r]\r", "7")

menu_display(id,mMENU4,0)
return PLUGIN_HANDLED
}

public menu_5(id, mMENU4, item)
{
if(is_user_alive(id)&& !has_used[id] )
{
if ( round_number < 2 )
{
ChatColor ( id , "!g[Ultimatum]!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:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}
case 2:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_sg552" )
cs_set_user_bpammo( id , CSW_SG552, 90 )
}
case 3:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )
}
case 4:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )
}
case 5:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_aug" )
cs_set_user_bpammo( id , CSW_AUG, 90 )
}
case 6:
{
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_galil" )
cs_set_user_bpammo( id , CSW_GALIL, 100 )
}
case 7:
{
if ( round_number < 3)
{
ChatColor ( id , "!g[Ultimatum]!team Доступно со 3 раунда!" );
return PLUGIN_HANDLED;
}
for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

if(user_has_weapon(id, i)) {
new weapon_name[24]
get_weaponname(i, weapon_name, 24)
ham_strip_weapon(id, weapon_name)
}
}
give_item(id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )
}
}
has_used[id] = true;
}
else
{
ChatColor(id, "!g[Ultimatum]!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 ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}
public VIP(TaskID)
{
new id = TaskID - 6910

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()
give_item( id,"weapon_hegrenade" )
give_item( id, "weapon_flashbang" );
give_item( id, "weapon_flashbang" );
give_item( id, "weapon_smokegrenade" );
give_item( id, "item_assaultsuit" );
give_item( id, "item_thighpack" );
give_item( id, "weapon_deagle")

give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
}
}

return PLUGIN_HANDLED
}

public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public event_new_round()
{
arrayset(has_used, false, 33)
}

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();
}
}
}
}

Выбивает в логах такую ошибку
Код
L 03/01/2014 - 15:27:01: Start of error session.
L 03/01/2014 - 15:27:01: Info (map "cs_office") (file "addons/amxmodx/logs/error_20140301.log")
L 03/01/2014 - 15:27:01: [FUN] Invalid player 29
L 03/01/2014 - 15:27:01: [AMXX] Run time error 10 (plugin "vip_weapon.amxx") (native "give_item") - debug not enabled!
L 03/01/2014 - 15:27:01: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

Помогите пожалуйста thank_you2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
XyLiGaN
сообщение 1.3.2014, 18:26
Сообщение #9
Стаж: 13 лет
Город: Югорск

Сообщений: 11668
Благодарностей: 6450
Полезность: 1052

Меценат Меценат

Castiel,
В plugins.ini пропиши сначало vip_weapon.amxx debug
А потом лог ошибки кидай.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 1.3.2014, 18:30
Сообщение #10
Стаж: 12 лет

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

Цитата(XyLiGaN @ 1.3.2014, 19:26) *
Castiel,
В plugins.ini пропиши сначало vip_weapon.amxx debug
А потом лог ошибки кидай.

проблема очевидна
как костыль использовать проверку на is_user_alive
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 1.3.2014, 18:44
Сообщение #11
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

for(new i = 1; i < 33; i++) {
if (i == 2 || i== 4 || i == 6 || i == 9 || i == 10 || i == 11 || i == 16 || i == 17 || i == 25 || i == 26 || i == 29 || i == 31 || i == 32)
continue

блочится айди 29
поэтому и ошибка


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