[AJUDA] Comando /prender
#1

O maximo que eu consegui fazer foi isso aqui:

pawn Код:
CMD:deter(playerid, params[])
{
    new tempo;
    if(sscanf(params, "ud", id, tempo)) return SendClientMessage(playerid,COR_CINZA,"* USE: /deter [id] [tempo]");
    SetPlayerPos(playerid,264.16,77.43,1001.03);
    return 1;
}
Alguйm poderia me ajudar com o SetTimer? eu queria que o player mesmo especificasse o tempo determinado, mais n tenho ideia de como fazer isso.
+rep
Reply
#2

rPrender
Reply
#3

Obrigado devendo rep

Tu debes de esparcir algo de Reputaciуn a otros usuarios antes de darle otra vez a RoacH`.
Reply
#4

Alguйm poderia me ajudar a criar o comando /tempo que resta de prisгo

pawn Код:
new EstaPreso[MAX_PLAYERS], TimerJaulado[MAX_PLAYERS], pname[MAX_PLAYER_NAME], str[100];

Comando:prender(playerid, params[])
{
    new prenderid, tempo;
    if(!IsPlayerAdmin(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Vocк nгo tem permissгo.");
    if(sscanf(params, "di", prenderid, tempo)) return SendClientMessage(playerid,0xFF0000AA,"/prender <playerid> <tempo>");
    if(!IsPlayerConnected(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Este jogador nгo estб online.");
    if(EstaPreso[prenderid] == 1) return SendClientMessage(playerid,0xFF0000AA,"Este jogador jб estб preso.");
    if(tempo < 0) return SendClientMessage(playerid,0xFF0000AA,"Tempo invalido.");
    else {
        NOME(prenderid,pname,sizeof(pname));
        Formata, "%s Foi preso pelo administrador por: %d minuto.",pname,tempo);
        SCMT(0xFF0000AA, str);
        SetPlayerPos(prenderid, 197.6661, 173.8179, 1003.0233);
        SetPlayerInterior(prenderid, 3);
        ResetPlayerWeapons(prenderid);
        EstaPreso[prenderid] = 1;
        TimerJaulado[prenderid] = SetTimerEx("JAULADO", 60000*tempo, false, "i", prenderid);
    }
    return 1;
}

Comando:soltar(playerid, params[])
{
    new prenderid;
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000AA,"Vocк nгo tem permissгo.");
    if(sscanf(params, "d", prenderid)) return SendClientMessage(playerid,0xFF0000AA,"/soltar <playerid>");
    if(!IsPlayerConnected(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Este jogador nгo estб online.");
    if(EstaPreso[prenderid] == 0) return SendClientMessage(playerid,0xFF0000AA,"Este jogador nгo estб preso.");
    else {
        NOME(prenderid,pname,sizeof(pname));
        Formata, "%s Foi solto pelo administrador.",pname);
        SCMT(0xFF0000AA, str);
        SendClientMessage(prenderid,0xFF0000AA,"Vocк foi solto pelo administrador.");
        SetPlayerInterior(prenderid,0);
        SpawnPlayer(prenderid);
        EstaPreso[prenderid] = 0;
        KillTimer(TimerJaulado[prenderid]);
    }
    return 1;
}

forward JAULADO(prenderid);
public JAULADO(prenderid) return SetPlayerInterior(prenderid,0), SpawnPlayer(prenderid), EstaPreso[prenderid] = 0, KillTimer(TimerJaulado[prenderid]);
Reply
#5

Eu tentei dessas formas:

pawn Код:
CMD:horas(playerid, params[])
{
    format(stringes, sizeof(stringes), "Tempo de prisгo: %d", TimerJaulado[id]);
    SendClientMessage(playerid, COR_BRANCO, stringes);
    /*format(stringes, sizeof(stringes), "Tempo de prisгo: %d", TimerJaulado);
    SendClientMessage(playerid, COR_BRANCO, stringes);
    format(stringes, sizeof(stringes), "Tempo de prisгo: %d", EstaPreso[playerid]);
    SendClientMessage(playerid, COR_BRANCO, stringes);*/

    return 1;
}
Mais nenhuma funiono =/
Reply
#6

ninguiйm
?
Reply
#7

Quote:
Originally Posted by RoacH`
Посмотреть сообщение
Tem algumas coisas muito sinistras nesse seu sistema.

De qualquer modo, Sistema de prisгo.
Reply
#8

Quote:
Originally Posted by Los
Посмотреть сообщение
Tem algumas coisas muito sinistras nesse seu sistema.
Sinistras? quais
Reply
#9

Quote:
Originally Posted by RoacH`
Посмотреть сообщение
Sinistras? quais
pawn Код:
#define Comando:    COMMAND:
#define SCMT        SendClientMessageToAll
#define Formata     format(str, sizeof(str)
#define NOME        GetPlayerName
Essas macros deixam a funзгo lenta.

__________________
pawn Код:
if(!IsPlayerAdmin(prenderid)) return SendClientMessage(playerid,0xFF0000AA,"Vocк nгo tem permissгo.");
Vocк estб fazendo isto errado.
__________________
pawn Код:
if(sscanf(params, "di", prenderid, tempo)) return SendClientMessage(playerid,0xFF0000AA,"/prender <playerid> <tempo>");
pawn Код:
if(sscanf(params, "d", prenderid)) return SendClientMessage(playerid,0xFF0000AA,"/soltar <playerid>");
Й usado "u" para jogadores/bots.
__________________
pawn Код:
else {
        NOME(prenderid,pname,sizeof(pname));
        Formata, "%s Foi preso pelo administrador por: %d minuto.",pname,tempo);
        SCMT(0xFF0000AA, str);
        SetPlayerPos(prenderid, 197.6661, 173.8179, 1003.0233);
        SetPlayerInterior(prenderid, 3);
        ResetPlayerWeapons(prenderid);
        EstaPreso[prenderid] = 1;
        TimerJaulado[prenderid] = SetTimerEx("JAULADO", 60000*tempo, false, "i", prenderid);
    }
pawn Код:
else {
        NOME(prenderid,pname,sizeof(pname));
        Formata, "%s Foi solto pelo administrador.",pname);
        SCMT(0xFF0000AA, str);
        SendClientMessage(prenderid,0xFF0000AA,"Vocк foi solto pelo administrador.");
        SetPlayerInterior(prenderid,0);
        SpawnPlayer(prenderid);
        EstaPreso[prenderid] = 0;
        KillTimer(TimerJaulado[prenderid]);
    }
Nгo precisa do else, se vocк jб checou tudo que jб tinha pra checar, pra que o else?
__________________

Se vocк procurar, acha outras.

Nгo leve a mal. Abraзos.
Reply
#10

Assim obrigado, pois foi falta de atenзгo minha em algumas partes. Estou tambйm iniciando pawn sou um intermediario acho '.' . Nгo sabia que macros eram lentos, sobre o else eu sempre utilizei mas de qualquer modo pode causar lag ao code tambйm? ou nгo? ou simplesmente nгo era preciso utiliza lo mas nгo interfere em nada? eo "d" foi uma desatenзгo minha Obrigado
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)