[Ayuda] No me reconoce la Contraseсa.
#1

[I]Buenas, eh echo el Tutorial de Y_INI que esta aqui mismo pero al editarle algunas cosas me dejo de reconocer la contraseсa.. Osea, Entras, te registras, sales, vuelves a entrar e ingresas la contraseсa y no te la reconoce.

Les dejo el cуdigo completo a ver si ustedes se dan cuenta del error :/

Код:
#include <a_samp>
#include <YSI\y_ini>

//- Defines
#define Ubicacion "/Usuarios/%s.ini"

//- Dialogos
#define D_Registro 		00
#define D_Ingreso       01

//- Colores
#define Hablar	0xE6E6E6E6
#define Hablar2 0xC8C8C8C8
#define Hablar3 0xAAAAAAAA
#define Hablar4 0x8C8C8C8C
#define Hablar5 0x6E6E6E6E

//- News
new BigEar[MAX_PLAYERS];

//- Forwards
forward CCuentas(playerid,name[],value[]);
forward ProxDetector(Float:radi, playerid, string[] ,col1,col2,col3,col4,col5);

//- Enums
enum Info
{
    Clave,
    Dinero,
	Administracion,
	Sexo,
	Edad,
	Nacionalidad,
	Trabajo,
	Lider,
	Miembro
}
new Jugadores[MAX_PLAYERS][Info];

//- Comienzo del GameMode

public OnGameModeInit()
{
	SendRconCommand("hostname |-| America RolePlay |-|");
	SetGameModeText(" -| Version 2.0 | 2013 |-");
	SendRconCommand("mapname |-| Los Santos |-|");
	ManualVehicleEngineAndLights(); // Motores OFF
	ShowPlayerMarkers(0); // Mapa OFF
	DisableInteriorEnterExits(); // Entradas OFF
	return 1;
}

public OnPlayerConnect(playerid)
{
    SetPlayerColor(playerid, -1);
    ResetPlayerMoney(playerid);
    if(fexist(Ubicaciones(playerid)))
    {
        INI_ParseFile(Ubicaciones(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, D_Ingreso, DIALOG_STYLE_PASSWORD, "Login", "Enter your password below:", "Login", "Cancel");
        printf("Pass: %d", Jugadores[playerid][Clave]); // this
    }
    else
    {
        ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "Login", "Enter your password below:", "Login", "Cancel");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(Ubicaciones(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Dinero",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Administracion",Jugadores[playerid][Administracion]);
    INI_Close(File);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    GetPlayerMoney(GetPlayerMoney(playerid) -350);
	SendClientMessage(playerid,- 1,"[Hospital] Tras horas de Internacion usted se ha recuperado Totalmente | Costo: $350");
    return 1;
}

public CCuentas(playerid,name[],value[])
{
    INI_Int("Clave",Jugadores[playerid][Clave]);
    INI_Int("Dinero",Jugadores[playerid][Dinero]);
    INI_Int("Administracion",Jugadores[playerid][Administracion]);
    return 1;
}

public OnPlayerText(playerid, text[])
{
	new string[100];
	format(string, sizeof(string), "%s dice: %s", Nombres(playerid), text);
	ProxDetector(15.0, playerid, string, Hablar,Hablar2,Hablar3,Hablar4,Hablar5);
	return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == D_Registro)
	{
		if(response == 1)
		{
   			if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "Login", "Enter your password below:", "Login", "Cancel");
            new INI:File = INI_Open(Ubicaciones(playerid));
            INI_SetTag(File,"data");
            INI_WriteInt(File,"Clave",secret(inputtext));
            GivePlayerMoney(playerid,500);
            INI_WriteInt(File,"Dinero",0);
            INI_WriteInt(File,"Administracion",0);
            INI_Close(File);
			//-
            SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
			return 1;
		}
		if(response == 0)
		{
			Kick(playerid);
			return 1;
		}
		return 1;
	}
	
	if(dialogid == D_Ingreso)
	{
		if(response == 1)
		{
			if(secret(inputtext) == Jugadores[playerid][Clave])
            {
                INI_ParseFile(Ubicaciones(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                GivePlayerMoney(playerid, Jugadores[playerid][Dinero]);
                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
            	SpawnPlayer(playerid);
            }
            else
            {
                ShowPlayerDialog(playerid, D_Ingreso, DIALOG_STYLE_PASSWORD, "Login", "Enter your password below:", "Login", "Cancel");
            }
            return 1;
		}
		if(response == 0)
		{
			Kick(playerid);
			return 1;
		}
	}
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 0;
}

//- Stocks
stock Ubicaciones(playerid)
{
    new string[128], JNombre[MAX_PLAYER_NAME];
    GetPlayerName(playerid, JNombre, sizeof(JNombre));
    format(string,sizeof(string), Ubicacion, JNombre);
    return string;
}

stock Nombres(playerid)
{
	new Nombre[30];
	GetPlayerName(playerid, Nombre, 30);
	new N[30];
	strmid(N, Nombre, 0,strlen(Nombre), 30);
	for(new i = 0; i < MAX_PLAYER_NAME; i++)
	{
		if (N[i] == '_') N[i] = ' ';
	}
	return N;
}

stock secret(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:posx, Float:posy, Float:posz;
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
		{
			if(!BigEar)
			{
				GetPlayerPos(i, posx, posy, posz);
				tempposx = (oldposx -posx);
				tempposy = (oldposy -posy);
				tempposz = (oldposz -posz);
				if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
				{
					SendClientMessage(i, col1, string);
				}
				else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
				{
					SendClientMessage(i, col2, string);
				}
				else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
				{
					SendClientMessage(i, col3, string);
				}
				else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
				{
					SendClientMessage(i, col4, string);
				}
				else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
				{
					SendClientMessage(i, col5, string);
				}
				}
				else
				{
					SendClientMessage(i, col1, string);
				}
			}
		}
	}
	return 1;
}

