[Ajuda] Ajuda em um comando
#1

o que tem de errado nesse comando ? eu do /prender id minutos e motivo e retornoa isso ERRO: Para soltar alguйm use /soltar [id].
Код:
CMD:prender(playerid, params[])
{
	if(Jogador[playerid][pAdmin] < 1)
	    return SendClientMessage(playerid, COLOR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");

    new tmp[256], tmp2[256], tmp3[256];

	new id;
	if(!IsNumeric(tmp))
		id = ReturnPlayerID(tmp);
	else
		id = strval(tmp);
		
	if(!IsPlayerConnected(id))
		return SendClientMessage(playerid, COLOR_ERRO, "ERRO: ID invбlido!");

	if(strval(tmp2) > 60)
	    return SendClientMessage(playerid, COLOR_ERRO, "ERRO: O mбximo de minutos й 60!");

	if(strval(tmp2) == 0)
	    return SendClientMessage(playerid, COLOR_ERRO, "ERRO: Para soltar alguйm use /soltar [id].");

	if(strval(tmp2) < 0)
	    return SendClientMessage(playerid,COLOR_ERRO,"Uso: /prender [id] [minutos] [motivo]");

	if(Jogador[id][Logado] == false)
	    return SendClientMessage(playerid, COLOR_ERRO, "ERRO: Este jogador nгo estб logado!");
	    
	if(!sscanf(params, "us[220]", tmp, tmp2,tmp3)) return SendClientMessage(playerid, COLOR_ERRO, "Uso: /prender [id] [minutos] [motivo]");
	
	Jogador[id][pPresoADM] = 1;
	Jogador[id][pTempoPreso] = 60*strval(tmp2);
	new Float:slx, Float:sly, Float:slz;
	GetPlayerPos(id, slx, sly, slz);
	SetPlayerPos(id, slx, sly, slz+1);
	SpawnPlayer(id);


	SendFormattedMessageToAll(0x8B0000FF, "-GFInfo-: %s foi preso pelo %s %s por %d minutos. | Motivo: %s", getPName(id), AccountName(playerid), getPName(playerid), strval(tmp2), tmp3);

	return 1;
}
Reply
#2

pawn Код:
CMD:prender(playerid, params[])
{
    if(Jogador[playerid][pAdmin] < 1)
        return SendClientMessage(playerid, COLOR_ERRO, "ERRO: Vocк nгo tem permissгo para usar este comando!");
    if(sscanf(params, "uis[128]", params[0], params[1], params[2])
        return SendClientMessage(playerid,COLOR_ERRO,"Uso: /prender [id] [minutos] [motivo]");    
    if(!IsPlayerConnected(params[0]))
        return SendClientMessage(playerid, COLOR_ERRO, "ERRO: ID invбlido!");
    if(Jogador[params[0]][Logado] == false)
        return SendClientMessage(playerid, COLOR_ERRO, "ERRO: Este jogador nгo estб logado!");
    if(strval(params[1] > 60)
        return SendClientMessage(playerid, COLOR_ERRO, "ERRO: O mбximo de minutos й 60!");

    Jogador[params[0]][pPresoADM] = 1;
    Jogador[params[0]][pTempoPreso] = 60*params[1];
    new Float:xPOSz[3];
    GetPlayerPos(params[0], xPOSz[0], xPOSz[1], xPOSz[2]);
    SetPlayerPos(params[0], xPOSz[0], xPOSz[1], xPOSz[2]+1);
    SendFormattedMessageToAll(0x8B0000FF, "-GFInfo-: %s foi preso pelo %s %s por %d minutos. | Motivo: %s", getPName(params[0]), AccountName(playerid), getPName(playerid), params[1], params[2]);

    return 1;
}
Reply
#3

bom vi que o comando estб totalmente diferente do meu, muitas coisas fiz errado entгo...
poderia meda uma explicaзгo mas profunda do que eu fiz de errado ?
Reply
#4

ah, e deu erro nessas linhas
Код:
if(sscanf(params, "uis[128]", params[0], params[1], params[2])
   //NESSA LINHA AQUI>>     return SendClientMessage(playerid,COLOR_ERRO,"Uso: /prender [id] [minutos] [motivo]");
Код:
 if(strval(params[1] > 60) //nessa aqui apareceu esse motivo   error 035: argument type mismatch (argument 1)
     //nessa tambem >>   return SendClientMessage(playerid, COLOR_ERRO, "ERRO: O maximo de minutos й 60!");
MOTIVO DO ERRO:
Код:
error 001: expected token: ")", but found "return"
Reply
#5

pawn Код:
if(sscanf(params, "uis[128]", params[0], params[1], params[2]))
return SendClientMessage(playerid,COLOR_ERRO,"Uso: /prender [id] [minutos] [motivo]");

if(strval(params[1] > 60))
return SendClientMessage(playerid, COLOR_ERRO, "ERRO: O maximo de minutos й 60!");
Estava faltando fechar o parкnteses' )' em ambos..

Atenciosamente,
Reply
#6

nessa mesma linha deu isso
Код:
	if(strval(params[1] > 60))
        return SendClientMessage(playerid, COLOR_ERRO, "ERRO: O mбximo de minutos й 60!");
error 035: argument type mismatch (argument 1)
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)