Режимы квеста

Добавлен , опубликован
Отписываемся тут если нужно внести новый квестовый режим или же расширить\доработать.

Описание существующих режимов

Эскорт
Описание режима: - сопровождение юнита в точку.
Доп. сведения о режиме: -
Функция:
Escort(unit u, real targetX, real targetY, string compl_str, string fail_str, string ondeath_str, int attacker_type)
Значения аргументов:
u - юнит которого сопровождают
targetX - координата точки назначения Х
targetY - координата точки назначения Y
compl_str - сообщения для игрока при завершения сопровождения
fail_str - сообщение для игрока при провале сопровождения
ondeath_str - сообщение для игрока при смерти сопровождаемого
attacker_type - тип юнитов, который будет появятся периодически для осуществления препятствий для эскорта юнита
Преследование
Описание режима: Преследование враждебными юнита игрока.
Доп. сведения о режиме: преследование активно в рамках одного этапа в квесте. Не обладает специальным условиями и может быть использован как дополнительный эффект в других квестовых режимах, а так же не требует этапа квеста.
Функция:
CreatePursuit(int unitType)
Значения аргументов:
unitType - тип юнитов которые будут периодически нападать на игрока
Защита
Описание режима: Защита юнита от нападения враждебных юнитов
Доп. сведения о режиме: -
Функция:
ProtectQuestUnit(int protect_time, int killers_type, string str_on_finish, string str_on_fail)
Значения аргументов:
protect_time - время в течении которого необходимо осуществлять защиту
killers_type - тип враждебных юнитов
str_on_finish - сообщение для игрока при завершении защиты
str_on_fail - сообщение для игрока при провале защиты
Поиск предмета
Описание режима: поиск предметов
Доп. сведения о режиме: предметы создаются сами по указанным координатам
Функция:
CreateNItemInRange(int item_type, int item_count, string quest_item_name, string quest_msg_complite, real x, real y, real d, boolean b, integer terrain_type)
Значения аргументов:
item_type - тип предмета
item_count - количество предметов
quest_item_name - имя предмета
quest_msg_complite - сообщение для игрока при завершении поиска
x - координата Х спавна предметов
y - координата Y спавна предметов
d - радиус в котором будут созданы предметы
b - нужно ли на мини карте указать координаты спавна
terrain_type - тип почвы(id тайла) для спавна
Поиск предмета 2
Описание режима: поиск предмета
Доп. сведения о режиме: предметы не создаются. Они могут быть в магазинах, спрятаны, выпадать с мобов или быть квестовой наградой
Функция:
SearchQuestItem(int item_type, int item_count, string quest_item_name, string quest_msg_complite)
Значения аргументов:
item_type - тип предмета
item_count - количество предметов
quest_item_name - имя предмета
quest_msg_complite - сообщение для игрока при завершении поиска
Стелс-миссия
Описание режима: условием поражения в этом режиме квеста является столкновение с нпц из указанного клана.
Доп. сведения о режиме: Не требует этапа квеста.
Функция:
Stealth(int quest_clan, string fail_str, bool agression)
Значения аргументов:
quest_clan - id клана
fail_str - сообщение при обнаружении
agression - должны ли обнаружившие напасть на игрока
Дуэль
Описание режима: дуэль с нпц
Доп. сведения о режиме: дуэль происходит с нпц с которым игрок разговаривает
Функция:
CreateDuelSimple()
Значения аргументов:

