API.Script + API.ScriptLua + OpenSource
Вложений: 1
Приветствую!
Вобсчем наконец дошли руки до легендарной ЛУА. =) Всем известно что в модуле BRL.MaxLua Марк как всегда поленился, и многих фишек в нем нет. Пришлось мне взятся за доработку... =))) В архиве два модуля API.Script - этот модуль является интерфейсным (справочным). И API.ScriptLua - это драйвер интерфейсного модуля реализующий его функционал при помощи скрипт-движка PUB.Lua, В него перенесен модуль BRL.MaxLua c некоторыми изменениями. Основные улучшения : 1) Возможность динамической догрузки/перегрузки чунков (порций кода). 2) Возможность загружать прекомпилированные байт-скрипты. 3) Возможность "опускания" аргументов вызываемых функций из скрипта. 4) Обьектно ориентированный интерфейс. Модули пока что только тестируются, просьба сообщать о найденных багах. ЗЫ Модули поставляются с полной русской справкой. установка : 1) Скомпилить модули. 2) Перекомпилить документацию. 3) Примеры прилагаются. |
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
Цитата:
|
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
'опускание аргументов' - это когда необязательно указывать аргумент вызываемой функции, в этом случае при числах подставится 0, при строках "", и при обьекте lua_nil. OO-interface, мне ли это обьяснять? GO TO google->wikipedia |
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
Насчёт интерфейса я имел в виду кое-что другое, ну да неважно. |
Ответ: API.Script + API.ScriptLua + OpenSource
А какой БМакс? я делал на 1.39, таких фючер в МаксЛуа в этой версии не было...
|
Ответ: API.Script + API.ScriptLua + OpenSource
Тоже 1.39
Посмотри pub.lua |
Ответ: API.Script + API.ScriptLua + OpenSource
понял к чему ты клонишь...
Я же думаю что при двиготеле-строении проще записать так : script:TScript = LoadScript("script.lua") script.Execute("Init") чем так : lua_loadstring(LoadText("Script.lua").ToCString()) lua_ref(LUA_STATE...,...) ... бла...бла...бла Это п во первых. Во вторых, в случае какой либо ошибки - ловить ее заипешся. |
Ответ: API.Script + API.ScriptLua + OpenSource
Сложность запуска - мелочи жизни, я считаю. К тому же ты всё усложнил:
Код:
Global LuaState:Byte Ptr Отлов ошибок - это да, плюс. |
Ответ: API.Script + API.ScriptLua + OpenSource
А если файл скрипта лежит в PAK-архиве? То твой метод не подойдет.
|
Ответ: API.Script + API.ScriptLua + OpenSource
А предложенный тобой подойдёт. Никаких проблем :)
|
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
|
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
Код:
Global LuaState:Byte Ptr |
Ответ: API.Script + API.ScriptLua + OpenSource
Цитата:
Для меня так: Объявляем переменную LuaState с неопределённой кучей данных внутри. Назначаем новый объект (состояния?). Открываем библиотеки, зачем там стейты, хз. Как понял, выполняет фаил, по пути, хз что с состоянием. Тут же: Код:
script:TScript = LoadScript("script.lua") |
Ответ: API.Script + API.ScriptLua + OpenSource
2baton4ik сложности появятся когда кода будет побольше, чем 4 строчки.
|
Ответ: API.Script + API.ScriptLua + OpenSource
2MoKa, для меня читабелен. Ну да ладно, это уже Марка ругать надо.
2Diablo1909, http://forum.boolean.name/showthread.php?t=14085 |
Часовой пояс GMT +4, время: 08:42. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot