Округление числа до 50/100

shawtyglock.

Активный
Автор темы
188
63
Версия MoonLoader
.026-beta
Как сделать функции с округлением чисел в большую сторону?
Первая функция - округление до 50, например число: 40 будет округляться до 50, число 130 будет округляться до 150 и так далее
Вторая функция - округление до 100, например число: 70 будет округляться до 100, число 342 будет округляться до 400 и так далее
 

shawtyglock.

Активный
Автор темы
188
63
Lua:
function round(num, step) -- 1) число | 2) шаг округления
  return math.ceil(num / step) * step
end

-- твои примеры
round(40, 50) -- 50
round(130, 50) -- 150
round(70, 100) -- 100
round(342, 100) -- 400
В коде это можно использовать так? Что-бы аргумент который вводился пользователем округлялся?

Код:
function ammobd(arg)
    if ammo.v then
        arg = tonumber(arg) or 1
        round(arg, 50)
        arg = arg > 50 and arg / 50 or 1
        sampSendPickedUpPickup(2069)
        for i = 1, 5 do
            sampSendClickTextdraw(443)
        end

        for i = 1, arg do
            sampSendClickTextdraw(450)
        end
        sampSendClickTextdraw(454)
    end
end
 

shawtyglock.

Активный
Автор темы
188
63
Lua:
function ammobd(round(arg, 50))
    if ammo.v then
        arg = tonumber(arg) or 1
        round(arg, 50)
        arg = arg > 50 and arg / 50 or 1
        sampSendPickedUpPickup(2069)
        for i = 1, 5 do
            sampSendClickTextdraw(443)
        end

        for i = 1, arg do
            sampSendClickTextdraw(450)
        end
        sampSendClickTextdraw(454)
    end
end
[ML] (error) Shawty Helper Menu 0.2.lua: ...L 17K GTA Original\moonloader\Shawty Helper Menu 0.2.lua:324: ')' expected near '('
[ML] (error) Shawty Helper Menu 0.2.lua: Script died due to an error. (0C69B69C)
 

SHOKoladka

Участник
63
42
Не понял что ты имеешь ввиду. Я вставил вместо своего кода твой.
Lua:
function round(num, step) -- 1) число | 2) шаг округления
  return math.ceil(num / step) * step
end

-- твои примеры
round(40, 50) -- 50
round(130, 50) -- 150
round(70, 100) -- 100
round(342, 100) -- 400
 

SHOKoladka

Участник
63
42
Да, её я вставил.
Без понятия тогда почему не работает, эта функция же возвращает целочисленный округленный до 50 аргумент.

Lua:
function ammobd(round(arg, 50))
    if ammo.v then
        arg = tonumber(arg) or 1
        round(arg, 50)
        arg = arg > 50 and arg / 50 or 1
        sampSendPickedUpPickup(2069)
        for i = 1, 5 do
            sampSendClickTextdraw(443)
        end

        for i = 1, arg do
            sampSendClickTextdraw(450)
        end
        sampSendClickTextdraw(454)
    end
end
Так ты же вставил еë уже на 4 строке, разве не работает? В аргументе функции ammodb она не нужна.
 

shawtyglock.

Активный
Автор темы
188
63
Без понятия тогда почему не работает, эта функция же возвращает целочисленный округленный до 50 аргумент.


Так ты же вставил еë уже на 4 строке, разве не работает? В аргументе функции ammodb она не нужна.
Ну я спросил, будет ли правильно использовать её так, а не дал код в который нужно его вставить. Все равно спасибо за то, что откликнулся.

В коде это можно использовать так? Что-бы аргумент который вводился пользователем округлялся?

Код:
function ammobd(arg)
    if ammo.v then
        arg = tonumber(arg) or 1
        round(arg, 50)
        arg = arg > 50 and arg / 50 or 1
        sampSendPickedUpPickup(2069)
        for i = 1, 5 do
            sampSendClickTextdraw(443)
        end

        for i = 1, arg do
            sampSendClickTextdraw(450)
        end
        sampSendClickTextdraw(454)
    end
end
Данный вариант кода не выполняет свою функцию. Например, если пользователь ввёл бы /bd 244, то получил бы цифру 4, когда должен был получить цифру 5.
 
Последнее редактирование:
  • Нравится
Реакции: SHOKoladka