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