(XP) ARK Quest Book

Больше
16 года 3 дн. назад - 16 года 3 дн. назад #32242 от Arykray
Arykray создал тему: (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 - это означает что локация нулевого задания примет имя текущей карты.

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 16 года 3 дн. назад пользователем Arykray.
Спасибо сказали: caveman

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
16 года 3 дн. назад - 16 года 3 дн. назад #32247 от dark32
dark32 ответил в теме (XP) ARK Quest Book
На первый взгляд выглядит не плохо, но я обязательно найду баги.

1. Константы? нельзя создавать задания динамически?
2. array[j] как-то не привычно, array[i,j] - намного привычней и читабельний

offtop
в опере не удобно

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 16 года 3 дн. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
16 года 3 дн. назад #32248 от Arykray
Arykray ответил в теме (XP) ARK Quest Book
Если я правильно понял... задания можно создавать на лету в событиях добавляем код $quest[n] = [1, "Название задания", "Заказчик", "Локация", "Описание", "Требования"]
где n - номер задания (если задание с таким номером уже существует оно будет заменено).

2. array[j] как-то не привычно, array[i,j] - намного привычней и читабельний

это многомерный массив где i номер эллемента массива заданий, j номер эллемента массива описания задания. Попробуй к примеру в каком либо событии вставить код print $quest[2]

Чем сложнее задача - тем проще ее не решать.

[img

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
16 года 3 дн. назад - 16 года 3 дн. назад #32249 от dark32
dark32 ответил в теме (XP) ARK Quest Book
1.ясно. ты динамически их изменяешь, но не создаёшь
Например я хочу создать задание, не зная номера последнего задания, как мне это сделать.
(не обязательные задания, которые могут браться в любой момент)

2. привык на многих других языках видеть array[i,j,k, и т.д.] для многомерных массивов. Это дело вкуса.

Предлагаю хранить данные заданий в текстовом файле, вне скрипта. Так проще будет их редактировать.
И предлагаю переименовать глобалку $quest в $game_quest, просто для красоты, а то $game_system, game_switches, game_variables, $game_self_switches и вдруг $quest

Радует, не используешь Хеш.

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 16 года 3 дн. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
16 года 3 дн. назад - 16 года 3 дн. назад #32250 от Arykray
Arykray ответил в теме (XP) ARK Quest Book
Я уже думал о том, чтобы хранить задания в файле *.rxdata но туда возможно поместить только данные введенные непосредственно в модуль заданий. Созданные на лету туда не сохраняются(((

Я похоже не дописал мысль...

Если я правильно понял... задания можно создавать на лету в событиях добавляем код $quest[n] = [1, "Название задания", "Заказчик", "Локация", "Описание", "Требования"]
где n - номер задания (если задание с таким номером уже существует оно будет заменено).


А если такого номера заданий нет то будет создано новое задание. Проблема в том, что если игрок, не наткнется на событие задание никогда не создастся.

Чем сложнее задача - тем проще ее не решать.

[img
Последнее редактирование: 16 года 3 дн. назад пользователем Arykray.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
16 года 3 дн. назад - 16 года 3 дн. назад #32251 от dark32
dark32 ответил в теме (XP) ARK Quest Book
Вот, и в списке заданий будет пустое место на его место. Или я ошибаюсь?

Я же предлагаю создать новый тип данных(Class), который будет состоять из нужных тебе строк и динамически они (строки) будут изменятся, после каждого изменения сохранять в файл, при загрузки - загружать из файла. Можно не создавать новый файk, а пихать всё в сохранёнку. Class в отличаи от Module может менятся.

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 16 года 3 дн. назад пользователем dark32.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
12 года 4 мес. назад #66640 от Arykray
Arykray ответил в теме (XP) ARK Quest Book
Скрипт работает!!!

Чем сложнее задача - тем проще ее не решать.

[img

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Разработчик Проект месяца 3 место Проект месяца 2 место Проект года 1 место Проект года 3 место Учитель Оратор Паладин Проект месяца 1 место 2 место Готв 3 место Организатор конкурсов Ветеран
Больше
12 года 4 мес. назад #66998 от caveman
caveman ответил в теме (XP) ARK Quest Book
Благодарочка.
Пробежав по нету, сходу ничего приличней для XP не нашел, подкручу под себя немного, а автора, конечно же впишу в титрах или как еще.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.117 секунд
Работает на Kunena форум