Mensaje.
#1

Hice esto para quй al usar un comando le llegue un mensaje despuйs.

pawn Код:
stock AdministradorOnPlayer(NombreParams[], Comando[], Administrador[], i_Razon[])
{
    if(GetTickCount() - Tiempo_Hizo >= 1000)
    {
        new i_string[144];
        format(i_string, sizeof(i_string), "** %s ha sido %s por el administrador %s || razon: %s", NombreParams, Comando, Administrador, i_Razon);
        SendClientMessageToAll(-1, i_string);
    }
    return 1;
}
Y asн lo uso en un comando.

pawn Код:
command(ban, playerid, params[])
{
    if(PlayerInfo[playerid][Admin] >= 1)
    {
        if(sscanf(params, "us[36]", params[0], Razon)) return SendClientMessage(playerid, -1, "Uso: /ban [playerid] [razon].");
        if(IsPlayerConnected(params[0]) && params[0]!= INVALID_PLAYER_ID)
        {
            if(params[0] != playerid)
            {
                if(PlayerInfo[playerid][Admin] > PlayerInfo[params[0]][Admin])
                {
                    Tiempo_Hizo = 0;
                    Tiempo_Hizo = GetTickCount();
                    AdministradorOnPlayer(Nombre(params[0]), "baneado", Nombre(playerid), Razon);
                    BanEx(params[0], Razon);
                }
                else
                {
                    SendClientMessage(playerid, -1, "No puedes banear a un administrador con mas lvl que tu.");
                }
            }
            else
            {
                SendClientMessage(playerid, -1, "No puedes banearte.");
            }
        }
        else
        {
            SendClientMessage(playerid, -1, "Player no conectado.");
        }
    }
    else
    {
        SendClientMessage(playerid, -1, "No eres administrador.");
    }
    return 1;
}
La duda es mm. Primero banea si pongo la funciуn banear abajo de la funciуn del stock ?.

ї Como hago para-que primero la funciуn del stock y despuйs la funciуn del comando ?.
ї Debo eliminar el stock y usar el sistema del stock en cada comando ?.

Completo:
pawn Код:
#include <a_samp>
#include <zcmd>
#include <sscanf>


enum Datos
{
    Admin
};

new PlayerInfo[MAX_PLAYERS][Datos];

new Tiempo_Hizo;
new Razon[36];

command(ban, playerid, params[])
{
    if(PlayerInfo[playerid][Admin] >= 1)
    {
        if(sscanf(params, "us[36]", params[0], Razon)) return SendClientMessage(playerid, -1, "Uso: /ban [playerid] [razon].");
        if(IsPlayerConnected(params[0]) && params[0]!= INVALID_PLAYER_ID)
        {
            if(params[0] != playerid)
            {
                if(PlayerInfo[playerid][Admin] > PlayerInfo[params[0]][Admin])
                {
                    Tiempo_Hizo = GetTickCount();
                    AdministradorOnPlayer(Nombre(params[0]), "baneado", Nombre(playerid), Razon);
                    BanEx(params[0], Razon);
                }
                else
                {
                    SendClientMessage(playerid, -1, "No puedes banear a un administrador con mas lvl que tu.");
                }
            }
            else
            {
                SendClientMessage(playerid, -1, "No puedes banearte.");
            }
        }
        else
        {
            SendClientMessage(playerid, -1, "Player no conectado.");
        }
    }
    else
    {
        SendClientMessage(playerid, -1, "No eres administrador.");
    }
    return 1;
}
               
stock AdministradorOnPlayer(NombreParams[], Comando[], Administrador[], i_Razon[])
{
    if(GetTickCount() - Tiempo_Hizo >= 1000)
    {
        new i_string[144];
        format(i_string, sizeof(i_string), "** %s ha sido %s por el administrador %s || razon: %s", NombreParams, Comando, Administrador, i_Razon);
        SendClientMessageToAll(-1, i_string);
    }
    return 1;
}

stock Nombre(playerid)
{
    new nombre[MAX_PLAYER_NAME];
    GetPlayerName(playerid, nombre, MAX_PLAYER_NAME);
    return nombre;
}
La funciуn del comando la usarнa en comandos y sistemas anti-cheats asн quй creу quй es mejor pero como aplico una funciуn despuйs del tiempo ?.
Reply
#2

Vamos .
Reply
#3

Para aplicar una funciуn despuйs de un tiempo usar timers, o sino un timer global y hace una especie de comprobaciуn global de todos los comandos uqe faltan por ejecutarse y si se tienen que ejecutar que se ejecuten.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)