Comando /report explicado -
zuero - 03.07.2014
sem um pouco de pawno + tambem nao sou novato mas gostaria de saber como crio o comando /report
e explicando passo a passo se puder
Re: Comando /report explicado -
darkxdll - 03.07.2014
PHP код:
CMD:report(playerid,params[])
{
new id,motivo[100];
if(!sscanf(params,"ds[100]",id,motivo))
{
if(id < 0 || id > GetMaxPlayers()) return false;
new str[256];//desculpe o exageiro hehehe
for(new i ; i < GetMaxPlayers(); i++)
{
if(IsPlayerConnected(i) && IsPlayerAdmin(i))
{
format(str,sizeof(str),"O id %d reportou o id %d por %s",playerid,id,motivo);
SendClientMessage(i,-1,str);
return 1;//se der algo errado remova o return .
}
}
}
return 1;
}
Fiz aqui rapidinho , tente entender.
Desculpe ai se alguem achar que nгo й a melhor maneira de loop hehehe
Re: Comando /report explicado -
Bruno13 - 03.07.2014
pawn Код:
CMD:report(playerid,params[])
{
new id, motivo[120], string[120];//id (armazenar o id do acusado) motivo (armazenar o motivo do report) string (armazenar a mensagem formatada para os admins)
if(sscanf(params,"us",id,motivo)) return SendClientMessage(playerid, -1, "Uso correto: /report [id] [motivo]");//caso digitar o comando de forma errada
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "(Erro) Usuбrio nгo conectado");//caso o id do acusado for invбlido
for(new i = 0; i < MAX_PLAYERS; i++)//loop para enviar a mensagem a todos players que forem admin
{
if(IsPlayerConnected(i) && IsPlayerAdmin)//enviarб mensagem aos Admins, troque pela sua variбvel admin
{
format(string,sizeof(string),"[Report] %d estб reportando %d. Motivo: %s",playerid,id,motivo);//formata a string para enviar a mensagem
SendClientMessage(i, 0xFF0000, string);//enviarб a mensagem aos admin conectados da string acima
}
else return SendClientMessage(playerid, -1, "(Erro) Nгo hб nenhum Admin conectado, tente mais tarde");//retorna a uma mensagem ao player caso nгo houver admins online
}
SendClientMessage(playerid, -1, "O usuбrio foi reportado com sucesso!");//mensagem de confirmaзгo sobre o report
return 1;
}
Re: Comando /report explicado -
zuero - 03.07.2014
Quote:
Originally Posted by Bruno13
pawn Код:
CMD:report(playerid,params[]) { new id, motivo[120], string[120];//id (armazenar o id do acusado) motivo (armazenar o motivo do report) string (armazenar a mensagem formatada para os admins) if(sscanf(params,"us",id,motivo)) return SendClientMessage(playerid, -1, "Uso correto: /report [id] [motivo]");//caso digitar o comando de forma errada if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "(Erro) Usuбrio nгo conectado");//caso o id do acusado for invбlido for(new i = 0; i < MAX_PLAYERS; i++)//loop para enviar a mensagem a todos players que forem admin { if(IsPlayerConnected(i) && IsPlayerAdmin)//enviarб mensagem aos Admins, troque pela sua variбvel admin { format(string,sizeof(string),"[Report] %d estб reportando %d. Motivo: %s",playerid,id,motivo);//formata a string para enviar a mensagem SendClientMessage(i, 0xFF0000, string);//enviarб a mensagem aos admin conectados da string acima } else return SendClientMessage(playerid, -1, "(Erro) Nгo hб nenhum Admin conectado, tente mais tarde");//retorna a uma mensagem ao player caso nгo houver admins online } SendClientMessage(playerid, -1, "O usuбrio foi reportado com sucesso!");//mensagem de confirmaзгo sobre o report return 1; }
|
EDIT : fiz ao seu modo sim eu uso a include sscanf2 compilei e deu 2 erros :
pawn Код:
1є erro : error 017: undefined symbol "params"
2є erro : error 076: syntax error in the expression, or invalid function call
Linha do erro 1:
pawn Код:
if(sscanf(params,"us",id,motivo)) return SendClientMessage(playerid, AMARELO, "Use: /Report [ID] [Motivo]");
Linha do erro 2:
pawn Код:
if(IsPlayerConnected(i) && IsPlayerAdmin)
como resolvo ??
Re: Comando /report explicado -
Bruno13 - 05.07.2014
Quote:
Originally Posted by zuero
EDIT : fiz ao seu modo sim eu uso a include sscanf2 compilei e deu 2 erros :
pawn Код:
1є erro : error 017: undefined symbol "params" 2є erro : error 076: syntax error in the expression, or invalid function call
Linha do erro 1:
pawn Код:
if(sscanf(params,"us",id,motivo)) return SendClientMessage(playerid, AMARELO, "Use: /Report [ID] [Motivo]");
Linha do erro 2:
pawn Код:
if(IsPlayerConnected(i) && IsPlayerAdmin)
como resolvo ??
|
Erro 1: Falta zcmd:
https://sampforum.blast.hk/showthread.php?tid=91354
Erro 2: Como disse acima, troque pela variбvel admin, procure por um comando admin e veja onde da a mensagem, pegue a mesma variбvel.
Re: Comando /report explicado -
zuero - 09.07.2014
Quote:
Originally Posted by Bruno13
|
nao uso zcmd uso strcmp !!
o lance da variavel ja arrumei !! so falta o problema com o "params" !