Помогите с выводом сообщений (rockthevote.sp)

Nova

Simple Project
Сообщения
262
Реакции
28
Хочу вывести в чат количество оставшихся голосов до запуска голосования, если это количество не НОЛЬ, в противном случае вывести сообщение о количестве полученных голосов и о количестве необходимых голосов.

Добавляю следующие строки

PHP:
g_VotesYet = ((g_VotesNeeded)-(g_Votes));

if (g_VotesYet != 0)
{
g_VotesYet--;
PrintToChatAll("[SM]\x04 %t", "RTV Yet", name, g_VotesYet);
}

else
{
PrintToChatAll("[SM]\x04 %t", "RTV Requested", name, g_Votes, g_VotesNeeded);
}

"RTV Requested"
{
"#format" "{1:s},{2:d},{3:d}"
"ru" "Игрок \"{1}\" проголосовал за смену карты. Учтено {2} голосов из {3} необходимых."
}

"RTV Yet"
{
"#format" "{1:s},{2:d}"
"ru" "Игрок \"{1}\" проголосовал за смену карты, необходимо ещё {2} голосов."
}

Оператор else почему-то просто не учитывается. Всегда выводит только оставшееся количество голосов, даже если оно равно нулю.

Как исправить?
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,829
Реакции
5,267
попробуй
PHP:
if ((g_VotesYet = g_VotesNeeded-g_Votes) > 0)
    PrintToChatAll("[SM]\x04 %t", "RTV Yet", name, g_VotesYet);
else PrintToChatAll("[SM]\x04 %t", "RTV Requested", name, g_Votes, g_VotesNeeded);
 

Nova

Simple Project
Сообщения
262
Реакции
28
Может есть разница куда и где я эти строчки пишу?

PHP:
AttemptRTV(client)
{
    g_VotesYet = ((g_VotesNeeded)-(g_Votes));
 
    if (!g_RTVAllowed  || (GetConVarInt(g_Cvar_RTVPostVoteAction) == 1 && HasEndOfMapVoteFinished()))
    {
        ReplyToCommand(client, "[SM]\x04 %t", "RTV Not Allowed");
        return;
    }
    
    if (!CanMapChooserStartVote())
    {
        ReplyToCommand(client, "[SM]\x04 %t", "RTV Started");
        return;
    }
 
    if (GetClientCount(true) < GetConVarInt(g_Cvar_MinPlayers))
    {
        ReplyToCommand(client, "[SM]\x04 %t", "Minimal Players Not Met");
        return;         
    }
 
    if (g_Voted[client])
    {
        ReplyToCommand(client, "[SM]\x04 %t", "RTV Yet Already", g_VotesYet);
        return;
    }
 
    new String:name[64];
    GetClientName(client, name, sizeof(name));
 
    g_Votes++;
    g_Voted[client] = true;
 
    if ((g_VotesYet = (g_VotesNeeded)-(g_Votes)) > 0)
    {
        g_VotesYet--;
        PrintToChatAll("[SM]\x04 %t", "RTV Yet", name, g_VotesYet);
    }
    else
    {
        PrintToChatAll("[SM]\x04 %t", "RTV Last Vote", name);
    }
 
    if (g_VotesYet <= 0)
    {
        StartRTV();
    }
}
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,829
Реакции
5,267
используй тег
HTML:
[PHP][/PHP]
для кода
 

leshaJEY

Участник
Сообщения
175
Реакции
16
Сделал!
PHP:
if (g_VotesYet > 0)
    {
        g_VotesYet--;
        if (g_VotesYet == 0)
        {
            PrintToChatAll("[SM] %t", "RTV Requested", name, g_Votes, g_VotesNeeded);
        }
        else
        {
            PrintToChatAll("[SM] %t", "RTV Yet", name, g_VotesYet);
        }
    }

Можно закрывать.

закинь сюда готовое с переводом, будет полезно)
 
Сверху Снизу