Русское сообщество по скриптингу

Вип меню

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Вип меню

Сообщение zmaxart » 02 сен 2018, 01:31

ребята посмотрите и пожалуйста пофиксите.кароче когда я беру какое-либо оружие то у меня пишел к примеру оно будет доступно через 3 раунда раунд проходит и пишет то же самое и получается я могу взять оружие только 1 раз и все вот код



/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "DiMaN"

new vip_1[33], vip_2[33], vip_3[33], vip_4[33], vip_5[33], vip_6[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("vip_menu", "menu")

register_logevent("round_end", 2, "1=Round_End")
}

public menu(id)
{
new menu = menu_create("\rVipMenu", "menu2")
menu_additem(menu, "\r[\wВзять 300 HP\r]\r[\yРаз в 2 раунда\r]", "1")
menu_additem(menu, "\r[\wВзять 999 брони\r]\r[\yРаз в 4 раунда\r]", "2")
menu_additem(menu, "\r[\wВзять Plasmagun\r]\r[\yРаз в 3 раунда\r]", "3")
menu_additem(menu, "\r[\wВзять Katana\r]\r[\yРаз в 6 раунда\r]", "4")
menu_additem(menu, "\r[\wВзять Balrog-11\r]\r[\yРаз в 4 раунда\r]", "5")
menu_additem(menu, "\r[\wВзять Thunderbolt\r]\r[\yРаз в 4 раунда\r]", "6")

menu_setprop(menu, MPROP_EXITNAME, "Выход")

menu_display(id, menu, 0)

return PLUGIN_HANDLED;
}

