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

Тема: Прыжки в указанные координаты

  1. #1
    Познающий Аватар для DeadElf79
    Информация о пользователе
    Регистрация
    09.08.2013
    Сообщений
    276
    Записей в дневнике
    12
    Репутация: 22 Добавить или отнять репутацию

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

    Это небольшой скрипт для RPG Maker XP! Если понадобится демка для VX Ace или MV, напишите мне об этом, я сделаю.

    Ни для кого не секрет, что в мейкере для того, чтобы прыгнуть в нужные координаты, вам нужно тщательно подсчитать смещение этих координат относительно игрока или ивента, который должен прыгать.


    Конечно, для ивентов есть команда "Set Event Location" ("Задать положение события"), но тогда ивент просто телепортируется, а не прыгнет!

    Это все не очень удобно и многие хотели бы прыгать сразу в нужную точку, а не высчитывать смещение.

    И написал небольшой скрипт, в котором объясняется, как это сделать. Просто установите его как обычно и используйте!

    Скрипт позволяет совершать прыжки игроком, событием или даже группой событий (куда может входить и игрок).
    Код:
    =begin
      
      Прыжок игрока или ивента в указанные координаты
      Автор: DeadElf79
      
      ВНИМАНИЕ: Игрок/ивент не прыгает в непроходимые области!
      Чтобы обойти это, перед прыжком сделайте игрока/иент проходимым сквозь все,
      а после - верните ему нормальную проходимость
      
      Инструкция:
      1. Чтобы прыгнуть игроком в координаты, заданные константой, вызовите:
      
      event_jump_to 0, 10, 13
      
      Он прыгнет на тайл с координатами 10, 13.
      
      2. Чтобы прыгнуть ивентов в координаты, заданные константой, вызовите:
      
      event_jump_to 2, 5, 7
      
      Тогда ивент под намером 2 прыгнет в координаты 5, 7.
      
      3. Чтобы игроком прыгнуть в координаты из переменных, вызоите:
      
      event_jump_to 0, var(10), var(11)
      
      Игрок прыгнет в координаты, указанные в переменных 10 и 11.
      
      4. Чтобы ивентом прыгнуть в координаты, указанные в переменных, вызовите:
      
      event_jump_to 10, var(123), var(456)
      
      Тогда ивент под номером 10 прыгнет в координаты, указанные в переменных 123 и 456
      
      5. Чтобы ивенту под номером из переменной прыгнуть в координаты из переменных,
      вызовите:
      
      event_jump_to var(1), var(2), var(3)
      
      Тогда ивент под номером, указанным в переменной 1, прыгнет в координаты,
      указанные в координатах, указанных в переменных 2 и 3.
      
      6. Чтобы совершить несколько прыжков подряд, вызовите команду "Ожидание" (Wait)
      как минимум на 10 кадров. Чем дольше прыжок, тем дольше должно быть ожидание!
      
      7. Если вы ставите два ивента-стартовых площадки для прыжка, которые
      указывают прыгать друг на друга, обязательно проверяйте перед прыжком,
      в какую сторону смотрит игрок, иначе вы можете зациклить прыжки и они
      никогда не закончатся!
      
      8. Для группового прыжка нужно уметь программировать!
      Сложный пример:
      
      for index 1..3
      event_id = index + 6
      event_jump_to event_id,index,4-index
      end
    
      Тогда ивент под номером 7 прыгнет в координаты 1, 3;
      ивент под номером 8 прыгнет в координаты 2, 2;
      а ивент под номером 9 окажется в координатах 3, 1.
      
      И все они прыгнут одновременно!
    
    =end
    
    class Game_Character
      def jump_to(dest_x,dest_y)
        x = self.x
        y = self.y
        self.jump(
          dest_x - x,
          dest_y - y
        )
      end
    end
    
    def event_jump_to(event_id, dest_x, dest_y)
      if event_id == 0
        $game_player.jump_to(dest_x,dest_y)
      else
        $game_map.events[event_id].jump_to(dest_x,dest_y)
      end
    end
    
    def var(id)
      $game_variables[id]
    end
    
    def switch(id)
      $game_switches[id]
    end
    Если вы не поняли инструкций из скрипта, то можете скачать небольшую демку: https://yadi.sk/d/-ZYvwsa2mJToD (Внимание: требуется установленное RTP для XP)

    Просьба модераторов переместить тему в нужный раздел, если я ошибся ^_^

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

    По умолчанию

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

  3. #3
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,006
    Записей в дневнике
    3
    Репутация: 166 Добавить или отнять репутацию

    По умолчанию

    При запуске игры демка выдает:



    Если запустить через редактор, то не совпадают версии ( у меня с этого форума ):



    И еще: в моих проектах ХР нет того последнего файла:


    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/vbdownloads.php?d...downloadid=106

  4. #4
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,090
    Записей в дневнике
    6
    Репутация: 124 Добавить или отнять репутацию

    По умолчанию

    Такая же фигня...
    У меня лицензия ХР.

  5. #5
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,090
    Записей в дневнике
    6
    Репутация: 124 Добавить или отнять репутацию

    По умолчанию

    Хех... Разобрался.
    Валера, держи.
    У Эльфа просто этот ивент пытался заставить прыгнуть 12й ивент, которого на карте не обнаружилось.
    https://yadi.sk/i/i86YiIkUmJgFE

  6. #6
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,006
    Записей в дневнике
    3
    Репутация: 166 Добавить или отнять репутацию

    По умолчанию

    Игра открылась! Но продолжает писать, что версия проекта несовместима с версией редактора. Т.е. через редактор не открывает. Что у вас за версия?

    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/vbdownloads.php?d...downloadid=106

  7. #7
    Познающий Аватар для DeadElf79
    Информация о пользователе
    Регистрация
    09.08.2013
    Сообщений
    276
    Записей в дневнике
    12
    Репутация: 22 Добавить или отнять репутацию

    По умолчанию

    Валера, стимовская у нас версия. Бери из любого проекта на своем хп файл Game.rxproj и тупо заменяй им тот, что в демке, все запустится.

    А RGSS104E.dll - это одна из библиотек мейкера, она требуется для запуска проектов на нем (помимо RTP). У тебя в проекте его нет, потому что:
    1. старые версии файл не копировали
    2. он и не нужен, в принципе, так как уже лежит в C:\Windows\

    Демку поправил, заливается.
    Последний раз редактировалось DeadElf79; 18.12.2015 в 01:24.

  8. #8
    Администратор Аватар для Пётр
    Информация о пользователе
    Регистрация
    24.04.2014
    Адрес
    Краснодар
    Сообщений
    3,090
    Записей в дневнике
    6
    Репутация: 124 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Валера Посмотреть сообщение
    Игра открылась! Но продолжает писать, что версия проекта несовместима с версией редактора. Т.е. через редактор не открывает. Что у вас за версия?
    Создай в своей версии новый проект. Скопируй оттуда Game.rxproj
    И закинь в демку скрипта с заменой.
    Должно помочь.

    UPD: Опять Шустроэльф опередил...

  9. #9
    Хранитель Форума Аватар для Валера
    Информация о пользователе
    Регистрация
    15.04.2008
    Адрес
    Москва
    Сообщений
    14,006
    Записей в дневнике
    3
    Репутация: 166 Добавить или отнять репутацию

    По умолчанию

    Р А Б О Т А Е Т !!!

    Ну... теперь под этот скрипетц можно столько напридумывать в самых разных сюжетах!

    Спойлер И как тебе не стыдно-то, а, Валера?:


    Оборона форта: http://rghost.ru/8kLGxFtD2
    Сделать, чтоб все происходило, как я хочу, - вот, собственно, и весь мейкер!
    Адский Рейд: http://rpgmaker.su/vbdownloads.php?d...downloadid=106

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

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

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

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

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

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

Ваши права

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