[Ajuda] Comando
#1

alguem pode mim ajuda fiz esse comando agora so que o tempo ta getando meu id nao geta os segundos pra fica preso

pawn Код:
if(strcmp(cmd, "/bust", true) == 0)
    if(AdminGeral[playerid] == 1)
    {
        new tmp[256], plid, aname, motivo[256];
        tmp = strtok(cmdtext, idx);
        if(sscanf(cmdtext, "s[7]us[256]", cmd, plid, motivo))
        {
            SendClientMessage(playerid, Verde, "Uso correto: /bust [id do player] [tempo] [motivo]");
            return 1;
        }
        plid = strval(tmp);
        format(file, sizeof(file), PASTA_CONTAS, aname);
        new Second = strval(tmp);
        {
           
            format(string, sizeof(string), "O(A) Administrador %s (%d) prendeu o jogador %s por %d segundos, Motivo %s .", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(plid), Second, motivo);
            SendClientMessageToAll(tcadm, string);
            SetPlayerInterior(plid, 3);
            SetPlayerPos(plid, 197.6661,173.8179,1003.0234);
            SetPlayerArmour(plid, 999999);
            ResetPlayerWeapons(plid);
            SetTimerEx("Bust", 1000*1, false, "i", plid);
        }
        return 1;
    }
Reply
#2

Vocк vez uma confusгo no comando.
O sscanf, no strcmp usa strtok, mas vocк criou o comando, em strtok e depois criou em sscanf. E no sscanf usa sу 2 parвmetros e vocк quer que use 3.
Reply
#3

mim ajuda ae man?
Reply
#4

Primeiramente nгo recomendo usar strcmp e sscanf.
pawn Код:
if(strcmp(cmd, "/bust", true) == 0)
{
    if(AdminGeral[playerid] == 1)
    {
        new aname, motivo[256];
        if(sscanf(cmdtext, "s[6]uis[256]", cmd, plid, tempo, motivo))
        {
            SendClientMessage(playerid, Verde, "Uso correto: /bust [id do player] [tempo] [motivo]");
            return 1;
        }
        format(string, sizeof(string), "O(A) Administrador %s (%d) prendeu o jogador %s por %d segundos, Motivo %s .", GetPlayerNameEx(playerid), playerid, GetPlayerNameEx(plid), tempo, motivo);
        SendClientMessageToAll(tcadm, string);
        SetPlayerInterior(plid, 3);
        SetPlayerPos(plid, 197.6661,173.8179,1003.0234);
        SetPlayerArmour(plid, 999999);
        ResetPlayerWeapons(plid);
        SetTimerEx("Bust", 1000*1, false, "i", plid);
    }
    return 1;
}
Antes de dar CTRL + C e CTRL + V, estude sscanf.
Reply
#5

Linhas (16439) : error 017: undefined symbol "plid"
Linhas (16444) : error 017: undefined symbol "plid"
Linhas (16446) : error 017: undefined symbol "plid"
Linhas (16447) : error 017: undefined symbol "plid"
Linhas (16448 : error 017: undefined symbol "plid"
Linhas (16449) : error 017: undefined symbol "plid"
Linhas (16450) : error 017: undefined symbol "plid"
Linhas (16438 : warning 203: symbol is never used: "aname"
Reply
#6

pawn Код:
new aname, motivo[256];
//Para
new motivo[256], tempo, plid;
Reply
#7

VLW MANIW FUNFOU CERTINHO AGORA SO O TEMPO QUE NAO FUNFOU ELE VAI PRA CADEIA E SAI NO MSM INSTANTE

CD AKI DO BUST PRA SAIR DA CADEIA SE PODE AJUDAR

pawn Код:
public Bust(playerid)
{
    SpawnPlayer(playerid);
    SendClientMessage(playerid, 0xFFFFFFAA, "Vocк foi Solto, nгo cometa mais Crimes !");
    return 1;
}

AKI  E O  SetTimerEx("Bust", 1000*1, false, "i", plid);
Reply
#8

O tempo no timer й em milisegundos, um segundo й 1000, um minuto й 60000. Entгo o tempo vocк quer em segundos ou minutos.
Se for em segundos:
pawn Код:
tempo_escolhido*1000
//Em minutos
tempo_escolhido*60000
Vocк multiplica o tempo escolhido, por minutos ou segundos atй horas. Para isso usa-se o operador ' * '.
Reply
#9

oque eu quero e em segundos eu coloco 1000 mais nao vai ele sai na msm hr no caso do comando la eu digito /bust 2 100 teste ai ele sai do nada nao passa os 100 segundos la
Reply
#10

Entгo retire o 1 e coloque o tempo que ele escolheu.
O tempo escolhido fica armazenado na variбvel tempo. Entгo vai ficar assim:
pawn Код:
1000*tempo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)