ThomasWil
Новичок
Прошу помочь со снятием и пополнением счета. Суть такова, что когда кладешь деньги на банк (положить наличные), то с денег (которые у тебя основные, в правом верхнем углу) они не снимаются. Так же и со снятием, когда снимаешь деньги, они не идут на игровые деньги. Вот код:
PHP:
case 8900:
{
if(response)
{
switch(listitem)
{
case 0:
{
format(stringer,sizeof(stringer), "Баланс вашего счёта: %d вирт", p_i[playerid][pBank]);
SPD(playerid,8904,DIALOG_STYLE_LIST,stringer," - 500$\n - 1000$\n - 5000$\n - 10000$\n - 20000$\n - 50000$\n - 100000$","Ок","<< Назад");
return true;
}
case 1:
{
format(stringer,sizeof(stringer), "_________________________\nНа вашем счету %d вирт\n_________________________",p_i[playerid][pBank]);
SPD(playerid,8905,DIALOG_STYLE_MSGBOX,"Банкомат",stringer,"<< Назад","");
return true;
}
case 2:
{
if(p_i[playerid][pPhousekey] == 255) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет дома");
SPD(playerid, 9521, DIALOG_STYLE_LIST, "Банкомат","- на 7 дней\n- на 14 дней","Перевести", "Выход");
return true;
}
}
}
else
{
GameTextForPlayer(playerid, "~g~Good Luck", 1000, 1);
return true;
}
}
case 8904:
{
if(response)
{
if(listitem == 0) { money = 500; }
else if(listitem == 1) { money = 1000; }
else if(listitem == 2) { money = 5000; }
else if(listitem == 3) { money = 10000; }
else if(listitem == 4) { money = 20000; }
else if(listitem == 5) { money = 50000; }
else if(listitem == 6) { money = 100000; }
if (money > p_i[playerid][pBank]) return SPD(playerid, 10010, DIALOG_STYLE_MSGBOX, "Банкомат", "На вашем счету недостаточно денег!", "<< Назад", "");
p_i[playerid][pCash] +=money;
p_i[playerid][pBank] = p_i[playerid][pBank]-money;
SendMes(playerid,0x6495EDFF,"Вы сняли со счёта: %d вирт. Остаток: %d вирт", money,p_i[playerid][pBank]);
format(stringer,sizeof(stringer), "~b~+%d", money);
GameTextForPlayer(playerid, stringer, 3000, 1);
return true;
}
else return SPD(playerid, 8900, DIALOG_STYLE_LIST, "Терминал приёма платежей", "- Снять наличные\n- Баланс\n- Домашний счёт", "Далее >>", "Выход");
}
case 8905:
{
if(response) return SPD(playerid, 8900, DIALOG_STYLE_LIST, "Терминал приёма платежей", "- Снять наличные\n- Баланс\n- Домашний счёт", "Далее >>", "Выход");
}
case 9521:
{
if(response)
{
new plata,day,bouse = p_i[playerid][pPhousekey];
if(HouseInfo[bouse][hKlass] == 0) plata = 300;
else if(HouseInfo[bouse][hKlass] == 1) plata = 600;
else if(HouseInfo[bouse][hKlass] == 2) plata = 900;
else if(HouseInfo[bouse][hKlass] == 3) plata = 1200;
else if(HouseInfo[bouse][hKlass] == 4) plata = 1500;
else if(HouseInfo[bouse][hKlass] == 5) plata = 1800;
if(listitem == 0) day = 7;
else if(listitem == 1)
{
if(p_i[playerid][pPayDayHad] < 72) return SendClientMessage(playerid,COLOR_GREY,"Вы должны отыграть на сервере как минимум 72 часа.");
day = 14;
}
new takking = day*8*plata;
if (p_i[playerid][pBank] < takking)
{
SendMes(playerid, COLOR_GREY, "Для пополнения счёта необходимо %d",takking);
SPD(playerid, 10010, DIALOG_STYLE_MSGBOX, "Банкомат", "На вашем счету недостаточно денег!", "Назад", "");
return 1;
}
else
{
p_i[playerid][pBank] -= takking,HouseInfo[bouse][hTakings] += takking;
if(HouseInfo[bouse][hTakings] > takking) HouseInfo[bouse][hTakings] = takking;
SendMes(playerid,0x6495EDFF, "Вы положили на счёт Вашей квартиры %d вирт. Квартирный счёт: %d вирт", takking, HouseInfo[bouse][hTakings]);
SaveHouse(bouse);
return true;
}
}
else return true;
}
