case DIALOG_REGISTER:
{
if(response)
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{00FFFF}Register", "{00FFFF}Please enter your password to register.\n{FF0000}You can't leave this empty.", "OK", "Cancel");
return 1;
}
new INI:file = INI_Open(Path(playerid));
INI_WriteString(file,"Password",inputtext);
INI_SetTag(file, "[Player Stats]");
INI_WriteInt(file,"Score",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"Gmute", 0);
INI_WriteInt(file,"Vip", 0);
INI_WriteInt(file,"Health", 100);
INI_Close(file);
return 1;
}
}
case DIALOG_LOGIN:
{
if(response)
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(!strcmp(inputtext, pStats[playerid][password], false))
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully logged in.");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{00FFFF}Please enter your password to login.\n{FF0000}Incorrect password.", "OK", "Cancel");
return 1;
}
}
}
forward KickPlayer(playerid);
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}
|
Title pretty much explains my problem, if I press 'ESC' or 'Cancel' the player continues to the class selection, although this shouldn't be like this.
OnDialogResponse: Код:
case DIALOG_REGISTER:
{
if(response)
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{00FFFF}Register", "{00FFFF}Please enter your password to register.\n{FF0000}You can't leave this empty.", "OK", "Cancel");
return 1;
}
new INI:file = INI_Open(Path(playerid));
INI_WriteString(file,"Password",inputtext);
INI_SetTag(file, "[Player Stats]");
INI_WriteInt(file,"Score",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"Gmute", 0);
INI_WriteInt(file,"Vip", 0);
INI_WriteInt(file,"Health", 100);
INI_Close(file);
return 1;
}
}
case DIALOG_LOGIN:
{
if(response)
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(!strcmp(inputtext, pStats[playerid][password], false))
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully logged in.");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{00FFFF}Please enter your password to login.\n{FF0000}Incorrect password.", "OK", "Cancel");
return 1;
}
}
}
Код:
forward KickPlayer(playerid);
public KickPlayer(playerid)
{
Kick(playerid);
return 1;
}
|
case DIALOG_REGISTER: {
if(response) {
if(!strlen(inputtext)) {
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{00FFFF}Register", "{00FFFF}Please enter your password to register.\n{FF0000}You can't leave this empty.", "OK", "Cancel");
return 1;
}
new INI:file = INI_Open(Path(playerid));
INI_WriteString(file,"Password",inputtext);
INI_SetTag(file, "[Player Stats]");
INI_WriteInt(file,"Score",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"Gmute", 0);
INI_WriteInt(file,"Vip", 0);
INI_WriteInt(file,"Health", 100);
INI_Close(file);
return 1;
} else {
SetTimerEx("KickPlayer", 100, 0, "d", playerid); //Now it will kick the player properly.
}
}
case DIALOG_LOGIN: {
if(response) {
if(!strcmp(inputtext, pStats[playerid][password], false)) {
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully logged in.");
} else {
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{00FFFF}Please enter your password to login.\n{FF0000}Incorrect password.", "OK", "Cancel");
return 1;
}
} else {
SetTimerEx("KickPlayer", 100, 0, "d", playerid);
}
}
.case DIALOG_REGISTER:
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{00FFFF}Register", "{00FFFF}Please enter your password to register.\n{FF0000}You can't leave this empty.", "OK", "Cancel");
return 1;
}
new INI:file = INI_Open(Path(playerid));
INI_WriteString(file,"Password",inputtext);
INI_SetTag(file, "[Player Stats]");
INI_WriteInt(file,"Score",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"Gmute", 0);
INI_WriteInt(file,"Vip", 0);
INI_WriteInt(file,"Health", 100);
INI_Close(file);
return 1;
}
}
case DIALOG_LOGIN:
{
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
if(response)
{
if(!strcmp(inputtext, pStats[playerid][password], false))
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully logged in.");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{00FFFF}Please enter your password to login.\n{FF0000}Incorrect password.", "OK", "Cancel");
return 1;
}
}
}
case DIALOG_REGISTER:
{
if(response)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "{00FFFF}Register", "{00FFFF}Please enter your password to register.\n{FF0000}You can't leave this empty.", "OK", "Cancel");
return 1;
}
new INI:file = INI_Open(Path(playerid));
INI_WriteString(file,"Password",inputtext);
INI_SetTag(file, "[Player Stats]");
INI_WriteInt(file,"Score",0);
INI_WriteInt(file,"Deaths",0);
INI_WriteInt(file,"Admin",0);
INI_WriteInt(file,"Gmute", 0);
INI_WriteInt(file,"Vip", 0);
INI_WriteInt(file,"Health", 100);
INI_Close(file);
return 1;
}
}
case DIALOG_LOGIN:
{
if(response)
{
if(!strcmp(inputtext, pStats[playerid][password], false))
{
INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
SendClientMessage(playerid,COLOR_WHITE,"You have successfully logged in.");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", " {00FFFF}Please enter your password to login.\n{FF0000}Incorrect password.", "OK", "Cancel");
if(!response) return SetTimerEx("KickPlayer", 100, 0, "d", playerid);
return 1;
}
}
}
if(response == 0)
{
SetTimerEx("KickPlayer", 100, 0, "d", playerid);//Add Function
}