I think this dialog is causing lag, could someone tell me why?
#2

pawn Код:
else if(dialogid == DIALOG_RANDOMS)
{
    if(response == 0)
    {
        ShowPlayerDialog(playerid, DIALOG_PARTLIST, DIALOG_STYLE_LIST, "Part Selection", "{FF0000}Grips\n{FF0000}Frames\n{FF0000}Barrels\n{FF0000}Random Packages",  "Select", "Cancel");
        return 1;
    }
    new str[128], randStr[3][25];
    switch(listitem)
    {
        case 0://Random Package.
        {
            if(PlayerMoney[playerid] < 1500)return SendClientMessage(playerid, COLOUR_GREY, "You do not have this much money.");
            GivePlayerMoney(playerid, -1500);
            for(new i = 0; i < sizeof(randStr); i++)
            {
                switch(random(3))
                {
                    case 0:
                    {
                        randStr[i] = "Small Grip";
                        SGrip[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "SGrip", SGrip[playerid], "accounts");
                    }
                    case 1:
                    {
                        randStr[i] = "Medium Grip";
                        MGrip[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "MGrip", MGrip[playerid], "accounts");
                    }
                    default:
                    {
                        randStr[i] =  "Large Grip";
                        LGrip[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "LGrip", LGrip[playerid], "accounts");
                    }//case 2
                }//switch
            }//fornew
            format(str, sizeof(str),"You got a {33AA33}%s{FFFFFF}, a {33AA33}%s {FFFFFF}and a {33AA33}%s {FFFFFF}from the package.", randStr[0], randStr[1], randStr[2]);
            SendClientMessage(playerid, COLOUR_WHITE, str);
        }//actual case

        case 1://Random Package.
        {
            if(PlayerMoney[playerid] < 3000)return SendClientMessage(playerid, COLOUR_GREY, "You do not have this much money.");
            GivePlayerMoney(playerid, -3000);

            for(new i = 0; i < sizeof(randStr); i++)
            {
                switch(random(3))
                {
                    case 0:
                    {
                        randStr[i] = "Small Frame";
                        SFrame[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "SFrame", SFrame[playerid], "accounts");
                    }
                    case 1:
                    {
                        randStr[i] = "Medium Frame";
                        MFrame[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "MFrame", MFrame[playerid], "accounts");
                    }
                    default:
                    {
                        randStr[i] = "Large Frame";
                        LFrame[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "LFrame", LFrame[playerid], "accounts");
                    }//case 2
                }//switch
            }//switch
            format(str, sizeof(str),"You got a {33AA33}%s{FFFFFF}, a {33AA33}%s {FFFFFF}and a {33AA33}%s {FFFFFF}from the package.", randStr[0], randStr[1], randStr[2]);
            SendClientMessage(playerid, COLOUR_WHITE, str);
        }//case

        case 2://Random Package.
        {
            if(PlayerMoney[playerid] < 2000)return SendClientMessage(playerid, COLOUR_GREY, "You do not have this much money.");
            GivePlayerMoney(playerid, -2000);
            PlayerSQLID[playerid] = MySQL_GetValue(PlayerSQLID[playerid], "id", "accounts");
            for(new i = 0; i < sizeof(randStr); i++)
            {
                switch(random(3))
                {
                    case 0:
                    {
                        randStr[i] = "Small Barrel";
                        SBarrel[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "SBarrel", SBarrel[playerid], "accounts");
                    }
                    case 1:
                    {
                        randStr[i] = "Medium Barrel";
                        MBarrel[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "MBarrel", MBarrel[playerid], "accounts");
                    }
                    default:
                    {
                        randStr[i] = "Large Barrel";
                        LBarrel[playerid] ++;
                        MySQL_SetInteger(PlayerSQLID[playerid], "LBarrel", LBarrel[playerid], "accounts");
                    }//case 2
                }//switch
            }//for
            format(str, sizeof(str),"You got a {33AA33}%s{FFFFFF}, a {33AA33}%s {FFFFFF}and a {33AA33}%s {FFFFFF}from the package.", randStr[0], randStr[1], randStr[2]);
            SendClientMessage(playerid, COLOUR_WHITE, str);
        }//case
    }//switch
}//dialog
if still lag use mysql debug
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)