GTA Builder Форум
Общие форумы => О сайте и форумах => Тема начата: Sektor от Май 20, 2015, 09:28:48 pm
-
Привет всем! Вообщем сделал реализ, скажем так базового пакета, можете пробовать. Скачать можно ниже на странице по этой ссылке (http://gtabuilder.ru/vice_lua_engine.html).
Пора заниматься тестами, данного движка. Пока в нем нет не чего сверх четкого, но уже можно как говориться щупать. Далее я его буду обновлять и тем самым добавлять функционал. Имейте введу это не Hook - это полностью переписанный код функций, по этому разработка очень не простая, а также движок может работать совместно с SCM скриптом.
Просьба писать вопросы, пожелания и.т.п. В разделе "Vice Lua" на нашем форуме. Еще один важный момент в библиотеке vc_basic - функций гораздо больше, чем описано в документации на сайте. Я работаю один а также мне начал помогать в тестах mfisto (http://forum.gtabuilder.ru/index.php?action=profile;u=10) наш модератор, за что ему выражаю благодарность. Сам я быстро не могу, тут же создавать функции тут же описывать документацию, так что это требует времени и не маленького.
-
Боже, это шедевр! Sector, рекомендую тебе создать тему на GTAForums. Такая вещь не должна остаться в стороне
-
Ну тут еще, не все функции описаны и к сожалению нет уроков, я сам все не успеваю быстро сделать. Еще надо будет оформить статью о том как создавать плагины к этому движку со своими функциями.
-
Круть: Lua чем-то Pawn напомнил) Теперь я кстати лучше понимаю, где это может пригодиться, и, думаю, мне это как раз не хватало.
Одна проблема: Vice Lua использует директорию "scripts" ровно как и "Ultimate_ASI_Loader", что дает некоторые неудобства.
Возможно ли сменить директорию на "luascripts" или что-то подобное?
-
Возможно ли сменить директорию на "luascripts" или что-то подобное?
Ну будучи, сделаю конфигуратор может.
-
Было бы круто:)
-
Вещь нужная, полезная и хорошая. Автору респект! ;D
P.S. Мне одному кажется, что вот это вот http://gtabuilder.ru/main-functions-steaming.html (http://gtabuilder.ru/main-functions-steaming.html) нужно все скрыть с глаз долой? Это же можно автоматизировать.
Я просто не вижу смысла писать постоянно:
-- Пример создание транспорта
RequestModel(146); -- AMBULANCE
LoadRequestedModels();
local car_handle = CreateVehicle(146, 83.0, -848.8, 9.3)
-
RequestModel(1);
RequestModel(2);
RequestModel(3);
RequestModel(4);
Ну изначально мы, запрашиваем модели можем и список запросить, которые будем использовать а далее загрузим:
LoadRequestedModels();
По использовали, и дальше освобождаем их с памяти.
ReleaseModel(1)
ReleaseModel(2)
ReleaseModel(3)
ReleaseModel(4)
Это нужно для экономии памяти, моделей очень много на самом деле и все сразу их не придется использовать.
-
Нет, я понимаю, зачем это нужно. Но почему бы не убрать это из кода скриптов? Чтобы скриптер даже не думал о том, что нужно что-то загружать предварительно в память. Захотел транспорт - вызвал одну функцию CreateVehicle() - получил транспорт
local car_handle = CreateVehicle(146, 83.0, -848.8, 9.3); //сразу идет запрос 146 модели и в игре появляется автомобиль
...
DestroyVehicle(car_handle); //освобождаем авто и если модель больше нигде не используется - идет сразу освобождение модели
Тем более, что бывают и такие ситуации, когда скриптер просто забывает про ReleaseModel() и модельки остаются висеть в памяти
-
когда скриптер просто забывает про ReleaseModel() и модельки остаются висеть в памяти
Да нет не должен, ведь очистить актера тогда можно будет забыть, ну и дальше когда память начнет течь, тогда будут проблемы. Обычно вот как я писал так и делалось. Откуда же игре знать, когда освободить модель? Что если будет 5 актеров с одной и той же моделью?
Нет вы конечно можете отдельно в скрипте написать свою функцию там объявить все модели к примеру для миссии, а также написать вторую функцию которая будет освобождать. А дальше уже вызвать 1 раз функцию для регистрации моделей и 1 раз для освобождения моделей, когда миссия законченна.
Хм а также, если сделать выделение в одной функции, то каждый раз придется вызывать LoadRequestedModels, а это лишняя нагрузка, когда положено вызывать 1 раз. Тогда смысл какой останется от пулов? Вот такие вот дела.
-
Как вызвать scm опкод? Я так понимаю, что это сделать реально через memory edit. Можно пример
-
Как вызвать scm опкод? Я так понимаю, что это сделать реально через memory edit. Можно пример
Сами опкоды вызывать не получиться. Только писать отдельно функциями. Опокод это не функция начнем с того, это участок так называемого case.