SA-MP Forums Archive
[Ajuda] Comando - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Comando (/showthread.php?tid=527094)



Comando - Netiinho - 20.07.2014

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;
    }



Re: Comando - MultiKill - 20.07.2014

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.


Re: Comando - Netiinho - 20.07.2014

mim ajuda ae man?


Re: Comando - MultiKill - 20.07.2014

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.


Re: Comando - Netiinho - 20.07.2014

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"


Re: Comando - MultiKill - 20.07.2014

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



Re: Comando - Netiinho - 20.07.2014

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);



Re: Comando - MultiKill - 20.07.2014

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 ' * '.


Re: Comando - Netiinho - 20.07.2014

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


Re: Comando - MultiKill - 20.07.2014

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