Portal SAMP
[Ajuda] Dialog aparecendo para o player que da o comando - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Dialog aparecendo para o player que da o comando (/showthread.php?tid=4375)



Dialog aparecendo para o player que da o comando - fear - 04/01/2024

boa tarde.

eu tava fazendo um dialog que aparecesse para o player abordado na tela.. porém esta aparecendo para o policial que abordou... oque eu fiz de errado nela?

Código PHP:
CMD:ab(playerid,params[])
{
    new 
id;
    if(
PlayerInfo[playerid][cargo] != 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao faz parte da Equipe de Policiais!");
    if(
PlayerInfo[playerid][Sequestrado] == true)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce esta sequestrado!");
    if(
sscanf(params"u",id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Digite: /Ab [ id ou nick ]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta conectado!");
      if(
GetDistanceBetweenPlayers(id,playerid) > 15)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Chegue mais perto do Player para poder abordar!");
    if(
PlayerInfo[id][pEstrelas] == 0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta na Lista de Procurado!");
    if(
PlayerInfo[id][Abordagem] == 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player ja foi abordado!");

    
SendClientMessage(playerid,COR_PM,"| DP - ZP | {FFFFFF}Voce abordou %s[%d] que esta sendo Procurado com %d Estrelas!",pName[id],id,PlayerInfo[id][pEstrelas]);

    new 
String[256], str[600];
    
format(Stringsizeof(String),"{1E90FF}| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!\n",pName[playerid],id);
    
strcat(str,String);
    
strcat(str,"\n\n{1E90FF}| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    
ShowPlayerDialog(playerid,DIALOG_ABORDADO,DIALOG_STYLE_MSGBOX,"{FF0000}ABORDADO!",str,"Entendi""-");

    
/*
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!",pName[playerid],playerid);
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    */
    
idssg[id] = playerid;
    
PlayerInfo[id][Abordagem]=1;
    
PlayerInfo[id][pFullTimer][0] = SetTimerEx("rendendos"segundos(15), false"i"id);
    return 
1;




RE: Dialog aparecendo para o player que da o comando - Calasans - 04/01/2024

(04/01/2024 19:05)fear Escreveu: boa tarde.

eu tava fazendo um dialog que aparecesse para o player abordado na tela.. porém esta aparecendo para o policial que abordou... oque eu fiz de errado nela?

Código PHP:
CMD:ab(playerid,params[])
{
    new 
id;
    if(
PlayerInfo[playerid][cargo] != 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao faz parte da Equipe de Policiais!");
    if(
PlayerInfo[playerid][Sequestrado] == true)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce esta sequestrado!");
    if(
sscanf(params"u",id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Digite: /Ab [ id ou nick ]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta conectado!");
      if(GetDistanceBetweenPlayers(id,playerid) > 15)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Chegue mais perto do Player para poder abordar!");
    if(
PlayerInfo[id][pEstrelas] == 0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta na Lista de Procurado!");
    if(
PlayerInfo[id][Abordagem] == 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player ja foi abordado!");

    
SendClientMessage(playerid,COR_PM,"| DP - ZP | {FFFFFF}Voce abordou %s[%d] que esta sendo Procurado com %d Estrelas!",pName[id],id,PlayerInfo[id][pEstrelas]);

    new 
String[256], str[600];
    
format(Stringsizeof(String),"{1E90FF}| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!\n",pName[playerid],id);
    
strcat(str,String);
    
strcat(str,"\n\n{1E90FF}| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    
ShowPlayerDialog(playerid,DIALOG_ABORDADO,DIALOG_STYLE_MSGBOX,"{FF0000}ABORDADO!",str,"Entendi""-");

    
/*
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!",pName[playerid],playerid);
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    */
    
idssg[id] = playerid;
    
PlayerInfo[id][Abordagem]=1;
    
PlayerInfo[id][pFullTimer][0] = SetTimerEx("rendendos"segundos(15), false"i"id);
    return 
1;

Está definindo o ShowPlayerDialog como playerid

Segue abaixo uma correção.
Código PHP:
CMD:ab(playeridparams[])
{
    new id;
    if(PlayerInfo[playerid][cargo] != 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao faz parte da Equipe de Policiais!");
    if(PlayerInfo[playerid][Sequestrado] == true)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce esta sequestrado!");
    if(sscanf(params"u",id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Digite: /Ab [ id ou nick ]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta conectado!");
      if(GetDistanceBetweenPlayers(id,playerid) > 15)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Chegue mais perto do Player para poder abordar!");
    if(PlayerInfo[id][pEstrelas] == 0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta na Lista de Procurado!");
    if(PlayerInfo[id][Abordagem] == 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player ja foi abordado!");

    SendClientMessage(playerid,COR_PM,"| DP - ZP | {FFFFFF}Voce abordou %s[%d] que esta sendo Procurado com %d Estrelas!",pName[id],id,PlayerInfo[id][pEstrelas]);

    new String[256], str[600];
    format(Stringsizeof(String),"{1E90FF}| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!\n",pName[playerid],id);
    strcat(str,String);
    strcat(str,"\n\n{1E90FF}| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    ShowPlayerDialog(idDIALOG_ABORDADO,DIALOG_STYLE_MSGBOX"{FF0000}ABORDADO!"str"Entendi""-");

    /*
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!",pName[playerid],playerid);
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    */
    idssg[id] = playerid;
    PlayerInfo[id][Abordagem]=1;
    PlayerInfo[id][pFullTimer][0] = SetTimerEx("rendendos"segundos(15), false"i"id);
    return true;




RE: Dialog aparecendo para o player que da o comando - fear - 04/01/2024

(04/01/2024 19:47)Calasans Escreveu:
(04/01/2024 19:05)fear Escreveu: boa tarde.

eu tava fazendo um dialog que aparecesse para o player abordado na tela.. porém esta aparecendo para o policial que abordou... oque eu fiz de errado nela?

Código PHP:
CMD:ab(playerid,params[])
{
    new 
id;
    if(
PlayerInfo[playerid][cargo] != 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao faz parte da Equipe de Policiais!");
    if(
PlayerInfo[playerid][Sequestrado] == true)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce esta sequestrado!");
    if(
sscanf(params"u",id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Digite: /Ab [ id ou nick ]");
    if(!
IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta conectado!");
      if(GetDistanceBetweenPlayers(id,playerid) > 15)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Chegue mais perto do Player para poder abordar!");
    if(
PlayerInfo[id][pEstrelas] == 0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta na Lista de Procurado!");
    if(
PlayerInfo[id][Abordagem] == 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player ja foi abordado!");

    
SendClientMessage(playerid,COR_PM,"| DP - ZP | {FFFFFF}Voce abordou %s[%d] que esta sendo Procurado com %d Estrelas!",pName[id],id,PlayerInfo[id][pEstrelas]);

    new 
String[256], str[600];
    
format(Stringsizeof(String),"{1E90FF}| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!\n",pName[playerid],id);
    
strcat(str,String);
    
strcat(str,"\n\n{1E90FF}| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    
ShowPlayerDialog(playerid,DIALOG_ABORDADO,DIALOG_STYLE_MSGBOX,"{FF0000}ABORDADO!",str,"Entendi""-");

    
/*
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!",pName[playerid],playerid);
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    */
    
idssg[id] = playerid;
    
PlayerInfo[id][Abordagem]=1;
    
PlayerInfo[id][pFullTimer][0] = SetTimerEx("rendendos"segundos(15), false"i"id);
    return 
1;

Está definindo o ShowPlayerDialog como playerid

Segue abaixo uma correção.
Código PHP:
CMD:ab(playeridparams[])
{
    new id;
    if(PlayerInfo[playerid][cargo] != 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce nao faz parte da Equipe de Policiais!");
    if(PlayerInfo[playerid][Sequestrado] == true)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Voce esta sequestrado!");
    if(sscanf(params"u",id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Digite: /Ab [ id ou nick ]");
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta conectado!");
      if(GetDistanceBetweenPlayers(id,playerid) > 15)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Chegue mais perto do Player para poder abordar!");
    if(PlayerInfo[id][pEstrelas] == 0)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player nao esta na Lista de Procurado!");
    if(PlayerInfo[id][Abordagem] == 1)return SendClientMessage(playerid,Vermelho,"[ ERRO ] Esse Player ja foi abordado!");

    SendClientMessage(playerid,COR_PM,"| DP - ZP | {FFFFFF}Voce abordou %s[%d] que esta sendo Procurado com %d Estrelas!",pName[id],id,PlayerInfo[id][pEstrelas]);

    new String[256], str[600];
    format(Stringsizeof(String),"{1E90FF}| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!\n",pName[playerid],id);
    strcat(str,String);
    strcat(str,"\n\n{1E90FF}| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    ShowPlayerDialog(idDIALOG_ABORDADO,DIALOG_STYLE_MSGBOX"{FF0000}ABORDADO!"str"Entendi""-");

    /*
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Voce foi abordado pelo Policial {FF0000}%s[%d]{FFFFFF}. Tem 15 segundos para decidir!",pName[playerid],playerid);
    SendClientMessage(id,COR_PM,"| DP - ZP | {FFFFFF}Digite: {FF0000}/R {FFFFFF}para se render ou {FF0000}/F {FFFFFF} para dar fuga!");
    */
    idssg[id] = playerid;
    PlayerInfo[id][Abordagem]=1;
    PlayerInfo[id][pFullTimer][0] = SetTimerEx("rendendos"segundos(15), false"i"id);
    return true;


Obrigado era isso mesmo.