28.09.2012, 22:53
הנה OnPlayerConected :
הכל נשמר בקובץ של השחקן כמו שצריך אבל ברגע שאני מתחבר זה נותן לי שוב לגשת להרשמה מה הבעיה ?
PHP Code:
if(PlayerInfo[playerid][Register] == 0)return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "Please Enter Your Password: ", "Register", "Cancel");
if(PlayerInfo[playerid][Register] == 1)return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
PHP Code:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_REGISTER)
{
if(!fexist(UserFile(playerid))) dini_Create(UserFile(playerid));
if(20 < strlen(inputtext) || 5 > strlen(inputtext))return SendClientMessage(playerid, COLOR_YELLOW, " Error: The Password Must Be Between 5 And 20 Charcters"),ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Register", "Please Enter Your Password: ", "Register", "Cancel");
dini_Set(UserFile(playerid),"Password",inputtext);
SendClientMessage(playerid, COLOR_YELLOW, "You Have Registed To The Game, Start With The Register Step");
ShowPlayerDialog(playerid, DIALOG_STEP1, DIALOG_STYLE_LIST, "Male Or Female", "Male\nFemale", "Select", "Close");
return 1;
}
if(dialogid == DIALOG_STEP1)
{
if(listitem == 0)
{
PlayerInfo[playerid][Sex] = 1;
ShowPlayerDialog(playerid, DIALOG_STEP2, DIALOG_STYLE_INPUT, "Your Age", "Write Your Age: ", "Ok", "Cancel");
}
if(listitem == 1)
{
PlayerInfo[playerid][Sex] = 2;
ShowPlayerDialog(playerid, DIALOG_STEP2, DIALOG_STYLE_INPUT, "Your Age", "Write Your Age: ", "Ok", "Cancel");
}
return 1;
}
if(dialogid == DIALOG_STEP2)
{
dini_Set(UserFile(playerid),"Age",inputtext);
ShowPlayerDialog(playerid, DIALOG_STEP3, DIALOG_STYLE_LIST, "From Where You Are ?", "USA\nEurope\nAsia\nAmerica", "Select", "Close");
return 1;
}
if(dialogid == DIALOG_STEP3)
{
if(listitem == 0)
{
PlayerInfo[playerid][Area] = 1;
PlayerInfo[playerid][Register] = 1;
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
}
if(listitem == 1)
{
PlayerInfo[playerid][Area] = 2;
PlayerInfo[playerid][Register] = 1;
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
}
if(listitem == 2)
{
PlayerInfo[playerid][Area] = 3;
PlayerInfo[playerid][Register] = 1;
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
}
if(listitem == 3)
{
PlayerInfo[playerid][Area] = 4;
PlayerInfo[playerid][Register] = 1;
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
}
return 1;
}
if(dialogid == DIALOG_LOGIN)
{
if(PlayerInfo[playerid][Register] == 1)
{
if(PlayerInfo[playerid][Login] == 1)return SendClientMessage(playerid, COLOR_RED, "Eror: This User Is Alredy Connected!"), ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Please Enter Your Password: ", "Login", "Cancel");
if(20 < strlen(inputtext) || 5 > strlen(inputtext))return SendClientMessage(playerid, COLOR_YELLOW, " Error: The Password Must Be Between 5 And 20 Charcters");
if(strcmp(inputtext,dini_Get(UserFile(playerid),"Password"),true))return SendClientMessage(playerid, COLOR_RED, "Error: Invalid Password");
PlayerInfo[playerid][Login] = 1;
SendClientMessage(playerid, COLOR_GREEN, "You Have Been Logged In");
SetPlayerSpawn(playerid);
}
return 1;
}
return 0;
}