Ожидание
Описание режима: создание эффекта прохождения времени
Доп. сведения о режиме:
Функция:
AddQuestWait( float time, string msg)
Значения аргументов:
time - время(в секундах) которое нужно полождать
msg - сообщение при истечении времени
Путешествие с ловушкой
Описание режима: неизбежная ловушка в которую по квесту обязательно нужно попасть и убить всех атакующих
Доп. сведения о режиме:
Функция:
CreateQuestAdventureWithTrap(float x, float y, float d, int trapUnitTypeId, int trapUnitCount, string msgOnComplete)
Значения аргументов:
x - координата ловушки Х
y - координата ловушки Y
d - радиус ловушки
trapUnitTypeId -тип атакующих юнитов
trapUnitCount - количество юнитов
msgOnComplete - сообщение при ликвидации всех атакующих юнитов
Приключение
Описание режима: нужно попасть в определенную зону
Доп. сведения о режиме:
Функция:
CreateQuestAdventure(float x, float y, float d, string msgOnComplete, string msgOnFail)
Значения аргументов:
x - координата зоны Х
y - координата зоны Y
d - радиус зоны
msgOnComplete - сообщение при вхождении в зону
msgOnFail - сообщение при провале задачи(по истечении времени)
Преследование 2
Описание режима: преследование указанного юнита
Доп. сведения о режиме: преследуемым является указанный существующий юнит
Функция:
MakeOutlaw(unit u, float x, float y)
Значения аргументов:
u - преследуемый юнит
x - координата х в которую должен добраться преследуемый
y - координата y в которую должен добраться преследуемый
Преследование 3
Описание режима: преследование указанного юнита
Доп. сведения о режиме: преследуемый юнит создается.
Функция:
CreateOutlaw(int unit_type, float x, float y)
Значения аргументов:
u - преследуемый юнит
x - координата х в которую должен добраться преследуемый
y - координата y в которую должен добраться преследуемый
Патрулирование зоны
Описание режима: задачей является охрана определенной зоны. Если зона будет покинута, задача будет считаться невыполненной
Доп. сведения о режиме:
Функция:
SetLocationDefence(real x, real y, real d, int time, int unit_type, string s)
Значения аргументов:
x,y,d - параметры размера и положения зоны
time - время в течении которого нужно патрулировать зону
unit_type - тип атакующих юнитов
s - сообщение при окончании патрулирования
Слежка
Описание режима: задачей является слежка за нпц.
Доп. сведения о режиме: можно подключить диалог, который будет появляться при завершении слежки.
Функция:
AddQuestStalk(unit u, string complitedMsg, string failMsg)
Значения аргументов:
u - юнит объект слежки
complitedMsg - сообщение при окончании слежки
failMsg - сообщение при провале слежки
функция возвращает stalkId нужный для аттчамента диалогов и фраз
Функция:
AddQuestStalkReplic(int stalkId, unit replicUnit, string replicString)
Значения аргументов:
stalkId - id квест экшена
replicUnit - юнит произносящий реплику
replicString - реплика
Функция:
AddQuestStalkDialoge(int stalkId, unit questionUnit, string questionString, unit asnwerUnit, string answerString)
Значения аргументов:
stalkId - id квест экшена
questionUnit - юнит задающий вопрос
questionString - строка с вопросом
asnwerUnit - юнит дающий ответ
answerString - строка с ответом
Убийство мобов
Описание режима: задачей является уничтожение групп враждебных юнитов
Доп. сведения о режиме: юниты создаются автоматически в соответствии с указанными параметрами
Функция:
SpawnQuestMob(int mob_id, int count, float x, float y, float ang, float d ,string progress_str, string compl_str, string fail_str)
Значения аргументов:
mob_id - тип юнита
count - количество
x - координата х
y - координата у
ang - угол поворота юнита
d - радиус
progress_str - имя юнита
compl_str - сообщение при завершении уничтожения юинтов
fail_str - сообщение при провале задачи.
Оплата
Описание режима: позволяет продвинутся по квесту только если заплатить нужную сумму
Доп. сведения о режиме: не требует этапов
Функция:
PayMoney(int pay)
Значения аргументов:
pay - нужная сумма
Оплата2
Описание режима: позволяет продвинутся по квесту только если заплатить нужную сумму. В обмен игроку за деньги будут дан предмет
Доп. сведения о режиме: не требует этапов
Функция:
ByForMoney(int pay, int item_id)
Значения аргументов:
pay - нужная сумма
item_id - предмет который будет получен
Арена
Описание режима: позволяет создать турнир
Доп. сведения о режиме:
Функция:
void CreateArena(int arenaId,real time, int n, real x, real y, real x1, real y1, real x2, real y2, string s1, string s2,group g)
Значения аргументов:
arenaId- идентификатор(любое число int32)
time - время до старта при наличии нужного кол-ва участников
n - минимальное кол-во участников
x - координата х центра арены
y - координата у центра арены
x1 - координата х точки спавна участника 1
y1 - координата y точки спавна участника 1
x2 - координата х точки спавна участника 2
y2 - координата y точки спавна участника 2
s1 - сообщение о окончании регистрации
s2 - сообщение об отмене турнира
g - группа участников(для добавления нп участников)
Пример квеста
scope KageWay initializer Init
StartQuest
QuestHead
quest_single = false
quest_repeat = true
quest_num = 91
quest_name = "Путь Каге"
quest_req_rep = 50
quest_rang = S
quest_for_clan = konoha_shinobi
quest_vs_clan = none
quest_cond = 0
quest_cond_other = false
quest_cond_status = unstarted
quest_stages = 2
quest_rew = 'I00G'
quest_exp = 0
quest_money = 100
quest_npc[0] = Npc_Unit[11]
quest_npc[1] = Npc_Unit[11]
quest_npc[2] = Npc_Unit[11]
EndQuestHead
IsNpcIdAndStage(11, 1)


