
Alex Фэils?︙
03.02.2017
08:38:25
Я прошу прощения, коллеги,за некоторый флуд, связанный с настройкой бота. Если какие вопросы по боту, управлению и командам, пишите в лс. Только напишите, что вы из #prolua.

yegorf1
03.02.2017
08:39:22
Потом просто сотри все это

Alex Фэils?︙
03.02.2017
08:41:22
/setrules Тут можно обсуждать все, что связанно с луа – движки, интерпретаторы/компиляторы, питухан-биндинги, скрипты на сталкер: Тени Чернобыля и пр. Срачи не желательны, но если уж сильно бомбит, то разрешаю, но в рамках чата и не переходить сильно на личности.
⚠️За нарушения правил – предупреждения, а затем бан на срок от 1 дня до ∞.
❗️Если считаешь, что тебя несправедливо забанили, пиши @AlexFails в личку. Возможно, тебя разбанят.
❗️Также предлагайте интересные материалы, помечая их соответствующими хештегами (к примеру, #lua, #engine, #physics и пр.)


Group Butler [beta]
03.02.2017
08:41:23
/setrules Тут можно обсуждать все, что связанно с луа – движки, интерпретаторы/компиляторы, питухан-биндинги, скрипты на сталкер: Тени Чернобыля и пр. Срачи не желательны, но если уж сильно бомбит, то разрешаю, но в рамках чата и не переходить сильно на личности.
⚠️За нарушения правил – предупреждения, а затем бан на срок от 1 дня до ∞.
❗️Если считаешь, что тебя несправедливо забанили, пиши @AlexFails в личку. Возможно, тебя разбанят.
❗️Также предлагайте интересные материалы, помечая их соответствующими хештегами (к примеру, #lua, #engine, #physics и пр.)
New rules saved successfully!

Google

yegorf1
03.02.2017
08:44:34
#lua #love2d #cocos2d
У меня тут пара туториалов на хабре есть
https://habrahabr.ru/users/yegorf1/topics/

Alex Фэils?︙
03.02.2017
08:46:04

yegorf1
03.02.2017
08:46:49
(Хэштег #lua сомнительный)
(имхо)

Alex Фэils?︙
03.02.2017
08:47:56
Да, в рамках чата он избыточен, но для поиска по тегам во всех чатах он поможет отфтльтровать

Snusmumriken
03.02.2017
08:52:27
Хех, обнаружил что с одним luasocket можно достаточно легко замутить бота.

yegorf1
03.02.2017
08:52:36
В смысле?
мне кажется писать бота на луа нет никакого выиграша перед питоном

Alex Фэils?︙
03.02.2017
08:54:00
В смысле?
Дык бот на тг - это веб-приложение, которое делает хттп-запросы

Snusmumriken
03.02.2017
08:54:36
В смысле?
Ну, обычные http-запросы. Можно не париться с ssl/https. Выигрыш - штука всегда относительная. У меня есть полный комплект всякой фигни, который делает из lua-скрипта сервис/демон. Догадываешься что это значит?

yegorf1
03.02.2017
08:55:35
Мне кажется, что всякие там Руби, ноды и питоны оптимальны для этого дела

Google

Snusmumriken
03.02.2017
08:56:09

yegorf1
03.02.2017
08:56:17
Спорно
на луа нет либ для этого
Хотя можно юзать telegram-cli в режиме бота
и это упрощает все
но теи не менее это как-то костыльон имхо

Snusmumriken
03.02.2017
08:57:17

yegorf1
03.02.2017
08:57:39
Ну для этого нужно настроить прием и парсинг json'а
А если что-то более крутое, то еще и обертку под api

Snusmumriken
03.02.2017
08:58:10
Хех, все уже схвачено моими конечными автоматами и колбеками.

yegorf1
03.02.2017
08:58:19
тогда ладно
Я думал ты говоришь про ванильную луашку

Alex Фэils?︙
03.02.2017
08:58:41

yegorf1
03.02.2017
08:58:57
http://lua-users.org/wiki/JsonModules

Snusmumriken
03.02.2017
08:59:42
Конечные автоматы с колбеками - это мои либы жеж. Я писал парсер простого json (довольно медленный из-за обилия string.match/string.gsub), но использую cjson ибо сишная либа, парсит гораздо быстрее чем тот же питон, имеет safemode и прочую фигню. Не понимаю, правда, чем подключенная библиотека мешает ванильной lua быть ванильной. Это же не полная либа для ботов.
В общем, тут вопрос уровня абстракции компонентов. Чем ниже уровень абстракции тем больше свобода, но для бота телеграмма, очень низкий уровень абстракции н е нужен.
Кстати, я знаю где это можно применить в работе.
Например, набор ботов, которые прицеплены к сервачкам (у меня на работе, произвольные lua-скрипты цепляются к БД) и мониторят состояние серверов. Плюс набор команд управления серверами, а ля 'запусти этот bat-ник', и лишний бот, который напрямую слинкован с остальными серверами и отслеживает их падения, с уведомлялками.

The Dude
03.02.2017
10:06:58

Snusmumriken
03.02.2017
14:04:27
Хех, утащил чтобы посмотреть как работает.

FailsBot
03.02.2017
17:23:43
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆ FailsBot

Google

Alex Фэils?︙
03.02.2017
17:24:11

Snusmumriken
03.02.2017
17:24:22
Хех, это на мою попытку "сделать вжух" пол дня назад? :3

FailsBot
03.02.2017
17:24:37
( ・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·*¨)
(¸.·´ (¸.·'* ☆ FailsBot

Snusmumriken
03.02.2017
17:24:39
О да

Alex Фэils?︙
03.02.2017
17:25:30
У него есть еще инлайн-вжух

Marina
04.02.2017
07:25:02
Доброе утро!
Ребята, а какие книги для начинающих посоветуете? Я веду Твиттер @backendsecret и хотела бы поделиться с интересующимся Lua
И, конечно, почитать
Онлайн ресурсы помимо документации тоже подойдут

Alejandro
04.02.2017
16:56:25
По луа книжка Роберта Иерусалимского

Marina
04.02.2017
16:58:55
Спасибо большое!

Group Butler [beta]
04.02.2017
17:16:35
Добро пожаловать в чат pro.lua, 0x9d8e! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Maxim! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Viktor! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Igor! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Admin
ERROR: S client not available

0x9d8e
04.02.2017
17:55:44
блин
рано отправил

Google


0x9d8e
04.02.2017
17:58:30
Привет, человеки. Пишу игрулю на луа, а язык знаю очень поверхностно. Особо разбираться времени нет (а то хрен я её когда до играбильного состояния допишу). Поэтому буду спрашивать тут всякую тупость.
Итак. Допустим есть в игре такое понятие, как комната (карта с квадратными клетками). У неё есть имя, размер, двумерный массив клеток. Клетки-то меня и озадчили.
Дело в том, что клетки могут быть очень разными: проходимыми/непроходимыми, простреливаемыми/не простреливаемыми, разрушаемыми/не разрушаемыми, просматриваемыми/не просматриваемыми (видно ли то что находится на них), с разными текстурами/анимациями. Даже с разным поведением (так что тут методы нужны, а не свойства).
Получается у клетки есть интерфейс (набор методов), а его реализаций может быть очень много. Думаю сделать базовый класс 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
Правильно я рассуждаю?


yegorf1
04.02.2017
17:59:02
Аааа
ты из явы пришел, да?

0x9d8e
04.02.2017
17:59:08
неа

yegorf1
04.02.2017
17:59:27
Зачем фабрики?
Просто класс (прототип)
http://lua-users.org/wiki/SimpleLuaClasses

Group Butler [beta]
04.02.2017
18:00:24
Добро пожаловать в чат pro.lua, Andrius! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

0x9d8e
04.02.2017
18:01:49
Зачем фабрики?
Просто класс (прототип)
Я думаю затем, чтобы экземпляр конкретного класса можно было получить, имея например строку с его именем или что-то в таком духе (не знаю пока в каком формате карты будут).

yegorf1
04.02.2017
18:02:30
Ладно, это уже ваше дело как реализовывать, фишка в том, что вам нужн класс Cell а дальше страдайте с ним как хотите
(:

Group Butler [beta]
04.02.2017
18:17:24
Добро пожаловать в чат pro.lua, Ixtis! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.
Добро пожаловать в чат pro.lua, Tverd! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Tverd
04.02.2017
18:27:09
Всем привет!

Group Butler [beta]
04.02.2017
18:29:02
Добро пожаловать в чат pro.lua, Andrey! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

0x9d8e
04.02.2017
18:45:23
Привет

Tverd
04.02.2017
18:46:54
Тут читал про фабрики. Очень рекомендую посмотреть на исходники diablorl и doomrl

Group Butler [beta]
04.02.2017
18:51:32
Добро пожаловать в чат pro.lua, Ruslan! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

yegorf1
04.02.2017
18:52:18
У него есть сайлент мод?
А то раздражает

Tverd
04.02.2017
18:54:01
Есть
Парни, а кто-нить юзал макросы в луа? Есть несколько либ, типа metalua и luamacro. Но насколько я понял, они оба используют lpeg. А есть что-то на чистом луа? И желательно минималистичное...

Google

Snusmumriken
04.02.2017
20:54:06
Просто модуль на lua, который грузит другие модули :)
Загрузчик, кстати, должен быть аналогичен require, то есть, шастать по package.path и дефолтным путям, ища существующий файл.

yegorf1
04.02.2017
20:57:13
Сниф, это ты навеялся соседним чатиком?
Темы подозрительно похожи