[DUDA] їPorque no me va el dialogo?
#1

Muy buenas chicos de samp, anteriormente, publique un post de lo mismo, pero nadie pudo resolver mi problema, Os explico.

He echo un gamemode RP De 0, y cuando finalizas el tutorial, te pregunta que edad tienes, entonces tu introduces la edad y con El Include DINI Se te guarda a Tu Cuenta.

Donde esta el problema?ї
- Que el dialog no hace nada, si pongo un sendclientmessage no funcionaria tampoco, No cumple lo que le mando, os dejare todo el OnDialogResponse y los Forwards Junto la parte que me envia al Dialog

(Los otros dialogs si que van, excepto el de la EDAD)

Defines...

Код:
#define Maximo_Contraseсas_Incorrectas 3
#define REGISTRO 1
#define INGRESO 2
#define EDADIALOG 4
OnDialogResponse

Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new REGISTRANDO[256];
new INGRESANDO[256];
new Nombre[MAX_PLAYER_NAME];
GetPlayerName(playerid,Nombre,sizeof(Nombre));
format(REGISTRANDO,sizeof(REGISTRANDO),"{FFFFFF}La Cuenta Con El Nombre: %s {FF0000}No Esta Registrada {FFFFFF}Escribe Una Contraseсa Para Guardar Tu Cuenta:",Nombre);
format(INGRESANDO,sizeof(INGRESANDO),"{FFFFFF}La Cuenta Con El Nombre: %s {00FF00}Esta Registrada {FFFFFF}Escribe Tu Contraseсa Para Entrar:",Nombre);

if (dialogid == REGISTRO)
{
new nombrejugador[MAX_PLAYER_NAME], archivo[256];
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro", REGISTRANDO , "{FFFFFF}Registrar", "{FFFFFF}Cancelar");
if (!response) return ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "{FFFFFF}Registro",REGISTRANDO, "Registrar", "Cancelar");
GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
dini_Create(archivo);
dini_Set(archivo, "Usuario", nombrejugador);
dini_Set(archivo, "Contraseсa", inputtext);
dini_IntSet(archivo, "NivelAdmin", PlayerInfo[playerid][Adminlvl]);
dini_IntSet(archivo, "Nivel", PlayerInfo[playerid][Nivel]);
dini_IntSet(archivo, "Edad", PlayerInfo[playerid][Nivel]);
dini_IntSet(archivo, "Sexo", PlayerInfo[playerid][Sexo]);
dini_IntSet(archivo, "Dinero", PlayerInfo[playerid][Dinero]);
dini_IntSet(archivo, "Banco", PlayerInfo[playerid][Banco]);
dini_IntSet(archivo, "Tarjetac", PlayerInfo[playerid][Tarjetac]);
dini_IntSet(archivo, "Coche1", PlayerInfo[playerid][Coche1]);
dini_IntSet(archivo, "Coche2", PlayerInfo[playerid][Coche2]);
dini_IntSet(archivo, "Coche3", PlayerInfo[playerid][Coche3]);
dini_IntSet(archivo, "Drogas", PlayerInfo[playerid][Drogas]);
dini_IntSet(archivo, "Ganzuas", PlayerInfo[playerid][Ganzuas]);
dini_IntSet(archivo, "Semillas", PlayerInfo[playerid][Semillas]);
dini_IntSet(archivo, "Faccion", PlayerInfo[playerid][Faccion]);
dini_IntSet(archivo, "Job", PlayerInfo[playerid][Job]);
dini_IntSet(archivo, "Telefono", PlayerInfo[playerid][Telefono]);
dini_IntSet(archivo, "Tutorial", PlayerInfo[playerid][Tutorial]);
tutorial1(playerid);
return 1;
}