Replicas
npc_ask ="Ты хочешь участвовать в турнире за звание Каге?"
quest_tips = "Турнир скоро начнеться. Не забудьте подготовиться."
strHELP = "Детали участия"
strMEAN = "Участвовать"
strEXIT = "Отказатся от участия"
qweHELP = "Что мне нужно сделать для того что бы участвовать в турнире?"
qweMEAN = "Я желаю зарегистрироватся на участие в турнире за звание Каге"
qweEXIT = "Я желаю отказатся от участия в турнире"
ansHELP = "Для участия в турнире за звание Каге необходимо иметь ранг не ниже Джонина. Если ты достиг ранга Джонина, то тебе необходимо оставить заявку на участие у меня и ожидать когда наберется нужное количество притендентов. Минимальное количество притендентов - 2."
ansMEAN = "Хорошо, ваш ранг подходит. Пожалуста распишитесь сдесь и еще вам необходимо оставить немного своей крови, это необходимо для немедленного призыва вас для на место проведения турнира. Спасибо."
ansEXIT = "Хорошо, скажите ваше имя и я уберу ваше имя из списков участников"
EndReplicas
QuestActions
MeanAction
CreateArena(100002,20.0 ,2, -6200., -30250., -6750., -30250., -5750., -30250., "Регистрация окончена", "Нехватает регов, бой отменен",TMG[1])
AddToTournament()
EndAction
EndQuestActions
IsNpcIdAndStage(11, 2)


Replicas
npc_ask ="Вам что то нужно?"

strHELP = "Когда начнется турнир?"
strEXIT = "Отказаться от участия"

qweHELP = "Когда начнется турнир?"
qweEXIT = "Я передумал участвовать в турнире, и хочу отказаться"

ansHELP = "Турнир начнется сразу же как только количество участников будет достаточно"
ansEXIT = "Хорошо, вы исключены из списка участников"
EndReplicas
QuestActions
ExitAction
RejectTournament()
EndAction
EndQuestActions

IsNpcIdAndStage(11, 3)


Replicas
npc_ask ="Поздравляю вас с победой, от звания Хокаге вас отделяет лишь пару формальностей"

strMEAN = "Стать Хокаге"
strEXIT = "Отказаться от звания Хокаге"

qweHELP = "Да начнется новая эпоха в мире шиноби"
qweEXIT = "Постой, у меня нет никакого желания становится Хокаге, я лишь хотел испытать свои силы"

ansHELP = "Надеюсь в этой новой эпохе селение Листа будет процветать"
ansEXIT = "Что? Но как же так?... Хорошо, я сообщу Хокаге о том что вы отказываетесь становится новым Хокаге"
EndReplicas
QuestActions
MeanAction
P_rang[Quest_Pid] = 7
EndAction
EndQuestActions

EndQuest
endscope
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
24
12 лет назад
Отредактирован Faion
0
он не против но сказал что много мороки
Да, но и не буду морочится, если не будет веских аргументов "За."
может быть ввести на это булевкое обозначение?
И как оно поможет определить вышел ли ты за зону или нет? :)
за промежуток времени убить как можно больше мобов ( от этого будет зависеть награда за квест)
У нас не мободрочерский гемплей, не вижу применения.
0
15
12 лет назад
0
Faion, а как же сипл? там кроме мободрочества делать то нечего
симпл*
0
24
12 лет назад
0
SLI, не понял, сипл == сингл?
0
15
12 лет назад
0
пффф 2 раза не написал и не правильно
да, ты прав
0
24
12 лет назад
0
Ммм, а где ты видел у нас мободрочерство?:)
0
15
12 лет назад
0
ну не знаю, а что еще делать игроку в одиночестве без инета и противников...
хотя есть одна идея ща запостю в соответствующей теме
0
24
12 лет назад
0
в том то и дело, у нас мободрочерства нету, у нас есть квестодрочерство. Но в сингле скучно, по этому я даже поднял тему, в которой даю возможность каждому изложить свои соображения. У меня глаз "замылился", по этому не ясно.
0
15
12 лет назад
0
Ах да еще хотел предложить режим предмет для квеста - дается предмет, когда кв закончится или провалится предмет забирается
0
24
12 лет назад
0
А смысл?
0
15
12 лет назад
0
еще предлагаю сделать галку "повторяется после провала" тк можно провалить кв в начали линейки, а потом остаться без туевой хучи квестов
0
24
12 лет назад
0
Окей, сделаю.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.