Comando Admin -
MineiriinHo - 01.03.2016
Boa noiteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee!!!!!!!
Bom, preciso que me ajudem em algo..
Estou desenvolvendo um sistema de administraзгo simples, porйm, nгo tenho muito conhecimento em pawno.. E peзo que, me ajudem a desenvolver um comando " /avisar [ID] [MOTIVO] ".
Vamos supor:
No servidor tem 6 jogadores.. E 1 administradores.
O administrador, que estб logado na rcon dб /avisar 2(ID) Teste(Motivo)
E apуs isso, esse jogador recebe uma mensagem contendo : Vocк foi avisado pelo seguinte motivo: %s.
e tambйm, com uma SendClientMessageToAll Contendo : AdmCmd: O Administrador %s avisou o jogador %s. Motivo: %s.
Re: Comando Admin -
LockedLucas - 01.03.2016
PHP код:
CMD:aviso(playerid, params[])
{
new id, aviso, string[100];
if(sscanf(params, "ds", id, aviso)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | /Aviso [id do player] [ aviso ]");
format(string,sizeof(string),"O Admin %s avisou %s motivo: %s", Nome(playerid), Nome(id), aviso);
SendClientMessageToAll(-1,string);
return 1;
}
//pegar o nome do player...
Nome(playerid)
{
new
gName[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, gName, sizeof(gName));
return gName;
}
E pelo amor de deus para de falar PAWNO, Й PAWN, PAWNO E O PROGRAMA PAWN E A LINGUAGEM.
Outra coisa, VБ ESTUDAR.
Re: Comando Admin -
Ever_SH - 01.03.2016
https://sampforum.blast.hk/showthread.php?tid=277842
Ai ta a resposta de como usar sscanf2, e jб tem um уtimo exemplo acima pelo LockedLucas.
Re: Comando Admin -
F1N4L - 02.03.2016
Atualizei o cуdigo do @LockedLucas:
PHP код:
//TOPO DO GM
new aviso[MAX_PLAYERS];
CMD:aviso(playerid, params[])
{
new id, motivo[40], string[100], Nome[24];
GetPlayerName(playerid, Nome, sizeof(Nome));
if(sscanf(params, "us[40(SEM MOTIVO)]", id, motivo)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | /Aviso [id do player] [ motivo ]");
aviso[id]++;
if(aviso[id] == 3)
{
format(string,sizeof(string),"Player %s foi kickado por ser exceder avisos. (3/3)", Nome(id));
SendClientMessageToAll(-1,string);
Kick(id);
}
else
{
format(string,sizeof(string),"O Admin %s avisou %s motivo: %s", Nome(playerid), Nome(id), motivo);
SendClientMessageToAll(-1,string);
format(string,sizeof(string),"Vocк foi avisado pelo admin %s. (Avisos: %i/3)", Nome(playerid), aviso[id]);
SendClientMessage(id,-1,string);
}
return 1;
}
Re: Comando Admin -
Artista - 02.03.2016
Quote:
Originally Posted by F1N4L
Atualizei o cуdigo do @LockedLucas:
PHP код:
CMD:aviso(playerid, params[])
{
new id, motivo[40], string[100], gName[24], aviso[MAX_PLAYERS];
GetPlayerName(playerid, gName, sizeof(gName));
if(sscanf(params, "us[40(SEM MOTIVO)]", id, motivo)) return SendClientMessage(playerid, 0xFF0000AA, "| ERRO | /Aviso [id do player] [ motivo ]");
aviso[id]++;
if(aviso[id] == 3)
{
format(string,sizeof(string),"Player %s foi kickado por ser exceder avisos. (3/3)", Nome(id));
SendClientMessageToAll(-1,string);
Kick(id);
}
else
{
format(string,sizeof(string),"O Admin %s avisou %s motivo: %s", Nome(playerid), Nome(id), motivo);
SendClientMessageToAll(-1,string);
format(string,sizeof(string),"Vocк foi avisado pelo admin %s. (Avisos: %i/3)", Nome(playerid), aviso[id]);
SendClientMessage(id,-1,string);
}
return 1;
}
|
Nгo vai dar certo, a variбvel
aviso deve ser global. Sem falar que darб erro, pois cadк a funзгo
Nome?? Falando em nome, vocк cria a variбvel
gName, armazena o nome do jogador que utiliza o comando e nгo usa para mais nada. Isso й desperdнcio de memуria.
Re: Comando Admin -
F1N4L - 02.03.2016
@Comando atualizado
@Artista
Como eu falei no post, apenas copiei do @LockedLucas e dei uma modificada. Agora darб certo e obrigado pelo feed.
Re: Comando Admin -
MineiriinHo - 02.03.2016
Quote:
Originally Posted by F1N4L
@Comando atualizado
@Artista
Como eu falei no post, apenas copiei do @LockedLucas e dei uma modificada. Agora darб certo e obrigado pelo feed.
|
PHP код:
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(289) : error 017: undefined symbol "sscanf"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017: undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017: undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : warning 215: expression has no effect
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 001: expected token: ";", but found ")"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
Continuou a mesma coisa
Re: Comando Admin -
LockedLucas - 02.03.2016
vc precisa da include e plugin sscanf.
Re: Comando Admin -
F1N4L - 02.03.2016
Quote:
Originally Posted by MineiriinHo
PHP код:
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(289) : error 017: undefined symbol "sscanf"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017: undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017: undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : warning 215: expression has no effect
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 001: expected token: ";", but found ")"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.
Continuou a mesma coisa
|
Eu n sei como vc consegue cara, a linha 293 estб correta e a var string ta definida! Quanto ao sscanf vc deve ter a include e plugin como o @LockedLucas postou.
Re: Comando Admin -
Ever_SH - 02.03.2016
Pelo menos abriu o tutorial que deixei ou sу copiou o cуdigo pronto? Nada contra pegar o cуdigo que deixaram aki, mas abre o tutorial, assim pelo menos vai entender como o comando funciona.