вопрос по ограничению на раунд

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
46
Реакции
-1
Помог
1 раз(а)
Опять же доброго времени суток , хотел спросить как верно просто можно ограничить действие на 1 раунд

так же в плагине сделал счетчик

само действие как пытался
if(g_weaponorg[id])
{
client_print_color(id, print_team_default, "^3Можно брать 1 раз за раунд", g_weaponorg);
}
else
if(cs_get_user_money(id) > 999);
{
g_weaponorg[id] = true
cs_set_user_money(id,cs_get_user_money(id) - 1000);
client_print_color(id, print_team_default, "^3хватает денег");
}
else
{
client_print_color(id, print_team_default, "^3не хватает денег");
}
}


так же делал по идее сброс на отключен каждый раунд через

public Event_RoundStart(id)
{
arrayset(g_weaponorg, false, 32)
}


и естественно в public plugin_init сделал подключение
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");

но если смотреть ошибку пишет warning 217: loose indentation связанно с
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
это понимаю предупреждение

Сам исходник
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <engine>
#include <hamsandwich>

#if AMXX_VERSION_NUM < 183
#include <colorchat>

#define print_team_default DontChange
#define print_team_grey Grey
#define print_team_red Red
#define print_team_blue Blue

#include <dhudmessage>
#endif

#define GLADM_FLAG ADMIN_RCON

#define PLUGIN "test"
#define VERSION "1.0"
#define AUTHOR "test"

new bool:g_weaponorg[32];

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd( "amenu", "gladminmenu" )

register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
}

public Event_RoundStart(id)
{
arrayset(g_weaponorg, false, 32)
}

public gladminmenu(id)
{
if(get_user_flags(id) & GLADM_FLAG)
{
new menu = menu_create("\rМеню Администратора", "funkmenu");
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_additem(menu, "\wВип магазин", "6");
menu_setprop(menu, MPROP_NEXTNAME, "Далее")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход^n\d")
//menu_setprop(menu, MPROP_PERPAGE, 0) // Убрать кнопки назад, далее
menu_display(id, menu, 0)
}
else
{
client_print_color(id, print_team_default, "^3 У тебя нету доступа к админ меню");
client_print_color(id, print_team_default, "^3 Приобрести админку можно на сайте ");
}
}

public funkmenu(id, menu, item)
{
if(item == MENU_EXIT){
menu_destroy(menu)
return PLUGIN_HANDLED
}
new data[6], name[64], acces, callback;
menu_item_getinfo(menu, item, acces, data, charsmax(data), name, charsmax(name), callback);
switch(str_to_num(data))
{
case 1:
if(g_weaponorg[id])
{
client_print_color(id, print_team_default, "^3Можно брать 1 раз за раунд", g_weaponorg);
}
else
{
if(cs_get_user_money(id) > 999);
{
g_weaponorg[id] = true
cs_set_user_money(id,cs_get_user_money(id) - 1000);
client_print_color(id, print_team_default, "^3хватает денег");
}
else
{
client_print_color(id, print_team_default, "^3не хватает денег");
}
}
case 2: {
client_cmd(id,"spk hello");
}
case 3: {
client_cmd(id,"spk hello");
}
case 4: {
client_cmd(id,"spk hello");
}
case 5: {
client_cmd(id,"spk hello");
}
case 6: {
client_cmd(id,"spk hello");
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

сама ошибка на скрине
 

Download all Attachments

Сообщения
8
Реакции
0
public Event_RoundStart(id)
замени на
20 Мар 2022
C++:
new count[33]
В начале каждого раунда обнуляй значение каждому игроку:

C++:
public Event_RoundStart()
{
    for(new i = 1; i <= get_maxplayers(); i++)
    {
        count[i] =0
    }
}

И используй:


C++:
if(count[id] < кол-во использований)
{
    if(cs_get_user_money(id) > 999);
    {
        g_weaponorg[id] = true
        cs_set_user_money(id,cs_get_user_money(id) - 1000);
        client_print_color(id, print_team_default, "^3хватает денег");
    }
}
else
{
    client_print_color(id, print_team_default, "^3не хватает денег");
}
20 Мар 2022
Ой, не посмотрел куда пихнул сообщение с нехваткой денег. Я думаю там сам поймешь как тебе лучше юзать
 
Сообщения
3,593
Реакции
1,576
Помог
141 раз(а)
warning 217: loose indentation
Это совсем не главное.
Код:
new bool:g_weaponorg[32];
Нужно делать массив с размером на 33 ячейки для хранения каких-то переключателей для игроков, потому что нумерация массива начинается с нуля, а индексы игроков наоборот, с единицы.

А ошибка у тебя на 81 строке, после условия нельзя ставить точку с запятой.
 
Сообщения
46
Реакции
-1
Помог
1 раз(а)
может я что-то не так понял по получилось так

if(count[id] < 1)
{
if(cs_get_user_money(id) > 999);
{
cs_set_user_money(id,cs_get_user_money(id) - 1000);
client_print_color(id, print_team_default, "^3хватает денег");
}
else
{
client_print_color(id, print_team_default, "^3не хватает денег");
}
}
else
{
client_print_color(id, print_team_default, "^3Всего 1 раз за раунд");
}
и ошибка все ровно :sorry:
 

Download all Attachments

Сообщения
91
Реакции
141
Помог
1 раз(а)
PHP:
if(cs_get_user_money(id) > 999);
поменяй на
PHP:
if(cs_get_user_money(id) > 999)
в условиях нельзя использовать ;
 
Сообщения
46
Реакции
-1
Помог
1 раз(а)
PHP:
if(cs_get_user_money(id) > 999);
поменяй на
PHP:
if(cs_get_user_money(id) > 999)
в условиях нельзя использовать ;
благодарствую помогло
только как по компилятору вижу в принцепе компилируется но ругается на
PHP:
register_event("HLTV", "Event_RoundStart", "a", "1=0", "2=0");
пишет warning 217: loose indentation
20 Мар 2022
что получилось и всеровно дает использовать первое действие хоть 1000 раз
20 Мар 2022
Спасибо большое всем кто помог получилось все я просто забыл при действии поставить чтобы число с 0 менялось на 1 когда нужно выполнить
 

Download all Attachments

Сообщения
46
Реакции
-1
Помог
1 раз(а)
PHP:
            {
                if(cs_get_user_money(id) > 999)
                    {
                        count[id] = 1 // то что забыл как раз
                        cs_set_user_money(id,cs_get_user_money(id) - 1000);
                        client_print_color(id, print_team_default, "^3хватает денег");
                    }
                    else
                    {
                        client_print_color(id, print_team_default, "^3не хватает денег");
                    }
            }
            else
            {
                client_print_color(id, print_team_default, "^3Всего 1 раз за раунд");
            }
 
Сообщения
91
Реакции
141
Помог
1 раз(а)
пишет warning 217: loose indentation
это просто сообщает о том, что не соблюдена табуляция, так как у тебя там в одном месте вместо таба используется 4 пробела, а в остальном месте именно таб.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу