Ban Timer
#1

How to make timer for target? Because target player dont get the ban message
Quote:

COMMAND:ipban(playerid, params[])
{
new targetid, Reason[128], Msg1[128], Msg2[128], Msg3[128], Name[24], Admin[24];
if(sscanf(params, "us[128]", targetid, Reason))SendClientMessage(playerid, 0xFF0000AA, "[Naudojimas]: /ipban [ID] [prieћastis]");
if(targetid == playerid) return SendClientMessage(playerid, PILKA, "Tau nereikia savęs baninti, kiti tai padarys kai to tikrai reiks!");
if (IsPlayerConnected(targetid))
{
GetPlayerName(playerid, Admin, sizeof(Admin));
GetPlayerName(targetid, Name, sizeof(Name));

format(Msg1, 128, "[IP BAN]Administratorius %s uћblokavo jūsų IP adresą!(Prieћastis: %s)", Admin, Reason);
SendClientMessage(targetid, GELTONA, Msg1);

BanEx(targetid, Reason);

format(Msg2, 128, "[IP BAN] Uћblokavote %s IP adresą! (Prieћastis: %s)",Name, Reason);
SendClientMessage(playerid, GELTONA, Msg2);

format(Msg3, 128, "[IP BAN] Administratorius %s uћblokavo %s IP adresą!(Prieћastis: %s)", Admin, Name, Reason);
SendClientMessageToAll(GELTONA, Msg3);
}
else
{
SendClientMessage(playerid, RAUDONA, "Tokio ћaidėjo nėra!");
}
return 1;
}

Reply
#2

There you go: You don't need to declare a variable for each message, as soon as you format, it replaces its value by the new formatted text. This code is working, just replace the colors while sending messages, I've put white (-1) so I could test.

pawn Code:
#include <a_samp>
#include <zcmd>
#include <sscanf2>

COMMAND:ipban(playerid, params[])
{
    new targetid, reason[128], msg[128];

    if(sscanf(params, "us[128]", targetid, reason)) return SendClientMessage(playerid, 0xFF0000AA, "[Naudojimas]: /ipban [ID] [priežastis]");

    if(targetid == playerid) return SendClientMessage(playerid, -1, "Tau nereikia savęs baninti, kiti tai padarys kai to tikrai reiks!");

    if (IsPlayerConnected(targetid))
    {
        new Admin[MAX_PLAYER_NAME], Name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Admin, sizeof(Admin));
        GetPlayerName(targetid, Name, sizeof(Name));

        format(msg, sizeof(msg), "[IP BAN]Administratorius %s užblokavo jūsų IP adresą!(Priežastis: %s)", Admin, reason);
        SendClientMessage(targetid, -1, msg);

        format(msg, sizeof(msg), "[IP BAN] Užblokavote %s IP adresą! (Priežastis: %s)",Name, reason);
        SendClientMessage(playerid, -1, msg);

        format(msg, sizeof(msg), "[IP BAN] Administratorius %s užblokavo %s IP adresą!(Priežastis: %s)", Admin, Name, reason);
        SendClientMessageToAll(-1, msg);

        SetTimerEx("BanTimer", 1000, false, "is", targetid, reason);
    }
    else
        SendClientMessage(playerid, -1, "Tokio žaidėjo nėra!");
   
    return 1;
}

forward BanTimer(playerid, reason[]);
public BanTimer(playerid, reason[])
{
    BanEx(playerid, reason);
    return 1;
}
Reply
#3

Quote:
Originally Posted by TheToretto
View Post
There you go: You don't need to declare a variable for each message, as soon as you format, it replaces its value by the new formatted text. This code is working, just replace the colors while sending messages, I've put white (-1) so I could test.

pawn Code:
#include <a_samp>
#include <zcmd>
#include <sscanf2>

COMMAND:ipban(playerid, params[])
{
    new targetid, reason[128], msg[128];

    if(sscanf(params, "us[128]", targetid, reason)) return SendClientMessage(playerid, 0xFF0000AA, "[Naudojimas]: /ipban [ID] [prieћastis]");

    if(targetid == playerid) return SendClientMessage(playerid, -1, "Tau nereikia savęs baninti, kiti tai padarys kai to tikrai reiks!");

    if (IsPlayerConnected(targetid))
    {
        new Admin[MAX_PLAYER_NAME], Name[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Admin, sizeof(Admin));
        GetPlayerName(targetid, Name, sizeof(Name));

        format(msg, sizeof(msg), "[IP BAN]Administratorius %s uћblokavo jūsų IP adresą!(Prieћastis: %s)", Admin, reason);
        SendClientMessage(targetid, -1, msg);

        format(msg, sizeof(msg), "[IP BAN] Uћblokavote %s IP adresą! (Prieћastis: %s)",Name, reason);
        SendClientMessage(playerid, -1, msg);

        format(msg, sizeof(msg), "[IP BAN] Administratorius %s uћblokavo %s IP adresą!(Prieћastis: %s)", Admin, Name, reason);
        SendClientMessageToAll(-1, msg);

        SetTimerEx("BanTimer", 1000, false, "is", targetid, reason);
    }
    else
        SendClientMessage(playerid, -1, "Tokio ћaidėjo nėra!");
   
    return 1;
}

forward BanTimer(playerid, reason[]);
public BanTimer(playerid, reason[])
{
    BanEx(playerid, reason);
    return 1;
}
THANK YOU VERY MUCH
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)