RoninTadamasa
Умник
Всем привет.
Делаю систему на снятие денежных средств.
Делаю следующую проверку.
Все вроде работает, без каких либо замечаний, НО, если вводить слишком большие числа, то условие каким-то образом выполняется...
Есть ли в данной проверке ошибки? Или придется, дополнительное условие делать на максимальное введенное число?
Примерно я понимаю, почему это работает именно так, так как мы выходим за массив переменной денег бизнеса, но почему не работает условие, что если введенное число больше чем число в переменной, то возвращать false.
Делаю систему на снятие денежных средств.
Делаю следующую проверку.
PHP:
case 1508:{//При снятии денег с баланса предприятия
if(response){
if(IsNumber(inputtext) && strlen(inputtext) != 0 && strval(inputtext) != 0){
if(strval(inputtext) < business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney]){
new string[256], qwery[256];
business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney] = business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney] - strval(inputtext);
player_info[playerid][pMoney] = player_info[playerid][pMoney] + strval(inputtext);
ResetMoney(playerid);
format(qwery, sizeof(qwery), "UPDATE `business` SET `money` = '%d' WHERE `id` = '%d'", business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney], business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bID]);
mysql_query(dbHandel, qwery, false);
format(string, sizeof(string), ""COLOR_ORANGE"[Система] "COLOR_MOCCASIN"Вы успешно сняли денежные средства с баланса предприятия, суммой: "COLOR_GREEN"%d$", strval(inputtext));
return SendClientMessage(playerid, -1, string);
}
else{
new string[256];
format(string, sizeof(string), ""COLOR_WHITE"Вы собираетесь снять денежные средства с баланса предприятия:\n\n");
format(string, sizeof(string), "%s\t"COLOR_WHITE"1. Название предприятия: "COLOR_ORANGE"%s\n", string, business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bName]);
format(string, sizeof(string), "%s\t"COLOR_WHITE"2. Баланс предприятия: "COLOR_GREEN"%d$\n", string, business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney]);
strcat(string, "\n"COLOR_WHITE"Для снятия денежных средств, введите сумму в поле ниже");
ShowPlayerDialog(playerid, 1508, DIALOG_STYLE_INPUT, !""COLOR_ORANGE"Снятие денежных средств", string, !"Далее", !"Назад");
return SendClientMessage(playerid, -1, !""COLOR_ORANGE"[Система] "COLOR_MOCCASIN"Вы ввели некорректную сумму, введите ещё раз.");
}
}
else{
new string[256];
format(string, sizeof(string), ""COLOR_WHITE"Вы собираетесь снять денежные средства с баланса предприятия:\n\n");
format(string, sizeof(string), "%s\t"COLOR_WHITE"1. Название предприятия: "COLOR_ORANGE"%s\n", string, business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bName]);
format(string, sizeof(string), "%s\t"COLOR_WHITE"2. Баланс предприятия: "COLOR_GREEN"%d$\n", string, business_info[player_business[playerid][GetPVarInt(playerid, "SelectPlayerBusiness")]][bMoney]);
strcat(string, "\n"COLOR_WHITE"Для снятия денежных средств, введите сумму в поле ниже");
ShowPlayerDialog(playerid, 1508, DIALOG_STYLE_INPUT, !""COLOR_ORANGE"Снятие денежных средств", string, !"Далее", !"Назад");
return SendClientMessage(playerid, -1, ""COLOR_ORANGE"[Система] "COLOR_MOCCASIN"Вы ввели некорректную сумму, введите ещё раз.");
}
}
else{
new string[450];
strcat(string, ""COLOR_WHITE"1. Снять деньги с баланса предприятия\n");
strcat(string, ""COLOR_WHITE"2. Внести деньги на баланс предприятия\n");
strcat(string, ""COLOR_WHITE"3. Выставить предприятие на продажу\n");
strcat(string, ""COLOR_WHITE"4. Снять предприятие с продажи\n");
strcat(string, ""COLOR_WHITE"5. Продать предприятие игроку\n");
strcat(string, ""COLOR_WHITE"6. Продать предприятие государству\n");
strcat(string, ""COLOR_WHITE"7. Изменить название предприятия\n");
return ShowPlayerDialog(playerid, 1503, DIALOG_STYLE_LIST, !""COLOR_ORANGE"Управление предприятием", string, !"Далее", !"Назад");
}
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Есть ли в данной проверке ошибки? Или придется, дополнительное условие делать на максимальное введенное число?
Примерно я понимаю, почему это работает именно так, так как мы выходим за массив переменной денег бизнеса, но почему не работает условие, что если введенное число больше чем число в переменной, то возвращать false.
Последнее редактирование:
