SA:MP Single ASI OrcOutFit - Оружие, объекты на скинах и кастомные скины! [AI, beta]

Орк

Известный
Автор темы
507
488
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
  5. 0.3.7-R5
  6. 0.3DL
OrcOutFit
preview-anim.gif

Коротко
ASI-плагин для GTA San Andreas, который добавляет оружие на теле, кастомные/стандартные объекты, кастомные/стандартные/random-скины и texture remap для ped.

Возможности
  • Оружие на теле с настройкой позиции, поворота и масштаба.
  • Замена моделей и текстур оружия (включая SA:MP-сценарии).
  • Кастомные и стандартные объекты.
  • Кастомные, стандартные и random-скины.
  • Ремап текстур для стандартных ped-текстур.
  • Настройка через ImGui-меню и INI-файлы.

  • Работает в одиночной игре.
  • Поддерживаемые SA:MP клиенты (`samp.dll`): R1, R2, R3, R3-1, R4, R4-2, R5-1, DL-R1.

Установка
  1. Поместите `OrcOutFit.asi` в папку игры или modloader.
  2. Запустите игру: рядом с ASI будет использован/создан `OrcOutFit.ini`.
  3. Откройте меню `F7` (в самп нужно активировать чекбокс), `/orcoutfit` | клавиша/команда настраиваются в INI и в окне
  4. При необходимости включите логирование и проверьте `OrcOutFit.log`.

Wiki (подробные инструкции)

Скриншоты
preview1.png
preview2.png

weapons-textures-remap-preview1.gif
weapons-textures-remap-preview2.png

weapons-replacement-preview.gif

home-main-tab.png
weapons-render-basic.png
weapons-replacement-setup.png
weapons-textures-setup.png

objects-custom-tab.png
objects-standard-tab.png
skins-custom-tab.png
skins-standard-tab.png

skins-random-tab.png
skins-texture-tab.png
settings-general.png

Исходники
https://github.com/dmitriyewich/OrcOutFit
Актуальные сборки

Известные проблемы
  1. Рендер скинов кривой, так как используется система рендера, а не добавление новой модели. Новый скин накладывается на старые кости, что приводит к искажению. Слева - обычная замена, справа - мой скин, посередине - результат рендеринга.
    problem1.png
  2. Какие-то другие проблемы 100% есть.
 

Вложения

  • OrcOutFit.zip
    2.3 MB · Просмотры: 1
  • OrcOutFit.asi
    1.1 MB · Просмотры: 0
Последнее редактирование:

Орк

Известный
Автор темы
507
488
Я затупил. Забыл перевести исходник в публичный. Открыл его.

Ну и последнее обновление
  • В Skins появились подвкладки Custom skins и Texture.
  • Добавлен texture remap стандартных ped TXD по *_remap.
  • Список remap-вариантов теперь реальный: без дублей, циклов и белых несуществующих вариантов.
  • Добавлена привязка texture remap к нику SA:MP.
  • Настройки хранятся в OrcOutFit\Skins\Textures<skin>.ini.
То есть это полный аналог PedFuncs, следовательно PedFuncs.asi вам больше не нужен
291971


Обновление.
  • Исправлено (вроде) падение фпс при рендере кастомных объектов
 
Последнее редактирование:
  • Нравится
Реакции: Mr_kaneki и kyrtion

Higa_231

Новичок
11
1
интересный скрипт, данный скрипт имеет потенциал, желаю автору удачи в его продвижение
 
  • Нравится
Реакции: Орк

Орк

Известный
Автор темы
507
488
Жаль, что ии, всех распугивает. Кто-нибудь хоть скажите работает у вас или нет
Для меня текущего функционала достаточно, по сути добавить русский язык и всё.
Ну, ещё добавить рендер объектов из игры(по имени или иду), а не полностью кастомные. То же самое со скинами.
Ну, ещё привязка не полностью кастомного скина (по имени или иду) к нику игрока.
Короче добавить весь функционал https://github.com/dmitriyewich/Personal-Skin-Changer

Теоретически можно взять стандартный скин и на его стандартных костях делать новые скины (большинство скинов это стандартные кости) и рендерить его на скине, с которого взяты кости. Тогда искажений не будет
 

