Цитата(Berserker @ 24 Jan 2010, 23:40)
Ужас, это как в 3.59 на лету для Луа генерится ЕРМ-команда ужасающей по размерам функцией. Нужно определённо кэширование и более быстрая ручная генерация.
Я проверял - эта функция мало влияет на скорость. Вообще, из постановки поста получается, что идея Дьяка с кучей постоянно выгружаемых dll либо не ужас, либо меньший ужас. Ты серьезно так считаешь?
Цитата(etoprostoya @ 24 Jan 2010, 23:50)
Можно и так. Но в функциональном виде можно задавать сразу несколько параметров за раз, а в таком виде только в нескольких строках. Например стоимость монстра в ресурсах.
Ну, для этого я и написал про функцию Setup.
Цитата(monster @ 25 Jan 2010, 08:42)
Код
Monsters[MONSTER_TYPE].Attack = 10
Можно сделать и такой вид, обычные структуры - многие заблуждаются что на такое способен только Си и ему подобные.
Собственно, я уже сделал полноценную поддержку структур на Луа - гибкое объявление структур, массивы, указатели... В MMExtension отлично работает. (MMExtension - это мой миниВоГ для Might & Magic)
Цитата(Дьяк @ 25 Jan 2010, 11:20)
Я не спорю, что все можно сделать на луа или, что св-ва монстров можно прописать в одной длл. Приследовалась другая мысль - совместимость. Например 10 разных авторов сделали 10 разных монстров. Описали их ЕРМ и захотели объеденить. Оказалось скрипты не совместимы да и номера монстров совпадают у некоторых. Сиди переписывай, если есть желание. А так кинулв папку два файла, название которых и есть номер монстра и все, например, файлы 197 (в котором структура монстра) и 197.dll - его св-ва. Конечно можно пересмотреть принцип работы. Например подгружать все длл в начале игры а выгружать в самом конце. Да и вообще это пока только идея с длл она еще не реализована ни на 1% даже.
dll в любом случае должна знать свой номер. Это должен предоставить ВоГ. Поэтому, лучше сделать процедуру резервирования номеров монстров. Причем, с установкой монстров на карту в редакторе все еще интереснее... Почему Луа - потому, что взаимодействие с ним проще, чем с dll, экспортировать для него функции в любом случае стоит, а с пересечением переменных, в отличии от ЕРМ, проблем нет, фактически.