Igor
Igor
Да и новейший маин не сложно декомпилировать
Hello, World! 🎄
Hello, World! 🎄
Igor
Есть специальное SDK для разработчиков неофициальное
Hello, World! 🎄
Хотя там же java версии, а java возможно проще декомпилировать в исходники 👀 наверно
Igor
Которое маппит переменным/функциям/классам нормальые названия
Igor
Hello, World! 🎄
Igor
https://github.com/igor725/cs-lua
Вот ещё относительно недавно написал мостик до Lua под свой сервер, работает пока слегка кривовато, но вроде живой.
Hello, World! 🎄
Hello, World! 🎄
Написание плагинов для сервера скорее всего?
Igor
Типа того
Igor
Уже есть все эвенты (игрок подключился/отключился, мир загружен/выгружен/....) можно управлять как игроками, так и миром
Hello, World! 🎄
Думаю написание своего сервера для майнкрафта очень сложно
Igor
да не то чтобы сложно
Igor
просто выматывает потому что времени нужно много тратить на реализацию хотелок, а так сложного абсолютно ничего нет.
Hello, World! 🎄
Хотя там же документация работе серверов есть?
Igor
если уже работал с сетью на %языкнейм%, то и спокойно напишешь на нём сервер для игры
Igor
Вот примерно так выглядит скрипт под сервер, конкретно этот даёт выполнять из игрового чата строки на Lua.
Hello, World! 🎄
Просто допустим начинаешь писать код, что бы что-то работало нужно сделать события подключения игрока/загрузка мира/изменение блоков/инвентарь/и т.д
Igor
Hello, World! 🎄
То есть чтоб увидеть результат не достаточно написать 50 строчек кода
Hello, World! 🎄
Хотя опять же можно допустим сделать самое простое при подключении игрока выводить ему просто сообщение Hello, World для начала 🧐
Igor
Igor
С моим кодстайлом потребовалось порядка 2 тысяч строк кода, чтобы привести сервер в играбельное состояние
Igor
Сейчас вместе со всеми плагинами там чет порядка 10к строк кода
Igor
9658 строк кода, если верить CLOC
Hello, World! 🎄
Hello, World! 🎄
Igor
Промежуточные тесты
Igor
Тестировать каждую функцию отдельно, допустим
Igor
Потом эти функции соберутся в цельную програму, грубо говоря
Igor
Компьютер довольно предсказуемая штука, всё очень просто, что напишешь, то он и выполнит.
Hello, World! 🎄
Понятно
Igor
Понятно
А вообще, если планируешь связывать свою дальнейшую жизнь с программированием, тебе надо научиться мыслить по другому. Для начала нужно понять, что количество строк проекта не указывает на его функциональность. Например, в 20 строк кода можно уместить простейший 3D рендер, а можно и на 200 строк кода растянуть программу, которая ничего толкового делать и не будет ещё способна. (Привет, Java, с её фабриками, классами и прочими весёлостями).
Hello, World! 🎄
Igor
Ну и хорошо, удачи тебе в начинаниях
Hello, World! 🎄
А вообще, если планируешь связывать свою дальнейшую жизнь с программированием, тебе надо научиться мыслить по другому. Для начала нужно понять, что количество строк проекта не указывает на его функциональность. Например, в 20 строк кода можно уместить простейший 3D рендер, а можно и на 200 строк кода растянуть программу, которая ничего толкового делать и не будет ещё способна. (Привет, Java, с её фабриками, классами и прочими весёлостями).
Понятно, что в 1000 строк можно уместить бесполезные действия, а в 50 строчек реализовать тоже самое и даже лучше
Hello, World! 🎄
Да, я больше скажу. Можно всё в одной строчке сделать))
Hello, World! 🎄
Igor
Hello, World! 🎄
Hello, World! 🎄
Ну и исполняться тоже быстрее должен
Igor
Нет.
Igor
Разве что в виртуальную машину загрузится чуть-чуть побыстрее, а сама скорость выполнения останется той же.
Hello, World! 🎄
Igor
Но эти несколько миллисекунд (в лучшем случае), которые ты выиграешь на скорости перевода скрипта в байткод тебе не дадут ровным счётом ничего, учитывая то, насколько жирный сейчас веб.
Hello, World! 🎄
Но код же быстрее начнёт выполняться (а скорость таже)
Hello, World! 🎄
Tony
Tony
У «правильности» много аспектов
Hello, World! 🎄
Tony
Функция может выполнять задачу согласно ТЗ – это правильная функция?
Tony
Да, но она может обрабатывать некорректный ввод – это более правильная функция?
Tony
Да, но она может выполнять задачу оптимально – это более правильная функция?
Hello, World! 🎄
Tony
Есть целые книги о правильных функциях
Luсky
Толковое
Удалённый аккаунт
Ура, чат вернулся
Alxius
Привествую, подскажите пожалуйста почему не хочет работать utf8.replace и про какой то nil пишет но там 100% не нил !!!
Alxius
в инструкции так всё и написано
Igor
Alxius
такое ощущение что не существует самого replace
Igor
Так оно и есть
Alxius
однако есть и работают : utf8sub и utf8.len
Alxius
как так?
Igor
Об этом тебе ловка и говорит
Igor
https://www.lua.org/manual/5.3/manual.html#6.5
Igor
Родная utf8 библиотека у Lua очень бедная
Igor
Нужно третьесторонние ставить
Igor
Либо самому организовывать половые сношения с байтами строк
Alxius
utf8sub явно сторонняя
Alxius
да мне просто перевод строки добавить в текстовом файле нельзя в строке энтеры писать
Alxius
потому и решил что заменой это проще решить
Vyacheslav
ентеры и без утф будут работать
Igor
Igor
Кодпоинты utf8 не задевают контрольные символы