На сколько правильно понял вот так:
Тут может быть долгая задержка перед тем как ивент переместиться ну не всегда но вообще такой исход возможенКод:function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } if ($gameMap.event(this._eventId).y >= 49) do { intX = getRandomInt(7, 9); intY = getRandomInt(9, 13); } while (($gameMap.eventIdXy(intX, intY) > 0) && (($gameMap.eventIdXy(intX-1, intY) > 0) && ($gameMap.eventIdXy(intX+1, intY) > 0) && ($gameMap.eventIdXy(intX, intY+1) > 0) && ($gameMap.eventIdXy(intX , intY-1) > 0) && ($gameMap.eventIdXy(intX, intY+2) > 0) && ($gameMap.eventIdXy(intX, intY-2) > 0) && ($gameMap.eventIdXy(intX-1, intY) > 0) && ($gameMap.eventIdXy(intX+1, intY) > 0) && ($gameMap.eventIdXy(intX-1, intY-1) > 0) && ($gameMap.eventIdXy(intX-1, intY-2) > 0) && ($gameMap.eventIdXy(intX-1, intY+1) > 0) && ($gameMap.eventIdXy(intX-1, intY+2) > 0) && ($gameMap.eventIdXy(intX+1, intY-1) > 0) && ($gameMap.eventIdXy(intX+1, intY-2) > 0) && ($gameMap.eventIdXy(intX+1, intY+1) > 0)&& ($gameMap.eventIdXy(intX+1, intY+2) > 0)) $gameMap.event(this._eventId).setPosition(intX, intY)
И 2. Можно ли это сделать отдельной функцией точнее методом чтобы потом в маршруте движения ивента его вызывать а то если этот скрипт будет в одну строку то както не удобно будет а в самом маршруте вызвать скрипт можно только одной строкой
Мой канал на Yotube: Канал Alexandr_5
Если не говорю движок то это RPG Maker MZ Steam версия!
Не ну правда как нибудь можно вынести это в отдельный метод чтобы потом в маршруте события вызывать а то в маршруте только все в одну строку пишется.
Kurs RMMV.PNGКод:var intX, intY; function getRandomInt(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } if ($gameMap.event(this._eventId).y >= 49) do { intX = getRandomInt(7, 9); intY = getRandomInt(9, 13); } while (($gameMap.eventIdXy(intX, intY) > 0) || (($gameMap.eventIdXy(intX-1, intY) > 0) || ($gameMap.eventIdXy(intX+1, intY) > 0) || ($gameMap.eventIdXy(intX, intY+1) > 0) || ($gameMap.eventIdXy(intX , intY-1) > 0) || ($gameMap.eventIdXy(intX, intY+2) > 0) || ($gameMap.eventIdXy(intX, intY-2) > 0) || ($gameMap.eventIdXy(intX-1, intY) > 0) || ($gameMap.eventIdXy(intX+1, intY) > 0) || ($gameMap.eventIdXy(intX-1, intY-1) > 0) || ($gameMap.eventIdXy(intX-1, intY-2) > 0) || ($gameMap.eventIdXy(intX-1, intY+1) > 0) || ($gameMap.eventIdXy(intX-1, intY+2) > 0) || ($gameMap.eventIdXy(intX+1, intY-1) > 0) || ($gameMap.eventIdXy(intX+1, intY-2) > 0) || ($gameMap.eventIdXy(intX+1, intY+1) > 0)|| ($gameMap.eventIdXy(intX+1, intY+2) > 0)) $gameMap.event(this._eventId).setPosition(intX, intY)
Мой канал на Yotube: Канал Alexandr_5
Если не говорю движок то это RPG Maker MZ Steam версия!
Кто в курсе как через скрипт получить ид региона?
Мой канал на Yotube: Канал Alexandr_5
Если не говорю движок то это RPG Maker MZ Steam версия!
Если я правильно понял то вот это
$gameMap.vehicle(vehicleId).setLocation(mapId, x, y);
Но даже если это создания ид региона то как его получить там не сказано. Там много каких скриптов нехватает. Точнее там расписано только чтобы чтото создать но не написано как например получить или проверить то или иное например
$gameSelfSwitches.setValue(key, true/false);
Здает локальный переключатель у события включить или выключить. Но не сказано как проверить включен ли локальный переключатель
Ладно с этим я и сам допер
$gameSelfSwitches.value(key) == true/false
Но вот что единственное мне в голову приходит это вот
$gameMap.vehicle.value(mapId, x, y) но сомневаюсь что именно так можно получить ид региона
Добавленно позже
Ну ладно признаю я ошибся и там есть получения
$gameMap.regionId(x, y);
Но как создать его точнее пометить и разве ид карты в таком случае не указываются?
Последний раз редактировалось Alexandr_7; 08.10.2017 в 19:31.
Мой канал на Yotube: Канал Alexandr_5
Если не говорю движок то это RPG Maker MZ Steam версия!
А вот сейчас реальный вопрос. Нкжно для мозайки. А имена систему выбора мозайки.
Тобишь с помощью игрока взять определенное событие и отпустить.
Игрок - это курсор
События - сами пазлы конечноже. Я конечно уже делал почти не использовав скриптов
Вот этим:
(Event 10 - Page 1)
(Event 10 - Page 2)Код:◆Если:Кнопка [ОК] нажата ◆Переменная:#0001 X Курсора = Х карты из Игрок ◆Переменная:#0002 Y Курсора = Y карты из Игрок ◆Получить данные о клетке:ID Event 1, Номер события, ({X Курсора},{Y Курсора}) ◆Если:ID Event 1 > 0 ◆Воспроизвести SE:Key (100, 100, 0) ◆Скрипт:$gameMap.event($gameVariables.value(3)).setPosition($gamePlayer.x,$gamePlayer.y) ◆Ждать:60 кадры(ов) ◆Переключатель:#0001 Sel_Event = ВКЛ ◆ :Конец ◆ :Конец
Но сделано чуть кривовато. Кривота заключается в задержках. А без них автоматически будет браться и ложится пазлКод:◆Скрипт:$gameMap.event($gameVariables.value(3)).locate($gamePlayer.x,$gamePlayer.y) ◆Если:Кнопка [ОК] нажата ◆Переменная:#0001 X Курсора = Х карты из Игрок ◆Переменная:#0002 Y Курсора = Y карты из Игрок ◆Получить данные о клетке:ID Event 2, Номер события, ({X Курсора},{Y Курсора}) ◆Если:ID Event 2 = ID Event 1 ◆Воспроизвести SE:Key (100, 70, 0) ◆Ждать:60 кадры(ов) ◆Переключатель:#0001 Sel_Event = ВЫКЛ ◆ :Иначе ◆Воспроизвести SE:Buzzer1 (90, 100, 0) ◆Ждать:60 кадры(ов) ◆ :Конец ◆ :Конец
Потомучто нажатия кнопки на двух страницах будет происходит мгновенно.
Так вот через скриптинг можно будет сделать это легче. Кто в курсе как это сделать?
Мой канал на Yotube: Канал Alexandr_5
Если не говорю движок то это RPG Maker MZ Steam версия!
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)
Социальные закладки