if (dialogid == INGRESO)
{
new nombrejugador[MAX_PLAYER_NAME], archivo[256], comprobante[256];
if (!strlen(inputtext)) return ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "{FFFFFF}Ingresar", INGRESANDO , "{FFFFFF}Ingresar", "{FFFFFF}Cancelar");
if (!response) return ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "{FFFFFF}Ingresar", INGRESANDO , "Ingresar", "Cancelar");
GetPlayerName(playerid, nombrejugador, sizeof(nombrejugador));
format(archivo, sizeof(archivo), "/Usuarios/%s.ini", nombrejugador);
format(comprobante, sizeof(comprobante), "%s", dini_Get(archivo, "Contraseсa"));
if (!strcmp (inputtext, comprobante))
{
PlayerInfo[playerid][Registrado] = 1;
PlayerInfo[playerid][Identificado] = 1;
PlayerInfo[playerid][Adminlvl] = dini_Int(archivo,"NivelAdmin");
PlayerInfo[playerid][Nivel] = dini_Int(archivo, "Nivel");
PlayerInfo[playerid][Dinero] = dini_Int(archivo, "Dinero");
PlayerInfo[playerid][Banco] = dini_Int(archivo, "Banco");
PlayerInfo[playerid][Tarjetac] = dini_Int(archivo, "Tarjetac");
PlayerInfo[playerid][Coche1] = dini_Int(archivo, "Coche1");
PlayerInfo[playerid][Coche2] = dini_Int(archivo, "Coche2");
PlayerInfo[playerid][Coche3] = dini_Int(archivo, "Coche3");
PlayerInfo[playerid][Drogas] = dini_Int(archivo, "Drogas");
PlayerInfo[playerid][Ganzuas] = dini_Int(archivo, "Ganzuas");
PlayerInfo[playerid][Semillas] = dini_Int(archivo, "Semillas");
PlayerInfo[playerid][Ganzuas] = dini_Int(archivo, "Faccion");
PlayerInfo[playerid][Job] = dini_Int(archivo, "Job");
PlayerInfo[playerid][Telefono] = dini_Int(archivo, "Telefono");
PlayerInfo[playerid][Tutorial] = dini_Int(archivo, "Tutorial");
GivePlayerMoney(playerid,dini_Int(archivo, "Dinero"));
}
else
{
PlayerPlaySound(playerid, 1053, 0.0, 0.0, 0.0);
SendClientMessage(playerid, 0xFF0000FF, "Contraseсa Incorrecta");
ShowPlayerDialog(playerid, INGRESO, DIALOG_STYLE_INPUT, "Ingresar", INGRESANDO , "Ingresar", "Cancelar");
ContrasenaIncorrecta[playerid]++;
if(ContrasenaIncorrecta[playerid] == Maximo_Contraseсas_Incorrectas)
{
SendClientMessage(playerid, 0xFF0000FF, "Las Contraseсas Ingresadas No Coinciden Con El Nombre De La Cuenta");
Kick(playerid);
return 1;
}

if(dialogid == EDADIALOG)
{
if(response)
{
new edadinsertada = strval(inputtext);
if(edadinsertada < 18 || edadinsertada > 80)
SendClientMessage(playerid, 0xFF0000FF, "Edadcorrecta");
{
new Poneredadialog[MAX_PLAYER_NAME];
GetPlayerName(playerid, Poneredadialog, sizeof(Poneredadialog));
new Archivo[256];
format(Archivo, sizeof(Archivo), "/Usuarios/%s.ini", Poneredadialog);
dini_Set(Archivo, "Edad", inputtext);
SendClientMessage(playerid, 0xFF0000FF, "Todo Echo");
}
}
}
}
}
return 1;
}
Y ahora el public en que se cumple la Funcion

Код:
public Registrocompleto(playerid)
{
TextDrawHideForPlayer(playerid, Tutorialliniaroja[playerid]);
TextDrawHideForPlayer(playerid, Tutorialfondonegro[playerid]);
TextDrawHideForPlayer(playerid, tutorial7a[playerid]);
TextDrawHideForPlayer(playerid, tutorial7b[playerid]);
TextDrawHideForPlayer(playerid, tutorial7c[playerid]);
TextDrawHideForPlayer(playerid, tutorial7a[playerid]);
TextDrawHideForPlayer(playerid, tutorial7b[playerid]);
TextDrawHideForPlayer(playerid, tutorial7c[playerid]);
SetCameraBehindPlayer(playerid);
PlayerInfo[playerid][Tutorial] = 1;
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, EDADIALOG, DIALOG_STYLE_INPUT, "{FFFFFF}EDAD [IC]", "Buenas їcuantos aсos tienes?", "{FFFFFF}Registrar", "{FFFFFF}Cancelar");
return 1;
}
Reply
#2

