Плохо! Плохо!:  0
Показано с 1 по 9 из 9

Тема: Движение ивентов за пределами экрана

  1. #1
    Гость Аватар для DesKarD
    Информация о пользователе
    Регистрация
    01.08.2015
    Адрес
    город Ромдо
    Сообщений
    486
    Записей в дневнике
    2
    Репутация: 14 Добавить или отнять репутацию

    По умолчанию Движение ивентов за пределами экрана

    Доброго времени суток! :3
    Занимаясь одним из своих проектов (вероятность выхода в свет, которого крайне мала) наткнулся на такую проблему, которую не мог описать даже словами.
    Задав траекторию движения, пошёл проверять, как всё работает. К моему сожалению, я наткнулся на такую тему как: «Ивенты не будут двигаться, если игрок не видит их… НЕ БУДУТ! Хоть убейся, не будут». На тот момент у меня был лишь скрипт боевой системы Pearl ABS Liquid на анти лаг которого пали подозрения в первую очередь. Однако изучив настройки анти лага кроме <global> в наименовании ивента ничего полезного не было.
    И вот перед тем как окончательно свернуть свою затею решил поспрашивать на форумах в поисках ответов.


    Цитата Сообщение от ”Выглядел мой вопрос примерно так”
    Не знаешь, как мне сделать так, что бы события без контроля игрока перемещались по заданному маршуту?

    Мне нужно, что бы событие двигалось по маршуту от "бирюзового" по "красному" и "жёлтый" к "зелёному", но события начинают двигаться только после того как попадают в радиус видимости игрока.
    Спросил у Валеры и Мёртвого Эльфа. И набравшись терминами, отправился искать на иностранных форумах ответ на свой вопрос. И нашёл вот что:
    http://www.rpgmakervxace.net/topic/2...hen-offscreen/

    casper667 предложил заменить в Game_Event 88 строчку на:
    Код:
    if @stop_count > stop_count_threshold
    Я просто оставлю это здесь :3

  2. #2
    Местный Аватар для RastaManGames
    Информация о пользователе
    Регистрация
    19.06.2013
    Адрес
    Сибирь, Красноярск
    Сообщений
    147
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Не хочу разводить оффтоп, но что это у тебя там за растаман стоит?

  3. #3
    Гость Аватар для DesKarD
    Информация о пользователе
    Регистрация
    01.08.2015
    Адрес
    город Ромдо
    Сообщений
    486
    Записей в дневнике
    2
    Репутация: 14 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от RastaManGames Посмотреть сообщение
    Не хочу разводить оффтоп, но что это у тебя там за растаман стоит?
    Врач. Лечит и доспехи продаёт...

  4. #4
    Местный Аватар для RastaManGames
    Информация о пользователе
    Регистрация
    19.06.2013
    Адрес
    Сибирь, Красноярск
    Сообщений
    147
    Репутация: 4 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от DesKarD Посмотреть сообщение
    Врач. Лечит и доспехи продаёт...
    Сам рисовал? :3

  5. #5
    Гость Аватар для DesKarD
    Информация о пользователе
    Регистрация
    01.08.2015
    Адрес
    город Ромдо
    Сообщений
    486
    Записей в дневнике
    2
    Репутация: 14 Добавить или отнять репутацию

    По умолчанию

    RastaManGames, не слишком круто для меня. Я только шапку подрисовал.

  6. #6
    Хранитель Аватар для Paranoid
    Информация о пользователе
    Регистрация
    22.12.2014
    Сообщений
    2,776
    Записей в дневнике
    34
    Репутация: 28 Добавить или отнять репутацию

    По умолчанию

    Воу. Полезно.
    Лицензионный VX Ace. Спасибо Петр.
    2 года мукеризма в пустую.

  7. #7

    По умолчанию

    Немножко поною. =)
    Конечно исправить таким методом движение ивентов за пределами экрана это круто. Но! Данное исправление заставляет все ивенты двигаться на карте в не зависимости от нахождения игрока. Что в этом плохого? А то что при большом скоплении ивентов на карте у которых есть движение, на не очень мощных компах будут проявляться просадки фпс.
    Разрабы изначально поставили проверку на нахождение ивента в видимой части экрана плюс немного с краю именно для уменьшения нагрузки. Так же не обрабатывается анимация за пределами экрана.
    Лучшей бы выход был метить ивенты в название каким-нибудь тэгом, например [global] и в update_self_movement проверять на его наличие у ивента. И если да то делать движение.

  8. #8
    Гость Аватар для DesKarD
    Информация о пользователе
    Регистрация
    01.08.2015
    Адрес
    город Ромдо
    Сообщений
    486
    Записей в дневнике
    2
    Репутация: 14 Добавить или отнять репутацию

    По умолчанию

    Lipton, из меня скриптер максимум на перевод уже готового с английского на русский.





    Кстати, Lipton.А если рядом с такой заменой посадить анти лаг?
    Последний раз редактировалось DesKarD; 12.12.2015 в 18:48.

  9. #9

    По умолчанию

    Цитата Сообщение от DesKarD Посмотреть сообщение
    Кстати, Lipton.А если рядом с такой заменой посадить анти лаг?
    Тут нужно смотреть конкретный вариант антилага, что он изменяет в основном коде.

    Как вариант на коленке набросал вот такой скрипт.

    Код:
    #=========================================
    # Добавить в имя ивента <global>
    # Что бы ивент двигался и за пределами экрана
    #=========================================
    class Game_Event < Game_Character
      attr_accessor :allow_update
      alias initialize_wefnuh9fwh8f3992f3h983fh initialize
      def initialize(map_id, event)
        initialize_wefnuh9fwh8f3992f3h983fh(map_id, event)
        @ignore_move = event.name.include?('<global>')
      end
      alias update_self_movement_whhtkjh3k4j3t9898 update_self_movement
      def update_self_movement
      update_self_movement_whhtkjh3k4j3t9898
        if @ignore_move == true && @stop_count > stop_count_threshold
          case @move_type
          when 1;  move_type_random
          when 2;  move_type_toward_player
          when 3;  move_type_custom
          end
        end
      end
    end

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

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

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

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

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

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

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Движение ивентов за пределами экрана