public menu2(id, menu, iten)
{
if(iten == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}

new data[6], iName[64], access, call_back

menu_item_getinfo(menu, iten, access, data, 5, iName, 63, call_back)

new key = str_to_num(data)

switch(key)
{
case 1:
{
if(vip_1[id] == 0)
{
vip_1[id] = 2
set_user_health(id, 300)
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_1[id])
}
case 2:
{
if(vip_2[id] == 0)
{
vip_2[id] = 4
set_user_armor(id, 999)
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_2[id])
}
case 3:
{
if(vip_3[id] == 0)
{
vip_3[id] = 3
client_cmd(id, "admin_get_plasmagun" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_3[id])
}
case 4:
{
if(vip_4[id] == 0)
{
vip_4[id] = 6
client_cmd(id, "admin_get_dualkatana" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_4[id])
}
case 5:
{
if(vip_5[id] == 0)
{
vip_5[id] = 4
client_cmd(id, "admin_get_balrog11" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_5[id])
}
case 6:
{
if(vip_6[id] == 0)
{
vip_6[id] = 4
client_cmd(id, "admin_get_thunderbolt" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_6[id])
}
}
return PLUGIN_HANDLED;

}

public round_end()
{
for(new id = 0; id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] =- 1
if(vip_2[id] > 0) vip_2[id] =- 1
if(vip_3[id] > 0) vip_3[id] =- 1
if(vip_4[id] > 0) vip_4[id] =- 1
if(vip_5[id] > 0) vip_5[id] =- 1
if(vip_6[id] > 0) vip_6[id] =- 1
}
}
Аватара пользователя
zmaxart
 
Сообщения: 4
Зарегистрирован: 02 сен 2018, 01:26
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Вип меню

Сообщение NoPM_N1Ck » 02 сен 2018, 13:35

zmaxart писал(а):ребята посмотрите и пожалуйста пофиксите.кароче когда я беру какое-либо оружие то у меня пишел к примеру оно будет доступно через 3 раунда раунд проходит и пишет то же самое и получается я могу взять оружие только 1 раз и все вот код



/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "DiMaN"

new vip_1[33], vip_2[33], vip_3[33], vip_4[33], vip_5[33], vip_6[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("vip_menu", "menu")

register_logevent("round_end", 2, "1=Round_End")
}

public menu(id)
{
new menu = menu_create("\rVipMenu", "menu2")
menu_additem(menu, "\r[\wВзять 300 HP\r]\r[\yРаз в 2 раунда\r]", "1")
menu_additem(menu, "\r[\wВзять 999 брони\r]\r[\yРаз в 4 раунда\r]", "2")
menu_additem(menu, "\r[\wВзять Plasmagun\r]\r[\yРаз в 3 раунда\r]", "3")
menu_additem(menu, "\r[\wВзять Katana\r]\r[\yРаз в 6 раунда\r]", "4")
menu_additem(menu, "\r[\wВзять Balrog-11\r]\r[\yРаз в 4 раунда\r]", "5")
menu_additem(menu, "\r[\wВзять Thunderbolt\r]\r[\yРаз в 4 раунда\r]", "6")

menu_setprop(menu, MPROP_EXITNAME, "Выход")

menu_display(id, menu, 0)

return PLUGIN_HANDLED;
}

public menu2(id, menu, iten)
{
if(iten == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}

new data[6], iName[64], access, call_back

menu_item_getinfo(menu, iten, access, data, 5, iName, 63, call_back)

new key = str_to_num(data)

switch(key)
{
case 1:
{
if(vip_1[id] == 0)
{
vip_1[id] = 2
set_user_health(id, 300)
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_1[id])
}
case 2:
{
if(vip_2[id] == 0)
{
vip_2[id] = 4
set_user_armor(id, 999)
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_2[id])
}
case 3:
{
if(vip_3[id] == 0)
{
vip_3[id] = 3
client_cmd(id, "admin_get_plasmagun" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_3[id])
}
case 4:
{
if(vip_4[id] == 0)
{
vip_4[id] = 6
client_cmd(id, "admin_get_dualkatana" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_4[id])
}
case 5:
{
if(vip_5[id] == 0)
{
vip_5[id] = 4
client_cmd(id, "admin_get_balrog11" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_5[id])
}
case 6:
{
if(vip_6[id] == 0)
{
vip_6[id] = 4
client_cmd(id, "admin_get_thunderbolt" )
}
else client_print(id, print_chat, "[VIP] Жди %d раундов", vip_6[id])
}
}
return PLUGIN_HANDLED;

}

public round_end()
{
for(new id = 0; id <= get_maxplayers(); id++)
{
if(vip_1[id] > 0) vip_1[id] =- 1
if(vip_2[id] > 0) vip_2[id] =- 1
if(vip_3[id] > 0) vip_3[id] =- 1
if(vip_4[id] > 0) vip_4[id] =- 1
if(vip_5[id] > 0) vip_5[id] =- 1
if(vip_6[id] > 0) vip_6[id] =- 1
}
}

Во-первых недостаточно проверок, во-вторых я бы сделал выдачу оружия нативами. Попробуй это:
P.S. На работоспособность не проверял
Код: Выделить всё
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define PLUGIN "VipMenu"
#define VERSION "1.0"
#define AUTHOR "DiMaN"

new vip_1[33], vip_2[33], vip_3[33], vip_4[33], vip_5[33], vip_6[33]

public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("vip_menu""menu")
    
register_logevent("NewRound"2"1=Round_Start")
}

public 
menu(id)
{
        if(!
is_user_connected(id) || !is_user_alive(id)) return PLUGIN_HANDLED
    
new menu menu_create("\rVipMenu""menu2")
         
menu_additem(menu"\r[\wВзять 300 HP\r]\r[\yРаз в 2 раунда\r]""1")
         
menu_additem(menu"\r[\wВзять 999 брони\r]\r[\yРаз в 4 раунда\r]""2")
         
menu_additem(menu"\r[\wВзять Plasmagun\r]\r[\yРаз в 3 раунда\r]""3")
         
menu_additem(menu"\r[\wВзять Katana\r]\r[\yРаз в 6 раунда\r]""4")
         
menu_additem(menu"\r[\wВзять Balrog-11\r]\r[\yРаз в 4 раунда\r]""5")
    
menu_additem(menu"\r[\wВзять Thunderbolt\r]\r[\yРаз в 4 раунда\r]""6")
    
    
menu_setprop(menuMPROP_EXITNAME"Выход")
    
    
menu_display(idmenu0)
    
    return 
PLUGIN_HANDLED;
}
public 
NewRound()
{
    for(new 
id 0id <= get_maxplayers(); id++)
    {
    if(
vip_1[id] > 0vip_1[id]--
    if(
vip_2[id] > 0vip_2[id]--
    if(
vip_3[id] > 0vip_3[id]--
    if(
vip_4[id] > 0vip_4[id]--
    if(
vip_5[id] > 0vip_5[id]--
    if(
vip_6[id] > 0vip_6[id]--
    }
}
public 
menu2(idmenuiten)
{
    if(
iten == MENU_EXIT)
         {
            
menu_destroy(menu)
            return 
PLUGIN_HANDLED;
    }       
    
    new 
data[6], iName[64], accesscall_back
    
    menu_item_getinfo
(menuitenaccessdata5iName63call_back)
    
    new 
key str_to_num(data)
    
    switch(
key)
    {
        case 
1:
        {
            if(
vip_1[id] == 0)
            {
                
vip_1[id] = 2
            set_user_health
(id300)
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_1[id])
             }
        case 
2:
        {
            if(
vip_2[id] == 0)
            {
                
vip_2[id] = 4
            set_user_armor
(id999)
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_2[id]) 
             }
        case 
3:
        {
            if(
vip_3[id] == 0)
            {
                
vip_3[id] = 3
            client_cmd
(id"admin_get_plasmagun" )
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_3[id]) 
        }
        case 
4:
        {
            if(
vip_4[id] == 0)
            {
                
vip_4[id] = 6
            client_cmd
(id"admin_get_dualkatana" )
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_4[id])
        }
        case 
5
        {
            if(
vip_5[id] == 0)
            {
                
vip_5[id] = 4
            client_cmd
(id"admin_get_balrog11" )
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_5[id])
        }
        case 
6:
        {
            if(
vip_6[id] == 0)
            {
                
vip_6[id] = 4
            client_cmd
(id"admin_get_thunderbolt" )
                 }
            else 
client_print(idprint_chat"[VIP] Жди %d раундов"vip_6[id])
        }
    }
    return 
PLUGIN_HANDLED;
         
}
 
Аватара пользователя
NoPM_N1Ck
 
Сообщения: 99
Зарегистрирован: 06 июл 2018, 18:56
Откуда: Русь
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Опыт программирования: Меньше месяца
Языки программирования: Java


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4