23.07.2016, 04:53
Buenas tardes comunidad, bueno hoy estuve trabajando con mi gamemode, y tenнa ganas de cambiarle el login/registro, bueno lo hice todo bien, hasta que llegу el punto de testear, al testear, te creas una cuenta nueva y te tira la opciуn directamente para loguear, osea poner la contraseсa, pero la cuenta nunca se registrу, osea antes de йsto me tendrнa que mostrar para colocar una contraseсa para registrarme, їvamos bien?, bueno, antes el registro/ingreso era mediante textdraw, pero ahora querнa que salga directamente el dialogo.
Espero que me puedan ayudar, gracias de ante mano!
Код HTML:
ShowMainMenuDialog(playerid, frame) { InsideMainMenu[playerid] = true; switch(frame) { case 1: { InsideMainMenu[playerid] = true; INI_ParseFile(UserPath(playerid), "LoadUser_pass", .bExtra = true, .extra = playerid); format(szMessage, sizeof(szMessage), ""COL_B"ЎBienvenido {BFDC68}(%s)"COL_B"! para jugar en el servidor ingrese su contraseсa\n\n{A5ADEC}Contraseсa:\n", GetPlayerNameEx(playerid)); ShowPlayerDialog(playerid,D_INGRESO,DIALOG_STYLE_PASSWORD ,""COL_B"Ingresar",szMessage,"Ingresar","Salir"); SetPlayerVirtualWorld(playerid, 20); } case 2: { InsideMainMenu[playerid] = true; format(szMessage, sizeof(szMessage), ""COL_B"Su cuenta {BFDC68}(%s)"COL_B" no esta registrada en la base de datos\n\n{A5ADEC}Ingrese una contraseсa en el siguiente espacio:\n", GetPlayerNameEx(playerid)); ShowPlayerDialog(playerid,D_REGISTRO,DIALOG_STYLE_INPUT ,""COL_B"Registro",szMessage,"Registrar","Salir"); } } }
Код HTML:
case D_INGRESO: { if(response) { if(udb_hash(inputtext) == Info[playerid][pClave]) { InsideMainMenu[playerid] = false; INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid); //KillTimer(LoginTimer[playerid]); OnPlayerLoginEx(playerid); } else { new cam = Random(1,4); SetPlayerCameraPos(playerid, cam); format(szDialog, sizeof(szDialog), ""COL_B"Ha ocurrido un error!\nHas ingresado una contraseсa incorrecta.\nVuelve a ingresar tu contraseсa correcta.\n\n"COL_GENERAL"Contraseсa:", GetPlayerNameEx(playerid)); ShowPlayerDialog(playerid,D_INGRESO,DIALOG_STYLE_PASSWORD ,""COL_B"ERROR",szDialog,"Entrar","Salir"); SetPlayerVirtualWorld(playerid, 20); return 1; } } } case D_REGISTRO: { if(response) { if(strlen(inputtext) > 12) { new cam = Random(1,8); SetPlayerCameraPos(playerid, cam); format(szDialog, sizeof(szDialog), ""COL_B"Ha ocurrido un error.\nDebes ingresar una contraseсa no mayor de 15 carбcteres.\nVuelve a intentarlo.\n\n"COL_GENERAL"Contraseсa:"); ShowPlayerDialog(playerid,D_REGISTRO,DIALOG_STYLE_INPUT ,""COL_B"ERROR",szDialog,"Registrar","Salir"); return 1; } if(isnull(inputtext)) { new cam = Random(1,8); SetPlayerCameraPos(playerid, cam); format(szDialog, sizeof(szDialog), ""COL_B"Ha ocurrido un error.\nDebes ingresar una contraseсa con mбs de 1 carбcter, no has ingresado nada.\nVuelve a intentarlo.\n\n"COL_GENERAL"Contraseсa:"); ShowPlayerDialog(playerid,D_REGISTRO,DIALOG_STYLE_PASSWORD,""COL_B"ERROR",szDialog,"Registrar","Salir"); return 1; } InsideMainMenu[playerid] = false; OnPlayerRegister(playerid,inputtext); //KillTimer(LoginTimer[playerid]); return 1; } }