main()
{
}


Desde ya muchнsimas Gracias.
(Al que me ayude le doy +1 en 5 Topic)
Reply
#2

prueba asi..

Код:
#include <a_samp>
#include <YSI\y_ini>

//- Defines
#define Ubicacion "/Usuarios/%s.ini"

//- Dialogos
#define D_Registro 		00
#define D_Ingreso       01

//- Colores
#define Hablar	0xE6E6E6E6
#define Hablar2 0xC8C8C8C8
#define Hablar3 0xAAAAAAAA
#define Hablar4 0x8C8C8C8C
#define Hablar5 0x6E6E6E6E

//- News
new BigEar[MAX_PLAYERS];

//- Forwards
forward CCuentas(playerid,name[],value[]);
forward ProxDetector(Float:radi, playerid, string[] ,col1,col2,col3,col4,col5);

//- Enums
enum Info
{
    Clave,
    Dinero,
	Administracion,
	Sexo,
	Edad,
	Nacionalidad,
	Trabajo,
	Lider,
	Miembro
}
new Jugadores[MAX_PLAYERS][Info];

//- Comienzo del GameMode

public OnGameModeInit()
{
	SendRconCommand("hostname |-| America RolePlay |-|");
	SetGameModeText(" -| Version 2.0 | 2013 |-");
	SendRconCommand("mapname |-| Los Santos |-|");
	ManualVehicleEngineAndLights(); // Motores OFF
	ShowPlayerMarkers(0); // Mapa OFF
	DisableInteriorEnterExits(); // Entradas OFF
	return 1;
}

