[Ajuda] Calar
#1

Bom estou no comando /calar, es estou querendo faze-lo em minutos, ou seja, o administrador digita, /calar [id] [minutos] (Entre 1 e 5). Eu fis essa base e mгo sei se ta certo, quem puder ajudar, desde jб agradeзo.
Queria que fosse assim, calar id:5 tempo: 2 = 2 min, etc. mais tem que por segundos, supondo, 180000 3 mim.. etc.


pawn Код:
//No topo do GM eu fiz a bool de calado..

forward Descalar(playerid);

public Descalar(playerid)
{
    playerinfo[playerid][Calado] = 0;
    SendClientMessage(playerid,green,"Vocк foi descalado, agora fique atendo as regras..");
    return 1;
}

CMD:calar(playerid,params[])
{
    new id,tempo;
    if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"ud",id,tempo)) return SendClientMessage(playerid,yellow,"Use: /calar <id> <tempo>");
    if(tempo < 10000*6 || tempo > 60000*5) return SendClientMessage(playerid,red,"-Erro- Vocк sу pode calar um player entre 1 e 5 minutos!");
    SetTimer("descalar",tempo,1);
    playerinfo[id][Calado] = tempo;
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(playerinfo[playerid][Calado] == true)
    {
        SendClientMessage(playerid,red,"-Erro- Vocк estб mudo e nгo pode falar no chat ou usar comandos!");
        return 0;
    }
    return 1;
}
Espero que me ajudem
Reply
#2

vo olhar mais

WTF
pawn Код:
if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
essa send nem prescisa, se nao seu gm tiver return 0 na public
pawn Код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
Reply
#3

pawn Код:
CMD:calar(playerid,params[])
{
    new id,tempo;
    if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"ud",id,tempo)) return SendClientMessage(playerid,yellow,"Use: /calar <id> <tempo>");
    if(tempo < 1 || tempo > 5) return SendClientMessage(playerid,red,"-Erro- Vocк sу pode calar um player entre 1 e 5 minutos!");
    SetTimer("descalar",tempo*60*1000,false);
    playerinfo[id][Calado] = true;
    return 1;
}
Reply
#4

Й nгo deu certo nгo, fala isso:



Code:

pawn Код:
// Bool no topo..

forward Descalar(playerid);

public Descalar(playerid)
{
    playerinfo[playerid][Calado] = 0; // 1 Warning aqui, C:\Documents and Settings\Lucas.DESKTOP\Desktop\Assasins'City\gamemodes\ACv1.pwn(421) : warning 213: tag mismatch
    SendClientMessage(playerid,green,"Vocк foi descalado, agora fique atendo as regras..");
    return 1;
}

public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
    if(playerinfo[playerid][Calado] == true)
    {
        SendClientMessage(playerid,red,"-Erro- Vocк estб mudo e nгo pode falar no chat ou usar comandos!");
        return 0;
    }
    return 1;
}

// Calando o player
CMD:calar(playerid,params[])
{
    new id,motivo,tempo,string[200];
    if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"usd",id,motivo,tempo)) return SendClientMessage(playerid,yellow,"Use: /calar <id> <motivo> <tempo>");
    if(tempo < 1 || tempo > 5) return SendClientMessage(playerid,red,"-Erro- Vocк sу pode calar um player entre 1 e 5 minutos!");
    SetTimer("descalar",tempo*60*1000,false);
    playerinfo[id][Calado] = true;
    format(string,sizeof(string),"-OpServ- %s(%d) Foi Calado Pelo Administrador(a): %s(%d) | Motivo: %s",Nome(id),id,Nome(playerid),playerid,motivo);
    SendClientMessageToAll(yellow,string);
    return 1;
}

// Descalando o player
CMD:descalar(playerid,params[])
{
    new descalado,string[200];
    if(playerinfo[playerid][Admin] < 1) return SendClientMessage(playerid,branco,"SERVER: Unknown command.");
    if(!IsPlayerConnected(descalado)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(sscanf(params,"u",descalado)) return SendClientMessage(playerid,yellow,"Use: /descalar <id>");
    SetTimer("descalar",0,true);
    playerinfo[descalado][Calado] = false;
    format(string,sizeof(string),"-OpServ- %s(%d) Foi Descalado Pelo Administrador(a): %s(%d)",Nome(descalado),descalado,Nome(playerid),playerid);
    SendClientMessageToAll(yellow,string);
    return 1;
}
Reply
#5

esse unknown command й do calar/descalar?

nгo precisa travar comandos com mute '-'
Reply
#6

SERVER: Unknown command. и a mensagem que escolhi para enviar quando o cara nгo й admin..
Reply
#7

pawn Код:
//onplayertext
if(playerinfo[playerid][Calado])
  return SendClientMessage(playerid, -1, "no"), false;
O correto й settimerex
Reply
#8

Entгo como ficaria todo o cуdigo?

Agradeзo.
Reply
#9

pawn Код:
static l_temp[MAX_PLAYERS];
CMD:calar(playerid,params[])
{
    static id,tempo;
    if(playerinfo[playerid][Admin] < 1) return 0;
    if(sscanf(params,"ud",id,tempo)) return SendClientMessage(playerid,yellow,"Use: /calar <id> <tempo>");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,red,"-Erro- Jogador nгo conectado");
    if(1 > tempo < 5) return SendClientMessage(playerid,red,"-Erro- Vocк sу pode calar um player entre 1 ~ 5 minutos!");
    l_temp[id] = gettime() + tempo*60;
    return 1;
}

public OnPlayerText(playerid, text[])
{
    if(l_temp[playerid] > gettime()) return SendClientMessage(playerid,red,"-Erro- Vocк estб mudo e nгo pode falar no chat ou usar comandos!");
    return 1;
}
Reply
#10

O correto й OnPlayerCommandReceived tambйm.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)