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

[Ace] Вызов скрипта и заметки предметов

Больше
9 года 4 мес. назад #95710 от Paranoid
Можно ли через вызов скрипта узнать что написано в тегах его экипированного оружия?

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад - 9 года 4 мес. назад #95713 от DeadElf79
Можно. Если написать парсер тегов, чтобы узнать, какие значения под каждым тегом находятся.

Получение тегов экипированного оружия происходит вот так (пример для лидера партии):
Code:
$game_party.leader.equips.each { |item| if item.is_a? RPG::Weapon # тут проверка тегов должна быть end }

Но вот значение тегов можно получить, если напишешь список всех тегов с примерами. Тогда можно парсер написать и даже в функцию завернуть, чтобы вызов скрипта одной строкой производился.
Последнее редактирование: 9 года 4 мес. назад пользователем DeadElf79.
Спасибо сказали: Paranoid

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

Больше
9 года 4 мес. назад #95715 от Paranoid
Хм, я думал можно как-то проще.

Тогда я прошу помощи в написании скрипта, если такого нет. Суть в том чтобы при экипировке оружия (книги в моем случае), герой получал набор скиллов прописанных в тегах у этого оружия.
Изначально я хотел все сделать через событие. То есть при смене оружия, удалять все скиллы, а потом добавлять те что в тегах у оружия.

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад #95716 от DeadElf79
Способа проще нет. Напишу, скину сюда же.

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

Больше
9 года 4 мес. назад #95717 от Paranoid
Нашел у Амфи код для нотов, только во уроков по нему он не делал - rpgmaker.ru/forum/svobodnyj/59321-labora...khiya?start=20#95048

Я так понял чтобы получить ноты можно использовать его Amphicore::TextParser.get_note(item), где item это айди предмета. Но что в таком случае получится?

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

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 4 мес. назад - 9 года 4 мес. назад #95718 от Amphilohiy
Увы, это не айди предмета, а сам предмет, ибо таких нотов есть и у состояний, и у оружий и у доспехов... Так что цепляй сам через $data_items[id]
Есть вроде как манул. Надо оформлять особым образом, и в мануле описано как. Но в целом результат такой (опять же по манулу)
Вот текст записки:
Code:
Amphicore::TextParser.parse_text(" Файербол требует газ, конечно же <item> require_item 16 => 1 <end> Ну и анимация конечно же <item> cast_animation 4 <+> fail_animation 7 <end> Я забыл что делает этот ключ, но без него все ломается <item> sacrifice_to_baal blood of virgin", Amphicore::TextParser::NOTE_PARSEKIT)
Результатом будет хэш:
Code:
{:require_item => "16 => 1", :cast_animation => "4", :fail_animation => "7", :sacrifice_to_baal => "blood of virgin"}
get_note автоматом берет парскит от нот, ну и сам смотрит в свойство note записи.

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

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

Больше
9 года 4 мес. назад #95719 от Paranoid
Но ты ведь нигде не кидал мануалов или ты про какой-то другой?
Суть в чем, я получаю id оружия и должен получить ноты, в которых прописаны id скиллов. В нотах, например, написано <skill: 1>.

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

Проект месяца 1 место Программист Ruby Писатель 3 место 3 место Учитель Организатор конкурсов 1 место в Готв Ветеран Проект месяца 2 место
Больше
9 года 4 мес. назад - 9 года 4 мес. назад #95720 от DeadElf79
Я уже всё написал. Вот, пользуйся. В заметки оружия на каждой отдельной строке пиши skill: 1 (вместо 1 - любое число).
Code:
# de79 equips skillz def weapon_skill_array(id) array = [] $data_weapons[id].note.split(/\n/).each do |line| if line =~ /skill:[\s]*[\d+]/ array.push $1.to_i end end array end def learn_skill_array(actor_id,array) array.each{|skill_id| $game_actors[actor_id].learn_skill(skill_id)} end def forget_skill_array(actor_id,array) array.each{|skill_id| $game_actors[actor_id].forget_skill(skill_id)} end

Вызов скриптов для изучения такой:

array = weapon_skill_array(123)
learn_skill_array(456,array)


А для забывания такой:

array = weapon_skill_array(123)
forget_skill_array(456,array)


123 - номер оружия из БД. 456 - номер актера из БД.
Последнее редактирование: 9 года 4 мес. назад пользователем DeadElf79.
Спасибо сказали: Paranoid

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

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 4 мес. назад - 9 года 4 мес. назад #95721 от Amphilohiy
Вот тебе недоманул , он там же в гите.
И тут оформление идет иначе
Code:
<item> skill 1 <end>
Закрывать не обязательно, но можно.
Потом делаем Amphicore::TextParser.get_note($data_items[id]) и получаем
Code:
{:skill => 1}
PS все по памяти.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 9 года 4 мес. назад пользователем Amphilohiy.
Спасибо сказали: Paranoid

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

Больше
9 года 4 мес. назад #95722 от Paranoid
Я не думал что это будет сложно, но это прям очень быстро было. Спасибо эльф. Буду разбираться. По сути хотелось бы сделать скрипт самостоятельным.
Спасибо сказали: DeadElf79, Amphilohiy

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

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