Загрузка Lua-скриптов
Доброе время суток.
Опишу сначала задачу: есть набор lua-скриптов, содержащих функции описывающие поведение различных объектов в игре. на каждый тип объекта существует один файл lua-скрипта. Соответсвенно функции из различных скриптов должны будут запускаться попеременно.
Вижу, пока, только два, сравнительно простых способа решения данной задачи:
1. Использовать один luaState. Загружать скрипт непосредсвенно перед вызовом функции, устанавливать значения глобальных переменных, вызывать функцию.
плюсы: не будет требовать большого количесва памяти.
минусы: очень частая перезагрузка скриптов.
2. Формировать массив luaState размер которого будет равен количеству файлов скриптов, загружать все скрипты при запуске приложения и при необходимости вызывать функцию обращаясь к соответсвующему luaState.
плюсы: все скрипты уже загружены.
минусы: видимо будет требовать большого количесва памяти.
Теперь вопрос.
Может быть есть какие то другие варианты реализации данной задачи?
#1
9:04, 27 апр 2006
забить и загружать все скрипты 🙂
сколько у тебя будет этих скриптов?
попробуй чистить функции(удалять, это тожа объекты). если честно, то не разу не пробовал, но думаю что получиться.
#2
9:47, 27 апр 2006
очень не хочеца все грузить.
поэкспериментировал , получилось, что 100 простеньких скриптов кушают около 10 метров памяти. пока не выяснил существенно ли зависит количество съедаемой памяти от размера скрипта, количества глобальных переменных и т.д.
#3
9:54, 27 апр 2006
ваабще позволяет ли луа держать в рамках одного стейта несколько загруженных скриптов? я такой возможности не нашел
#4
10:33, 27 апр 2006
vas, что-то слишком много 10Мб на 100 «простеньких скриптов», возможно, дело не в Lua, возможно в неправильном использовании. Объясни, что ты под этим понимаешь под «Загруженный скрипт»? Любая загрузка куска кода дает в результате функцию (безымянную, в стеке), которую можно сохранить в какую-нибудь переменную внутри luaState или сразу вызвать. Загружать их можно сколько угодно, вызывать, соответственно, как функции.
#5
14:19, 27 апр 2006
чуданулся, я, господа. признаю. почему-то считал, что luaL_loadfile() считывает скрипт из файла затирая предыдущий. был не прав. оказывается производится перезапись только одноименных глобальных переменных и соответсвенно функций. спасибо за помощь. видимо можно считать вопрос закрытым.
#6
18:54, 29 апр 2006
emage
Нет ли примера как загруженный блок кода например в таблицу положить под каким нибудь именем, а лучше числовым ID, и потом вызывать.
А то у меня каждый кадр с десяток скриптов компилируется и исполняется, хотя нагрузка и небольшая, как то не по себе от этой мысли, хочется оптимизации.
Команда для выгрузки LUA скрипта
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
Статус В этой теме нельзя размещать новые ответы.
killz124
Новичок
Автор темы
Ищу такую команду, при котором можно выгрузить LUA скрипт на кнопку (Например на F10)
OJLG
Lua — ScriptRender | Загрузка и выгрузка Lua
Описание: Данный скрипт позволяет Вам контролировать ваши скрипты, в каком плане? Вы сможете их загружать и выгружать. Есть большая проблемка, будет крашить, если Ваш скрипт имеет интерфейс ImGui. И ещё, данный скрипт способен загружать и выгружать только .lua, .luac скрипты.
www.blast.hk
Lua ScriptRender | Загрузка и выгрузка Lua
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно.
Вам необходимо обновить браузер или попробовать использовать другой.
TheRuthArbiter
Неповторимый РПшер
Автор темы
Проверенный
Описание: Данный скрипт позволяет Вам контролировать ваши скрипты, в каком плане? Вы сможете их загружать и выгружать. Есть большая проблемка, будет крашить, если Ваш скрипт имеет интерфейс ImGui. И ещё, данный скрипт способен загружать и выгружать только .lua, .luac скрипты.
Активация/Дезактивация: R
Требования: MoonLoader v.026 , Dear ImGui
Автор: @imring
Вложения
ScriptRender.lua
6.5 KB · Просмотры: 415
Как установить Lua скрипты для GTA San Andreas
Lua скрипты — это моды, которые работают с помощью библиотеки Moonloader. В отличие от CLEO модификаций Lua скрипты легко изменить с помощью любого текстового редактора, а сама библиотека Moonloader работает намного стабильнее, чем CLEO.
Если вы столкнулись с проблемой установки Lua скрипта в игру, данная универсальная инструкция поможет вам в этом.
Установка Lua скриптов для GTA San Andreas
Чтобы установить Lua скрипты в GTA San Andreas, сперва необходимо установить библиотеку Moonloader. Скачать последнюю версию можно с нашего сайта. Просто переместите все файлы из архива в корневую папку с игрой.
Скачав любой понравившийся Lua скрипт, переместите все файлы из скачанного архива в папку Moonloader, которая появится в папке с вашей игрой после установки одноименного дополнения.