Hey guys, I don't know why but, the playerid 0 when they are registering into my server the dialog are really fast but once the other id's typed their password, the dialog after (gender male or female) in my case is not showing.. it takes between 30-60 sec before showing.. any ideas ? thanks in advance
There is the register,gender,age dialog, playerid 0 is really fast while registering but the other id's it takes time i dont know why.. i dont think it due to the code
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response) return Kick(playerid);
if(response)
{
new name[MAX_PLAYER_NAME],str[124];
GetPlayerName(playerid,name,sizeof(name));
format(str,sizeof(str),"{FFFFFF}You may register this username by entering your desired password below.\n\n{FFA500}Username: {FFFFFF}%s\n\n{FFA500}Choose a Password:",name);
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Registration",str,"Register","Quit");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Password",udb_hash(inputtext));
INI_WriteInt(File,"Money",PlayerInfo[playerid][pMoney] = 0);
INI_WriteInt(File,"Score",PlayerInfo[playerid][pScore] = 0);
INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin] = 0);
INI_WriteInt(File,"Kills",PlayerInfo[playerid][pKills] = 0);
INI_WriteInt(File,"Deaths",PlayerInfo[playerid][pDeaths] = 0);
INI_WriteInt(File,"Skin",PlayerInfo[playerid][pSkin] = 299);
INI_WriteInt(File,"Bank",PlayerInfo[playerid][pBank] = 0);
INI_WriteInt(File,"Job",PlayerInfo[playerid][pJob] = 0);
INI_WriteInt(File,"Health",PlayerInfo[playerid][pJob] = 0);
INI_WriteInt(File,"Muted",PlayerInfo[playerid][pMuted] = 0);
INI_WriteInt(File,"MuteTime",PlayerInfo[playerid][pMuteTime] = 0);
INI_WriteInt(File,"Hour",PlayerInfo[playerid][pHour] = 0);
INI_WriteInt(File,"Minute",PlayerInfo[playerid][pMin] = 0);
INI_WriteInt(File,"Second",PlayerInfo[playerid][pSec] = 0);
INI_WriteInt(File,"VirtualWorld",PlayerInfo[playerid][pVw] = 0);
INI_WriteInt(File,"Interior",PlayerInfo[playerid][pInt] = 0);
INI_WriteInt(File,"Age",PlayerInfo[playerid][pAge] = 0);
INI_WriteInt(File,"Faction",PlayerInfo[playerid][pFaction] = 0);
INI_WriteInt(File,"Phone",PlayerInfo[playerid][pPhone] = 0);
INI_WriteInt(File,"Helper",PlayerInfo[playerid][pHelper] = 0);
INI_WriteInt(File,"PhoneNumber",PlayerInfo[playerid][pNumber] = 0);
INI_WriteInt(File,"PhoneBook",PlayerInfo[playerid][ppBook] = 0);
INI_WriteInt(File,"TotalWealth",PlayerInfo[playerid][pWealth] = 0);
INI_WriteInt(File,"House",PlayerInfo[playerid][pHouse] = 0);
INI_WriteFloat(File,"Health",Health[playerid] = 100);
INI_WriteFloat(File,"Armour",Armour[playerid] = 0);
INI_Close(File);
ShowPlayerDialog(playerid,DIALOG_GENDER,DIALOG_STYLE_MSGBOX,"{FFA500}Downtown Roleplay - Registration","{FFFFFF}What do you want your character's gender to be?","Male","Female");
}
}
case DIALOG_GENDER:
{
if(response)
{
PlayerInfo[playerid][pGender] = 0;
ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{FFA500}Downtown Roleplay - Registration","{FFFFFF}What do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.","Done","");
}
else
{
PlayerInfo[playerid][pGender] = 1;
ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{FFA500}Downtown Roleplay - Registration","{FFFFFF}What do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.","Done","");
}
}
case DIALOG_AGE:
{
if(response)
{
new msg[254], msg2[254];
format(msg,sizeof(msg),"{FFFFFF}ENTRY DECLINED: The age can only be from 18 to 90!\n\nWhat do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.");
format(msg2,sizeof(msg2),"{FFFFFF}ENTRY DECLINED: You must enter a number!\n\nWhat do you want your character's age to be?\n\nNote: The age must be no lower than 18 and no higher than 90.");
if(!IsNumeric(inputtext)) return ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{FFA500}Downtown Roleplay - Registration",msg2,"Done","");
else if(strval(inputtext) < 18) return ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{FFA500}Downtown Roleplay - Registration",msg,"Done","");
else if(strval(inputtext) > 90) return ShowPlayerDialog(playerid,DIALOG_AGE,DIALOG_STYLE_INPUT,"{FFA500}Downtown Roleplay - Registration",msg,"Done","");
else
{
SetSpawnInfo(playerid,0,PlayerInfo[playerid][pSkin],1770.7408,-1941.1985,13.5678,325.1382,0,0,0,0,0,0);
SpawnPlayer(playerid);
PlayerInfo[playerid][pAge] = strval(inputtext);
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
TextDrawHideForPlayer(playerid, Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw3);
TextDrawHideForPlayer(playerid, Textdraw4);
TextDrawHideForPlayer(playerid, Textdraw5);
TextDrawHideForPlayer(playerid, Textdraw6);
TextDrawHideForPlayer(playerid, Textdraw7);
TextDrawHideForPlayer(playerid, Textdraw8);
TextDrawHideForPlayer(playerid, Textdraw9);
TextDrawHideForPlayer(playerid, Textdraw10);
TextDrawHideForPlayer(playerid, Textdraw11);
}
}
}
case DIALOG_LOGIN:
{
if (!response) return Kick(playerid);
if(response)
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pPass])
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
INI_ParseFile(UserPath(playerid), "LoadUsers_%s", .bExtra = true, .extra = playerid);
GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
SetPlayerScore(playerid,PlayerInfo[playerid][pScore]);
SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
SetPlayerHealth(playerid,Health[playerid]);
SetPlayerArmour(playerid,Armour[playerid]);
for(new i = 0; i < sizeof(HouseInfo); i++)
{
GetPlayerName(playerid, plname, sizeof(plname));
if(strcmp(HouseInfo[i][hOwner], plname, false ) == 0 && HouseInfo[i][hSpawn] == 1 && PlayerInfo[playerid][pHouse] == 1)
{
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], HouseInfo[i][hEnterX],HouseInfo[i][hEnterY],HouseInfo[i][hEnterZ],0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetPlayerVirtualWorld(playerid,0);
SetPlayerInterior(playerid,0);
SetPlayerColor(playerid, COLOR_LIGHTBLUE);
IncorrectPassword[playerid] = 0;
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
TextDrawHideForPlayer(playerid, Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw3);
TextDrawHideForPlayer(playerid, Textdraw4);
TextDrawHideForPlayer(playerid, Textdraw5);
TextDrawHideForPlayer(playerid, Textdraw6);
TextDrawHideForPlayer(playerid, Textdraw7);
TextDrawHideForPlayer(playerid, Textdraw8);
TextDrawHideForPlayer(playerid, Textdraw9);
TextDrawHideForPlayer(playerid, Textdraw10);
TextDrawHideForPlayer(playerid, Textdraw11);
new string[80 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
strreplace(pname,'_',' ');
format(string,sizeof(string),"Welcome to Downtown Roleplay, %s.",pname);
SendClientMessage(playerid,COLOR_ORANGE,string);
return 1;
}
else if(strcmp(HouseInfo[i][hOwner], plname, false ) == 0 && HouseInfo[i][hSpawn] == 0 && PlayerInfo[playerid][pHouse] == 1)
{
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin],PosX[playerid],PosY[playerid],PosZ[playerid],Angle[playerid], 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetPlayerVirtualWorld(playerid,PlayerInfo[playerid][pVw]);
SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]);
SetPlayerColor(playerid, COLOR_LIGHTBLUE);
IncorrectPassword[playerid] = 0;
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
TextDrawHideForPlayer(playerid, Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw3);
TextDrawHideForPlayer(playerid, Textdraw4);
TextDrawHideForPlayer(playerid, Textdraw5);
TextDrawHideForPlayer(playerid, Textdraw6);
TextDrawHideForPlayer(playerid, Textdraw7);
TextDrawHideForPlayer(playerid, Textdraw8);
TextDrawHideForPlayer(playerid, Textdraw9);
TextDrawHideForPlayer(playerid, Textdraw10);
TextDrawHideForPlayer(playerid, Textdraw11);
new string[80 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
strreplace(pname,'_',' ');
format(string,sizeof(string),"Welcome to Downtown Roleplay, %s.",pname);
SendClientMessage(playerid,COLOR_ORANGE,string);
return 1;
}
else if(PlayerInfo[playerid][pHouse] == 0)
{
SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin],PosX[playerid],PosY[playerid],PosZ[playerid],Angle[playerid], 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
SetPlayerVirtualWorld(playerid,PlayerInfo[playerid][pVw]);
SetPlayerInterior(playerid,PlayerInfo[playerid][pInt]);
SetPlayerColor(playerid, COLOR_LIGHTBLUE);
IncorrectPassword[playerid] = 0;
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
TextDrawHideForPlayer(playerid, Textdraw2);
TextDrawHideForPlayer(playerid, Textdraw3);
TextDrawHideForPlayer(playerid, Textdraw4);
TextDrawHideForPlayer(playerid, Textdraw5);
TextDrawHideForPlayer(playerid, Textdraw6);
TextDrawHideForPlayer(playerid, Textdraw7);
TextDrawHideForPlayer(playerid, Textdraw8);
TextDrawHideForPlayer(playerid, Textdraw9);
TextDrawHideForPlayer(playerid, Textdraw10);
TextDrawHideForPlayer(playerid, Textdraw11);
new string[80 + MAX_PLAYER_NAME], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
strreplace(pname,'_',' ');
format(string,sizeof(string),"Welcome to Downtown Roleplay, %s.",pname);
SendClientMessage(playerid,COLOR_ORANGE,string);
return 1;
}
}
}
else
{
new str[500], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
strreplace(name, '_', ' ');
format(str,sizeof(str),"{FFFFFF}Wrong password, attemps left: 4 \n\nThat username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s \n\n{FFA500}Password:",name);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Login",str,"Login","Quit");
IncorrectPassword[playerid] ++;
}
if(IncorrectPassword[playerid] == 1)
{
new str[500], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
strreplace(name, '_', ' ');
format(str,sizeof(str),"{FFFFFF}Wrong password, attemps left: 3 \n\nThat username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s \n\n{FFA500}Password:",name);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Login",str,"Login","Quit");
}
if(IncorrectPassword[playerid] == 2)
{
new str[500], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
strreplace(name, '_', ' ');
format(str,sizeof(str),"{FFFFFF}Wrong password, attemps left: 2 \n\nThat username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s \n\n{FFA500}Password:",name);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Login",str,"Login","Quit");
}
if(IncorrectPassword[playerid] == 3)
{
new str[500], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
strreplace(name, '_', ' ');
format(str,sizeof(str),"{FFFFFF}Wrong password, attemps left: 1 \n\nThat username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s \n\n{FFA500}Password:",name);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Login",str,"Login","Quit");
}
if(IncorrectPassword[playerid] == 4)
{
new str[500], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
strreplace(name, '_', ' ');
format(str,sizeof(str),"{FFFFFF}Wrong password, attemps left: 0 \n\nThat username is registered, please enter your password below.\n\n{FFA500}Username: {FFFFFF}%s \n\n{FFA500}Password:",name);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFA500}Downtown Roleplay - Login",str,"Login","Quit");
SendClientMessage(playerid,COLOR_ORANGE,"Wrong password, you have been kicked out automatically.");
Kick(playerid);
}
}
}
Hmm.. Weird i have no idea, could be too much dialogs, try remove some of them and test if it comes fast or not.