Войти на сайт

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

ТЕМА: [RMXP] Посмертие или не смертельная смерть

[RMXP] Посмертие или не смертельная смерть 16 года 2 нед. назад #23998

  • Барманк
  • Барманк аватар
  • Вне сайта
  • Оседлый
  • Сообщений: 32
  • Спасибо получено: 1
Посмертие или не смертельная смерть. RPG Maker XP

Шаг нулевой. Предисловие.
В вашей игре смерть не является фатальной? Геймовер – это только начало? Надоело расставлять параметр if lose у монстров? Ваш персонаж может регенерировать 12 раз? Тогда этот туториал для вас. Пользуясь случаем, передаю пламенный привет Доктору из одного культового британского сериала.


Шаг первый. Ресурсы.
Определите один свич для запуска посмертных Эвентов и одну переменную для подсчета количества смертей. Пусть это будут 1 и 27 %).


Шаг второй. Собираем кусочки кода.
Войдем в редактор Скриптов. В разделе Game_System найдем строчку:
attr_accessor :magic_number
Вставим после нее:
attr_accessor :after_death_map_id, :after_death_map_coords

Теперь найдем:
@magic_number = 0
Вставим после:
@after_death_map_id = nil
@after_death_map_coords = [0, 0]



Йе-е-е. третья часть сделана.
Перейдем в раздел Scene_Gameover. Найдем там:
def update
И безжалостно сотрем все между этой строчкой и двумя последними end.
Теперь под def update вставим:
#--------------------------------
    if Input.trigger?(Input::C)
      unless $game_system.after_death_map_id.nil?
        $game_temp.gameover = false
        $game_temp.in_battle = false
        $game_map.setup($game_system.after_death_map_id)
        coords = $game_system.after_death_map_coords
        $game_player.moveto(coords[0], coords[1])
        $game_player.straighten
        $game_party.actors.each {|actor| actor.recover_all} 
        $game_map.update
        $game_variables[27] += 1
        $game_switches[1] = true   
        $scene = Scene_Map.new
        $game_map.autoplay
        $game_system.timer_working = false
        $game_map.refresh
      end
    end
#---------------------------------

Где в строках:
$game_variables[27] += 1
$game_switches[1] = true

Заменим 27 и 1 на номера вашей переменной и свича.


Шаг третий. Эвентинг.

В необходимом месте вызываем скрипт:
$game_system.after_death_map_id = 1
$game_system.after_death_map_coords = [2, 3]

Где 1 – номер карты, куда будем перемещать персонажа после смерти, а 2 и 3 – номера тайлов на карте. Все это можно посмотреть в статусной строке редактора.

Один из вариантов использования:


У Эвента стоит автозапуск по свичу 1. Когда персонажи умирают свич 1 включается, на один увеличивает счетчик смертей и игрока переносит к некой заданной точке. Выполняется эвент, характеристики персонажа падают на количество смертей. Свич смерти выключается до следующей смерти.


Шаг четвертый. Жуки.
Простой вызов GameOver’a приводит к трагическим последствиям, а именно – переносит игрока на заданную точку. Показывает заданное геймоверное изображение. Повторяет этот процесс.
Поэтому, создаем Общий эвент, где запрещаем доступ к меню и показываем изображение-геймовер. В конце игры просто вызываем этот эвент вместо стандартного геймовера.


Шаг последний. Послесловие.
При прикручивании не смертельной смерти к вашей игре подумайте, действительно ли она вписывается в общий концепт игры. Ммм, и конечно же пример, он же демо:
urbandreams.net.ru/project38.rar

При использовании туториала упоминать мое имя в вашей игре не обязательно. Туториал может быть размещен на других сайтах только с моего разрешения. Порталам rpg-maker.info и urbandreams.net.ru разрешение не требуется.

Your faithful friend, Balmung.
На самом деле я добрый, только никто об этом не знает.
(мрачно) А те, кто знают, - уже никому не расскажут.
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.193 секунд