Плохо! Плохо!:  0
Страница 5 из 5 ПерваяПервая ... 345
Показано с 41 по 47 из 47

Тема: Много вопросов по JavaScript

  1. #41

    По умолчанию

    Цитата Сообщение от Alexandr_7 Посмотреть сообщение
    Сделал небольшой скрипт который помещаю в маршрут движения ивента
    Но вот минус есть. Иногда случается так что ивенты застревают связано с тем что ивент может наткнутся на другого ивента тоесть стать прямо на него
    Код:
    function getRandomInt(min, max){return Math.floor(Math.random() * (max - min + 1)) + min;}if ($gameMap.event(this._eventId).y >= 49) $gameMap.event(this._eventId).setPosition(getRandomInt(7, 9), getRandomInt(9, 13))
    Кто знает как исправить. Вот в более понятном виде
    Код:
    function getRandomInt(min, max){
    return Math.floor(Math.random() * (max - min + 1)) + min;
    }
    if ($gameMap.event(this._eventId).y >= 49) $gameMap.event(this._eventId).setPosition(getRandomInt(7, 9), getRandomInt(9, 13))
    Проверять наличие события по координатам ? Вроде ты уже научился пользоваться $gameMap.eventIdXy. Если вернул ид события, то нельзя туда ставить (цикл do while ?)

  2. #42
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию

    На сколько правильно понял вот так:
    Код:
    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 версия!

  3. #43
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию

    Не ну правда как нибудь можно вынести это в отдельный метод чтобы потом в маршруте события вызывать а то в маршруте только все в одну строку пишется.
    Код:
    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)
    Kurs RMMV.PNG
    Мой канал на Yotube: Канал Alexandr_5
    Если не говорю движок то это RPG Maker MZ Steam версия!

  4. #44
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию

    Кто в курсе как через скрипт получить ид региона?
    Мой канал на Yotube: Канал Alexandr_5
    Если не говорю движок то это RPG Maker MZ Steam версия!

  5. #45
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,947
    Записей в дневнике
    6
    Репутация: 132 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Пётр Посмотреть сообщение
    Прости конечно. Но я это тебе нахрена давал?

  6. #46
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Пётр Посмотреть сообщение
    Прости конечно. Но я это тебе нахрена давал?
    Если я правильно понял то вот это
    $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 версия!

  7. #47
    Бывалый Аватар для Alexandr_7
    Информация о пользователе
    Регистрация
    09.08.2015
    Адрес
    пос Октяборьский
    Сообщений
    967
    Репутация: 13 Добавить или отнять репутацию

    По умолчанию

    А вот сейчас реальный вопрос. Нкжно для мозайки. А имена систему выбора мозайки.
    Тобишь с помощью игрока взять определенное событие и отпустить.
    Игрок - это курсор
    События - сами пазлы конечноже. Я конечно уже делал почти не использовав скриптов
    Вот этим:
    (Event 10 - Page 1)
    Код:
    ◆Если:Кнопка [ОК] нажата
      ◆Переменная:#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 = ВКЛ
        ◆
      :Конец
      ◆
    :Конец
    (Event 10 - Page 2)
    Код:
    ◆Скрипт:$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 версия!

Страница 5 из 5 ПерваяПервая ... 345

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Много вопросов по JavaScript