SA-MP Forums Archive
[Ayuda]: Ingreso del servidor bug.! - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Ayuda]: Ingreso del servidor bug.! (/showthread.php?tid=612953)



[Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

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.


Код 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;
             }
        }
Espero que me puedan ayudar, gracias de ante mano!



Re: [Ayuda]: Ingreso del servidor bug.! - SickAttack - 23.07.2016

Entonces lo que pasa es que no guarda la cuenta?


Respuesta: [Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

Lo que pasa es que cuando entras con una cuenta nueva, no te deja registrarla, en vez de tirarte el panel de registro, te tira directamente el panel de ingreso, como si la cuenta ya estuviese creada anteriormente, cuando no es asн.. Pones cualquier contraseсa, claro, ya que no estб registrada йsta cuenta y te tira como que pusiste mal la clave. їMe entiendes?


Re: [Ayuda]: Ingreso del servidor bug.! - SickAttack - 23.07.2016

Haz que frame en ShowMainMenuDialog(playerid, frame) sea 2 y no 1.


Respuesta: [Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

ЎGRACIAS! ЎTE AMOOOOOO!

Era eso n.n

De verdad, gracias!



Respuesta: [Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

ЎUPS!

Ahora siempre al entrar me pide registro, osea entro una vez la registro, hago el test, pongo la edad, etc..etc..Salgo , vuelvo a entrar y me pide que me registre nuevamente.. :/



Re: [Ayuda]: Ingreso del servidor bug.! - SickAttack - 23.07.2016

Debes ver si su cuenta existe, si existe pon ShowMainMenuDialog(playerid, frame) con frame en 1, y si no existe su cuenta pon ShowMainMenuDialog(playerid, frame) con frame en 2.

Por ejemplo:
pawn Код:
if(fexist(PON LA DIRECCION AQUI))
{
    ShowMainMenuDialog(playerid, 1);
}
else
{
    ShowMainMenuDialog(playerid, 2);
}



Respuesta: [Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

No entendi. :B


Re: Respuesta: [Ayuda]: Ingreso del servidor bug.! - SickAttack - 23.07.2016

Quote:
Originally Posted by ScripterNovato
Посмотреть сообщение
No entendi. :B
Publica el callback OnPlayerConnect.


Respuesta: [Ayuda]: Ingreso del servidor bug.! - ScripterNovato - 23.07.2016

Код HTML:
public OnPlayerConnect(playerid)
{

    PlayAudioStreamForPlayer(playerid, RandMusic[random(sizeof(RandMusic))]);
    if(IsPlayerNPC(playerid)) return 1;
	new playerIP[16];
    TogglePlayerSpectating(playerid, 1);
	GetPlayerIp(playerid, playerIP, sizeof(playerIP));
    SetPlayerColor(playerid,COLOR_GRAD2);
 /* SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");
    SendClientMessage(playerid, COLOR_WHITE, "");*/

	if(CheckBan(playerIP) == 1)
	{
	    SetPlayerName(playerid, "BannedPlayer");
	    SendClientMessage(playerid, COLOR_GENERAL, ""COL_R"[Servidor]:"COL_G" Lo sentimos, su cuenta se encuentra baneada. Si cree que fue un error, por favor, reportelo via foro o TS3.");
		Expulsar(playerid);
		return 1;
	}
	TotalConnect++;
	resetPlayerVariables(playerid);
	MapsRemoveForPlayer(playerid);
	ClearMarriage(playerid);
	SyncPlayerTime(playerid);
	// Leсador
    lena1[playerid] = 0;
	SetPVarInt(playerid,"Lena",0);
	// Obrero
	SetPVarInt(playerid,"Miner", 0);
	entregare[playerid] = 0;
	Camaras[playerid] = 0;

	TextDrawShowForPlayer(playerid, Cargando1);
	TextDrawShowForPlayer(playerid, Cargando2);
	if(Iter_Count(Player) > MaxPlayersConnected)
	{
		MaxPlayersConnected = Iter_Count(Player);
		gettime(MPHour,MPMinute);
		getdate(MPYear,MPMonth,MPDay);
	}
	if(MaxPlayersConnected > 200) MaxPlayersConnected = 200; // Temp good fix
	SetTimerEx("SafeLogin", 4000, 0, "d", playerid);
    return 1;
}
function SafeLogin(playerid)
{
	ClearChatbox(playerid);
	TextDrawHideForPlayer(playerid, Cargando1);
	TextDrawHideForPlayer(playerid, Cargando2);
	ShowMenuLogin(playerid);
	SetPlayerPos(playerid, 1535.1390, -760.8167, 80.2266);
	SetPlayerCameraPos(playerid, 1547.1914, -736.4717, 108.1993);
    SetPlayerCameraLookAt(playerid, 1546.4908, -735.7599, 107.9343);
	new playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid, playername, sizeof(playername));
	if(strfind( playername, "_", true) == -1)
	{
 		SetPlayerName(playerid, "InvalidNick");
		SendClientMessageEx(playerid, COLOR_WHITE, ""COL_R"[ERROR]:"COL_G"Porfavor usa el formato correcto: Nombre_Apellido");
		SendClientMessageEx(playerid, COLOR_WHITE, ""COL_R"[ERROR]:"COL_G"Vuelve a entrar con el formato indicado." );
		Expulsar(playerid);
	}
        gPlayerAccount[playerid] = 1;
        ShowMainMenuDialog(playerid, 1);
    return 1;

}
ShowMainMenuDialog(playerid, frame)
{
	InsideMainMenu[playerid] = true;
	switch(frame)
	{
		case 1:
		{
        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");
		}
		case 2:
		{
 	    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 - {A5ADEC}",szMessage,"Ingresar","Salir");
		SetPlayerVirtualWorld(playerid, 20);
		}
	}
}
ShowMenuLogin(playerid)
{
	ClearChatbox(playerid);
	SelectTextDraw(playerid, COLOR_WHITE);
	TextDrawShowForPlayer(playerid, Intro[0]);
	TextDrawShowForPlayer(playerid, Intro[1]);
	TextDrawShowForPlayer(playerid, Intro[2]);
   	TextDrawShowForPlayer(playerid, Intro[3]);
	TextDrawShowForPlayer(playerid, Intro[4]);
	TextDrawShowForPlayer(playerid, Intro[5]);
	TextDrawShowForPlayer(playerid, Intro[6]);
	TextDrawShowForPlayer(playerid, Intro[7]);
	return 1;
}

HideMenuLogin(playerid)
{
   	TextDrawHideForPlayer(playerid, Intro[0]);
	TextDrawHideForPlayer(playerid, Intro[1]);
	TextDrawHideForPlayer(playerid, Intro[2]);
   	TextDrawShowForPlayer(playerid, Intro[3]);
	TextDrawShowForPlayer(playerid, Intro[4]);
	TextDrawShowForPlayer(playerid, Intro[5]);
	TextDrawShowForPlayer(playerid, Intro[6]);
	TextDrawShowForPlayer(playerid, Intro[7]);
	return 1;
}