Pues la verdad no veo el problema pero si no pasa nad es por que el public
pawn Код:
public Registrocompleto(playerid)
No esta relacionado Agrega esto

pawn Код:
Registrocompleto(playerid);
Donde se cumple la funcion.

Haber que pasa.

EDIT:

Reemplaza por esto el dialogo de edad

pawn Код:
if(dialogid == EDADIALOG)
{
if(response)
{
new edadinsertada = strval(inputtext);
if(edadinsertada < 18 || edadinsertada > 80)
SendClientMessage(playerid, 0xFF0000FF, "Edadcorrecta");
{
new Poneredadialog[MAX_PLAYER_NAME];
GetPlayerName(playerid, Poneredadialog, sizeof(Poneredadialog));
new Archivo[256];
format(Archivo, sizeof(Archivo), "/Usuarios/%s.ini", Poneredadialog);
dini_Set(Archivo, "Edad", inputtext);
SendClientMessage(playerid, 0xFF0000FF, "Todo Echo");
Registrocompleto(playerid);
}
}
}
}
}
return 1;
}
Reply
#3

Quote:
Originally Posted by Daniel_Ruiz
Посмотреть сообщение
Pues la verdad no veo el problema pero si no pasa nad es por que el public
pawn Код:
public Registrocompleto(playerid)
No esta relacionado Agrega esto

pawn Код:
Registrocompleto(playerid);
Donde se cumple la funcion.

Haber que pasa.
No entendi, yo acavo de poner esto pero se me abre el dialog, entonces yo pongo el texto le doy aceptar y no hace nada.

Код:
public tutorial7(playerid)
{
SetPlayerCameraPos(playerid, 1827.4745,-1691.7950,18.7643);
SetPlayerCameraLookAt(playerid, 1829.5662,-1690.4860,13.5469);
SetPlayerPos(playerid,1829.5662,-1690.4860,5.8389);
TextDrawHideForPlayer(playerid, tutorial6a[playerid]);
TextDrawHideForPlayer(playerid, tutorial3b[playerid]);
TextDrawShowForPlayer(playerid, tutorial7a[playerid]);
TextDrawShowForPlayer(playerid, tutorial7b[playerid]);
TextDrawShowForPlayer(playerid, tutorial7c[playerid]);
SetTimerEx("tutorial8", 8000, false, "i", playerid);
SetSpawnInfo(playerid, 0, 1, 1558.2534, -2316.4314, -11.9500, 269.15, 0, 0, 0, 0, 0, 0 );
return 1;
}

public tutorial8(playerid)
{
Registrocompleto(playerid);
return 1;
}

public Registrocompleto(playerid)
{
TextDrawHideForPlayer(playerid, Tutorialliniaroja[playerid]);
TextDrawHideForPlayer(playerid, Tutorialfondonegro[playerid]);
TextDrawHideForPlayer(playerid, tutorial7a[playerid]);
TextDrawHideForPlayer(playerid, tutorial7b[playerid]);
TextDrawHideForPlayer(playerid, tutorial7c[playerid]);
TextDrawHideForPlayer(playerid, tutorial7a[playerid]);
TextDrawHideForPlayer(playerid, tutorial7b[playerid]);
TextDrawHideForPlayer(playerid, tutorial7c[playerid]);
SetCameraBehindPlayer(playerid);
PlayerInfo[playerid][Tutorial] = 1;
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, EDADIALOG, DIALOG_STYLE_INPUT, "{FFFFFF}EDAD [IC]", "Buenas їcuantos aсos tienes?", "{FFFFFF}Registrar", "{FFFFFF}Cancelar");
return 1;
}
Reply
#4

Lee mi Edit.
Reply
#5

Sigue Sin IRME. T.T Gracias por todo
Reply
#6

Explicate mejor, Tu completas el registro y no hace nada?
Reply
#7

Me aparece el Dialog, introduzco la edad que quiero, le doy aceptar y no pasa nada, no me devuelve ningun mensaje ni nada.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)