Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

LoadOther загружается через раз MYSQL

hamykeig

Умник
Cтолкнулся с тотальной проблемой.
У меня в моде, в таблице MySQL, LoadOther, отвечает за загрузку с базы mysql "материалы, металл, наркотики ну и прочей важной фигни". И в чем суть?!
При выполнении команд
1установить деньги в казне /условная команда
2установить материалы фракциям /условная команда
3установить топливо на заводе /условная команда
4установить банк фракциям /условная команда
5установить наркотики фракциям /условная команда
6установить кол-во металла и пт на работах /условная команда
в базе изменяется все идеально, но стоит сделать пополнения "материалов" через фракцию, например Грув, то происходит какая-то дичь.
Вот условная команда /bank.
Мы на пример выбираем пункт пополнить банк.
Мы нажали, вели количество денег в банк фракции, к примеру "100$".
Команда выполнена успешно пишет. Собственно в базе - не чего не изменилось. Как было деньги грув 500$ так и осталось. Но если выполнить эту команду снова но закинем не "100$ a 200$" в банк груве пополнится 100$ и будет не 500$ а 600$. и так далее потом пополнися 600 ( а не 700)

Код:
CMD:bank(playerid, params[])
{
    if(PlayerLogged[playerid] == 0) return true;
    if(IsAMafia(playerid) || IsAGang(playerid) || PlayerInfo[playerid][pMember] == F_QUITENEWS || PlayerInfo[playerid][pMember] == F_CASINO)
    {
        new full;
        for(new i = 1; i <= TOTALATM; i++)
        if(IsPlayerInRangeOfPoint(playerid, 3.0, ATMInfo[i][aX],ATMInfo[i][aY],ATMInfo[i][aZ]))
        if(PlayerInfo[playerid][pLeader] > 0 || PlayerInfo[playerid][pMember] > 0 && strcmp(PlayerInfo[playerid][pSendername],FracInfo[PlayerInfo[playerid][pMember]][fAssistant],true) == 0)
        {
            BankFracEnter(playerid);
            full++;
        }
        else SendClientMessage(playerid, COLOR_GREY, YouCanNotBank);
    }
    else SendClientMessage(playerid, COLOR_GREY, YouCanNot);
    return true;
}
команда перенаправляет вот сюда где и происходит не понятная херня


