Войти на сайт

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

ТЕМА: Как узнать примененный предмет?

Как узнать примененный предмет? 9 года 7 мес. назад #73946

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Ветеран1 место в ГотвПроект месяца 2 место3 местоПроект месяца 1 местоОрганизатор конкурсовПрограммист RubyПисатель 3 местоУчитель
Мейкер: XP

Делаю учебники магии, привязал к применению предмета вызов общего события. Хочу получить ID предмета для использования в общем событии. Есть идеи, как это сделать?

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Администратор запретил публиковать записи гостям.

Как узнать примененный предмет? 9 года 7 мес. назад #73948

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПрограммист RubyПобедитель Сбитой кодировкиОратор2 место Готв
Ну ХП я долго уже не мучил (последний раз наверное когда писал скрипт мониторинга свитчей и переменных), но могу объяснить какой логикой я бы руководствовался в эйсе.
- Предмет наверняка создает новый интерпретатор. Можно интерпретатору добавить поле, например attr_accessor :item_id и передавать ид предмета при создании интерпретатора. Тогда ты вытащишь ид предмета уже из пространства самого интерпретатора.
- Можно добавить свойство в какой-нибудь Game_Party, и по тому же использованию предмета записывать его ид в патьку, оттуда уже и доставать.
- Как крайний способ можно вовсе по вызову предмета проверять является ли он исключением (по заранее расписанному хэшу или по нотам) и делать свои грязные делишки в основном уже через скрипты.

P.S. Для меня бы большей проблемой было понять, в кого летит книга, чем какая.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 9 года 7 мес. назад от Amphilohiy.
Администратор запретил публиковать записи гостям.

Как узнать примененный предмет? 9 года 7 мес. назад #73949

  • DeadElf79
  • DeadElf79 аватар
  • Вне сайта
  • Звездный Страж
  • Сообщений: 3147
  • Спасибо получено: 2650
  • Ветеран1 место в ГотвПроект месяца 2 место3 местоПроект месяца 1 местоОрганизатор конкурсовПрограммист RubyПисатель 3 местоУчитель
Как оно у меня есть сейчас, в пояснение к обсуждению в чате.

Сам предмет:

В его названии в фигурны скобках - ID скилла.

Вызывает общее событие:


Сам навык:

ID скилла совпадает с ID, указанным в фигурных скобках в имени учебника.

Ищу любую возможность выловить ID учебника. И да, скриптами, ивентами до этого фиг доберешься.
Администратор запретил публиковать записи гостям.

Как узнать примененный предмет? 9 года 7 мес. назад #73958

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • Даритель СтимкеяОраторПрограммист RubyПрограммист JavaScript Ветеран
Самый простой и быстрый способ - запихнуть ID предмета в $game_temp перед активацией Общего события.
Сразу перед/после уже стоящим запихиванием ID общего события в вышеупомянутое место в методе активации общего события из меню вещей.
Последнее редактирование: 9 года 7 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: DeadElf79
Время создания страницы: 0.174 секунд