cussel

Известный
152
65
Та все гуд, только при сохранение настроек .ini у меня игра зависает на 30-40 сек
 
  • Нравится
Реакции: Орк

Орк

Известный
Автор темы
507
488
Та все гуд, только при сохранение настроек .ini у меня игра зависает на 30-40 сек
Да, есть такое
.ini получаются относительно тяжёлыми, привык(только у меня не более 10 секунд), но в список задач добавил на исправление
 

Орк

Известный
Автор темы
507
488
Обновление.
  • Сделал фикс сохранения. Теперь нет фриза.
  • Переписана логика рендера imgui. Это значит, что чуть улучшена производительность. Убрано задвоение курсора.
  • Реализовал локализацию. Интерфейс теперь поддерживает русский и английский, язык хранится в [Main] Language=ru|en, по умолчанию ru, переключатель добавлен на вкладку Настройки.
  • Реализовал адаптивное масштабирование UI и ручные настройки (требует теста).
  • Правки интерфейса
  • Реализована система "Текстура-ник"
Она не заменяет текущую ручную привязку текстур. Текущая система OrcOutFit\Skins\Textures<dff>.ini остается как есть.
В UI добавлен чекбокс Skins -> Texture -> Auto textures by nickname (original_nick).
Auto-текстуры ищутся в TXD текущего стандартного ped по формату _, например wmyclot_Walcher_Flett, body_Walcher_Flett, hand_Walcher_Flett, head_Walcher_Flett
original это имя базовой текстуры ped, которую нужно заменить.
Где лежат текстуры.
Ник-текстуры лежат в том же TXD стандартного ped, где находятся обычные texture remap варианты.
1777648665035.png

Как выбирается слот Слот определяется по части имени до ника:
wmyclot_Walcher_Flett -> заменяет original texture wmyclot
body_Walcher_Flett -> заменяет original texture body
Если в TXD несколько слотов, auto-привязка применяется только к тем слотам, где есть подходящая текстура.
Пример: есть слоты wmyclot, body, hand, head, но в TXD есть только:
wmyclot_Walcher_Flett
Тогда: wmyclot получает wmyclot_Walcher_Flett;
body, hand, head продолжают работать через текущий random.
> Приоритеты. Приоритет теперь: ручной binding -> auto-by-nick -> random.
Лимит имени текстуры. RenderWare хранит имя текстуры как name[32], то есть максимум: 31 ASCII-символ
SA:MP ник технически до 24 символов, но полный формат включает еще original и _.
Формула: max nick part = 31 - len(original) - 1
Пример для wmyclot: 31 - 7 - 1 = 23 wmyclot_Walcher_Flett влезает.
Если имя не влезает, лучше использовать ручную привязку через INI.

Текстуры _remap можно скачать тут https://libertycity.ru/files/gta-san-andreas/135231-sbornik-tekstur-dlja-pedfuncs.html

Описание темы позже поправлю на актуальное состояние
 
Последнее редактирование:

cussel

Известный
152
65
Обновление.
  • Сделал фикс сохранения. Теперь нет фриза.
  • Переписана логика рендера imgui. Это значит, что чуть улучшена производительность. Убрано задвоение курсора.
  • Реализовал локализацию. Интерфейс теперь поддерживает русский и английский, язык хранится в [Main] Language=ru|en, по умолчанию ru, переключатель добавлен на вкладку Настройки.
  • Реализовал адаптивное масштабирование UI и ручные настройки (требует теста).
  • Правки интерфейса
  • Реализована система "Текстура-ник"
