[AJUDA] Erro em comando /relatorio -
Lucas OutLawz - 19.11.2011
Quando digito a menssagem nгo aparece tal menssagem apenas o nome do player, comando abaixo
PHP код:
dcmd_relatorio(playerid,params[])
{
new texto=strval(params);
new Texto[128];
new string[256];
if(!strlen(params))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]");
else
{
format(string,256,"[Relatorio] %s: %s",Nome(playerid),Texto);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Admin[i] >= 1)
SendClientMessage(i,0xDCDCDCAA,string);
}
}
return 1;
}
Re: [AJUDA] Erro em comando /relatorio -
Hardware - 19.11.2011
pawn Код:
dcmd_relatorio(playerid,params[])
{
new Texto[128];
new string[256];
new Texto=strval(params);
if(!strlen(params))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]");
format(string,256,"[Relatorio] %s: %s",Nome(playerid),Texto);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Admin[i] >= 1)
SendClientMessage(i,0xDCDCDCAA,string);
}
}
return 1;
}
Re: [AJUDA] Erro em comando /relatorio -
Pharrel - 19.11.2011
Quote:
Originally Posted by Hardware
pawn Код:
dcmd_relatorio(playerid,params[]) { new Texto[128]; new string[256]; new Texto=strval(params); if(!strlen(params))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]"); format(string,256,"[Relatorio] %s: %s",Nome(playerid),Texto); for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i) && Admin[i] >= 1) SendClientMessage(i,0xDCDCDCAA,string); } } return 1; }
|
pq strval? ate onde eu vi esse codigo й pra mandar uma string
pawn Код:
dcmd_relatorio(playerid, params[])
{
if(!strlen(params))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]");
format(params,strlen(params)+38,"[Relatorio] %s: %s",Nome(playerid),params);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Admin[i] >= 1)
SendClientMessage(i,0xDCDCDCAA,string);
}
return 1;
}
Re: [AJUDA] Erro em comando /relatorio -
Cristhian - 20.11.2011
pawn Код:
dcmd_relatorio(playerid,params[])
{
new Texto[128];
new string[256];
if(sscanf(params, "s[128]", Texto))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]");
format(string,256,"[Relatorio] %s: %s",Nome(playerid),Texto);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i) && Admin[i] >= 1) return 1;
SendClientMessage(i,0xDCDCDCAA,string);
}
}
return 1;
}
Re: [AJUDA] Erro em comando /relatorio -
Pharrel - 20.11.2011
Quote:
Originally Posted by Cristhian
pawn Код:
dcmd_relatorio(playerid,params[]) { new Texto[128]; new string[256]; if(sscanf(params, "s[128]", Texto))return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]"); format(string,256,"[Relatorio] %s: %s",Nome(playerid),Texto); for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i) && Admin[i] >= 1) SendClientMessage(i,0xDCDCDCAA,string); } } return 1; }
|
sscanf em comando de 1 parametro = perda de tempo unformatando.
Re: [AJUDA] Erro em comando /relatorio -
Cristhian - 20.11.2011
Quote:
Originally Posted by Pharrel
sscanf em comando de 1 parametro = perda de tempo unformatando.
|
quando ta em dcmd, zcmd.. nгo precisa de sscanf, strtok, nem nada pra pegar o que o player digitou с ?
Re: [AJUDA] Erro em comando /relatorio -
Pharrel - 20.11.2011
Quando vc usa 1 parametro nгo, oq vc digitar depois do comando fica tudo armazenado na variavel "params" entao й sу usa-la como fiz no codigo que postei antes.
pawn Код:
dcmd_relatorio(playerid, params[])//veja a variavel params aqui serve como qualquer outro parametro em uma public ou stock
{
if(!strlen(params)) return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]"); // se o tamanho do texto dentro da string for = 0 retorna a msg
format(params,strlen(params)+38,"[Relatorio] %s: %s",Nome(playerid),params);
//format(params = pega a variavel params e formata ja que ela nгo й uma constante
//strlen(params)+38 isso porque "[Relatorio] %s: " pode ter no maximo 38 caracteres entao pega o tamanho do texto em params + oque jб esta digitado
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && Admin[i] >= 1)
SendClientMessage(i,0xDCDCDCAA,string);
}
return 1;
}
Re: [AJUDA] Erro em comando /relatorio -
Cristhian - 20.11.2011
Quote:
Originally Posted by Pharrel
Quando vc usa 1 parametro nгo, oq vc digitar depois do comando fica tudo armazenado na variavel "params" entao й sу usa-la como fiz no codigo que postei antes.
pawn Код:
dcmd_relatorio(playerid, params[])//veja a variavel params aqui serve como qualquer outro parametro em uma public ou stock { if(!strlen(params)) return SendClientMessage(playerid, 0xDCDCDCAA, "Use: /relatorio [Texto]"); // se o tamanho do texto dentro da string for = 0 retorna a msg format(params,strlen(params)+38,"[Relatorio] %s: %s",Nome(playerid),params); //format(params = pega a variavel params e formata ja que ela nгo й uma constante //strlen(params)+38 isso porque "[Relatorio] %s: " pode ter no maximo 38 caracteres entao pega o tamanho do texto em params + oque jб esta digitado for(new i=0;i<MAX_PLAYERS;i++) { if(IsPlayerConnected(i) && Admin[i] >= 1) SendClientMessage(i,0xDCDCDCAA,string); } return 1; }
|
sakei vlw