XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Другие игры (только чтение)> Max Payne
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
Iron Fred
Max Payne 2 modmaker
offline
Опыт: 5,661
Активность:
Создание торговой системы для Макс Пейн 2 используя CSG
Не знаю, актуальной ли будет данная тема для модмейкеров, но поскольку домучал таки свой код, решил создать эту тему. Может кому-то будет интересно.
За основу взята старая идея zzzGertzzz, которую я называю КСГ (Control Script by GERT), или проще "скрипт Герта". Описана идея в теме:
» Расширенный скриптинг FSM (eternity entertainment)
Кроме того, взят на вооружение совет Хэнкока, касающийся контроля с ФСМ-сендов. Из первого поста той-же темы.
» Принцип действия.
Устройство моего скрипта сложное, но работает как часы:
  1. Создать меню диалога прямо из динамических (далее ДО) мешей прямо в карте и сделать его не зависимой от света. Достаточно сделать табличку с нужной текстурой, но можно выделить под такое меню любой участок карты, например -> листок с меню в ресторане, или стекло кассы. На текстуре написать в фотошопе текст диалога с вариантами ответа. По этим вариантам ответа должен скакать курсор - тоже выпиленный вами ДО-объект. Достаточно граффити текстурки с альфа каналом, натянутой на кубик.
  1. Напротив таблицы диалога ставим ДО-меш камеры, к которому она и будет аттачиться.
  1. В FSM курсора и FSM меша камеры прописываем все события (сенды) и переключатели (свитчи), которые позволят управлять курсором и всем меню. Подробно я описывать весь код не буду, но он не сложнее обычной двери. Отмечу лишь, что добавил два вейпойнта: позицию Гг и торгаша, а особый loop-таймер, размещенный прямо в FSM ДО-курсора, который непрерывно и часто телепортит обоих на свои вейпойнты (чтоб не разбегались по углам комнаты).
  1. Управление курсором осуществляется с команд FSM_Send( название сенда ); прописанных в ТХТ скелетона на фреймах анимаций бега. Подтвердить выбор позволяет сенд на аниме мили-атаки Беретты, которая оставляется одна в руках Гг, а весь арсенал сохраняется в память командой
maxpayne_gamemode->GM_StorePlayerInventory(1); . Еще -> с особого триггера перед позицией Гг, который активируется с юза. Бабло-вэпон минусуется с отрицательных значений в команде player->C_PickupAmmo, а проверка на наличие у Гг требуемой суммы - с жутко сложного на вид кода, описанного далее.
  1. Для сохранения всей имеющейся у вас суммы и переноса ее из карты в карту потребуются новопрописанные стори эвенты (далее СЭ). Нужно прописать 10 СЭ = единицам, 10 СЭ = десяткам и тд... Сотни, тысячи... Поскольку все просчитывается отдельно, много СЭ не понадобится. Активацию нужных СЭ можно прописать в FSM счетчиков, как сделал это я.
  1. В качестве денег используется новый добавленный секонд-вэпон. Лимиты носимого с собой нала лучше определить сразу, чтобы потом было проще работать с кодом. Так как в ЕД МП2 не предусмотрено специальных функций, позволяющих вменяемо создать проверки и чеканья, придется создать хитрый скрипт из специальных счетчиков, расположенных в отдельных FSM в любом месте вашей карты. Это очень муторно, но, если задаться целью, того стоит. Я создал следующие счетчики (counters):
  • Счетчик единиц.
  • Счетчик десятков.
  • Счетчик сотен. (можно и более сделать, тысяч - миллионов... Главное понять, не пытайтесь вместить тучи сендов и свитчей в один FSM! Вы быстро запутаетесь и сам ED заглючит. Проверенно =D).
  • Счетчик цен. (в котором будут определяться лимиты на покупки, переключением свитчей.)
  • Авто-чекер имеющегося нала (необходим, чтобы прочекать все СЭ и выдать имевшуюся у героя сумму в начале новой мапы). Выяснив, какие СЭ активны, чекер незаметно расставит позиции всех счетчиков так, чтобы они не ошибались при новых подсчетах.
  1. Создать торгаша на карте и в его FSM, в пункте OnUse, прописать парент на созданное вами ДО-меню.
  • КСГ можно применять много где, особенно забавно в диалогах с вариантами ответов. Пишите свои отзывы, варианты оптимизации и упрощения. Если кто-то захочет перенять идею -> помогу советами при наличии свободного времени.
Отдельное спасибо zzzGertzzz и Hancock'у!

Отредактировано Iron Fred, 21.02.2015 в 10:42.
Старый 20.02.2015, 22:01
AntiEvil
девочка-гик-хипстер
offline
Опыт: 6,794
Активность:
Я когда-то думал делать подобным обназом квик тайм эвенты.
Старый 21.02.2015, 13:39
Iron Fred
Max Payne 2 modmaker
offline
Опыт: 5,661
Активность:
Дык, в чем проблема? Вроде все просто с ними. Всего 4 команды есть для работы с СЭ: 1. Вкл/выкл эвента. 2. Забросить СЭ в общуу память (дамп), я так и не понял пока, зачем это делать нужно. 3. Выполнить проверку на включение определенного эвента и врубить событие, если он включен. 4. Обнулить все СЭ.
Старый 21.02.2015, 14:23
Hancock
Ding Dong
offline
Опыт: 5,866
Активность:
У меня когда-то давно была бредовая идея сделать 3д-меню вот примерно таким методом, чтобы там на заднем плане было видно какую-нибудь локацию с дождём или снегом, но я не решился лол =)
А вообще это столько трудов, чтобы оправдать систему денег имхо нужно иметь в наличии достаточно длинную сюжетную линию и ассортимент предметов, которые будут продаваться, но я даже не знаю что бы там могло быть кроме оружия.
Старый 21.02.2015, 21:27
AntiEvil
девочка-гик-хипстер
offline
Опыт: 6,794
Активность:
ну можно сделать аптечки. Или там броню. Хотя таким методом многое сделать. Там квик тайм эвенты. Выбор локации. Диалоги.
Старый 21.02.2015, 21:51
Iron Fred
Max Payne 2 modmaker
offline
Опыт: 5,661
Активность:
Hancock,
А вообще это столько трудов
Да, много муторной работы, потом еще больше отладки.
чтобы оправдать систему денег имхо нужно иметь в наличии достаточно длинную сюжетную линию и ассортимент предметов, которые будут продаваться, но я даже не знаю что бы там могло быть кроме оружия.
Оно в основном и есть, +аптечки, +события (например купил "открывашку", но по факту ее нет, только включено особое событие и выводится надпись в хад, либо оплата уроков учителя, повышающая кол-во всяких комбо-ударов), +можно выбрать в какую локацию переместиться, заплатив бабла.
Сам КСГ можно заюзать и в "квик тайм эвентах" кроме торговли. AntiEvil, верно подметил. Диалоги, оканчивающиеся каким-либо действием... Спектр применения широк. Можно хоть "Козу" аля-Фэллаут замутить =)))) Был бы в ней смысл...
Hancock:
когда-то давно была бредовая идея сделать 3д-меню вот примерно таким методом, чтобы там на заднем плане было видно какую-нибудь локацию с дождём или снегом, но я не решился лол =)
Идеей создания такого меню я заразился в начале этого месяца. Спс что напомнил.) Только я хочу сделать так 3д меню выбора персонажа.
Старый 22.02.2015, 00:52

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 00:42.