Okay, that works but it now interferes with the Login / Register script. Even if the account is registered it says that it is not and makes a new entry. I have put in the code you have said above, this is my Register / Login dialogue.
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case REGISTER:
{
if(!response)
{
//format(Msg, sizeof(Msg), ""#CBLUE"Player: "#CORANGE"%s(%d) "#CBLUE"has been kicked - Reason: Not registering!", pName(playerid), playerid);
//SendClientMessageToAll(COLOR_GREY, Msg);
Kick(playerid);
}
else
{
if(!strlen(inputtext)) DialogPassword(playerid, REGISTER, "Account Registration", "You must enter a password below to continue", "Register", "Leave");
new
Query[100],
EscPass[30],
EscName[MAX_PLAYER_NAME];
mysql_real_escape_string(pName(playerid), EscName);
mysql_real_escape_string(inputtext, EscPass);
format(Query, sizeof(Query), "INSERT INTO `playerinfo` (`username`, `ppassword`) VALUES ('%s', md5('%s'))", EscName, EscPass);
mysql_query(Query);
// Player has registered
SendClientMessage(playerid, 0xFFFFFFFF, "You are now registered!");
StopAudioStreamForPlayer(playerid);
SpawnPlayer(playerid);
GivePlayerCash(playerid, 500);
SavePVar(playerid);
loggedin[playerid] = 1;
TogglePlayerControllable(playerid, 1);
}
}
case LOGIN:
{
if(!response)
{
Kick(playerid);
}
else
{
if(!strlen(inputtext)) DialogPassword(playerid, LOGIN, "Account Login", "You must enter a password below to continue\n", "Login", "Leave");
new
EscPass[38],
Query[128];
mysql_real_escape_string(inputtext, EscPass);
format(Query, sizeof(Query), "SELECT * FROM `playerinfo` WHERE `username` = '%s' AND `ppassword` = md5('%s')", pName(playerid), EscPass);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0)
{
LoadPlayerInfo(playerid);
// Player Has logged in
SendClientMessage(playerid, 0xFFFFFFFF, "You have logged in successfully");
SpawnPlayer(playerid);
if(PVar[playerid][currclothes] > 1)
{
SetPlayerSkin(playerid, PVar[playerid][currclothes]);
}
else
{
SetPlayerSkin(playerid, 1);
}
new str[128];
TogglePlayerControllable(playerid, 1);
SetPlayerScore(playerid, PVar[playerid][level]);
format(str,sizeof(str),"%s | Admin Level: %d | Player Level: %d | Faction: %d", RemoveUnderScore(playerid), PVar[playerid][alevel], GetPlayerScore(playerid), PVar[playerid][factionID]);
SendClientMessage(playerid, 0x66999999, str);
GivePlayerMoney(playerid, PVar[playerid][money]);
StopAudioStreamForPlayer(playerid);
loggedin[playerid] = 1;
TogglePlayerControllable(playerid, 1);
if(PVar[playerid][ajail] > 0)
{
format(str, sizeof(str), "You have %d minutes left in ajail.", PVar[playerid][ajail]);
SendClientMessage(playerid, 0x66666666, str);
switch(random(2))
{
case 0:
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 265,86,1001.0391);
SetPlayerFacingAngle(playerid, 270);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
Ajailtimer = SetTimerEx("UnAjailTimer", 60000, true, "i", playerid);
return 1;
}
case 1:
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 265,82,1001.0391);
SetPlayerFacingAngle(playerid, 270);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
Ajailtimer = SetTimerEx("UnAjailTimer", 60000, true, "i", playerid);
return 1;
}
case 2:
{
SetPlayerInterior(playerid, 6);
SetPlayerPos(playerid, 265,77,1001.0391);
SetPlayerFacingAngle(playerid, 270);
SetCameraBehindPlayer(playerid);
TogglePlayerControllable(playerid, 0);
Ajailtimer = SetTimerEx("UnAjailTimer", 60000, true, "i", playerid);
return 1;
}
}
}
}
else
{
loginchances[playerid] -=1;
if(loginchances[playerid] == 0)
{
Kick(playerid);
return 1;
}
else
{
SendClientMessage(playerid, 0xFFFFFFFF, "You have entered an incorrect password, try again.");
DialogPassword(playerid, LOGIN, "Account Login", "You have entered an incorrect password, try again.", "Login", "Leave");
}
}
}
}
}
return 1;
}
I cannot find where it conflicts either.