04.06.2012, 18:20
[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 :/
Desde ya muchнsimas Gracias.
(Al que me ayude le doy +1 en 5 Topic)
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)