Mafia-Game Forum

Mafia-Game Forum (https://mafia-game.ru/forum/index.php)
-   Скриптинг (https://mafia-game.ru/forum/forumdisplay.php?f=10)
-   -   Вопросы по моддингу игры [скриптами] (https://mafia-game.ru/forum/showthread.php?t=683)

CurtisTea 13.11.2019 02:26

Цитата:

Сообщение от alex5995 (Сообщение 7642)
А проверочным скриптом не поделишься, что бы понять как это работает?

Окей, самый банальный пример во фрирайде - урна возле бара Сальери:

Развернуть для просмотра

dim_frm 1
findframe 0,"popel165"
frm_seton 0,0
[свернуть]

Изначально она конечно же видна. Скрипт при запуске сетонит её в ноль. Если ты сохранишься и загрузишь это сохранение то увидишь, что урна снова на месте.

EDIT: а, или тебе полноценный скрипт проверки на загрузку сохранения написать? я сперва подумал чисто пример привести

к слову...

хотел для примера только что взять самого Томми, но сетон его фрейма как раз таки и не сбрасывается, видимо действительно это работает только с определенными типами объектов
[свернуть]

EDIT2: я проверил, действительно сетон при загрузке возвращается не у всех объектов. Это работает с типом Building, но не работает с Other.

Цитата:

Сообщение от alex5995 (Сообщение 7642)
И как может выглядеть мемори-скрипт, на примере пары плюшек, хотя этих плюшек может быть сотни

Да просто отдельный пустой скрипт с одной единственной строчкой: dim_flt (количество плюшек). Каждая переменная (пусть их будет хоть тысяча) будет отвечать за состояние плюшки, например 0 - ещё не юзаная, 1 - использованная. При загрузке сохранения проверочный скрипт узнает какое у неё состояние и включит/выключит её (удалит ненужный объект или откроет нужную дверь, которую игрок уже открыл ранее и тд и тп).

По поводу перемещения. Я не перечитывал твои предыдущие сообщения, но просто чтоб ты был в курсе: сколько не двигай detector_waitforuse всегда останется на том месте где он стал активным. Чтоб его сдвинуть куда-то его надо сперва сделать inactive, потом собсна двинуть и снова сделать active (или мож даже без инектив обойтись можно, не помню точно). Пробуй сам, но это именно так работает.
А, ну и frm_linkto никак не перемещает объект, он всего лишь привязывает его к новому объекту-родителю. Его место нахождения и глобальные координаты останутся прежними (в отличие от локальных = в системе координат объекта-родителя).

alex5995 13.11.2019 15:49

Спасибо, займусь этим как нибудь. всё так мудрёно...
Цитата:

Сообщение от CurtisTea (Сообщение 7656)
Я не перечитывал твои предыдущие сообщения

Почитай выше про "человека-аптечку":), здесь вообще никаких проблем с перемещениями и сетонами, единственно минус - неоправданная трата ресурсов движка(если забить на этическую сторону вопроса:D).
Цитата:

Сообщение от CurtisTea (Сообщение 7656)
или тебе полноценный скрипт проверки на загрузку сохранения написать?

Было бы неплохо.

Добавлено через 55 минут
Tosyk,
Как поставить сообщение не отвечая на моё последнее. а создать новое?

Tosyk 13.11.2019 16:04

Цитата:

Сообщение от alex5995 (Сообщение 7658)
Как поставить сообщение не отвечая на моё последнее. а создать новое?

так нельзя делать, это не чат!
таковы правила любого форума — мы не исключение :)

alex5995 13.11.2019 16:05

Цитата:

Сообщение от Tosyk (Сообщение 7679)
так нельзя делать, это не чат!
таковы правила любого форума — мы не исключение

Понятно.

CurtisTea 13.11.2019 16:24

Цитата:

Сообщение от alex5995 (Сообщение 7658)
Было бы неплохо

Примитивный пример на основе того же фрирайда.
Сперва в BSV создай объект типа Building, назовём его "test", где-то подальше от глаз игрока. Создай новый скрипт, в нем пиши:

dim_flt 1
dim_frm 1

findframe 0,"test"

frm_seton 0,0 ///это чтоб не срабатывало в самом начале игры*

label 0 ///в этом лейбле игра висит всю твою активную игру
frm_ison 0,0
goto flt[0]

label 1 ///этот лейбл активирует твои условия при загрузке сохранения
frm_seton 0,0
freeride_scoreadd 1
goto 0

Каждый раз при загрузке сохранения будет добавляться +1 к деньгам. При новой попытке после смерти тоже работает (если смерть была после сохранения).

*если у тебя есть переход между миссиями туда и обратно алгоритм будет чутка сложнее, потому что при смене миссии скрипты запускаются заново (в отличие от загрузки сохранения)

alex5995 13.11.2019 16:45

Цитата:

Сообщение от CurtisTea (Сообщение 7683)
при смене миссии скрипты запускаются заново (в отличие от загрузки сохранения)

В этом и дело, вот если бы фрирайд загружался при возвращении в него учитывая сэйв 5584(или др. ID номера). А автосэйв можно было бы сделать непосредственно перед посещеним миссии.

CurtisTea 13.11.2019 17:32

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

alex5995 13.11.2019 18:15

Собрал в одну кучу все свои вопросы для подытоживания, может кто нибудь ещё отпишется по поводу.
1. Как увеличить количество слотов Items в инвентаре Томми?
2. Возможно ли сохранять глобальный прогресс в игре при перемещении между локациями?
3. Как импортировать зомби, к примеру, из RE2 Remake в Мафию, с текстурами и анимацией? Или хотя бы только анимацию, которую можно было бы применить к моделям из Мафии?
4. Можно как то прикрепить камеру к голове Томми(не скриптом), как это можно сделать в Unreal Engine? То бишь сделать нормальный вид от первого лица.
5. Как реализовать фонарь в игре? Прицепить" объект лайт к модели лампы(сделать переносной светильник как в амнезии или пенумбре)? Или "прицепить" лайт к фрейму Томми(нагрудный фонарь в сайлент хилл 2)? Или по принципу светящихся фар авто?
6. Как в полупрозрачную карту вставить свои метки?
7. Можно ли наложить отдельную коллизию на дверь-платформу? Не слышно топота персонажа.:(
================================================== =====
1. Так как невозможно отредактировать инвентарь, т.е. добавить слоты, есть мысль создать в игре "человека-ключника", что скажешь, Firefox3860:D? Ключи при взятии добавлять в этого актора, ну и в скриптах активации дверей его добавить.
2. Как я понял это либо не возможно, либо можно попробовать по методу CurtisTea, но это слишком трудозатратно.
3. Надо будет глянуть на mafiascene. Есть другие идеи?
4. Grandshot в общем пояснил невозможность этого. А как в движке игры включить "фейковый first person"?
5. Невозможно, здесь всё ясно.:nono:
6. Отпишитесь, кто знает. В модах такие карты видел, в Капо-моде, например. И можно ли создавать такие карты для отдельных миссий? Есть у меня локация-лабиринт, очень помогла бы такая карта в ориентировании на местности.

Haku 13.11.2019 18:34

Цитата:

Сообщение от alex5995 (Сообщение 7689)
1. Как увеличить количество слотов Items в инвентаре Томми?

Была где-то программа по добавлению нового оружия, без замены старого. Здесь посмотри https://mega.nz/#F!G8sCzaBJ!zjCyxQuP543gCJddXggzUQ


Цитата:

Сообщение от alex5995 (Сообщение 7689)
5. Как реализовать фонарь в игре? Прицепить" объект лайт к модели лампы(сделать переносной светильник как в амнезии или пенумбре)? Или "прицепить" лайт к фрейму Томми(нагрудный фонарь в сайлент хилл 2)? Или по принципу светящихся фар авто?
6. Как в полупрозрачную карту вставить свои метки?

На сколько я помню в Боз Моде он там вроде сделал фонарик (?) В Аливе Моде от Микки Мауса у него есть метки на карте и все работает.

alex5995 13.11.2019 18:43

Спасибо, гляну, может чего надыбаю для себя.


Текущее время: 09:44. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.11 Release Candidate 2
Copyright ©2000 - 2025, vBulletin Solutions Inc. Перевод: zCarot