SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 12/08/2017, 08:52 PM   #1
fxckshzt
Huge Clucker
 
Join Date: Jul 2017
Location: 127.0.0.1
Posts: 271
Reputation: 11
Question Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

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 Code:
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:

Code:
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 (c) 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!
__________________
Paz & Amor
fxckshzt is offline   Reply With Quote
Old 12/08/2017, 08:54 PM   #2
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 586
Reputation: 8
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

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

@Edit

na parte de aparecer a mensagem coloque

PHP Code:
      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 Code:
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 Code:
SendClientMessage(id, -1"mensagem"); 
assim ira enviar a mensagem pro ID que o admin digitou

exemplo
PHP Code:
      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 Code:

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"

Last edited by GuilhermeNunes; 12/08/2017 at 09:27 PM.
GuilhermeNunes is offline   Reply With Quote
Old 12/08/2017, 09:10 PM   #3
fxckshzt
Huge Clucker
 
Join Date: Jul 2017
Location: 127.0.0.1
Posts: 271
Reputation: 11
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

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 Code:

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;

__________________
Paz & Amor
fxckshzt is offline   Reply With Quote
Old 12/08/2017, 09:12 PM   #4
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 586
Reputation: 8
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

Quote:
Originally Posted by fxckshzt View Post
PHP Code:
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.... ...
GuilhermeNunes is offline   Reply With Quote
Old 12/08/2017, 09:15 PM   #5
fxckshzt
Huge Clucker
 
Join Date: Jul 2017
Location: 127.0.0.1
Posts: 271
Reputation: 11
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

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!
__________________
Paz & Amor
fxckshzt is offline   Reply With Quote
Old 12/08/2017, 09:16 PM   #6
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 586
Reputation: 8
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

Testa o code la e dps me fala e olha a primeira POSTAGEM desse topico adicionei mais explicação
GuilhermeNunes is offline   Reply With Quote
Old 12/08/2017, 09:21 PM   #7
fxckshzt
Huge Clucker
 
Join Date: Jul 2017
Location: 127.0.0.1
Posts: 271
Reputation: 11
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

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 Code:
            format(Strsizeof(Str), "{00BFFF}[SERVER]{FFFFFF}: O Administrador %s explodiu o jogador %s",nomeadm,nomeplayer);
            
SendClientMessageToAll(-1,Str); 
__________________
Paz & Amor
fxckshzt is offline   Reply With Quote
Old 12/08/2017, 09:24 PM   #8
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 586
Reputation: 8
Unhappy Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

PHP Code:
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
GuilhermeNunes is offline   Reply With Quote
Old 12/08/2017, 09:27 PM   #9
fxckshzt
Huge Clucker
 
Join Date: Jul 2017
Location: 127.0.0.1
Posts: 271
Reputation: 11
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

String, no caso é quantidade de caracteres que pode conter na frase. é isso?
__________________
Paz & Amor
fxckshzt is offline   Reply With Quote
Old 12/08/2017, 09:28 PM   #10
GuilhermeNunes
Gangsta
 
Join Date: Feb 2017
Posts: 586
Reputation: 8
Default Re: Como colocar o nome de quem realizou a ação contra ele no msgbox da vítima?

Quote:
Originally Posted by fxckshzt View Post
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
GuilhermeNunes is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Como criar um comando de limparchat e aparecer o nome de quem limpou didimk157 Português/Portuguese 10 12/08/2017 11:07 PM
[Ajuda] como colocar a id antes do nome? iName Português/Portuguese 20 03/10/2016 12:17 AM
[Ajuda] Tem como colocar um texto em baixo de outro usando a Dialog MSGBOX? OverKiller Português/Portuguese 5 01/04/2016 08:37 AM
[Ajuda] Como colocar ID antes do nome no chat GoldLion Português/Portuguese 30 08/12/2012 03:48 AM
[Ajuda] Como Colocar o Nome do Sistema de Registro? Owtsiixx_Twd Português/Portuguese 1 27/09/2012 05:15 PM


All times are GMT. The time now is 09:30 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.