Она не заменяет текущую ручную привязку текстур. Текущая система OrcOutFit\Skins\Textures<dff>.ini остается как есть.
В UI добавлен чекбокс Skins -> Texture -> Auto textures by nickname (original_nick).
Auto-текстуры ищутся в TXD текущего стандартного ped по формату _, например wmyclot_Walcher_Flett, body_Walcher_Flett, hand_Walcher_Flett, head_Walcher_Flett
original это имя базовой текстуры ped, которую нужно заменить.
Где лежат текстуры.
Ник-текстуры лежат в том же TXD стандартного ped, где находятся обычные texture remap варианты.
Посмотреть вложение 292477
Как выбирается слот Слот определяется по части имени до ника:
wmyclot_Walcher_Flett -> заменяет original texture wmyclot
body_Walcher_Flett -> заменяет original texture body
Если в TXD несколько слотов, auto-привязка применяется только к тем слотам, где есть подходящая текстура.
Пример: есть слоты wmyclot, body, hand, head, но в TXD есть только:
wmyclot_Walcher_Flett
Тогда: wmyclot получает wmyclot_Walcher_Flett;
body, hand, head продолжают работать через текущий random.
> Приоритеты. Приоритет теперь: ручной binding -> auto-by-nick -> random.
Лимит имени текстуры. RenderWare хранит имя текстуры как name[32], то есть максимум: 31 ASCII-символ
SA:MP ник технически до 24 символов, но полный формат включает еще original и _.
Формула: max nick part = 31 - len(original) - 1
Пример для wmyclot: 31 - 7 - 1 = 23 wmyclot_Walcher_Flett влезает.
Если имя не влезает, лучше использовать ручную привязку через INI.

Текстуры _remap можно скачать тут https://libertycity.ru/files/gta-san-andreas/135231-sbornik-tekstur-dlja-pedfuncs.html

Описание темы позже поправлю на актуальное состояние
А старый конфиг будет работать ? мне прост лень заново оружки редачить
 

Орк

Известный
Автор темы
507
488
А старый конфиг будет работать ? мне прост лень заново оружки редачить
Будет, но лучше сделай резервную копию orcoutfit.ini и папки OrcOutFit

А в идеале дождаться следующего обновления.
Реализовываю рендер стандартных объектов.
 
  • Нравится
Реакции: cussel

kyrtion

Известный
1,398
540
Будет, но лучше сделай резервную копию orcoutfit.ini и папки OrcOutFit
Было бы неплохо сделать совместимым, сделав перенос настройки в новые настройки. например, если указать версия конфига 1, 2, 3 и тд.
если отличаются - переносят или поправить постепенно версии от текущей версии конфига (или отсутствует) до актуальной версия
 
  • Нравится
Реакции: Орк

Орк

Известный
Автор темы
507
488
Было бы неплохо сделать совместимым, сделав перенос настройки в новые настройки. например, если указать версия конфига 1, 2, 3 и тд.
если отличаются - переносят или поправить постепенно версии от текущей версии конфига (или отсутствует) до актуальной версия
Попробую реализовать. Сейчас чего-то перемудрил с кнопками «Сохранить». Но настройки позиции размещения оружия не планируется изменять, то есть должны быть совместимы всегда

Теоретически можно взять стандартный скин и на его стандартных костях делать новые скины (большинство скинов это стандартные кости) и рендерить его на скине, с которого взяты кости. Тогда искажений не будет
Ну да, на нормальных костях вроде отображается без проблем. Реализовываю так же рандомные скины (не знаю зачем, но пусть будет)
1777782083314.gif


Также делаю кастомное оружие. С привязками по нику, скину, рандому.
1777786987009.gif
 
Последнее редактирование:
  • Нравится
Реакции: kyrtion

Орк

