Yogurt
Потом просто сотри все это
🦥Alex Fails
/setrules Тут можно обсуждать все, что связанно с луа – движки, интерпретаторы/компиляторы, питухан-биндинги, скрипты на сталкер: Тени Чернобыля и пр. Срачи не желательны, но если уж сильно бомбит, то разрешаю, но в рамках чата и не переходить сильно на личности. ⚠️За нарушения правил – предупреждения, а затем бан на срок от 1 дня до ∞. ❗️Если считаешь, что тебя несправедливо забанили, пиши @AlexFails в личку. Возможно, тебя разбанят. ❗️Также предлагайте интересные материалы, помечая их соответствующими хештегами (к примеру, #lua, #engine, #physics и пр.)
Yogurt
#lua #love2d #cocos2d У меня тут пара туториалов на хабре есть https://habrahabr.ru/users/yegorf1/topics/
🦥Alex Fails
#lua #love2d #cocos2d У меня тут пара туториалов на хабре есть https://habrahabr.ru/users/yegorf1/topics/
о, отлично, спасибо! Еще можно пометить тегами старые сообщения. Потом соберем инфы и можно будет сделать мини-каталог
Yogurt
(Хэштег #lua сомнительный)
Yogurt
(имхо)
🦥Alex Fails
Да, в рамках чата он избыточен, но для поиска по тегам во всех чатах он поможет отфтльтровать
Snusmumriken
Хех, обнаружил что с одним luasocket можно достаточно легко замутить бота.
Yogurt
В смысле?
Yogurt
мне кажется писать бота на луа нет никакого выиграша перед питоном
🦥Alex Fails
В смысле?
Дык бот на тг - это веб-приложение, которое делает хттп-запросы
Snusmumriken
В смысле?
Ну, обычные http-запросы. Можно не париться с ssl/https. Выигрыш - штука всегда относительная. У меня есть полный комплект всякой фигни, который делает из lua-скрипта сервис/демон. Догадываешься что это значит?
Yogurt
Мне кажется, что всякие там Руби, ноды и питоны оптимальны для этого дела
Snusmumriken
Мне кажется, что всякие там Руби, ноды и питоны оптимальны для этого дела
Ну, на них это можно сделать проще, а на луях - минималистичнее и быстрее. Пойду замутю бот-калькулятор всякого матана.
Yogurt
Спорно
Yogurt
на луа нет либ для этого
Yogurt
Хотя можно юзать telegram-cli в режиме бота
Yogurt
и это упрощает все
Yogurt
но теи не менее это как-то костыльон имхо
Yogurt
Я на Си написал😊
По ссылке выше еще и пост про телеграм бота
Snusmumriken
Хотя можно юзать telegram-cli в режиме бота
В смысле? Нет, все гораздо проще. Никаких либ, скрипт просто логинится, принимает сообщения и отвечает на них.
Yogurt
Ну для этого нужно настроить прием и парсинг json'а
Yogurt
А если что-то более крутое, то еще и обертку под api
Snusmumriken
Хех, все уже схвачено моими конечными автоматами и колбеками.
Yogurt
тогда ладно
Yogurt
Я думал ты говоришь про ванильную луашку
Yogurt
http://lua-users.org/wiki/JsonModules
Snusmumriken
Конечные автоматы с колбеками - это мои либы жеж. Я писал парсер простого json (довольно медленный из-за обилия string.match/string.gsub), но использую cjson ибо сишная либа, парсит гораздо быстрее чем тот же питон, имеет safemode и прочую фигню. Не понимаю, правда, чем подключенная библиотека мешает ванильной lua быть ванильной. Это же не полная либа для ботов.
Snusmumriken
В общем, тут вопрос уровня абстракции компонентов. Чем ниже уровень абстракции тем больше свобода, но для бота телеграмма, очень низкий уровень абстракции н е нужен. Кстати, я знаю где это можно применить в работе. Например, набор ботов, которые прицеплены к сервачкам (у меня на работе, произвольные lua-скрипты цепляются к БД) и мониторят состояние серверов. Плюс набор команд управления серверами, а ля 'запусти этот bat/sh', и лишний бот, который напрямую слинкован с остальными серверами и отслеживает их падения, с уведомлялками.
Snusmumriken
Хех, утащил чтобы посмотреть как работает.
FailsBot
( ・ω・。)つ━☆・*。 ⊂  ノ    ・゜+. しーJ   °。+ *´¨)          .· ´¸.·*´¨) ¸.·*¨)           (¸.·´ (¸.·'* ☆ FailsBot
Snusmumriken
Хех, это на мою попытку "сделать вжух" пол дня назад? :3
FailsBot
( ・ω・。)つ━☆・*。 ⊂  ノ    ・゜+. しーJ   °。+ *´¨)          .· ´¸.·*´¨) ¸.·*¨)           (¸.·´ (¸.·'* ☆ FailsBot
Snusmumriken
О да
🦥Alex Fails
Хех, это на мою попытку "сделать вжух" пол дня назад? :3
Ага, они на день кэшируются на сервах телеги
🦥Alex Fails
У него есть еще инлайн-вжух
Anonymous
Доброе утро!
Anonymous
Ребята, а какие книги для начинающих посоветуете? Я веду Твиттер @backendsecret и хотела бы поделиться с интересующимся Lua
Anonymous
И, конечно, почитать
Anonymous
Онлайн ресурсы помимо документации тоже подойдут
Alejandro Jeditobe
По луа книжка Роберта Иерусалимского
Anonymous
Спасибо большое!
Иван
блин
Иван
рано отправил
Иван
Привет, человеки. Пишу игрулю на луа, а язык знаю очень поверхностно. Особо разбираться времени нет (а то хрен я её когда до играбильного состояния допишу). Поэтому буду спрашивать тут всякую тупость. Итак. Допустим есть в игре такое понятие, как комната (карта с квадратными клетками). У неё есть имя, размер, двумерный массив клеток. Клетки-то меня и озадчили. Дело в том, что клетки могут быть очень разными: проходимыми/непроходимыми, простреливаемыми/не простреливаемыми, разрушаемыми/не разрушаемыми, просматриваемыми/не просматриваемыми (видно ли то что находится на них), с разными текстурами/анимациями. Даже с разным поведением (так что тут методы нужны, а не свойства). Получается у клетки есть интерфейс (набор методов), а его реализаций может быть очень много. Думаю сделать базовый класс Cell, в котором все методы тупо возвращают каке-то дефолтные значения (скажем при "просьбе" юнита шагнуть на эту клетку никак не менять его позицию, при попытке отрисовать отдавать тупо чёрный цвет, при подлёте снаряда удалять его даже без взрыва и т.п.). Потом сделать каталог с классами-наследниками, которые бы как-то переопределяли эти методы (например лава позволяла бы зайти в неё, но тут-же убивала с анимацией "сгорание") . Далее, я так понимаю, мне нужна будет фабрика, которая будет делать что-то в роде: function CellFabric(type) return require('cells/'~type):new() end И тогда, имея карту в виде двумерного массива имён типов клеток: { {'wall', 'road', 'wall', 'wall', 'water', 'underwaer_road', 'water'}, {'wall', 'road', 'road', 'road', 'road', 'road', 'water'}, {'wall', 'wall', 'lava', 'road', 'wall', 'wall', wall'}, {'wall', 'lava', 'lava', 'hell_road','lava','lava'}, {'wall', 'lava', 'lava', 'hell_road','lava','lava'} } Можно будет тупо в двойном цикле построить целевой массив клеток: for x = 1, map.length do for y = 1, map[x].length do room.map[x][y] = CellFabric(map[x][y]) end end Правильно я рассуждаю?
Yogurt
Аааа ты из явы пришел, да?
Иван
неа
Yogurt
Зачем фабрики? Просто класс (прототип)
Yogurt
http://lua-users.org/wiki/SimpleLuaClasses
Иван
Зачем фабрики? Просто класс (прототип)
Я думаю затем, чтобы экземпляр конкретного класса можно было получить, имея например строку с его именем или что-то в таком духе (не знаю пока в каком формате карты будут).
Yogurt
Ладно, это уже ваше дело как реализовывать, фишка в том, что вам нужн класс Cell а дальше страдайте с ним как хотите
Yogurt
(:
Tverd
Всем привет!
Иван
Привет
Tverd
Тут читал про фабрики. Очень рекомендую посмотреть на исходники diablorl и doomrl
Yogurt
У него есть сайлент мод?
Yogurt
А то раздражает
Tverd
Есть
Tverd
Парни, а кто-нить юзал макросы в луа? Есть несколько либ, типа metalua и luamacro. Но насколько я понял, они оба используют lpeg. А есть что-то на чистом луа? И желательно минималистичное...
Snusmumriken
Парни, а кто-нить юзал макросы в луа? Есть несколько либ, типа metalua и luamacro. Но насколько я понял, они оба используют lpeg. А есть что-то на чистом луа? И желательно минималистичное...
Типичный препроцесор, как moonscript, который грузит луа-модуль, выгребает списки макросов и подставляет их туда где стоят соответствующие метки, под конец - запуская модуль loadstring'ом. Довольно просто.
Snusmumriken
Просто модуль на lua, который грузит другие модули :) Загрузчик, кстати, должен быть аналогичен require, то есть, шастать по package.path и дефолтным путям, ища существующий файл.
Yogurt
Сниф, это ты навеялся соседним чатиком?
Yogurt
Темы подозрительно похожи
Tverd
Типичный препроцесор, как moonscript, который грузит луа-модуль, выгребает списки макросов и подставляет их туда где стоят соответствующие метки, под конец - запуская модуль loadstring'ом. Довольно просто.
Это спасибо, мунскрипт юзаю. Даже написал moonclass для того что бы прозрачно пользовать мунскриптовые классы в чистом луа и наоборот. А вот что-то в момент исполнения типа loadstring. Хотя в теории и кложур думаю хватит
Dmitry
всем привет
Yogurt
Прив
Dmitry
а есть такой канал по bash
Yogurt
БашОргу или Башу?
🦥Alex Fails
Dmitry
спасибо
Dmitry
bash
Dmitry
не bash.org
Dmitry
pro.linux - нет такого
Yogurt
pro.linux Операционная система Linux. Взамен старой-доброй группы pro.linux с которой и началась вся серия групп pro.*, т.к. создатель её покинул нас и новые участники не могут добавиться. https://telegram.me/joinchat/Be4rsT7VI1LxrHaMR3pezQ #linux #unix #nix #tux #os #arch #fedora #ubuntu #gentoo
Dmitry
спс