Показано с 1 по 10 из 28

Тема: Переменные, простые скрипты, функции rpg maker MV

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Axel_Key Посмотреть сообщение
    Ну, смотри. Нажимаю я "ветвление условий" -> "скрипт". И этот скрипт не влезает в окошко скрипта.
    Я делаю параллельное событие, в нем по условии "если событие 1 и событие 2 имеют равные координаты, то происходит следующее. Сделать это нужно через ветвление условий...
    Не до конца понимаю, что делает твой код.. Вот ввожу я этот скрипт, ничего не происходит. Что дальше то? Как сделать ветвление условий, мол "если координаты события 'notetag' равно координатам события 'notetag2', то...? :0
    про ветвление сразу надо говорить
    можно просто убрать все отступы и записать код в строчку. в данном случае отступы в жс нужны только для читаемости

    PHP код:
    var id = function(note) {for (let i=1; i<$gameMap.event().length; i++) {if ($gameMap.event(i).event().note.contains(note)) return i;}}; $gameMap.event(id('q')).x == $gameMap.event(id('w')).x && $gameMap.event(id('q')).y == $gameMap.event(id('w')) 
    PS:
    - я кстати в прошлом коде в конце .y не скопировал)
    - ща просмотрел еще раз код, наверное лучше вместо var id = function(note) писать function id(note).
    в случае если объявляешь функцию через переменную,то порядок вроде как важен,точно не помню
    - ну и вместо $gameMap.event() вроде надо $gameMap.events(). не помню как в мукере,но чисто логически массив со всеми событиями на карте скорее будет называть во множественном числе "события"(events), нежели в единственном

    итого попробуй этот код

    PHP код:
    function id(note) {for (let i=1; i<$gameMap.events().length; i++) {if ($gameMap.event(i).event().note.contains(note)) return i;}}; $gameMap.event(id('q')).x == $gameMap.event(id('w')).x && $gameMap.event(id('q')).y == $gameMap.event(id('w')).y; 
    Последний раз редактировалось Yuryol; 18.04.2019 в 17:54.

  2. #2
    Местный Аватар для Axel_Key
    Информация о пользователе
    Регистрация
    26.03.2017
    Адрес
    Горно-Алтайск
    Сообщений
    155
    Записей в дневнике
    3
    Репутация: 2 Добавить или отнять репутацию

    По умолчанию

    Я все делаю правильно? Что-то оно не работает.



    Код вставил такой:
    PHP код:
    var id = function(note) {for (let i=1; i<$gameMap.event().length; i++) {if ($gameMap.event(i).event().note.contains(note)) return i;}}; $gameMap.event(id('mask')).x == $gameMap.event(id('enemy')).x && $gameMap.event(id('mask')).y == $gameMap.event(id('enemy')).y; 
    Мне нужно сделать так, чтобы эти шарики (маска) , которые перемещаются вместе с игроком, при столкновении с врагом запускали триггер "коллизия".


    Когда триггер "коллизия" включен, - у врага активна страница с триггером нажатия на кнопку. Т.е. когда игрок близко с врагом и жмет на кнопку 'ok', - враг умирает.
    Пока "коллизия" не включена, - у врага активна страница с параллельным триггером, его поведением.

    Обидно то, что я сделал идеальную схему поведения врага. Т.е. он ходит по карте, если игрок в радиусе его видимости, - начинает преследовать и выпускать снаряды, целится в игрока. Снаряды спавнятся скриптом и задевают игрока, наносят урон. Но беда в том, что единственное что тут не работает, - я не могу убить врага, потому что для этого нужен триггер касания, а интеллект врага может работать только на параллельном триггере ВНУТРИ врага. D: Если поведение врага выпихнуть наружу, то придется указывать ид события врага, и так с каждым врагом. А когда поведение врага внутри него, можно просто делать условие "это событие" и не париться, спокойно копируя врагов на карте. Все работает отлично, кроме атаки игрока по врагу(

    Цитата Сообщение от Yuryol Посмотреть сообщение
    итого попробуй этот код

    PHP код:
    function id(note) {for (let i=1; i<$gameMap.events().length; i++) {if ($gameMap.event(i).event().note.contains(note)) return i;}}; $gameMap.event(id('q')).x == $gameMap.event(id('w')).x && $gameMap.event(id('q')).y == $gameMap.event(id('w')).y; 
    Тоже не работает(
    Наверное я что-то не так делаю...
    Последний раз редактировалось Axel_Key; 18.04.2019 в 18:51.
    Древнее зло вновь пробудилось, чтобы оккупировать раздел помощи...

  3. #3
    Маститый Аватар для Yuryol
    Информация о пользователе
    Регистрация
    06.03.2014
    Адрес
    Красноярск
    Сообщений
    1,420
    Записей в дневнике
    44
    Репутация: 60 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Axel_Key Посмотреть сообщение
    ..
    был занят,только освободился.
    1. note - это не поле "имя", это поле "примечание" (справа от имени события). поле "имя" - это "name"
    2. даже если бы ты писал в "примечании" код все-равно бы не работал. ты в коде пишешь что название должно быть "mask", а в событии пишешь "Mask controller". Ты должен писать точное название,вплоть до регистра, напрмиер "mask" и "Mask" - это разные названия. Также про пробелы не забывай, "mask " и "mask " тоже разные. Поэтому раз событие назвал "Mask controller" то и в коде пиши $gameMap.event(id('Mask controller')).y

    ну и надо было вставлять код которым я последним дал. у меня всё работает,ща проверил вставив этот код ничего не исправляя,всё норм. вот демо https://yadi.sk/d/b8O1pfdPN2c3jA

    ну и на будущее если ты вставляешь какой-то код и что-то не выходит первым делом нажимай f12,откроется консоль. в ней посмотри какие ошибки пишут.
    а еще улчше плюс к этому кинуть демо, по скринам трудно смотреть

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

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

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

Метки этой темы

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Переменные, простые скрипты, функции rpg maker MV