Известный
Автор темы
507
488
Обновление.
  • Реализовано кастомное оружие (включая смену иконки)
  • Реализованы текстуры для оружия (аналог _remap для скинов)
  • Теперь можно рендерить стандартные объекты по ID (поддерживает слоты-дубликаты 123#1, 123#2)
  • Добавлена смена/привязка стандартных скинов.
  • Реализована система рандомных скинов (требует теста)
  • Что-то ещё реализовано, но я забыл что именно.
  • Обновлено оформление темы
  • Обновлен архив с тестовым конфигом + объекты + скины + оружие на примере скина 217 (wmyclot)

OrcOutFit :good:
kHKmcxq.gif

Коротко: ASI-плагин для GTA San Andreas / SA:MP, который рендерит оружие на теле и добавляет кастомные объекты/скины.
Работает на GTA SA 1.0 US, SA:MP: R1, R2, R3, R3-1, R4, R4-2, R5-1, DL-R1
Работает с кастомным оружием, в том числе на Arizona

Что это?

OrcOutFit — ASI-плагин для визуальной кастомизации персонажа:
  • Показывает оружие на скине (текущее оружие в руках не дублируется).
  • Поддерживает кастомные объекты из папки `OrcOutFit\Objects`.
  • Поддерживает кастомные скины из `OrcOutFit\Skins`.
  • Поддерживает замену текстур стандартных скинов через `*_remap` в TXD.
  • Есть гибкая настройка через in-game меню (Weapons / Objects / Skins / Main).

Основные возможности
  • Пресеты оружия: глобальные и отдельные для конкретных скинов (`OrcOutFit\Weapons\<skin>.ini`).
  • Рендер оружия и кастомных объектов не только для локального игрока, но и для других скинов (по радиусу).
  • Dual wield с отдельной настройкой второго оружия, если скилл выдаёт его.
  • Условный рендер объектов по оружию (Weapons any/all + HideWeapons).
  • Во вкладке Skins есть две подвкладки: `Custom skins` (DFF поверх скина) и `Texture` (замена `*_remap` текстур).
  • Texture remap использует реальные найденные текстуры, без PedFuncs-повторов/циклов и белых несуществующих вариантов.
  • Random mode `Linked variant`: один общий вариант текстур на весь скин, но с fallback на случайный реальный вариант, если у конкретной текстуры вариантов меньше.
  • Привязка texture remap к нику SA:MP: `OrcOutFit\Skins\Textures\<skin>.ini`. Если привязка для ника есть — он важнее random; если нет — используется random.
  • Live preview в Weapons/Objects: позиция, поворот и масштаб применяются сразу, без обязательного Save.
  • Debug-лог с уровнями детализации (`OrcOutFit.log`) (по умолчанию отключено).

Основные проблемы
  • Рендер скинов кривой, так как используется система рендера, а не добавление новой модели. Новый скин накладывается на старые кости, что приводит к искажению. Слева - обычная замена, справа - мой скин, посередине - результат рендеринга)Посмотреть вложение 291825
  • Нет русского языка
  • Скорее не проблема, а фича, но всё же. Все настройки завязаны на название скинов, а не на их ID. То есть расположение оружия будет храниться в файле WMYCLOT.ini
  • Какие-то другие проблемы 100% есть
Видео c настройкой будет когда я решу что версия стабильная, а пока:

Тестовый (ну или настроенный) конфиг, а также с примерами объектов (скин id 217) и скинов приложил в OrcOutFit.zip (Папка OrcOutFit и OrcOutFit.ini должны быть рядом с OrcOutFit.asi).

Установка
  1. Поместите `OrcOutFit.asi` рядом с `gta_sa.exe` или в `scripts` или в папку `modloader`.
  2. Запустите игру и откройте меню (F7 (или F5) (в самп нужно активировать чекбокс), /orcoutfit | клавиша/команда настраиваются в INI и в окне).
  3. Рядом с OrcOutFit.asi появится `OrcOutFit.ini`.
  4. При необходимости создайте папки `OrcOutFit\Objects`, `OrcOutFit\Weapons`, `OrcOutFit\Skins`. Texture binding-и сохраняются в `OrcOutFit\Skins\Textures`.

Исходники
github.com/dmitriyewich/OrcOutFit
Актуальные сборки

:cool:

*wiki и описание написано ИИ, перепишу когда будет стабильная версия.
*Видео запишу когда будет стабильная версия.

how to fix freeze when i disabled it then i go alt tab then go back to game it become black screen?
Возможно пофиксил, нужно проверить

Ближайшие планы:
- Добавить возможность настраивать смещение оружия в руке(стандартного, кастомного). Потому что некоторые создатели оружий не заботятся чтобы орудие нормально сидело в руках, а также на разных скинах оружие может располагаться по разному.
- Сделать рандом менее рандомным, сохранять текстуры, оружие, скины за сессию игры по никам (хендлы для одиночки) и использовать их. Следовательно будут использованы все текстуры/модели по кругу.
- Исправить вспышку при выстреле на кастомном оружии (вспышка дублируется на теле в некоторых ситуациях)
- Начать переносить остальной ненужный функционал из https://github.com/dmitriyewich/Personal-Skin-Changer
 
Последнее редактирование: