как сделать лимит денег на руках и в банке
Так или нет ?)
PHP код:
if(PlayerInfo[playerid][pMoney] <= 2000000000)
if(PlayerInfo[playerid][pAccount] <= 2000000000)
как сделать лимит денег на руках и в банке
Так или нет ?)
PHP код:
if(PlayerInfo[playerid][pMoney] <= 2000000000)
if(PlayerInfo[playerid][pAccount] <= 2000000000)
<=
на
>
Unknown (14.08.2014)
Аналогично с банкомPHP код:
const MONEY_LIMIT = 2000000000; //Глобальная
new money = PlayerInfo [playerid] [pMoney] + PayMoney; //Допустим PayMoney будет кол-во денег, которое дадут игроку
if (money < MONEY_LIMIT) {
PlayerInfo [playerid] [pMoney] += PayMoney;
} else {
PlayerInfo [playerid] [pMoney] += MAX_MONEY - PlayerInfo [playerid] [pMoney]; //Выдаём до лимита!
}
- - - Добавлено - - -
Точнее if (money <= MONEY_LIMIT)
- - - Добавлено - - -
PHP код:
new money = PlayerInfo [playerid] [pMoney] + PayMoney; //Допустим PayMoney будет кол-во денег, которое дадут игроку
PlayerInfo [playerid] [pMoney] += (money <= MONEY_LIMIT) ? PayMoney : MAX_MONEY - PlayerInfo [playerid] [pMoney];
Unknown (14.08.2014)
PHP код:
const MONEY_LIMIT = 2000000000; //Глобальная
new moneyy = PlayerInfo [playerid] [pMoney] + PayMoney; //Допустим PayMoney будет кол-во денег, которое дадут игроку
if (moneyy < MONEY_LIMIT) {
PlayerInfo [playerid] [pMoney] += PayMoney;
} else {
PlayerInfo [playerid] [pMoney] += MAX_MONEY - PlayerInfo [playerid] [pMoney]; //Выдаём до лимита!
}
PHP код:
error 010: invalid function or declaration
: error 010: invalid function or declaration
warning 203: symbol is never used: "moneyy"
Unknown (14.08.2014)
В конец мода
Это не в конец мода нужно, а в каждую операцию с деньгами, для простоты можешь сделать так.
И, допустим в /pay юзайPHP код:
stock GiveMoneyForPlayer (playerid, paymoney) {
new moneyy = PlayerInfo [playerid] [pMoney] + paymoney;
PlayerInfo [playerid] [pMoney] += (moneyy <= MONEY_LIMIT) ? PayMoney : MAX_MONEY - PlayerInfo [playerid] [pMoney];
}
А константу в самый верх!PHP код:
GiveMoneyForPlayer (targetid, money);
- - - Добавлено - - -
Тьфу ты, в стоке поменяй PayMoney на paymoney!
- - - Добавлено - - -
И да, если будет warning, что moneyy не используется, измени new moneyy на stock moneyy
Unknown (14.08.2014)
Вот пример команды /pay как тут юзать то правильно ?
PHP код:
if(strcmp(cmd, "/pay", true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "/pay [ ID игрока / Nick игрока ] [ Сумма ]");
new tmpp=ReturnUser(tmp);
if(tmpp == playerid) return error(playerid, "Вы не можете передать деньги самому себе.");
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return error(playerid, "/pay [ ID игрока / Nick игрока ] [ количество ]");
if(PlayerInfo[playerid][pLevel] < 1) return error(playerid, "Передача денег доступна с первого уровня.");
moneys = strval(tmp);
if(moneys < 1 || moneys > 100000) return error(playerid, "Нельзя передать меньше 1$ и больше 100.000$.");
if (!IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
if(giveplayerid == INVALID_PLAYER_ID) return NetotID;
if (!ProxDetectorS(5.0, playerid, giveplayerid)) return error(playerid, "Вы слишком далеко.");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = PlayerInfo[playerid][pMoney];
if (moneys < 0 || playermoney < moneys) return error(playerid, "Неправильное количество.");
PlayerInfo[giveplayerid][pMoney] += moneys;
PlayerInfo[playerid][pMoney] -= moneys;
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
if(moneys >= 90000)
{
format(string, 256, "%s[%d] передал %d$ игроку %s[%d]",sendername,playerid, moneys, giveplayer,giveplayerid);
SendAdminMessage(COLOR_YELLOW, string);
}
PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "передал наличных игроку %s." ,giveplayer);
Action(playerid, string);
format(string, sizeof(string), "Ты передал %d$ игроку %s.", moneys, giveplayer);
SendClientMessage(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), "Ты получил %d$ наличных от %s.", moneys, sendername);
SendClientMessage(giveplayerid, COLOR_GRAD1, string);
log("pay", string);
return true;
}
замени наPHP код:
PlayerInfo[giveplayerid][pMoney] += moneys;
PlayerInfo[playerid][pMoney] -= moneys;
PHP код:
new moneyy = PlayerInfo [giveplayerid] [pMoney] + moneys;
PlayerInfo [giveplayerid] [pMoney] += (moneyy <= MONEY_LIMIT) ? moneys : MAX_MONEY - PlayerInfo [giveplayerid] [pMoney];
PlayerInfo [playerid] [pMoney] -= (moneyy <= MONEY_LIMIT) ? moneys : MAX_MONEY - PlayerInfo [giveplayerid] [pMoney];
Unknown (14.08.2014)
а тут я понимаю ужеPHP код:
new cashwithdraw = strval(inputtext);
if (cashwithdraw > PlayerInfo[playerid][pAccount] || cashwithdraw < 1) return Dialog(playerid,44,DIALOG_STYLE_MSGBOX," ","У вас нет столько денег!","Назад","");
PlayerInfo[playerid][pAccount] = PlayerInfo[playerid][pAccount] - cashwithdraw;
PlayerInfo[playerid][pMoney] += cashwithdraw;
format(string, sizeof(string), "Вы сняли: %d$. Остаток: %d$", cashwithdraw, PlayerInfo[playerid][pAccount]);
Dialog(playerid,42,DIALOG_STYLE_MSGBOX,"Банк: Чек",string,"Назад","");
Так и оставлять ?)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)