Автор Тема: Vice Lua 1.0 Beta - Доступен для скачивания.  (Прочитано 1887 раз)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Привет всем! Вообщем сделал реализ, скажем так базового пакета, можете пробовать.  Скачать можно ниже на странице по этой ссылке.

Пора заниматься тестами, данного движка. Пока в нем нет не чего сверх четкого, но уже можно как говориться щупать. Далее я его буду обновлять и тем самым добавлять функционал. Имейте введу это не Hook - это полностью переписанный код функций, по этому разработка очень не простая, а также движок может работать совместно с SCM скриптом.

Просьба писать вопросы, пожелания и.т.п. В разделе "Vice Lua" на нашем форуме. Еще один важный момент в библиотеке vc_basic - функций гораздо больше, чем описано в документации на сайте. Я работаю один а также мне начал помогать в тестах mfisto наш модератор, за что ему выражаю благодарность. Сам я быстро не могу, тут же создавать функции тут же описывать документацию, так что это требует времени и не маленького.
« Последнее редактирование: Май 20, 2015, 09:34:46 pm от Sektor »

Оффлайн Prographer

  • Прохожий
  • *
  • Сообщений: 89
  • Репутация: +7/-0
  • Говнокодим, грабим, убиваем
    • Просмотр профиля
Боже, это шедевр! Sector, рекомендую тебе создать тему на GTAForums. Такая вещь не должна остаться в стороне

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Ну тут еще, не все функции описаны и к сожалению нет уроков, я сам все не успеваю быстро сделать. Еще надо будет оформить статью о том как создавать плагины к этому движку со своими функциями.

Оффлайн Shagg_E

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 527
  • Репутация: +15/-0
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Круть: Lua чем-то Pawn напомнил) Теперь я кстати лучше понимаю, где это может пригодиться, и, думаю, мне это как раз не хватало.
Одна проблема: Vice Lua использует директорию "scripts" ровно как и "Ultimate_ASI_Loader", что дает некоторые неудобства.
Возможно ли сменить директорию на "luascripts" или что-то подобное?

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Цитировать
Возможно ли сменить директорию на "luascripts" или что-то подобное?
Ну будучи, сделаю конфигуратор может.

Оффлайн Shagg_E

  • Главный Модератор
  • Постоялец
  • *****
  • Сообщений: 527
  • Репутация: +15/-0
  • Изобретательный Рукожопъ
    • Просмотр профиля
    • NewRockstar
Было бы круто:)

Оффлайн Raxp

  • Призрак
  • Сообщений: 3
  • Репутация: +0/-0
  • Tommy Vercetti, let's go!
    • Просмотр профиля
Вещь нужная, полезная и хорошая. Автору респект! ;D

P.S. Мне одному кажется, что вот это вот http://gtabuilder.ru/main-functions-steaming.html нужно все скрыть с глаз долой? Это же можно автоматизировать.
Я просто не вижу смысла писать постоянно:
-- Пример создание транспорта
  RequestModel(146);  -- AMBULANCE
  LoadRequestedModels();
 
  local car_handle  = CreateVehicle(146, 83.0, -848.8, 9.3)

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
RequestModel(1);
RequestModel(2);
RequestModel(3);
RequestModel(4);

Ну изначально мы, запрашиваем модели можем и список запросить, которые будем использовать а далее загрузим:

LoadRequestedModels();
По использовали, и дальше освобождаем их с памяти.

ReleaseModel(1)
ReleaseModel(2)
ReleaseModel(3)
ReleaseModel(4)

Это нужно для экономии памяти, моделей очень много на самом деле и все сразу их не придется использовать.

Оффлайн Raxp

  • Призрак
  • Сообщений: 3
  • Репутация: +0/-0
  • Tommy Vercetti, let's go!
    • Просмотр профиля
Нет, я понимаю, зачем это нужно. Но почему бы не убрать это из кода скриптов? Чтобы скриптер даже не думал о том, что нужно что-то загружать предварительно в память. Захотел транспорт - вызвал одну функцию CreateVehicle() - получил транспорт
Цитировать
local car_handle  = CreateVehicle(146, 83.0, -848.8, 9.3); //сразу идет запрос 146 модели и в игре появляется автомобиль
...
DestroyVehicle(car_handle); //освобождаем авто и если модель больше нигде не используется - идет сразу освобождение модели

Тем более, что бывают и такие ситуации, когда скриптер просто забывает про ReleaseModel() и модельки остаются висеть в памяти

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Цитировать
когда скриптер просто забывает про ReleaseModel() и модельки остаются висеть в памяти
Да нет не должен, ведь очистить актера тогда можно будет забыть, ну и дальше когда память начнет течь, тогда будут проблемы. Обычно вот как я писал так и делалось. Откуда же игре знать, когда освободить модель? Что если будет 5 актеров с одной и той же моделью?


Нет вы конечно можете отдельно в скрипте написать свою функцию там объявить все модели к примеру для миссии, а также написать вторую функцию которая будет освобождать. А дальше уже вызвать 1 раз функцию для регистрации моделей и 1 раз для освобождения моделей, когда миссия законченна.

Хм а также, если сделать выделение в одной функции, то каждый раз придется вызывать LoadRequestedModels, а это лишняя нагрузка, когда положено вызывать 1 раз. Тогда смысл какой останется от пулов? Вот такие вот дела.
« Последнее редактирование: Май 24, 2015, 07:10:03 pm от Sektor »

Оффлайн megaket4up

  • Призрак
  • Сообщений: 3
  • Репутация: +0/-0
    • Просмотр профиля
Как вызвать scm опкод? Я так понимаю, что это сделать реально через memory edit. Можно пример

Оффлайн Sektor

  • Администратор
  • Постоялец
  • *****
  • Сообщений: 514
  • Репутация: +33/-0
    • Просмотр профиля
Цитировать
Как вызвать scm опкод? Я так понимаю, что это сделать реально через memory edit. Можно пример

Сами опкоды вызывать не получиться. Только писать отдельно функциями. Опокод это не функция начнем с того, это участок так называемого case.
« Последнее редактирование: Май 25, 2015, 05:36:26 pm от Sektor »