[Ajuda] Como colocar o nome de quem realizou a aзгo contra ele no msgbox da vнtima?
#1

Olб, como viram no tуpico eu quero saber como colocar o nome de quem realizou a aзгo contra ele no msgbox da vнtima.

Exemplo:


PHP код:
CMD:explodir(playerid,params[])
{
        
SOADM
        
{
            new 
explodido;
            new 
Float:xFloat:yFloat:z;
            if(
sscanf(params,"u",explodido)) return SendClientMessage(playerid, -1,"{FFA500}[CORRETOR]{FFFFFF}: Use /explodir [ID] para explodir um player!");
            if(!
IsPlayerConnected(explodido)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Jogador nгo conectado");
            
GetPlayerPos(explodido,x,y,z);
            
CreateExplosion(xyz12100);
            
mensagem(jogador, -1,"{00BFFF}[SERVER]{FFFFFF}: Jogador abatido (%s)"Nome(explodido));
            
mensagem(explodido, -1,"{000BFF}[SERVER]{FFFFFF}: Vocк foi destruнdo por um administrador (%s)!"Nome(playerid));
        }
        return 
1;

E Vem assimilando com esses avisos:

Код:
C:\Users\Dell\Downloads\Servidores\Server de Aprendizagem\gamemodes\desen.pwn(1083) : warning 202: number of arguments does not match definition
C:\Users\Dell\Downloads\Servidores\Server de Aprendizagem\gamemodes\desen.pwn(1084) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


2 Warnings.
Daн o nome do jogador que explodiu ele nгo aparece no msgbox dele, e nem quem deu o comando de explodir aparece o nome do jogador que foi explodido, kkkkkkkkkkkkkk acho que dб pra entender. me ajudem!
Reply
#2

Fazendo o Code aguarde..... irei editar assim que terminar .

@Edit

na parte de aparecer a mensagem coloque

PHP код:
      GetPlayerName(playerid,nomeadm,sizeof(nomeadm));// Nome do adm = playerid
      
GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id
      
format(Strsizeof(Str), "** O admin %s explodiu o jogador %s**",nomeadm,nomeplayer);
      
SendClientMessageToAll(-1,Str); 
no topo
PHP код:
new nomeadm[MAX_pLAYER_NAME];
new 
nomeplayer[MAX_PLAYER_NAME];
new 
id;
new 
Str[128]; 
ops quando vc for mandar mensagem pro ID explodido use

PHP код:
SendClientMessage(id, -1"mensagem"); 
assim ira enviar a mensagem pro ID que o admin digitou

exemplo
PHP код:
      GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id
      
format(Strsizeof(Str), "Olб %s, vc foi explodido",nomeplayer);
      
SendClientMessage(id, -1,Str); 
qualquer duvida chame pm ou responda aqui.

ai voce usa essa mini base em seus cmds olha irei fazer um aqui pra vc entender melhor

PHP код:

CMD
:teste(playeridparams[])
{
    if(
sscanf(params"us"id))
    {
        
SendClientMessage, -1"[ERRO]uso correto: /teste [ID] ");
    }
    else
    {
   
      
GetPlayerName(playerid,nomeadm,sizeof(nomeadm));// Nome do adm = playerid
      
GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id
      
format(Strsizeof(Str), "** O admin %s testou o jogador %s**",nomeadm,nomeplayer);
      
SendClientMessageToAll(-1,Str);
    }
     
    return 
1;

OBS: Para aparecer o nome do player em primeiro troque "nomeadm, nomeplayer" por "nomeplayer, nomeadm"
Reply
#3

Correto? Ah, vocк esqueceu da variбvel da Str, entгo criei uma que suporte atй 57 caracteres (ou eu acho que esse nъmero do lado significa isso kkkkk)

PHP код:

CMD
:explodir(playerid,params[])
{
        
SOADM
        
{
            new 
nomeadm[MAX_PLAYER_NAME];
            new 
nomeplayer[MAX_PLAYER_NAME];
            new 
id;
            new 
Str[57];
            new 
Float:xFloat:yFloat:z;
            if(
sscanf(params,"u",id)) return SendClientMessage(playerid, -1,"{FFA500}[CORRETOR]{FFFFFF}: Use /explodir [ID] para explodir um player!");
            if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Jogador nгo conectado");
            
GetPlayerPos(id,x,y,z);
            
CreateExplosion(xyz12100);
            
GetPlayerName(playerid,nomeadm,sizeof(nomeadm));// Nome do adm = playerid
             
GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id
            
format(Strsizeof(Str), "** O admin %s explodiu o jogador %s**",nomeadm,nomeplayer);
            
SendClientMessageToAll(-1,Str);
        }
        return 
1;

Reply
#4

Quote:
Originally Posted by fxckshzt
Посмотреть сообщение
PHP код:
Correto?
CMD:explodir(playerid,params[])
{
        
SOADM
        
{
            new 
nomeadm[MAX_PLAYER_NAME];
            new 
nomeplayer[MAX_PLAYER_NAME];
            new 
id;
            new 
Str[57];
            new 
Float:xFloat:yFloat:z;
            if(
sscanf(params,"u",id)) return SendClientMessage(playerid, -1,"{FFA500}[CORRETOR]{FFFFFF}: Use /explodir [ID] para explodir um player!");
            if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Jogador nгo conectado");
            
GetPlayerPos(id,x,y,z);
            
CreateExplosion(xyz12100);
            
GetPlayerName(playerid,nomeadm,sizeof(nomeadm));// Nome do adm = playerid
             
GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id
            
format(Strsizeof(Str), "** O admin %s explodiu o jogador %s**",nomeadm,nomeplayer);
            
SendClientMessageToAll(-1,Str);
        }
        return 
1;

mds cara o jeito que fiz tbm й correto eu sу fiz uma VARIAVEL GLOBAL assim n preciso ficar definindo em todo comando

new id,new string, etc.... ...
Reply
#5

Quote:

mds cara o jeito que fiz tbm й correto eu sу fiz uma VARIAVEL GLOBAL assim n preciso ficar definindo em todo comando

new id,new string, etc.... ...

Eu prefiro assim, porque as vezes eu confundo as variбveis e vou criando outras e mais outras, kkk obrigado cara!
Reply
#6

Testa o code la e dps me fala e olha a primeira POSTAGEM desse topico adicionei mais explicaзгo
Reply
#7

Digitei o comando, mas apareceu apenas o primeiro nome, e nгo o segundo.

No caso eu testei o comando em mim mesmo, e ficou da seguinte forma:

[SERVER]: O Administrador [GM] explodiu

Enquanto no pawn, diz:

PHP код:
            format(Strsizeof(Str), "{00BFFF}[SERVER]{FFFFFF}: O Administrador %s explodiu o jogador %s",nomeadm,nomeplayer);
            
SendClientMessageToAll(-1,Str); 
Reply
#8

PHP код:
CMD:explodir(playerid,params[]) 

        
SOADM 
        

            new 
nomeadm[MAX_PLAYER_NAME]; 
            new 
nomeplayer[MAX_PLAYER_NAME]; 
            new 
id
            new 
Str[128]; 
            new 
Float:xFloat:yFloat:z
            if(
sscanf(params,"us",id)) return SendClientMessage(playerid, -1,"{FFA500}[CORRETOR]{FFFFFF}: Use /explodir [ID] para explodir um player!"); 
            if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1,"{FF0000}ERRO: Jogador nгo conectado"); 
            
GetPlayerPos(id,x,y,z); 
            
CreateExplosion(xyz12100); 
            
GetPlayerName(playerid,nomeadm,sizeof(nomeadm));// Nome do adm = playerid 
            
GetPlayerName(idnomeplayersizeof(nomeplayer)); //Nome do jogador = id 
            
format(Strsizeof(Str), "** O admin %s explodiu o jogador %s**",nomeadm,nomeplayer); 
            
SendClientMessageToAll(-1,Str); 
        } 
        return 
1

esta funcionando aqui e tente aumentar o String nesses casos й pq tem pouca string e use "us" ao inves de "u"

aqui apareceu

o admin guilherme explodiu o jogador guilherme
Reply
#9

String, no caso й quantidade de caracteres que pode conter na frase. й isso?
Reply
#10

Quote:
Originally Posted by fxckshzt
Посмотреть сообщение
String, no caso й quantidade de caracteres que pode conter na frase. й isso?
sim exemplo eu coloquei new String[20] e escrevi

mais que 20 caracteres sу ira aparecer 20 no caso o string й o [20] que coloquei entгo pode escrever assim tbm

new qualquercoisa[50];


@Edit
quando conseguir la me avise
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)