[Ajuda] dialog de novo .-. -
Cristhian - 24.09.2011
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Nгo Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha invalida, digite uma senha vбlida");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
dini_Create(String);
dini_Set(String,"Senha",inputtext);
dini_IntSet(String,"Dinheiro",0);
dini_IntSet(String,"Vida", 100);
dini_IntSet(String,"Colete", 100);
dini_IntSet(String,"Matou",0);
dini_IntSet(String,"Morreu",0);
dini_IntSet(String,"Logou",0);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login", "{1E90FF}Pronto vocк se registrou agora digite Sua Senha Para Logar-Se", "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, 0x9900FFAA, "Vocк Foi Kickado Porque Nгo Quis Se Registrar!!");
Kick(playerid);
return 1;
}
}
if(dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
if(!strcmp(inputtext,dini_Get(String,"Senha"),false))
{
SetarPlayer(playerid);
Logou[playerid]++;
SendClientMessage(playerid,0x9900FFAA,"Vocк Foi Logado Com Sucesso!!!");
return 1;
}
else
{
SendClientMessage(playerid,0x9900FFAA,"Senha incorreta digite-a novamente");
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, 0x9900FFAA, "Vocк nгo quis se logar, por este motivo serб Kickado");
Kick(playerid);
return 1;
}
}
//------------------------------------------------------------------------------
if(dialogid == loja1)
{
if(response)
{
if(listitem == 0) //pizza
{
GivePlayerHealth(playerid, 16);
GivePlayerMoney(playerid, -12);
SendClientMessage(playerid, AZUL, "Vocк comeu uma pizza");
}
if(listitem == 1) //bolacha
{
GivePlayerHealth(playerid, 5);
GivePlayerMoney(playerid, -3);
SendClientMessage(playerid, AZUL, "Vocк comeu um pacote de bolacha");
}
if(listitem == 2) //sucrilhos
{
GivePlayerHealth(playerid, 9);
GivePlayerMoney(playerid, -5);
SendClientMessage(playerid, AZUL, "Vocк comeu sucrilho com leite");
}
if(listitem == 3) //barra de chocolate
{
GivePlayerHealth(playerid, 2);
GivePlayerMoney(playerid, -10);
SendClientMessage(playerid, AZUL, "Vocк comeu uma barra de chocolate");
SendClientMessage(playerid, VERMELHO, "Cuidado, chocolate demais faz mal a saъde");
}
if(listitem == 4) //pгo
{
GivePlayerHealth(playerid, 4);
GivePlayerMoney(playerid, -1);
SendClientMessage(playerid, AZUL, "Vocк comeu pгo francкs");
}
}
return 1;
}
return 0;
}
quando eu pego a pickup loja1 por engano, e clico em cancelar, sou kikado automaticamente e diz que me recusei a registar ]=
Re: [Ajuda] dialog de novo .-. -
[RoxX]Ygor - 24.09.2011
Retire as returns pode resolver;
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REGISTRO)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Nгo Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar", Nome);
ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha invalida, digite uma senha vбlida");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
dini_Create(String);
dini_Set(String,"Senha",inputtext);
dini_IntSet(String,"Dinheiro",0);
dini_IntSet(String,"Vida", 100);
dini_IntSet(String,"Colete", 100);
dini_IntSet(String,"Matou",0);
dini_IntSet(String,"Morreu",0);
dini_IntSet(String,"Logou",0);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Login", "{1E90FF}Pronto vocк se registrou agora digite Sua Senha Para Logar-Se", "Logar", "Cancelar");
return 1;
}
else
{
SendClientMessage(playerid, 0x9900FFAA, "Vocк Foi Kickado Porque Nгo Quis Se Registrar!!");
Kick(playerid);
}
}
if(dialogid == LOGIN)
{
if(response)
{
if(!strlen(inputtext))
{
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
return 1;
}
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
new String[100];
format(String, sizeof(String), CONTAS, Nome);
if(!strcmp(inputtext,dini_Get(String,"Senha"),false))
{
SetarPlayer(playerid);
Logou[playerid]++;
SendClientMessage(playerid,0x9900FFAA,"Vocк Foi Logado Com Sucesso!!!");
return 1;
}
else
{
SendClientMessage(playerid,0x9900FFAA,"Senha incorreta digite-a novamente");
format(String, sizeof(String), "{7FFFD4}Nick: {1E90FF}%s {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar", Nome);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_INPUT, "Registro", String, "Logar", "Cancelar");
}
return 1;
}
else
{
SendClientMessage(playerid, 0x9900FFAA, "Vocк nгo quis se logar, por este motivo serб Kickado");
Kick(playerid);
}
}
//------------------------------------------------------------------------------
if(dialogid == loja1)
{
if(response)
{
if(listitem == 0) //pizza
{
GivePlayerHealth(playerid, 16);
GivePlayerMoney(playerid, -12);
SendClientMessage(playerid, AZUL, "Vocк comeu uma pizza");
}
if(listitem == 1) //bolacha
{
GivePlayerHealth(playerid, 5);
GivePlayerMoney(playerid, -3);
SendClientMessage(playerid, AZUL, "Vocк comeu um pacote de bolacha");
}
if(listitem == 2) //sucrilhos
{
GivePlayerHealth(playerid, 9);
GivePlayerMoney(playerid, -5);
SendClientMessage(playerid, AZUL, "Vocк comeu sucrilho com leite");
}
if(listitem == 3) //barra de chocolate
{
GivePlayerHealth(playerid, 2);
GivePlayerMoney(playerid, -10);
SendClientMessage(playerid, AZUL, "Vocк comeu uma barra de chocolate");
SendClientMessage(playerid, VERMELHO, "Cuidado, chocolate demais faz mal a saъde");
}
if(listitem == 4) //pгo
{
GivePlayerHealth(playerid, 4);
GivePlayerMoney(playerid, -1);
SendClientMessage(playerid, AZUL, "Vocк comeu pгo francкs");
}
}
}
return 1;
}
Re: [Ajuda] dialog de novo .-. -
WLSF - 24.09.2011
O correto й retornar cada 'dialogid' e de preferкncia usar if(response) & if(!response) pra que usar else nisso?
Re: [Ajuda] dialog de novo .-. -
Cristhian - 24.09.2011
mais problema que percebi agora, quando eu escolho pizza por exemplo no dialog, aparece outra caixa pra digitar minha senha dizendo que jб registrei e sу falta logar, depois disso cancelei e fui kikado do server, fui em scriptfiles nas contas dos players entrei na minha e vi que minha senha havia sido trocada por Pizza R$12,00...
tenso' =[
Re: [Ajuda] dialog de novo .-. -
StrondA_ - 24.09.2011
Utilizando id iguais й que ocorre isso!
Re: [Ajuda] dialog de novo .-. -
Cristhian - 24.09.2011
sгo id's diferentes..
OBS: estou passando isso para um FS
Re: [Ajuda] dialog de novo .-. -
StrondA_ - 24.09.2011
entгo nгo existe problema, tente usar switch..
Re: [Ajuda] dialog de novo .-. -
Cristhian - 24.09.2011
nгo sei usar switch ...
e passei pro fs e o bug persistiu
Re: [Ajuda] dialog de novo .-. -
StrondA_ - 24.09.2011
Exemplo:
pawn Код:
#define Cristiana 504
public OnDialogResponse..
{
if(dialogid == Cristiana)
{
switch(listitem)
{
case 0:
{
return...
}
case 1: assim por diante..
Re: [Ajuda] dialog de novo .-. -
[O.z]Caroline - 24.09.2011
nada ver,
terб que criar um nova ID para dialog:
pawn Код:
if(dialogid == DIALOG_LOJA)
{
if(response)
{
if(listitem == 0) //pizza
{
GivePlayerHealth(playerid, 16);
GivePlayerMoney(playerid, -12);
SendClientMessage(playerid, AZUL, "Vocк comeu uma pizza");
}
if(listitem == 1) //bolacha
{
GivePlayerHealth(playerid, 5);
GivePlayerMoney(playerid, -3);
SendClientMessage(playerid, AZUL, "Vocк comeu um pacote de bolacha");
}
if(listitem == 2) //sucrilhos
{
GivePlayerHealth(playerid, 9);
GivePlayerMoney(playerid, -5);
SendClientMessage(playerid, AZUL, "Vocк comeu sucrilho com leite");
}
if(listitem == 3) //barra de chocolate
{
GivePlayerHealth(playerid, 2);
GivePlayerMoney(playerid, -10);
SendClientMessage(playerid, AZUL, "Vocк comeu uma barra de chocolate");
SendClientMessage(playerid, VERMELHO, "Cuidado, chocolate demais faz mal a saъde");
}
if(listitem == 4) //pгo
{
GivePlayerHealth(playerid, 4);
GivePlayerMoney(playerid, -1);
SendClientMessage(playerid, AZUL, "Vocк comeu pгo francкs");
}
}
}