Войти на сайт

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Dmy
  • Dmy аватар
  • Вне сайта
  • Заблокирован
  • Сообщений: 1142
  • Спасибо получено: 2480
  • ОраторВетеранПаладин2 место УчительЗа 2 место на конкурсе маппингаПоддержка ФондаПрограммист RubyПроект месяца 3 местоРазработчик
Если нужно поменять условие страницы для события на карте, можно попробовать сделать вот так (мейкер на указан, так что даю код для 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 года 4 мес. назад от Dmy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Cabbit

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

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

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

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

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

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