Статья Создаем мобильный и удобный код в вашем скрипте

  • 445
  • 1
  • 90
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
:pepecowboy:Перед началом статьи хотелось бы поздравить всех с наступающим!:pepecowboy:

Теперь приступим к самой статье, состоять она будет из:
1) Создаем отдельные косметические функции для удобства
2) Коментарии к функциям
3) Упрощение кода и очистка от мусора

Самое первое думаю знакомо каждому:
For example trashcode:
client.notify("Hello "..globals.get_username().." ! Brokencore forum")
client.notify("Last version update: 2.0.0")
client.notify("Thanks for using my script!")

Сразу бросается в глаза использование синтаксисов и ненужных символов в принте.
Сутью косметических функций является упрощение получаемой\используемой информации.
Вариаций этого есть много, но я покажу распространённую

Первым делом мы создаем отдельные функции для вывода всей системной информации скрипта:

Create cosmetics function:
local system = {
    username = function()
        return Cheat.GetUsername()
    end

    version = function()
        return tostring("2.0.0")
    end
}
Массив system мы создаем для более удобного использования (относится кстати и ко 2 пункту)
Писать local function или function, или же как я brokencore = function() абсолютно не имеет никакого либо смысла.
Синтаксисы разные, а значение и выполнение одно.

На выходе мы получаем такой код:

Code with cosmetics function:
local system = {
    username = function()
        return Cheat.GetUsername()
    end

    version = function()
        return tostring("2.0.0")
    end
}
client.notify("Hello "..system.username().." ! Brokencore forum")
client.notify("Last version update: "..system.version())
client.notify("Thanks for using my script!")


Далее переходим к комментариям по пути вашего скрипта; всё довольно просто - функция, выполнение, комментарий.
Прямо как на коде ниже:
Commentaries for function:
local system = {
    username = function() // get username nickname
        return Cheat.GetUsername()
    end

    version = function() // current version of script
        return tostring("2.0.0")
    end
}

// print information
client.notify("Hello "..system.username().." ! Brokencore forum")
client.notify("Last version update: "..system.version())
client.notify("Thanks for using my script!")

Переходим сразу же к удалению мусора в коде.
Примеру тому станет рандомная луашка которая лежит у меня на компьютере:peperjomba::
Random trashcode script:
local function hasdasditlog()
    if asdasdasdasx:GetBool() == true then
        if not EngineClient.IsConnected() then return end
        CVar.FindVar("fov_cs_debug"):SetFloat(90)
    else
        CVar.FindVar("fov_cs_debug"):SetFloat(0)
     end
end
Выше код до удаления мусора, внизу код после:
Random script after cleaning:
hasdasditlog = function()
    if asdasdasdasx:GetBool() then
        if not EngineClient.IsConnected() then return end
        CVar.FindVar("fov_cs_debug"):SetFloat(90)
    else
        CVar.FindVar("fov_cs_debug"):SetFloat(0)
     end
end


Впрочем, думаю всё понятно, спасибо за прочтение статьи!

 
  • 81
  • 1
  • 6
Контакты для связи отсутствуют.
В чем проблема просто так сделать?

local version = '1.0'
local username = Cheat.GetUsername()

client.notify("Hello ".. username .." ! Brokencore forum")
client.notify("Last version update: ".. version)
client.notify("Thanks for using my script!")

Каким образом миллиард массивов и функций улучшает читаемость кода?
 
  • 278
  • 83
В чем проблема просто так сделать?

local version = '1.0'
local username = Cheat.GetUsername()

client.notify("Hello ".. username .." ! Brokencore forum")
client.notify("Last version update: ".. version)
client.notify("Thanks for using my script!")

Каким образом миллиард массивов и функций улучшает читаемость кода?
мне кажется легче сделать
Lua:
local 1234567890a = {
local 1234567890b = {
    username = function()
        return Cheat.GetUsername()
    end

    version = function()
        return tostring("2.0.0")
    end
 }
}
1234567890a.1234567890b.username()

Random trashcode script:
local function hasdasditlog()
    if asdasdasdasx:GetBool() == true then
        if not EngineClient.IsConnected() then return end
        CVar.FindVar("fov_cs_debug"):SetFloat(90)
    else
        CVar.FindVar("fov_cs_debug"):SetFloat(0)
     end
end
Выше код до удаления мусора, внизу код после:
Random script after cleaning:
hasdasditlog = function()
    if asdasdasdasx:GetBool() then
        if not EngineClient.IsConnected() then return end
        CVar.FindVar("fov_cs_debug"):SetFloat(90)
    else
        CVar.FindVar("fov_cs_debug"):SetFloat(0)
     end
end


жесть про ==true с огласен. но где разница между local function и = function()? тем более мусорного кода в обоих вариантах нету, ты не различаешь стиль кода и мусор кода
Писать local function или function, или же как я brokencore = function() абсолютно не имеет никакого либо смысла.
Синтаксисы разные, а значение и выполнение одно.


но по твоему мнению лучше синтаксис = function() я так понял, да? мне кажется это наоборот изуродует код ну почему не написать local function bruh() end
 
Последнее редактирование:
  • 445
  • 1
  • 90
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
local function и = function()? тем более мусорного кода в обоих вариантах нету, ты не различаешь стиль кода и мусор кода.
Пожалуйста, прочитай внимательней пост прежде чем писать это.
Кстати синтаксис asdasdasd = function() с .self таблицей является протектед функцией, поэтому в априори с такой функцией и с таким синтаксис ошибок быть не может в случае чего либо (не про составляющую самой функции!!!)
мне кажется легче сделать
Ты сделал полную копию, где разница? Кстати я просто не нашёл пример (не придумал), но я это использую если допиливаю какие-то функции которых нет в чите 👉👈
В чем проблема просто так сделать?
Локал за пределами необязателен.
Каким образом миллиард массивов и функций улучшает читаемость кода?
Пойду ка посмотрю на твой пример как ты будешь какую нибудь ффай-функцию допиливать в таком кринже.
 
  • 278
  • 83
Пожалуйста, прочитай внимательней пост прежде чем писать это.
Кстати синтаксис asdasdasd = function() с .self таблицей является протектед функцией, поэтому в априори с такой функцией и с таким синтаксис ошибок быть не может в случае чего либо (не про составляющую самой функции!!!)
про протектед я не знал, т.к мне нахуй эти неверлуз скрипты не нужны и не играю в хвх с августа уже (и слава богу)
 
  • 445
  • 1
  • 90
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
с .self таблицей является протектед функцией, поэтому в априори с такой функцией и с таким синтаксис ошибок быть не может в случае чего либо (не про составляющую самой функции!!!)
Кстати, хочу дополнить тем, что отладчик отгружает такую таблицу на 1 2 3, в отличии от прямолинейного создания.
 
  • 445
  • 1
  • 90
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
про протектед я не знал, т.к мне нахуй эти неверлуз скрипты не нужны и не играю в хвх с августа уже (и слава богу)
Это работа отладчика самого языка, зачем ты сюда зашёл
 
  • 81
  • 1
  • 6
Контакты для связи отсутствуют.
Локал за пределами необязателен.
Глобал тоже


Ты по сути предлагаешь вместо print('2.0.0') делать
local system = {
version = function()
return tostring("2.0.0")
end
}

print(system.version())

Это искусственное усложнение кода которое ещё и может сказаться на оптимизации
Нахуя для простой строки делать функцию в массиве !!!!

Это нихуя блять не удобный и не мобильный код
 
Сверху Снизу