[problema] muteando
#2

El mбs principal problema en tu cуdigo es que deberнas usar un array para que sea individual para cada jugador, tal cual lo tienes ahora es un mute global, a todos los conectados.

Para poder saber cuanto tiempo paso o cuanto tiempo queda tenes que guardar en una variable (tiempo actual + tiempo requerido) y luego para comprobarlo (valor guardado - tiempo actual) = tiempo restante. Si tiempo actual es mayor a valor guardado es que el tiempo ya se cumpliу.

Yo lo harнa de la siguiente manera:

pawn Код:
new Muted[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
    Muted[playerid] = 0;
    return 1;
}

public OnPlayerUpdate(playerid)
{
    if(Muted[playerid] != 0 && Muted[playerid] < gettime())
    {
        Muted[playerid] = 0;
        SendClientMessage(playerid, blue, "Ya no estбs muteado. Esperamos que esto le haya servido de lecciуn");
    }
    return 1;
}

CMD:mut(playerid, params[])
{
    if(PlayerInfo[playerid][AdminLevel] >= 3)
    {
        new user, reason[128], time;
        if(!sscanf(params, "uis[128]", user, time, reason))
        {
            new name[MAX_PLAYER_NAME], string[128];
            GetPlayerName(user, name, MAX_PLAYER_NAME);
            format(string, 128, "%s ha sido muteado. Razon: %s", name, reason);
            SendClientMessageToAll(red, string);
            Muted[user] = gettime()+time;
        }
        else SendClientMessage(playerid, blue, "Uso: /mut [id] [tiempo en segundos] [razon]");
    }
    else SendClientMessage(playerid, red, "Este comando no existe");
    return 1;
}

CMD:tiempo(playerid, params[])
{
    if(!Muted[playerid])
    {
        return SendClientMessage(playerid, -1, "No estбs muteado");
    }
    new comprobar[10];
    if(!sscanf(params, "s[10]", comprobar))
    {
        if(!strcmp(comprobar, "muteado", true))
        {
            new string[128];
            format(string, sizeof(string), "Te quedan %i segundos para que se termine tu muteo", Muted[playerid]-gettime());
            SendClientMessage(playerid, red, string);
        }
        else SendClientMessage(playerid, grey, "Ese comando no existe");
    }
    else SendClientMessage(playerid, blue, "Uso: /tiempo muteado");
    return 1;
}
Reply


Messages In This Thread
[problema] muteando - by MrNatrio - 27.09.2014, 10:10
Respuesta: [problema] muteando - by [J]ulian - 27.09.2014, 11:32
Respuesta: [problema] muteando - by deflog - 27.09.2014, 11:47
Respuesta: [problema] muteando - by [J]ulian - 27.09.2014, 12:03
Respuesta: [problema] muteando - by MrNatrio - 27.09.2014, 12:51
Respuesta: [problema] muteando - by [J]ulian - 27.09.2014, 13:57
Respuesta: [problema] muteando - by MrNatrio - 27.09.2014, 15:40

Forum Jump:


Users browsing this thread: 1 Guest(s)