- Сообщений: 595
- Спасибо получено: 52
(XP) ARK Quest Book
Название: ARK Quest Book
Автор: Arykray
Версия: 1.0.2 от 09.05.10 (Вполне работаспособная, просто не реализованы все задумки.)
Дата: 12.09.09
Скриншоты:
Демо: Выложу чуть позже!
Ну что ж приступим. Первый скрипт Module_Quest - это в своем роде база всех заданий.
Скрипт Scene_Quest - Объеденяет в себе 4 класса: Window_QuestConmmand, Window_Quest, Window_QuestHelp и Scene_Quest
Скрипт Window_Add-on включает в себя дополнение некоторых базовых окон. В скрипт вошли классы: Window_Gold, Window_PlayTime, Game_Map, Window_Location
Скрипт Scene_Add-on включает в себя дополнение некоторых базовых сцен. В скрипт вошли классы: Scene_Title, Scene_Menu, Scene_Save, Scene_Load
И последний скрипт Font - содержит рекомендуемые настройки шрифта:
Синтаксис задания:
Quest = [status, name, customer, location, description, requirement]
где i - порядковый номер задания.
status - управляющая переменная которая может принимать числовые значения: 0 - задание не получено; 1 - задание активно; 2 - задание выполнено; 3 - задание провалено, 4 - отключает отображение задания.
name - Название задания.
customer - Заказчик, существо которое дало задание.
location - Локация, место в котором было получено задание.
description - Описание задания.
requirement - Требования для выполнения.
Управления скриптами происходит следующим образом:
В ивентах на последней вкладке выбираем Script в открывшемся окне пишем комманды на подобие этой:
$quest[0][0] = 1 - это означает, что ключу status задания с идентификатором 0 будет присвоено значение 1 (активно).
$quest[1][5] = "Помогите кузнецу" - изменит требование второго задания с "Поговорите с кузнецом" на "Помогите кузнецу".
Чтобы локация задания получила необходимое значение можно испольховать следующую конструкцию:
$quest[0][3]=$game_map.map_name.to_s - это означает что локация нулевого задания примет имя текущей карты.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
1. Константы? нельзя создавать задания динамически?
2. array[j] как-то не привычно, array[i,j] - намного привычней и читабельний
offtop
в опере не удобно
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
где n - номер задания (если задание с таким номером уже существует оно будет заменено).
это многомерный массив где i номер эллемента массива заданий, j номер эллемента массива описания задания. Попробуй к примеру в каком либо событии вставить код print $quest[2]2. array[j] как-то не привычно, array[i,j] - намного привычней и читабельний
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Например я хочу создать задание, не зная номера последнего задания, как мне это сделать.
(не обязательные задания, которые могут браться в любой момент)
2. привык на многих других языках видеть array[i,j,k, и т.д.] для многомерных массивов. Это дело вкуса.
Предлагаю хранить данные заданий в текстовом файле, вне скрипта. Так проще будет их редактировать.
И предлагаю переименовать глобалку $quest в $game_quest, просто для красоты, а то $game_system, game_switches, game_variables, $game_self_switches и вдруг $quest
Радует, не используешь Хеш.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я похоже не дописал мысль...
Если я правильно понял... задания можно создавать на лету в событиях добавляем код $quest[n] = [1, "Название задания", "Заказчик", "Локация", "Описание", "Требования"]
где n - номер задания (если задание с таким номером уже существует оно будет заменено).
А если такого номера заданий нет то будет создано новое задание. Проблема в том, что если игрок, не наткнется на событие задание никогда не создастся.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Я же предлагаю создать новый тип данных(Class), который будет состоять из нужных тебе строк и динамически они (строки) будут изменятся, после каждого изменения сохранять в файл, при загрузки - загружать из файла. Можно не создавать новый файk, а пихать всё в сохранёнку. Class в отличаи от Module может менятся.
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Пробежав по нету, сходу ничего приличней для XP не нашел, подкручу под себя немного, а автора, конечно же впишу в титрах или как еще.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
