Войти на сайт

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

ТЕМА: Ошибка из-за бестиария

Ошибка из-за бестиария 9 года 8 мес. назад #72958

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Вылезла при начатии битыв такая ошибка:

Залез в скрипты, мне указывается на вот эту строку:
if $game_party.bestiary[enemy.original_name][0] == false
Что здесь не так?
Изначпльно после ввода бестиария этой ошибки не ьыло, но когда я ввел новых монстров она вылезла!
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72960

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Скриптеры на форуме ленивые, и наизусть ничего не помнят. И играют в доту.
Я так предпологаю, что проблема в этом "original_name". Ты точно всем существам задал корректное имя?
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72961

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
В каком плане оно может быть не корректным?
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72962

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Увы, тоже не знаю, ибо с бестиарием никогда и не работал. И даже не уверен, что он бывает один. Можно ссылку на скрипт? Еще лучше демо, это бы упростило работу, ибо не факт, что я смогу воспроизвести ошибку. Можно в личку.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork

Ошибка из-за бестиария 9 года 8 мес. назад #72966

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • КоммерсантУчительПрограммист RubyПроект месяца 1 местоПроект года 1 место
Вы сообщение ошибки читали? Проблема в том что в $game_party метод bestiary возращает nil а не хэш.
Последнее редактирование: 9 года 8 мес. назад от Iren_Rin.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork

Ошибка из-за бестиария 9 года 8 мес. назад #72969

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Вы сообщение читали?
Изначпльно после ввода бестиария этой ошибки не было, но когда я ввел новых монстров она вылезла!
Как так случилось, что добавление монстров убил свойство bestiary? Из двух индексировании вероятнее, что это относится к вызову [0].
Без обид, но как-то ты резковато.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72970

  • Lekste
  • Lekste аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 911
  • Спасибо получено: 565
  • ВетеранОраторПрограммист JavaScript Программист RubyДаритель Стимкея
Как сказал Амфи, похоже original_name кому-то не задали. :)
Или моба с этим именем в бестиарий не внесли.
Последнее редактирование: 9 года 8 мес. назад от Lekste.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork

Ошибка из-за бестиария 9 года 8 мес. назад #72971

  • Cerberus
  • Cerberus аватар
  • Вне сайта
  • Модератор
  • Собака злая
  • Сообщений: 2269
  • Спасибо получено: 1182
  • Проект месяца 2 место2 место Проект месяца 1 место2 место Сбитая кодировкаПобедитель Сбитой кодировкиОрганизатор конкурсов3 местоПисатель 3 местоПрограммист JavaScript 3 место Готв
Iren_Rin пишет:
Вы сообщение ошибки читали? Проблема в том что в $game_party метод bestiary возращает nil а не хэш.
Не уверен. nil может лежать и в самом bestiary, если original_name неверно.
Жуть болотная, на лапках, в тапках и с пулемётом...
Последнее редактирование: 9 года 8 мес. назад от Cerberus.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork, Iren_Rin

Ошибка из-за бестиария 9 года 8 мес. назад #72972

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Вот ссылка на скрипт этого бестиария:
nashdisk.ru/96d315/
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72975

  • Iren_Rin
  • Iren_Rin аватар
  • Вне сайта
  • Мастер
  • Сообщений: 247
  • Спасибо получено: 537
  • КоммерсантУчительПрограммист RubyПроект месяца 1 местоПроект года 1 место
Cerberus пишет:
Iren_Rin пишет:
Вы сообщение ошибки читали? Проблема в том что в $game_party метод bestiary возращает nil а не хэш.
Не уверен. nil может лежать и в самом bestiary, если original_name неверно.
Ты прав, не заметил второй вызов [] (так и работаю, не замечу то, не замечу это...:()
Тогда действительно ошибка с неправильным именем монстра наиболее вероятна.
Интересно, почему бестиарий лежит в $game_party а не в $game_troop?
Последнее редактирование: 9 года 8 мес. назад от Iren_Rin.
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72976

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
И на какое имя его поменять?
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72978

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Пока что при попытке воспроизвести ошибку я натыкаюсь на проблемы смены регистра =\. Дарк, попробуй чутка помочь. Весь код метода (от 443 и до 451) замени на
def seen_the_enemy
    RETCON::Bestiary::check_for_bestiary
    members.each do |enemy|
      p $game_party.bestiary
      p enemy.enemy_id
      if $game_party.bestiary[enemy.original_name][0] == false
        $game_party.bestiary[enemy.original_name][0] = true
      end
    end
  end
Включи консоль и иди в битву. Примерно скажи что консоль выведет. Или скрин.

Iren_Rin, Game_Troop - это один отряд противников (причем необязательно одного типа). А Game_Party - Отряд героя, причем там же хранятся такие параметры, как золото. Бестиарий же определяет каких существ отряд видел, и какие он может показать. В целом логично.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 9 года 8 мес. назад от Amphilohiy.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork

Ошибка из-за бестиария 9 года 8 мес. назад #72979

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Теперь при запуске проекта выдаёт:
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72980

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Чую я лишний end прихватил. Просто после функции добавь end.
Если не получится, то
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: darkwork

Ошибка из-за бестиария 9 года 8 мес. назад #72981

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Сделал, теперь такое чудо:
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72982

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Мда, определенно проще проделать план Б из текста выше.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72983

  • Lipton
  • Lipton аватар
  • Вне сайта
  • Просветлённый
  • Ух ты!
  • Сообщений: 379
  • Спасибо получено: 670
  • 2 место Программист RubyОрганизатор конкурсов
Да тупо перед сравнением поставить проверку на существование и все. =)))
if $game_party.bestiary[enemy.original_name][0] != nil
А во внутрь все остальное. =)
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72984

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Похоже я понял в чём проблема, я начинал этот проект путем копирования предыдущего и просто изменял мапы и персов т.д., соответственно имена мобов были из копируемого проекта, я сейчас попробывал моего осьминога из новога проекта назвать "Зомби"(как было в старом) и.... ВСЁ заработало, и так со всеми именами мобов! Но как же мне теперь без ущерба новому проекту сделать бестиарий рабочим уже на новых именах мобов????
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72985

  • Amphilohiy
  • Amphilohiy аватар
  • Вне сайта
  • Светлый дракон
  • Сообщений: 547
  • Спасибо получено: 666
  • УчительПобедитель Сбитой кодировкиОратор2 место ГотвПрограммист Ruby
Просто скопируй тот скрипт, что ты тут выложил, вместо того, в котором мы напортачили. Сам скрипт вроде шибко в настройке не нуждается.
Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Администратор запретил публиковать записи гостям.

Ошибка из-за бестиария 9 года 8 мес. назад #72986

  • darkwork
  • darkwork аватар
  • Вне сайта
  • Заблокирован
  • Factory of Evil
  • Сообщений: 244
  • Спасибо получено: 127
Уже так делал((((( не помогло. Я в самую первую очередь так сделал)
Администратор запретил публиковать записи гостям.
  • Страница:
  • 1
  • 2
Время создания страницы: 0.201 секунд