[Ajuda] Comando Admin
#1

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.
Reply
#2

PHP код:
CMD:aviso(playeridparams[])
{
  new 
idavisostring[100];
  if(
sscanf(params"ds"idaviso)) return SendClientMessage(playerid0xFF0000AA"| 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(playeridgNamesizeof(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.
Reply
#3

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.
Reply
#4

Atualizei o cуdigo do @LockedLucas:

PHP код:
//TOPO DO GM
new aviso[MAX_PLAYERS];
CMD:aviso(playeridparams[]) 

  new 
idmotivo[40], string[100], Nome[24]; 
  
GetPlayerName(playeridNomesizeof(Nome));
  if(
sscanf(params"us[40(SEM MOTIVO)]"idmotivo)) return SendClientMessage(playerid0xFF0000AA"| 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

Reply
#5

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Atualizei o cуdigo do @LockedLucas:

PHP код:
CMD:aviso(playeridparams[]) 

  new 
idmotivo[40], string[100], gName[24], aviso[MAX_PLAYERS]; 
  
GetPlayerName(playeridgNamesizeof(gName));
  if(
sscanf(params"us[40(SEM MOTIVO)]"idmotivo)) return SendClientMessage(playerid0xFF0000AA"| 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.
Reply
#6

@Comando atualizado

@Artista
Como eu falei no post, apenas copiei do @LockedLucas e dei uma modificada. Agora darб certo e obrigado pelo feed.
Reply
#7

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 017undefined symbol "sscanf"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : warning 215expression has no effect
C
:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 001expected token";"but found ")"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : fatal error 107too many error messages on one line
Compilation aborted
.Pawn compiler 3.2.3664              Copyright (c1997-2006ITB CompuPhase
5 Errors

Continuou a mesma coisa
Reply
#8

vc precisa da include e plugin sscanf.
Reply
#9

Quote:
Originally Posted by MineiriinHo
Посмотреть сообщение
PHP код:
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(289) : error 017undefined symbol "sscanf"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 017undefined symbol "string"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : warning 215expression has no effect
C
:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : error 001expected token";"but found ")"
C:\Users\Micro 01\Desktop\S\gamemodes\GM.pwn(293) : fatal error 107too many error messages on one line
Compilation aborted
.Pawn compiler 3.2.3664              Copyright (c1997-2006ITB 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.
Reply
#10

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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)