Код:
case D_JOB+131:
        {
            if(!response) return true;
            switch(listitem)
            {
            case 0: ShowPlayerDialog(playerid, D_JOB+132, 1, "Вывод", "Введите кол-во долларов:", "Принять", "Назад");
            case 1: ShowPlayerDialog(playerid, D_JOB+133, 1, "Ввод", "Введите кол-во долларов:", "Принять", "Назад");
            case 2: BankFracEnter(playerid);
            }
        }
    case D_JOB+132:
        {
            if(!response) return BankFracEnter(playerid);
            new price, bank;
            if(sscanf(inputtext, "i",price)) return ShowPlayerDialog(playerid, D_JOB+132, 1, "Вывод", "Введите кол-во долларов:", "Принять", "Назад");
            if(PlayerInfo[playerid][pMember] == F_GROVE) bank = FracBank[0];
            if(PlayerInfo[playerid][pMember] == F_BALLAS) bank = FracBank[1];
            if(PlayerInfo[playerid][pMember] == F_RIFA) bank = FracBank[2];
            if(PlayerInfo[playerid][pMember] == F_AZTECAS) bank = FracBank[3];
            if(PlayerInfo[playerid][pMember] == F_VAGOS) bank = FracBank[4];
            if(PlayerInfo[playerid][pMember] == F_YAKUZA) bank = FracBank[5];
            if(PlayerInfo[playerid][pMember] == F_LCN) bank = FracBank[6];
            if(PlayerInfo[playerid][pMember] == F_RM) bank = FracBank[7];
            if(PlayerInfo[playerid][pMember] == F_NEWS) bank = FracBank[8];
            if(price < 1 || price > bank)
            {
                SendMes(playerid, COLOR_GREY, "Кол-во долларов от 1 до %i!", bank);
                return ShowPlayerDialog(playerid, D_JOB+132, 1, "Вывод", "Введите кол-во долларов:", "Принять", "Назад");
            }
            SendMes(playerid, COLOR_BLUE, "Вы вывели %i долларов из банка организации. Остаток: %i долларов", price, bank-price);
            GiveMoney(playerid, price);
            if(PlayerInfo[playerid][pMember] == F_GROVE) SetOtherInt("grovebank", FracBank[0]),FracBank[0]-=price;
            if(PlayerInfo[playerid][pMember] == F_BALLAS) SetOtherInt("ballasbank", FracBank[1]),FracBank[1]-=price;
            if(PlayerInfo[playerid][pMember] == F_RIFA) SetOtherInt("rifabank", FracBank[2]),FracBank[2]-=price;
            if(PlayerInfo[playerid][pMember] == F_AZTECAS) SetOtherInt("aztecasbank", FracBank[3]),FracBank[3]-=price;
            if(PlayerInfo[playerid][pMember] == F_VAGOS) SetOtherInt("vagosbank", FracBank[4]),FracBank[4]-=price;
            if(PlayerInfo[playerid][pMember] == F_YAKUZA) SetOtherInt("yakuzabank", FracBank[5]),FracBank[5]-=price;
            if(PlayerInfo[playerid][pMember] == F_LCN) SetOtherInt("lcnbank", FracBank[6]),FracBank[6]-=price;
            if(PlayerInfo[playerid][pMember] == F_RM) SetOtherInt("rmbank", FracBank[7]),FracBank[7]-=price;
            if(PlayerInfo[playerid][pMember] == F_NEWS) SetOtherInt("ntoday", FracBank[8]),FracBank[8]-=price;
            return true;
        }
    case D_JOB+133:
        {
            new price, bank;
            if(!response) return BankFracEnter(playerid);
            if(sscanf(inputtext, "i",price)) return ShowPlayerDialog(playerid, D_JOB+133, 1, "Ввод", "Введите кол-во долларов:", "Принять", "Назад");
               if(price < 1 || price > PlayerInfo[playerid][pCash])
            {
                SendMes(playerid, COLOR_GREY, "Кол-во доллларов от 1 до %i!", PlayerInfo[playerid][pCash]);
                return ShowPlayerDialog(playerid, D_JOB+133, 1, "Ввод", "Введите кол-во долларов:", "Принять", "Назад");
            }
            if(sscanf(inputtext, "i",price)) return ShowPlayerDialog(playerid, D_JOB+132, 1, "Вывод", "Введите кол-во долларов:", "Принять", "Назад");
            if(PlayerInfo[playerid][pMember] == F_GROVE) bank = FracBank[0];
            if(PlayerInfo[playerid][pMember] == F_BALLAS) bank = FracBank[1];
            if(PlayerInfo[playerid][pMember] == F_RIFA) bank = FracBank[2];
            if(PlayerInfo[playerid][pMember] == F_AZTECAS) bank = FracBank[3];
            if(PlayerInfo[playerid][pMember] == F_VAGOS) bank = FracBank[4];
            if(PlayerInfo[playerid][pMember] == F_YAKUZA) bank = FracBank[5];
            if(PlayerInfo[playerid][pMember] == F_LCN) bank = FracBank[6];
            if(PlayerInfo[playerid][pMember] == F_RM) bank = FracBank[7];
            if(PlayerInfo[playerid][pMember] == F_NEWS) bank = FracBank[8];
            new sbank = bank+price;
            SendMes(playerid, COLOR_BLUE, "Вы ввели %i долларов на счет банка организации. Теперь в банке: %i долларов", price, sbank);
            GiveMoney(playerid, -price);
            if(PlayerInfo[playerid][pMember] == F_GROVE) SetOtherInt("grovebank", FracBank[0]),FracBank[0]+=price;
            if(PlayerInfo[playerid][pMember] == F_BALLAS) SetOtherInt("ballasbank", FracBank[1]),FracBank[1]+=price;
            if(PlayerInfo[playerid][pMember] == F_RIFA) SetOtherInt("rifabank", FracBank[2]),FracBank[2]+=price;
            if(PlayerInfo[playerid][pMember] == F_AZTECAS) SetOtherInt("aztecasbank", FracBank[3]),FracBank[3]+=price;
            if(PlayerInfo[playerid][pMember] == F_VAGOS) SetOtherInt("vagosbank", FracBank[4]),FracBank[4]+=price;
            if(PlayerInfo[playerid][pMember] == F_YAKUZA) SetOtherInt("yakuzabank", FracBank[5]),FracBank[5]+=price;
            if(PlayerInfo[playerid][pMember] == F_LCN) SetOtherInt("lcnbank", FracBank[6]),FracBank[6]+=price;
            if(PlayerInfo[playerid][pMember] == F_RM) SetOtherInt("rmbank", FracBank[7]),FracBank[7]+=price;
            if(PlayerInfo[playerid][pMember] == F_NEWS) SetOtherInt("ntoday", FracBank[8]),FracBank[8]+=price;
            return true;
        }

база данныйх
Код:
stock LoadOther()
{
    new time = GetTickCount();
    format(query,sizeof(query), "SELECT * FROM `"TABLE_OTHER"`");
    mysql_query(query);
    mysql_store_result();
    if(mysql_fetch_row(query) == 1)
    {
        mysql_fetch_row(query);
        sscanf(query, "p<|>iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii",
        FracBank[0],//grove
        FracBank[1],//ballas
        FracBank[2],//rifa
        FracBank[3],//aztec
        FracBank[4],//vagos
        FracBank[5],//yakuza
        FracBank[6],//lcn
        FracBank[7],//rm
        FracBank[8],//news
        Mats[0],//army LS ========= //10
        Mats[1],//lspd
        Mats[2],//sfrd
        Mats[3],//lvpd
        Mats[4],//fbi
        Mats[5],//grove
        Mats[6],//ballas
        Mats[7],//rifa
        Mats[8],//aztec
        Mats[9], //vagos
        Mats[21],//avia ============================================//20
        Mats[22],//zona
        Mats[F_LCN],//lcn
        Mats[F_YAKUZA],//yakyza
        Mats[F_RM],//rm
        DrugsBank[7],//narko grove
        DrugsBank[8],//narko balas
        DrugsBank[9],//narko rifa
        DrugsBank[10],//narco aztec
        DrugsBank[11],//narko vagos
        DrugsBank[F_YAKUZA],//narko yakuza =======================================//30
        DrugsBank[F_LCN],//narko lcn
        DrugsBank[F_RM],//narko rm
        Metal,//ruda
        Mineral[0],// шахта
        FuelBank);
    }
    mysql_free_result();
    printf(" [LOAD]: Успешная загрузка 'LoadOther' за %d м.с",GetTickCount() - time);
    return true;
}
 
Последнее редактирование модератором:
Сверху Снизу