public OnPlayerConnect(playerid)
{
if(!IsValidName(playerid))
{
SendClientMessage(playerid,COLOR_LIGHTRED,"Please change your name into the following format: Firstname_Lastname");
SetTimerEx("KickPlayer", 6, false, "d", playerid);
}
SetOriginalColor(playerid);
if(fexist(UserPath(playerid)))
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COLOR_GREY1"Welcome to My Role Play Server",""COLOR_GREY1"SERVER: You have 60 seconds to login \n NOTICE: We are currently under beta testing \n so if you find any bugs, let us know \n\n Enter Your Password:","Login","Cancel");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""COLOR_GREY1"Welcome to My Role Play Server",""COLOR_GREY1"Type your password below to register a new account. \n HINT: Do not give out your password to anyone else","Register","Cancel");
}
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_INPUT, ""COLOR_GREY1"Welcome to My Role Play Server",""COLOR_GREY1"You have entered an invalid password.\n"COLOR_GREY1"Type your password below to register a new account.","Register","Cancel");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Cash",5000);
INI_WriteInt(File,"VIP",0);
PlayerInfo[playerid][pVIP] = 0;
INI_WriteInt(File,"Banned",0);
PlayerInfo[playerid][pBanned] = 0;
INI_WriteInt(File,"Warns",0);
PlayerInfo[playerid][pWarns] = 0;
INI_WriteInt(File,"Muted",0);
PlayerInfo[playerid][pMuted] = 0;
PlayerInfo[playerid][pMuteTime] = 0;
INI_WriteInt(File,"MuteTime",0);
INI_WriteInt(File,"Admin",0);
PlayerInfo[playerid][pAdmin] = 0;
INI_WriteInt(File,"Kills",0);
PlayerInfo[playerid][pKills] = 0;
INI_WriteInt(File,"Deaths",0);
PlayerInfo[playerid][pDeaths] = 0;
INI_WriteInt(File,"Model",264);
PlayerInfo[playerid][pModel] = 264;
INI_WriteInt(File,"Level",1);
PlayerInfo[playerid][pLevel] = 1;
INI_WriteInt(File,"Experience",0);
PlayerInfo[playerid][pExp] = 0;
INI_WriteInt(File,"Faction",0);
PlayerInfo[playerid][pFaction] = 0;
INI_WriteInt(File,"Rank",0);
PlayerInfo[playerid][pRank] = 0;
INI_WriteInt(File,"Phonenumber",0);
PlayerInfo[playerid][pNumber] = 0;
INI_Close(File);
SetPlayerScore(playerid, 1);
GivePlayerMoney(playerid, 5000);
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pModel], 1686.1014, -2332.1179, -2.6797, 355.4632, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
}
case DIALOG_LOGIN:
{
if ( !response ) return Kick ( playerid );
if( response )
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pModel], 1686.1014, -2332.1179, -2.6797, 355.4632, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""COLOR_GREY1"Login",""COLOR_GREY1"Password does not match.\n\n"COLOR_GREY1"SERVER: You have 60 seconds to login\n NOTICE: We are still under beta testing\n\n Enter Your Password:","Login","Cancel");
}
return 1;
}
}
}
return 1;
}
If I've interpreted what you mean, you'll want to add another ShowPlayerDialog just before where it says SetSpawnInfo.
|
Remove the SpawnPlayer and SetSpawnInfo. And replace it with the showplayerdialog for the Gender/Age dialog.
And put the SpawnPlayer and SetSpawnInfo at the very end. If you want i have a snippet from my gm. |