Size: a a a

2019 October 30

Ж

Жечка in pro.lua
а декомпилятор вменяемый для lua есть?

а то существующие грустно декомпилят такой код:
local _M = {
}

_M.test = {
 1,2,3
}

function _M.someFunc()
 for i = 1, #_M.test do
   print(_M.test[i])
 end
end

_M.someFunc()

получается хоть и понятная, но фигня с UPVALUE:

{
 test = {
   1,
   2,
   3
 },
 someFunc = function()
   for _FORV_3_ = 1, #_UPVALUE0_.test do
     print(_UPVALUE0_.test[_FORV_3_])
   end
 end
}.someFunc()

И часто вообще ересь типа{1,2,3}[_FORV_3_]
источник

Ж

Жечка in pro.lua
т.е. да, код восстановить часто удаётся, но вот сразу после декомпиляции код не работает, например
источник

S

Snusmumriken in pro.lua
Ну и нытьё : )
источник

З

Зилер близко in pro.lua
Можно тоже поною? Никак не могу найти представление для Иерархии данных в табличном представлении, ну и собственно парсера всего этого. Как на Lua обстоят дела с этим? Как геймдату хранят ( только не в виде кода луа представлении ) в таблицах, есть иерархические какие нибудь лоадеры?
источник

S

Snusmumriken in pro.lua
Ой мама, столько всего непонятного, что хочется конкретного примера.
источник

S

Snusmumriken in pro.lua
Потому что выглядит пока просто как "дерево/куча объектов и функции для руления ими"
источник

З

Зилер близко in pro.lua
источник

З

Зилер близко in pro.lua
Вот небольшой пример. тут к примеру value.item это массив, и он должен для микромоба заполниться двумя элементами
источник

S

Snusmumriken in pro.lua
1. Объектики, наследующиеся от всякой фигни (СуперЩит наследуется от щита наследуется от игрового объекта которого можно брать в руки)
2. ESC (энтитя, на которую замиксинены "игровой объект который можно брать в руки" и "защищающий объект")
источник

З

Зилер близко in pro.lua
все это надо как то распарсить, только все оно будет парситься автоматом на основе заданной схемы данных, я бы чо нить подобное просто хотел увидеть, чтобы можно было данные заполнять
источник

S

Snusmumriken in pro.lua
А парсилка — обычная csv-парсилка, чаво уж там.
источник

З

Зилер близко in pro.lua
вопрос именно в представлении таблицы, возможно есть более красивые варианты такого представления иерархии
источник

З

Зилер близко in pro.lua
типо хочется к примеру кампанию запихнуть в одну таблицу, есть N кампаний, у них M нод, у них по K мобов на уровне
источник

З

Зилер близко in pro.lua
http://castledb.org/ такую штуку нашел, никто не юзал?
источник

S

Snusmumriken in pro.lua
Тэкс, стоямба. Тебе нужны просто уровни. Кампания — это просто набор уровней (и, возможно, передающиеся между ними данные). Уровень — это условная карта, условные сущности и правила старта/триггеров/завершения данного уровня. Тут ничего шибко сложного, но хранить придётся как чуть более объёмную фигню, а ля CSV для стратежки:

-- LEVEL_HEADER.CSV
rule_name, trigger_when, args, action
"level start", "init", "{"setGold": 2000, "setStone": 300}", every_player_and_bot
"checkwin", "everyframe", "{"checkGold": 2000, "checkBase": true}", goto_level_2

-- LEVEL_ENTITIES.CSV
entity, owner, stats, position, ...
castle, player, , 10:20,
castle, bot1, , 10:25,
archer, player. 10:21
источник

З

Зилер близко in pro.lua
я пишу не для уровней, я пишу обобщенное решение, под которое можно запихнуть все что угодно, это могут быть уровни, айтемы, мобы со всякими плюшками внедренными, и всяким таким подобным, что именно это будет должно описываться структурами, и именно что я хочу чтобы была поддержка иерархической вложенности, вобщем безумная штука, сейчас просматриваю кастлдб и он подходит очень хорошо, надеюсь как обычно не сломаю идею
источник

З

Зилер близко in pro.lua
на шарпах  я бы описал эту структуру примерно так:
Dictionary<string, SomeClass>
где сам класс содержит еще одно поле
Dictionary<string, SomeClass2> Field 2
источник

S

Snusmumriken in pro.lua
Описывай так, как описывал бы на шарпах.
источник

З

Зилер близко in pro.lua
csv мне не нравится тем что пользователю много париться надо, + я  точно не хочу заставлять его использовать Json...
источник

S

Snusmumriken in pro.lua
Пофигу в какие будут форматы, если ты сделаешь редактор карт. Сшиваешь все csv-шки, ресурсы и скрипты в один архивчик, монтируешь и подгружаешь содержимое. И наоборот, когда редактор наредачил — выплёвывает архивчик, можно даже с модами.
источник