- Сообщений: 20
- Спасибо получено: 0
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
Переодевание персонажа
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
Прощу прощения если такой вопрос был, я осмотрел форум, но возможно пропустил ответ на данный вопрос.
Хочу сделать так чтобы при переодевании персонажа, вылезало сообщение и менялась моделька(графика) персонажа.
Провел несколько тестов, в основном использовал общее событие, так как данное действие должно работать в любой момент игры и в любой локации, но столкнулся с проблемой. Как я понял программа RpgMaker определяет условие "Если экипировано" ни как действие что - предмет был надет, а как действие что предмет надет, из-за чего собственно общее событие запускается и работает без остановки и игра парализуется.
Я сделал еще один тестовый проект чтобы протестировать данный момент. Один из вариантов был запуск через кнопку, которая запускает событие, оно выполняется и завершает работу. Но! Данный вариант не устраивает так как пока не подразумевается чтобы персонаж для переодевания бежал к условному шкафу, хоть технически это вариант решения, все же хочется найти иные способы. Ибо зачем тогда эти доспехи(одежда) в инвентаре.
Интересным я нашел то, что предметы могут запускать общее событие, и не возникают проблем бесконечной работы общего события. Так что я задумался если скрипт который позволяет запустить общее событие при надевания определенного доспеха(одежды), или двух вещей (Кираса+шлем).
Прощу прощения за излишние подробности, мне показалось что они могут быть полезными.
Цель: Написать скрипт или общее событие, чтобы персонаж при переодевании в любом месте игры менял графику персонажа и выводил сообщение о смене внешнего вида.
Пример:
*Персонаж экипирует Кирасу Стражника*
*Выходит сообщение:* - Теперь я почти похож на стражника
*Игра меняет графику персонажа*
Пример 2:
*Персонаж экипирует Кирасу Стражника и Шлем Стражника*
*Выходит сообщение:* - Теперь меня не отличить от стражника
*Игра меняет графику персонажа*
Я прикладываю тестовый проект в котором можно переодеть персонажа, но в данный момент для смены графики нужно использовать кнопку. Так же я внес условия в диалог с НПС, чтобы он отвечал исходя из экипированной одежды на персонаже, так как это будет играть роль основной в игре.
Заранее всем спасибо, и еще раз извиняюсь если такой вопрос на форуме уже был
Тестовая Игра
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- MaltonTheWarrior
-
- Не в сети
- Давно я тут
-
- Любопытненький
- Сообщений: 328
- Спасибо получено: 341
- Какая версия мейкера?
- Насколько объемно планируется использоваться данная фича? Ну, т.е. это планируется сделать ровно в 1 игровой момент - когда надо переодеться в стражника? Или же планируется, чтобы ЛЮБАЯ вещь при экипировании меняла графику персонажа?
В первом случае все возможно реализовать силами движка.
Во втором случае используй гугл и ищи необходимые тебе скрипты, по кодовой фразе "visual equipment".
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
- Сообщений: 20
- Спасибо получено: 0
Слишком мало информации.
- Какая версия мейкера?
- Насколько объемно планируется использоваться данная фича? Ну, т.е. это планируется сделать ровно в 1 игровой момент - когда надо переодеться в стражника? Или же планируется, чтобы ЛЮБАЯ вещь при экипировании меняла графику персонажа?
В первом случае все возможно реализовать силами движка.
Во втором случае используй гугл и ищи необходимые тебе скрипты, по кодовой фразе "visual equipment".
- Версия Rpg Maker MV 1.6.1
- Много. В основном для решения задач не в лоб, другие диалоги и дополнительных ивентов.
(К примеру житель скорее согласиться попросить помощи у стражника, нежели у неизвестного ему путника)
- Технически да. Одежды специально мало так как среди неё только используемая для тех или иных переодевании и взаимодействии. В данный момент насчитал 7-мь "доспехов'
Благодарю, попробую найти в гугле visual equipment
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Первый скрипт записывает в переменную 6 ("надето сейчас") ID брони, надетой на персонажа 1, если она вообще есть. У меня броня считается слотом [3], если что.
А потом идёт простая проверка: надето ли сейчас то же самое, что и раньше, и если нет, то дальше идёт проверка того, что именно было надето с комментариями, заменой графики персонажа и обновлением переменной с ID надетой брони.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
- Сообщений: 20
- Спасибо получено: 0
Задачка решается стандартными средствами:
2020-04-13160414.jpg
В целом понял мысль. Сделать две переменные которые отслеживают ID брони.
Первый скрипт записывает в переменную 6 ("надето сейчас") ID брони, надетой на персонажа 1, если она вообще есть. У меня броня считается слотом [3], если что.
А потом идёт простая проверка: надето ли сейчас то же самое, что и раньше, и если нет, то дальше идёт проверка того, что именно было надето с комментариями, заменой графики персонажа и обновлением переменной с ID надетой брони.
Благодарю за ответ с примером скрипта, пусть и немного смазанными скобками.
Я не совсем понимаю как именно записать первый скрипт в переменную. Сделать еще одно событие где будет написанно что переменая 6="скрипт"?
В данный момент программа меня не в пускает в игру.
Syntaxerror unexpected token
Вероятно даже в переписаний скрипта умудрился накосячить. Имеется ли у вас возможность передать демо в котором вы написали данное событие?
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
- Сообщений: 20
- Спасибо получено: 0
yuryol пишет:
Code:if ($gameActors.actor(1).equips()[3]) { $gameVariables.setValue(6, $gameActors.actor(1).equips()[3].id); } else { $gameVariables.setValue(6, 0); }
Моя благодарность, все заработало! Займусь тестированием.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
- Сообщений: 20
- Спасибо получено: 0
В целом в данный момент кроме как Шлем стражника+Кираса стражника пока комплектов нет, и вроде не подразумевалось(персонаж не любит шлемы и без них справляется)), думаю, условно можно сделать Доспехи стражника(Тело) и меньше нагружать игру, да и это исключит проблемы если игрок попытается надеть шлем находясь в другой броне к которой этот шлем тем более не предназначен.
Ещё раз благодарю всех за помощь.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Для проверки шляпы нужно заменить в "equips()[3]" тройку на другое число, которое соответствует слоту шлема. При таком вот раскладе:
0 - это оружие, 1 - щит, 2 - шлем, 3 - доспех, 4 - кольцо.
Менять надо в обоих местах, иначе, скрипт станет выдавать ошибку, если в указанном слоте будет пусто.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Demon traveler
-
Автор темы
- Не в сети
- Забанен
-
- Сообщений: 20
- Спасибо получено: 0
Alx_Yago пишет: Виноват, не учёл, что картинка ужмётся, да и про функцию для вставки кода не подумал. Вот тогда хотя бы более чёткая картинка просто на будущее:
Для проверки шляпы нужно заменить в "equips()[3]" тройку на другое число, которое соответствует слоту шлема. При таком вот раскладе:
0 - это оружие, 1 - щит, 2 - шлем, 3 - доспех, 4 - кольцо.
Менять надо в обоих местах, иначе, скрипт станет выдавать ошибку, если в указанном слоте будет пусто.
Спасибо за дополнительную инфу. За одно вспомнил про это меню с Типом экипировки, а то немного не понял к чему ссылается цифра 3, теперь еще лучше понял работу скрипта.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
лучше вместо первого персонажа в БД
$gameActors.actor(1)
использовать лидера партии
$gameParty.leader()
или порядковый номер персонажей в пати
$gameParty.members()[0]
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Сообщений: 874
- Спасибо получено: 1544
Есть вот такой плагин переодевания для
МВ. Меняет графику и чара и фейс.
github.com/RexGit/Visual-Equipment .
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
