10.04.2013, 19:37
So I'm giving a random number upon registering. After the player registers and spawns - Code's value is "0". After the player relogs with already registered account, then the code appears, so basically why is it not appearing already after registering? (I'm using easydialogs.inc, but that's not the case)
There's the code:
There's the code:
pawn Код:
public OnPlayerSpawn(playerid)
{
new
str[32];
format(str, sizeof(str), "Code: %i", PlayerInfo[playerid][pCode]);
playertext[playerid] = Create3DTextLabel(str, Orange, 30.0, 40.0, 50.0, 40.0, 0);
Attach3DTextLabelToPlayer(playertext[playerid], playerid, 0.0, 0.0, 0.4);
}
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
Delete3DTextLabel(playertext[playerid]);
SaveData(playerid);
return 1;
}
pawn Код:
Dialog:Register(playerid, response, listitem, inputtext[])
{
if (!response) return Kick(playerid);
if (response)
{
if(!strlen(inputtext))
{
// show dialog stuff
}
if(INI_Open(getINI(playerid)))
{
INI_WriteString("Password", inputtext);
INI_WriteInt("Money", 5000);
INI_WriteInt("AdminLevel", 0);
INI_WriteInt("Code", random(500));
INI_Save();
INI_Close();
SetSpawnInfo(playerid, 0, 6, 1772.3214, -1908.2968, 13.5531, 271.5665, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
}
return 1;
}
pawn Код:
Dialog:Login(playerid, response, listitem, inputtext[])
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext))
{
// show dialog stuff
}
if(INI_Open(getINI(playerid)))
{
INI_ReadString(PlayerInfo[playerid][pPassword], "Password", 20);
if(strcmp(inputtext, PlayerInfo[playerid][pPassword], false))
{
// show dialog stuff
}
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, INI_ReadInt("Money"));
PlayerInfo[playerid][pAdminLevel] = INI_ReadInt("AdminLevel");
PlayerInfo[playerid][pCode] = INI_ReadInt("Code");
INI_Close();
SetSpawnInfo(playerid, 0, 6, 1772.3214, -1908.2968, 13.5531, 271.5665, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
}
return 1;
}
pawn Код:
stock SaveData(playerid)
{
if(INI_Open(getINI(playerid)))
{
INI_WriteInt("Money", INI_ReadInt("Money"));
INI_WriteInt("AdminLevel", INI_ReadInt("AdminLevel"));
INI_WriteInt("Code", INI_ReadInt("Code"));
INI_Save();
INI_Close();
}
}