01.11.2012, 15:22
Hello Guys.
I just started with a brand new server. I made a Roleplay test, and it works fine.
The only problem is that if a player cancels the Roleplay test (and gets kicked), and relogs, he
Will spawn (so he didnt do the Roleplay test but he's still able to play). So i need a system which
Checks if he did the Roleplay test already. The roleplay test comes after a player registered.
I was thinking about something like this:
So i (probably) need a line at the end of the RP Tutorial that sets the player's RPTEST to 1, and when
A player spawns (not at connect, because he needs to log in first), the system checks if he did the RP test.
Anyone knows how to do this? I hope i explained it well.
Greetings, CrazyManiac
I just started with a brand new server. I made a Roleplay test, and it works fine.
The only problem is that if a player cancels the Roleplay test (and gets kicked), and relogs, he
Will spawn (so he didnt do the Roleplay test but he's still able to play). So i need a system which
Checks if he did the Roleplay test already. The roleplay test comes after a player registered.
I was thinking about something like this:
Код:
enum pInfo
{
pPass,
pCash,
pAdmin,
pKills,
pDeaths,
pRPTEST
}
Код:
public LoadUser_data(playerid,name[],value[])
{
INI_Int("Password",PlayerInfo[playerid][pPass]);
INI_Int("Cash",PlayerInfo[playerid][pCash]);
INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
INI_Int("Kills",PlayerInfo[playerid][pKills]);
INI_Int("Deaths",PlayerInfo[playerid][pDeaths]);
INI_Int("RpTest",PlayerInfo[playerid][pRPTEST]);
return 1;
}
Код:
public OnPlayerDisconnect(playerid, reason)
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Cash",GetPlayerMoney(playerid));
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills]);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths]);
INI_WriteInt(File,"RpTest",PlayerInfo[playerid][pRPTEST]);
INI_Close(File);
return 1;
}
Код:
case DIALOG_REGISTER:
{
if (!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, ""WIT"Register",""ROOD"You have entered an invalid password.\n"DONKER_ROOD"Type your password below to register a new account.","Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",0);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Kills",0);
INI_WriteInt(File,"Deaths",0);
INI_WriteInt(File,"RpTest",0);
INI_Close(File);
SendClientMessage(playerid,0x7FFF7AFF,"Registration succeed!");
SetPlayerPos(playerid,2109.1763,1503.0453,32.2887);
ShowPlayerDialog(playerid, DIALOG_ROLEPLAY, DIALOG_STYLE_MSGBOX, "Roleplay Test", "You will now proceed to the Roleplay Test.", "Ok", "Quit");
}
}
A player spawns (not at connect, because he needs to log in first), the system checks if he did the RP test.
Anyone knows how to do this? I hope i explained it well.
Greetings, CrazyManiac


