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 }