Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

Нужен скрипт (Привязки параметров к переменным)

Проект месяца 1 место Ветеран Проект месяца 3 место Победитель конкурса Проект месяца 2 место 2 место Оратор Разработчик Поддержка Фонда
Больше
8 года 2 мес. назад - 8 года 2 мес. назад #102464 от Kouta555
Требуется следующее.
Есть параметры АТК, DEF и т.д. Мне требуется привязать к ним переменные, которые будут соответствовать параметрам и будут изменяться в зависимости от понижения или повышения. То есть, если я прописываю в эвенте увеличение параметра АТК на 1, который был раньше 10, то переменная под номером 21 меняла своё значение на 11. (Желательно переменные под номерами от 21 до 27.)


Для чего это нужно.
Например есть эвент, булыжник, который активируется, если у героя сила равняется 10 или больше.
Если параметр силы 9, то соответственно герой не сможет его сдвинуть, идём убиваем монстра или делаем другое действие, чтобы поднять параметр силы на 1 или больше. Как только сила стала нужного числа идём к булыжнику и сдвигаем его.
Так вот, эти самые переменные как раз и нужны, просто чтоб не делать проверку на параметры героя через эвент, а просто прописать в эвенте булыжника (Переменная 21-АТК=10)

Можно это, конечно реализовать и по другому, но это не удобно и громоздко.
Последнее редактирование: 8 года 2 мес. назад пользователем Kouta555.
Спасибо сказали: Dmy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Программист JavaScript Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место Учитель Оратор Ветеран Даритель Стимкея 2 место Программист Ruby Паладин
Больше
8 года 2 мес. назад #102465 от DK
Если Dmy возмется за это, то небольшой совет: переопределить метод value класса Game_Variables, который по нужному ид будет возвращать значение характеристики. Просто можно пойти по более сложному пути: обновлять переменную при изменении характеристики.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
8 года 2 мес. назад - 8 года 2 мес. назад #102469 от Dmy
Вот самый простой вариант (для VX Ace):
Code:
class Game_Variables #первая переменная, в которую будет записан первый параметр (FIRST_PARAM) #остальные параметры (до LAST_PARAM) будут записаны в переменные после неё FIRST_VAR = 21 #ID героя, параметры которого берутся: ACTOR_ID = 1 #параметры такие: #0=MHP, 1=MMP, 2=ATK, 3=DEF, 4=MAT, 5=MDF, 6=AGI, 7=LUK #первый из записываемых параметров FIRST_PARAM = 1 #последний из записываемых параметров LAST_PARAM = 7 alias Kouta555_param_vars_access [] def [](variable_id) last_var = FIRST_VAR + LAST_PARAM - FIRST_PARAM if (variable_id >= FIRST_VAR && variable_id <= last_var) then param_id = variable_id - FIRST_VAR + FIRST_PARAM return $game_actors[ACTOR_ID].param(param_id) else return Kouta555_param_vars_access variable_id end end end

В строчке «FIRST_VAR=21» указывается первая переменная, в строчке «ACTOR_ID = 1» — номер героя, чьи параметры будут браться.

Если не менять настройки, то значения параметров будут в таких переменных: \V[21] = максимальная магическая энергия, \V[22] = атака, \V[23] = защита, \V[24] = магич. атака, \V[25] = магич. защита, \V[26] = скорость, \V[27] = удача.

P.S. Код у меня работает. Но я плохо знаю Руби, так что буду благодарен комментариям знатоков о том, как улучшить код.

P.P.S. Код скрипта в общественном достоянии согласно CC0 . Его можно использовать где угодно, как угодно, никого нигде не указывая. Можно даже говорить, что сами его написали.
Последнее редактирование: 8 года 2 мес. назад пользователем Dmy.
Спасибо сказали: Kouta555, Amphilohiy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Проект месяца 1 место Ветеран Проект месяца 3 место Победитель конкурса Проект месяца 2 место 2 место Оратор Разработчик Поддержка Фонда
Больше
8 года 2 мес. назад #102475 от Kouta555

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Ветеран Поддержка Фонда Разработчик Проект месяца 3 место Учитель Оратор Даритель Стимкея 2 место За 2 место на конкурсе маппинга Программист Ruby Паладин
Больше
8 года 2 мес. назад #102476 от Dmy
Должен поработать над любой из своих игр. Нисколько, ты что. Это очень простой скрипт. :)
Спасибо сказали: Kouta555

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.103 секунд
Работает на Kunena форум