Server freeze / Crash
#9

Quote:
Originally Posted by vIBIENNYx
Посмотреть сообщение
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.
Are you sure this wasn't a pre-existing error? Haven't looked over the code yet, will do that after this post.
Reply


Messages In This Thread
Server freeze / Crash - by vIBIENNYx - 25.06.2012, 17:28
Re: Server freeze / Crash - by Jason` - 25.06.2012, 17:37
Re: Server freeze / Crash - by vIBIENNYx - 25.06.2012, 17:46
Re: Server freeze / Crash - by leonardo1434 - 25.06.2012, 17:52
Re: Server freeze / Crash - by Jason` - 25.06.2012, 17:53
Re: Server freeze / Crash - by vIBIENNYx - 25.06.2012, 18:45
Re: Server freeze / Crash - by dowster - 25.06.2012, 19:03
Re: Server freeze / Crash - by vIBIENNYx - 25.06.2012, 19:28
Re: Server freeze / Crash - by dowster - 25.06.2012, 19:34
Re: Server freeze / Crash - by dowster - 25.06.2012, 19:36

Forum Jump:


Users browsing this thread: 3 Guest(s)