22.12.2011, 23:36
Tenho um registro em dialog, mais se o player apertar esc ou ficar apertando "ENTER" o dialog simplesmente some, alguem resolve isso pra mim? colocar pra kickar o player que nгo responde ao dialog ou o player que aperta esc pro dialog sumir.
pawn Код:
if(dialogid == 16)
{
if(response)
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"CONTA: Vocк esta registrado, e logado.");
if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"CONTA: Vocк й registrado, Logue-se");
if (strlen(inputtext) < 4 || strlen(inputtext) > 20) return SendClientMessage(playerid,COLOR_RED,"CONTA: Sua senha deve conter acima de 3 caracteres");
if (udb_Create(PlayerName2(playerid),inputtext))
{
new file[256],rname[MAX_PLAYER_NAME], tmp3[100];
new strdate[20], year,month,day;
getdate(year, month, day);
GetPlayerName(playerid,rname,sizeof(rname));
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(rname));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
dUserSetINT(PlayerName2(playerid)).("registered",1);
format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year);
dini_Set(file,"RegisteredDate",strdate);
dUserSetINT(PlayerName2(playerid)).("loggedin",1);
dUserSetINT(PlayerName2(playerid)).("banned",0);
dUserSetINT(PlayerName2(playerid)).("level",0);
dUserSetINT(PlayerName2(playerid)).("LastOn",0);
dUserSetINT(PlayerName2(playerid)).("money",0);
dUserSetINT(PlayerName2(playerid)).("kills",0);
dUserSetINT(PlayerName2(playerid)).("deaths",0);
PlayerInfo[playerid][LoggedIn] = 1;
PlayerInfo[playerid][Registered] = 1;
SendClientMessage(playerid, green, "CONTA: Vocк esta registrado, e logado");
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
return 1;
}
}
return 1;
}
if(dialogid == 17)
{
if(response)
{
if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,COLOR_RED,"CONTA: Vocк foi logado com sucesso");
if (!udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,COLOR_RED,"CONTA: Vocк nгo й registrado, registre-se");
if (udb_CheckLogin(PlayerName2(playerid),inputtext))
{
new file[256], tmp3[100], lname[MAX_PLAYER_NAME];
GetPlayerName(playerid,lname,sizeof(lname));
format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(lname));
GetPlayerIp(playerid,tmp3,100);
dini_Set(file,"ip",tmp3);
LoginPlayer(playerid);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
if(PlayerInfo[playerid][Level] > 0) {
format(string,sizeof(string),"CONTA: Logado com sucesso. (Level %d)", PlayerInfo[playerid][Level] );
return SendClientMessage(playerid,green,string);
} else return SendClientMessage(playerid,green,"CONTA: Logado com sucesso");
}
return ShowPlayerDialog(playerid, DIALOGID0+2, DIALOG_STYLE_INPUT,"Senha", "Senha errada, Tente novamente", "OK", "Cancelar");
}
}
return 1;
}