Войти на сайт

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

ТЕМА: Изменение параметров события через скрипт

Изменение параметров события через скрипт 6 года 8 мес. назад #107494

  • DyxEather
  • DyxEather аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 43
  • Спасибо получено: 20
Собственно в настройках события есть параметр "Условие" Переменная больше либо равна Х. Можно ли как то скриптом выставить нужную числовую X?
И можно ли вообще как то через скрипты менять условия в событие и не только условия.
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107496

  • PringOva
  • PringOva аватар
  • Вне сайта
  • Мастер
  • Сообщений: 224
  • Спасибо получено: 231
  • Проект месяца 2 местоРазработчикПроект месяца 3 местоПроект месяца 1 место
а через оператор не подходить?
Или тебе надо чтобы: Если переменная =5, то событие появляется?
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107497

  • DyxEather
  • DyxEather аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 43
  • Спасибо получено: 20
Нет увы не подходит.
Суть такая... есть допустим параллельное событие которые прибавляет к переменной Т каждые 24 минуты +1...
А есть событие которое должно сбрасываться. То есть его активировали когда Т=13, через 10 единиц одно должно сбросится. То есть при Т=23. Но если я это же событие активирую при Т=44, то сброс уже должен быть после Т=54. И таких событий на всех картах не мало, значит переменные использовать не вариант.
Суть идее такая. Событие активруется и на 2ом листе прописывается если Т=X+10 то сброс.
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107499

  • PringOva
  • PringOva аватар
  • Вне сайта
  • Мастер
  • Сообщений: 224
  • Спасибо получено: 231
  • Проект месяца 2 местоРазработчикПроект месяца 3 местоПроект месяца 1 место
а если сделать T общим событием и пусть тикает от 1 до 100. Сложна :wall:
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107500

  • niseoth
  • niseoth аватар
  • Вне сайта
  • Познающий
  • Сообщений: 17
  • Спасибо получено: 23
если Т=X+10

Если
T >= XT
Работает
Элс
"Ещё не сбросилось"

Во время активации
Переменная ХТ=Т
Переменная ХТ+10

Не представляю, как это можно сделать с одной переменной(если я правильно понял), ведь некуда записывать время активации.
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107501

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2482
  • ПаладинПроект месяца 3 местоВетеранРазработчикЗа 2 место на конкурсе маппингаОраторПоддержка Фонда2 место УчительДаритель Стимкея
Если нужно поменять условие страницы для события на карте, можно попробовать сделать вот так (мейкер на указан, так что даю код для MV):
var event = $gameMap.event(1);
  //вместо 1 нужно поставить номер ивента
var page = event.event().pages[2 -1];
  //вместо 2 нужно поставить номер страницы
  // -1 обязательно (страницы в JS нумеруются с нуля, а не с единицы)
page.conditions.variableValue = 10;
  //вместо 10 нужно поставить новое значение
event.refresh();
Этот код установит правое условие «переменная ≥ 10» для страницы №2 события №1. При этом само условие должно существовать и переменная должна быть выбрана, меняется только правое значение.

Этот код нужно прописать в команде события «Скрипт» (она предпоследняя в списке команд событий).

Чтобы условие бралось из переменной, можно сделать вот так:
var event = $gameMap.event(1);
  //вместо 1 нужно поставить номер ивента
var page = event.event().pages[2 -1];
  //вместо 2 нужно поставить номер страницы
  // -1 обязательно (страницы в JS нумеруются с нуля, а не с единицы)
page.conditions.variableValue = $gameVariables.value(12);
  //вместо 12 нужно поставить номер переменной
event.refresh();
Этот код установит правое условие «переменная ≥ переменная №12» для страницы №2 события №1.

Но!!! ЗАСАДА! Эти условия сбросятся после сохранения и перехода на другую карту. То есть нужно отключить сохранения, пока нужны эти условия. Если нужно с сохранениями, нужно, наверное, писать полноценный скрипт. Или сделать какой-то параллельный процесс, который вызывает код выше постоянно, чтобы он вызвался после сохранения.
Последнее редактирование: 6 года 8 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit

Изменение параметров события через скрипт 6 года 8 мес. назад #107503

  • DyxEather
  • DyxEather аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 43
  • Спасибо получено: 20
Да это проблема... Сохранения всю идею портят :wall:
Не очень хочется использовать сторонние скрипты для выращивания ресурсов. :(
Администратор запретил публиковать записи гостям.

Изменение параметров события через скрипт 6 года 8 мес. назад #107504

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2482
  • ПаладинПроект месяца 3 местоВетеранРазработчикЗа 2 место на конкурсе маппингаОраторПоддержка Фонда2 место УчительДаритель Стимкея
DyxEather пишет:
Да это проблема... Сохранения всю идею портят :wall:
Не очень хочется использовать сторонние скрипты для выращивания ресурсов. :(

Ну, можно сделать параллельное событие:
  • хранить значения для всех событий в переменных (переменные в сохранения сохраняются, так что эти значения сохранятся),
  • сделать параллельное событие, который проверяет, прошло ли сохранение: если прошло — обновляет условия для всех ивентов на значения из переменных (записать в переменную «новое число сохранений» данные игры — число сохранений; сравнить переменные «новое число сохранений» и «старое число сохранений»; если они не совпадают — обновить все условия, если совпадают — ничего не делать; сохранить в переменную «старое число сохранений» данные игры — число сохранений; ждать пару кадрв);
  • небольшое время после загрузки у всех событий будут неправильные числа, поэтому нужно сделать, чтобы за это время ничего лишнего не сработало (возможно, прописать в редакторе всем максимальные числа типа 99999).

Хотя муторно, конечно.
Последнее редактирование: 6 года 8 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.261 секунд