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

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

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

Эскорт
Описание режима: - сопровождение юнита в точку.
Доп. сведения о режиме: -
Функция:
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
8
12 лет назад
0
Режим гонка.
Надо будет первым дойти до точки прежде чем нпс, прежде чем кончится время, прежде чем другой игрок..
Можно чтобы рандомно накладывался дебафф на скорость, или сделать временные тормозящие юниты.
Еще сбор предметов по пути или за определенное время, У кого больше тот и выйграл, но предмет дает рандомно очков, т.е и отрицательно повлияет на счет.
0
24
12 лет назад
0
добавить квест режим, условием победы в котором является хорошая репутация у нпц. Под вопросом еще.
0
12
12 лет назад
0
Faion, хорошая идея. Что-то вроде: "Добейся моего уважения и я расскажу тебе всё, что знаю!".
0
24
12 лет назад
0
Типа того:)
0
21
12 лет назад
0
Блин, а я этой темы не видел... А ведь очень полезная.
Можно добавить режим "Выживание" - продержатся n минут, на протяжении этого времени на тебя постоянно нападают враги.
Ну а еще можно добавить квесты, в которых нужно будет выполнить, скажем, любые 5 квестов Е ранга/3 квеста D ранга и т.д.
0
8
12 лет назад
0
wester:
Блин, а я этой темы не видел... А ведь очень полезная.
Можно добавить режим "Выживание" - продержатся n минут, на протяжении этого времени на тебя постоянно нападают враги.
Ну а еще можно добавить квесты, в которых нужно будет выполнить, скажем, любые 5 квестов Е ранга/3 квеста D ранга и т.д.
Такой режим уже есть
0
21
12 лет назад
0
Shamanga, какой конкретно и как называется?
0
8
12 лет назад
0
Патрулирование зоны
0
21
12 лет назад
0
Shamanga, патрулирование зоны - защита территории от врагов, выживание - ты ходишь где угодно, на тебя постоянно нападают. Т.е. даже не обязательно убивать врагов, нужно выжить определенное время. Чувствуешь разницу?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.