public OnPlayerConnect(playerid)
{
    SetPlayerColor(playerid, -1);
    ResetPlayerMoney(playerid);
    if(fexist(Ubicaciones(playerid)))
    {
        INI_ParseFile(Ubicaciones(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
        ShowPlayerDialog(playerid, D_Ingreso, DIALOG_STYLE_PASSWORD, "Login", "Enter your password below:", "Login", "Cancel");
        printf("Pass: %d", Jugadores[playerid][Clave]); // this
    }
    else
    {
        ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "Login", "Enter your password below:", "Login", "Cancel");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new INI:File = INI_Open(Ubicaciones(playerid));
    INI_SetTag(File,"data");
    INI_WriteInt(File,"Dinero",GetPlayerMoney(playerid));
    INI_WriteInt(File,"Administracion",Jugadores[playerid][Administracion]);
    INI_Close(File);
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    GetPlayerMoney(GetPlayerMoney(playerid) -350);
	SendClientMessage(playerid,- 1,"[Hospital] Tras horas de Internacion usted se ha recuperado Totalmente | Costo: $350");
    return 1;
}

public CCuentas(playerid,name[],value[])
{
    INI_Int("Clave",Jugadores[playerid][Clave]);
    INI_Int("Dinero",Jugadores[playerid][Dinero]);
    INI_Int("Administracion",Jugadores[playerid][Administracion]);
    return 1;
}

public OnPlayerText(playerid, text[])
{
	new string[100];
	format(string, sizeof(string), "%s dice: %s", Nombres(playerid), text);
	ProxDetector(15.0, playerid, string, Hablar,Hablar2,Hablar3,Hablar4,Hablar5);
	return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == D_Registro)
	{
		if(response == 1)
		{
   			if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "Login", "Enter your password below:", "Login", "Cancel");
            new INI:File = INI_Open(Ubicaciones(playerid));
            INI_SetTag(File,"data");
            INI_WriteInt(File,"Clave",secret(inputtext));
            GivePlayerMoney(playerid,500);
            INI_WriteInt(File,"Dinero",0);
            INI_WriteInt(File,"Administracion",0);
            INI_Close(File);
			//-
            SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
            SpawnPlayer(playerid);
			return 1;
		}
		if(response == 0)
		{
			Kick(playerid);
			return 1;
		}
		return 1;
	}

	if(dialogid == D_Ingreso)
	{
		if(response == 1)
		{
			if(secret(inputtext) == secret(Jugadores[playerid][Clave]))
            {
                INI_ParseFile(Ubicaciones(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
                GivePlayerMoney(playerid, Jugadores[playerid][Dinero]);
                SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 0, 0, 0, 0, 0, 0);
            	SpawnPlayer(playerid);
            }
            else
            {
                ShowPlayerDialog(playerid, D_Ingreso, DIALOG_STYLE_PASSWORD, "Login", "Enter your password below:", "Login", "Cancel");
            }
            return 1;
		}
		if(response == 0)
		{
			Kick(playerid);
			return 1;
		}
	}
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 0;
}

//- Stocks
stock Ubicaciones(playerid)
{
    new string[128], JNombre[MAX_PLAYER_NAME];
    GetPlayerName(playerid, JNombre, sizeof(JNombre));
    format(string,sizeof(string), Ubicacion, JNombre);
    return string;
}

stock Nombres(playerid)
{
	new Nombre[30];
	GetPlayerName(playerid, Nombre, 30);
	new N[30];
	strmid(N, Nombre, 0,strlen(Nombre), 30);
	for(new i = 0; i < MAX_PLAYER_NAME; i++)
	{
		if (N[i] == '_') N[i] = ' ';
	}
	return N;
}

stock secret(buf[]) {
    new length=strlen(buf);
    new s1 = 1;
    new s2 = 0;
    new n;
    for (n=0; n<length; n++)
    {
       s1 = (s1 + buf[n]) % 65521;
       s2 = (s2 + s1)     % 65521;
    }
    return (s2 << 16) + s1;
}

public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:posx, Float:posy, Float:posz;
		new Float:oldposx, Float:oldposy, Float:oldposz;
		new Float:tempposx, Float:tempposy, Float:tempposz;
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		for(new i = 0; i < MAX_PLAYERS; i++)
		{
		if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
		{
			if(!BigEar)
			{
				GetPlayerPos(i, posx, posy, posz);
				tempposx = (oldposx -posx);
				tempposy = (oldposy -posy);
				tempposz = (oldposz -posz);
				if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
				{
					SendClientMessage(i, col1, string);
				}
				else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
				{
					SendClientMessage(i, col2, string);
				}
				else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
				{
					SendClientMessage(i, col3, string);
				}
				else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
				{
					SendClientMessage(i, col4, string);
				}
				else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
				{
					SendClientMessage(i, col5, string);
				}
				}
				else
				{
					SendClientMessage(i, col1, string);
				}
			}
		}
	}
	return 1;
}

main()
{
}
Reply
#3

Nop :/
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)