[Решено] Почему $dataMap равен null?

Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124457 от Sepheyer
Привет.

Допустим, я хочу посчитать события при старте. Кто-нибудь знает, почему обьект содержащий эту информацию равен null?

Вот код - это весь код условного плагина. Естественно, если использую его через скрипт, то работант. Но не через плагин.
Code:
//file "test_event.js" console.log($dataMap.events.length) //

Я точно знаю, что этот обьект уже инициализован и содержит информацию - я вижу это через F8:



Спасибо.
Последнее редактирование: 4 года 7 мес. назад пользователем Sepheyer.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124458 от DarchanKaen
Причину я не скажу, но лично мне в случае когда нужно было проверять эвенты на карте помогло использование:

$gameMap.events();

Могу предположить, что или в $gameData эвенты записываются с каким-то лагом во времени или какой-то плагин туда их не помещает (например, плагин Galv`а на копирование эвентов их в $dataMap не помещает...насколько я помню).
Последнее редактирование: 4 года 7 мес. назад пользователем DarchanKaen.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 7 мес. назад #124459 от Sepheyer
К сожелению с $gameMap тот же результат - ошибка и вылет из-за null.
Code:
//console.log($dataMap.events.length) console.log($gameMap.events.length)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124460 от DarchanKaen
Подумал, попробовал...
Наверное я ерунду сказал в предположении, да простят меня опытные плагинописатели. =/

Все работает.
Вероятно ты как-то не так написал свой плагин.
Вот код рабочего примера (извини, скринов не будет).


Код рабочего тестового плагина


Код, вероятно, не оптимален / где-то излишен...Но он работает.

P.S:
Мне в разработке моих плагинов, кроме ковыряния самого мейкера, очень помогает инфа по этой ссылке (там человек выложил кор-либу MV):
kinoar.github.io/rmmv-doc-web/globals.html
Последнее редактирование: 4 года 7 мес. назад пользователем DarchanKaen.
Спасибо сказали: Noxmils

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 7 мес. назад #124461 от Sepheyer
@DarchanKaen, спасибо, но это немого не то.

Я не указал контекст наверное, извините.

Та команда которая мне нужна, она работает. Она не работает в определенной фазе, на фазе запуска плагина. При этом, консоль показывает что dataMap уже инициализирован, но вызовы обьекта упираються в null.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Разработчик Проект месяца 1 место Ветеран 3 место в Обучающем конкурсе Проект месяца 2 место
Больше
4 года 7 мес. назад - 4 года 7 мес. назад #124462 от DarchanKaen

Sepheyer пишет: @DarchanKaen, спасибо, но это немого не то.

Я не указал контекст наверное, извините.

Та команда которая мне нужна, она работает. Она не работает в определенной фазе, на фазе запуска плагина. При этом, консоль показывает что dataMap уже инициализирован, но вызовы обьекта упираються в null.


На фазе запуска плагина...извини, таких глубоких познаний в плагинах у меня нет.
Может кто-то еще что-то дельное скажет.

upd:
Кто знает больше о плагинах, можете уточнить - какая может быть "фаза запуска плагина"? Подключенные плагин, по идее, или интерпретируется и выполняется при старте игры, или при вызове его команд.
Так как между стартом мейкера и стартом карты есть, как минимум, главное меню (берем стандартный случай), то при старте игры никакой карты и нет.
Уже после меню и перехода на карту становятся доступными внутренние объекты типа $gameMap, $dataMap, и.т.д.
То есть, нет карты (в меню) - нет и эвентов карты.
Или я чего-то не понимаю? :wall:
Последнее редактирование: 4 года 7 мес. назад пользователем DarchanKaen.
Спасибо сказали: Sepheyer

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 7 мес. назад #124463 от Sepheyer
F8 показывающее инициализированный обьект вызвало сомнения. Я начал надеятся, что плагины идут после инициализации $data но до $game.

На RPGMW написали:

"Плагины загружаются до инициализации переменных $data."
Спасибо сказали: DarchanKaen

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
Больше
4 года 7 мес. назад #124464 от yuryol
мукера под рукой нет.

насколько помню, подобную функцию можно вызывать в Scene_Map. метод то ли "start" то ли "init"

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 года 7 мес. назад #124465 от Sepheyer
@yuryol

В Game_Map.prototype.setup .

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.101 секунд
Работает на Kunena форум