Исходник Софт MoonAdditions

FYP

Известный
Автор темы
Администратор
1,764
5,923
MoonAdditions


Изначально был сделан DK22Pac для CLEO и опубликован под названием NewOpcodes, я переписал его целиком, переделав под MoonLoader.
MoonAdditions добавляет больше ста (195, если считать поля классов и перегруженные функции) скриптовых функций для разработчиков модов. Включает в себя такие возможности, как рисование текста, фигур, текстур, работа с векторами, матрицами и кватернионами, взаимодействие с костями персонажа, взаимодействие с компонентами транспорта, включая ретекстурирование и RGBA-перекраску каждого отдельного компонента, работа с архивами текстур (TXD), рисование света, теней, прожекторных лучей, изменение прозрачности сущностей, получение параметров солнца и тому подобное.

Проект имеет открытый исходный код и аккуратную документацию на английском, правда описания для большинства функций пока что отсутствуют. Переводить на русский скорее всего сам не буду, т.к. всё в основном понятно даже и без описаний.
Есть также и несколько примеров в виде готовых скриптов. Исходники, история изменений, примеры, документация и все версии доступны на GitHub: THE-FYP/MoonAdditions
Если есть желающие помочь проекту в развитии, не стесняйтесь дополнять вики, предлагать новые примеры и функции.

Скриншоты примеров



Авторы:
NewOpcodes - DK22Pac
MoonAdditions - FYP

Скачать (Download)
Установка:
скачать файл MoonAdditions.dll и скопировать его в папку moonloader/lib
 
Последнее редактирование:

FYP

Известный
Автор темы
Администратор
1,764
5,923
более наглядные примеры ретекстурирования и изменения цвета тачки
https://puu.sh/x61eW/b988de0e69.mp4

9YxVD9I.gif


C1cyEZd.gif
 
Последнее редактирование:

AnWu

Известный
Всефорумный модератор
4,777
5,400
Возможно ли нацепить текстуру на кары кроме султана, элегии и тп. Например на инфернус?
 

FYP

Известный
Автор темы
Администратор
1,764
5,923
Возможно ли нацепить текстуру на кары кроме султана, элегии и тп. Например на инфернус?
да. почти все компоненты у транспорта имеют текстуру и текстура может быть изменена отдельно для каждого компонента. но есть одна сложность: у транспорта, к которому можно применить покрасочные работы, названия изменяемых текстур начинаются с символа решетки #, а у остального транспорта - нет. поэтому определить, какие именно компоненты нужно ретекстурировать, для такого транспорта сложнее.
 

AnWu

Известный
Всефорумный модератор
4,777
5,400
да. почти все компоненты у транспорта имеют текстуру и текстура может быть изменена отдельно для каждого компонента. но есть одна сложность: у транспорта, к которому можно применить покрасочные работы, названия изменяемых текстур начинаются с символа решетки #, а у остального транспорта - нет. поэтому определить, какие именно компоненты нужно ретекстурировать, для такого транспорта сложнее.
а как быть с цветом. как получить цвет запчасти?. get_color() возвращает 60 255 0 255.
 

FYP

Известный
Автор темы
Администратор
1,764
5,923
а как быть с цветом. как получить цвет запчасти?. get_color() возвращает 60 255 0 255.
примерно так
Lua:
local memory = require 'memory'

local prim, sec = getCarColours(car)
local col_table = memory.getuint32(0x4C8390, true)
local car_clr = memory.getuint32(col_table + (prim * 4))
 
  • Нравится
Реакции: Сэнд

AnWu

Известный
Всефорумный модератор
4,777
5,400
@FYP хелп. Всё равно не получаетс RGBA получить(
 

FYP

Известный
Автор темы
Администратор
1,764
5,923
@Don_Homka это число и есть цвет, только не знаю в каком формате. разбей его на составляющие и выясни это