15.05.2014, 18:14
(
Последний раз редактировалось Kratory; 15.05.2014 в 18:45.
Причина: FIXED
)
Hey guys!
I've created the register/login system by my own, but im having problems with the Money value(Dinero in spanish).
While the registering im trying to set it to 5000, but in the saved file its always set to 0.
Any idea?
Code here:
I've created the register/login system by my own, but im having problems with the Money value(Dinero in spanish).
While the registering im trying to set it to 5000, but in the saved file its always set to 0.
Any idea?
Code here:
pawn Код:
#include <a_samp>
#include <YSI\y_ini>
//Colores
#define COL_WHITE "{FFFFFF}"
#define COL_RED "{F81414}"
#define COL_GREEN "{00FF22}"
#define COL_LIGHTBLUE "{00CED1}"
//Dialogs
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_SUCCESS_1 3
#define DIALOG_SUCCESS_2 4
//Users Path
#define PATH "/Usuarios/%s.ini"
//Enums
enum pInfo
{
pPass,
pDinero,
pAdmin,
pTelefono,
pCoche1,
pCoche2,
pCoche3,
pCasa1,
pCasa2,
pFaccion,
pJob,
pSkin,
pInterior,
Float:pPosX,
Float:pPosY,
Float:pPosZ
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//Forwards
forward LoadUser_data(playerid,name[],value[]);
//Stocks
stock UserPath(playerid)
{
new string[128],playername[MAX_PLAYER_NAME];
GetPlayerName(playerid,playername,sizeof(playername));
format(string,sizeof(string),PATH,playername);
return string;
}
main(){}
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Pass",PlayerInfo[playerid][pPass]);
INI_Int("Dinero",PlayerInfo[playerid][pDinero]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Telefono",PlayerInfo[playerid][pTelefono]);
INI_Int("Coche1",PlayerInfo[playerid][pCoche1]);
INI_Int("Coche2",PlayerInfo[playerid][pCoche2]);
INI_Int("Coche3",PlayerInfo[playerid][pCoche3]);
INI_Int("Casa1",PlayerInfo[playerid][pCasa1]);
INI_Int("Coche2",PlayerInfo[playerid][pCasa2]);
INI_Int("Faccion",PlayerInfo[playerid][pFaccion]);
INI_Int("Job",PlayerInfo[playerid][pJob]);
INI_Int("Skin",PlayerInfo[playerid][pSkin]);
INI_Int("Interior",PlayerInfo[playerid][pInterior]);
INI_Float("PosX",PlayerInfo[playerid][pPosX]);
INI_Float("PosY",PlayerInfo[playerid][pPosY]);
INI_Float("PosZ",PlayerInfo[playerid][pPosZ]);
return 1;
}
public OnGameModeInit()
{
SetGameModeText("Blank Script");
AddPlayerClass(0,1643.4510,-2287.4954,-1.1971,276.4842,0,0,0,0,0,0);
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerConnect(playerid)
{
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""COL_WHITE"Login",""COL_WHITE"Bienvenido!\nEscribe tu contraseсa debajo para entrar.","Login","Salir");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,""COL_WHITE"Registrando...",""COL_WHITE"Introduce una contraseсa debajo para registrar una nueva cuenta.","Registrar","Salir");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Float:Pos[3];
new INI:File = INI_Open(UserPath(playerid));
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
INI_SetTag(File,"data");
INI_WriteInt(File,"Dinero",GetPlayerMoney(playerid));
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Telefono",PlayerInfo[playerid][pTelefono]);
INI_WriteInt(File,"Coche1",PlayerInfo[playerid][pCoche1]);
INI_WriteInt(File,"Coche2",PlayerInfo[playerid][pCoche2]);
INI_WriteInt(File,"Coche3",PlayerInfo[playerid][pCoche3]);
INI_WriteInt(File,"Casa1",PlayerInfo[playerid][pCasa1]);
INI_WriteInt(File,"Casa2",PlayerInfo[playerid][pCasa2]);
INI_WriteInt(File,"Faccion",PlayerInfo[playerid][pFaccion]);
INI_WriteInt(File,"Job",PlayerInfo[playerid][pJob]);
INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin]);
INI_WriteInt(File,"Interior",PlayerInfo[playerid][pInterior]);
INI_WriteFloat(File,"PosX",Pos[0]);
INI_WriteFloat(File,"PosY",Pos[1]);
INI_WriteFloat(File,"PosZ",Pos[2]);
INI_Close(File);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(PlayerInfo[playerid][pPosX] == 0 && PlayerInfo[playerid][pPosY] == 0)
{
SetPlayerPos(playerid, 1643.4510, -2287.4954, -1.1971);
}else
{
SetPlayerPos(playerid, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosY], PlayerInfo[playerid][pPosZ]);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch( dialogid )
{
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, ""COL_WHITE"Registrando...",""COL_RED"Has introducido una contrasela invalida.\n"COL_WHITE"Introduce una contraseсa debajo para registrar una nueva cuenta.","Registrar","Salir");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteString(File,"Password",inputtext);
INI_WriteInt(File,"Dinero", 5000);
INI_WriteInt(File,"Admin", 1);
INI_WriteInt(File,"Telefono", 0);
INI_WriteInt(File,"Coche1", 0);
INI_WriteInt(File,"Coche2", 0);
INI_WriteInt(File,"Coche3", 0);
INI_WriteInt(File,"Casa1", 0);
INI_WriteInt(File,"Casa2", 0);
INI_WriteInt(File,"Faccion", 0);
INI_WriteInt(File,"Job", 0);
INI_WriteInt(File,"Skin", 0);
INI_WriteInt(File,"Interior", 0);
INI_WriteFloat(File,"PosX", 0.0);
INI_WriteFloat(File,"PosY", 0.0);
INI_WriteFloat(File,"PosZ", 0.0);
INI_Close(File);
SetSpawnInfo(playerid, PlayerInfo[playerid][pSkin], 0, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosZ], 269.15, 0, 0, 0, 0, 0, 0);
ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,""COL_WHITE"Bien!!",""COL_GREEN"Registrado correctamente! Reloguea para guardar tus datos!","Ok","");
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(strcmp(inputtext, PlayerInfo[playerid][pPass]) == 0)
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
SetSpawnInfo(playerid, PlayerInfo[playerid][pSkin], 0, PlayerInfo[playerid][pPosX], PlayerInfo[playerid][pPosZ], PlayerInfo[playerid][pPosZ], 269.15, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pDinero]);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COL_WHITE"Login",""COL_RED"Contraseсa incorrecta.\n"COL_WHITE"Introduce tu contraseсa para entrar.","Login","Salir");
}
return 1;
}
}
case DIALOG_SUCCESS_1:
{
if(!response) return 0;
if(response) return SpawnPlayer(playerid);
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}