Файл: gamele.ru/inc/maps/QUEST.php
Строк: 1353
<?
$add_parameters = array ();
function show_add_params ($quest,$param) {
global $add_parameters;
if (count($add_parameters[$quest])==0):
create_add_params ($quest);
endif;
return $add_parameters[$quest][$param];
}
function create_add_params ($quest) {
global $add_parameters;
$add_parameters[$quest] = array ('add_text'=>'','st_par'=>'');
if ($quest=='wizard_2'):
$st_params = '';
$add_text = '';
$temp = array();
for ($a=1,$b=5;$a<$b;$a++):
$temp[] = 'heal_otv_'.round(rand(1,8));
endfor;
sort($temp);
$names = array ('heal_otv_1'=>'Настой на Алоэ','heal_otv_2'=>'Настой на Астрагале','heal_otv_3'=>'Настой на Подорожнике','heal_otv_4'=>'Настой на Пустырнике','heal_otv_5'=>'Настой на Шалфее','heal_otv_6'=>'Настой на Каланхоэ','heal_otv_7'=>'Настой на Мяте','heal_otv_8'=>'Настой на Душице');
foreach ($temp as $t):
if ($st_params<>''): $st_params = $st_params.'|'; endif;
if ($add_text<>''): $add_text=$add_text.', '; endif;
$st_params = $st_params.$t;
$add_text = $add_text.$names[$t];
endforeach;
$add_parameters[$quest]['add_text'] = $add_text;
$add_parameters[$quest]['st_par'] = $st_params;
endif;
}
$all_texts = array (
'taverna_1' => array (
"start"=>"Здравствуй, <b>".$pers["login"]."</b>!<br>Не откажи мне в помощи. Посетителей много, а обоз с рыбой где-то задерживается. Боюсь что запасы мои вот-вот закончатся. Ежели ты не чужд рыбной ловли, принеси-ка мне 15 рыбок каких-нибудь. А я уж тебя отблагодарю как смогу.<br>Спасибо!<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=taverna_1&step=1&vcode=".VCODE.""'>",
"ready"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=taverna_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну, <b>".$pers["login"]."</b>, спасибо, помог ты мне! Выручил трактирщика!<br>Вот тебе и подарок заслуженный!<br>И помни - если занесет тебя нелегкая к трактирщику, найду я для тебя еще задание!",
"failure"=>"Эх, <b>".$pers["login"]."</b>, <b>".$pers["login"]."</b>...<br>Понадеялся я на тебя, а зря... Рыбка-то твоя уже протухла!<br>Ну ничего, может в следующий раз порасторопней будешь.",
"not_yet"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br>А нет, ты еще не выполнил мое поручение.",
"ill_wait"=>"Спасибо что взялся за мое задание!"
),
'taverna_2' => array (
"start"=>"Здравствуй, <b>".$pers["login"]."</b>!<br>Ага, вспомнил меня! Ежели у тебя есть время свободное, то найду чем тебя занять. <br>Смотри-ка, и правда есть для тебя занятие. Запасы моей Персиковой Настойки подходят к концу, надо чтобы ты принес мне 10 персиков.<br>Ну а я, само собой, тебя отблагодарю!<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=taverna_2&step=1&vcode=".VCODE.""'>",
"ready"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=taverna_2&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну, <b>".$pers["login"]."</b>, спасибо, помог ты мне! Пойду займусь готовкой. Нравится мне с тобой сотрудничать. Будет время - заходи.",
"failure"=>"Эх, <b>".$pers["login"]."</b>, <b>".$pers["login"]."</b>...<br>Закончились мои запасы настойки, и теперь ко мне никто не ходит... А пока новая будет готова, это ж сколько времени!<br>Бросать мне придется это дело...",
"not_yet"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br>А нет, ты еще не выполнил мое поручение.",
"ill_wait"=>"Спасибо что взялся за мое задание!"
),
'taverna_3' => array (
"start"=>"Привет, <b>".$pers["login"]."</b>, старый друг!<br>А я только вот что думал - кто же может мне помочь, порученьице небольшое на себя взять, и ты зашел! Сам видишь - постетители у меня есть постоянно, в чем несомненно есть и твоя заслуга. А мне бы отлучиться неплохо - поговорить надо со старым другом. Так вот - не мог бы ты выручить меня еще раз? Отнести письмо моему старому другу? Вот оно! Идти тут недалеко - к старому волшебнику дорогу все знают!<br>Надеюсь на твою помощь, а сам побегу посетителей обслуживать!<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=taverna_3&step=1&vcode=".VCODE.""'>",
"ready"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=taverna_3&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну, <b>".$pers["login"]."</b>, спасибо, помог ты мне! Понимаю что устал, и отблагодарю как смогу!",
"failure"=>"Эх, <b>".$pers["login"]."</b>, <b>".$pers["login"]."</b>...<br>Закончились мои запасы настойки, и теперь ко мне никто не ходит... А пока новая будет готова, это ж сколько времени!<br>Бросать мне придется это дело...",
"not_yet"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br>А нет, ты еще не выполнил мое поручение.",
"ill_wait"=>"Спасибо что взялся за мое задание!"
),
'taverna_4' => array (
"start"=>"Здравствуй, <strong>".$pers["login"]."</strong>. <br />Давненько ты ко мне не заглядывал. Тут такое на днях произошло, не поверишь! Шел через наш город караван. Лошади у них странные – двугорбые, погонщики черные, как сажей вымазанные, на головах тряпки намотаны. Остановились они у меня, настойки персиковой испили, а вот от еды отказались. Видно не водится в их краях рыба. Они через день (3 дня) обратно идти будут, надо к тому времени, новое блюдо приготовить. Я, сам понимаешь, из таверны ни ногой. Одна надежда на тебя<br /><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=taverna_4&step=1&vcode=".VCODE.""'>",
"ready"=>"Принес все?<br /><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=taverna_4&step=2&vcode=".VCODE.""'>",
"finish"=>"Вот молодец. Побегу готовить. Заходи и тебя угощу",
"failure"=>"Опоздал ты с грибами. Прошел уже караван. Добра всякого везли, но как узнали, что меню у меня все тоже, так и уехали",
"not_yet"=>"Еще не принес?<br />Потарапливайся, караван вот-вот пойдет!",
"ill_wait"=>"Спасибо, знал, что ты не откажешься. Хочу я гостей наших угостить блюдами грибными. Принеси мне грибов разных съедобных, может от них они не откажутся."
),
'taverna_5' => array (
"start"=>"Ох! Горе, горе! <br />Не понравились грибы караванщикам! Так они недовольны были, что всю посуду перебили. Как мне теперь людей кормить!? Выручай!<br /><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=taverna_5&step=1&vcode=".VCODE.""'>",
"ready"=>"Уже вернулся?<br /><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=taverna_5&step=2&vcode=".VCODE.""'>",
"finish"=>"Ух, какие тарелки! Эти точно не разобьют. Порадовал ты меня.",
"failure"=>"Не получилось? Не надо мне рассказывать, что у тебя не так пошло. Некогда мне тебя сейчас слушать. Найдутся и порасторопнее бойцы.",
"not_yet"=>"Торопись, <strong>".$pers["login"]."</strong>, торопись.",
"ill_wait"=>"Сходи в лавку. Принеси мне 20 тарелок."
),
'wizard_1' => array(
"start"=>"Приветствую тебя, путник. Как звать-то тебя? <b>".$pers["login"]."</b>?<br>Довелось мне слышать, что ты воин неплохой? Ну а коль неплохой, докажи делом!<br>Для дел моих волшебнических надо мне чешуек драконьих. Ну знаешь, Золотого, Красного и Зеленого драконов. По десять штучек всего лишь!<br> Для настоящего воина это мелочь, ну да порадуй старика. А я уж тебя отблагодарю, не забуду!<br> <input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=wizard_1&step=1&vcode=".VCODE.""'>",
"ready"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=wizard_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Вот уж действительно не врет молва! Великий ты воин, <b>".$pers["login"]."</b>!<br>Вот тебе и подарок заслуженный!<br>Ну а я через несколько дней еще себе зелье варить буду. Заходи, поможешь!",
"failure"=>"Разочаровал ты меня, <b>".$pers["login"]."</b><br>Не пришел ты вовремя, зелье-то мое и протухло.<br>Уйди с глаз моих долой, пока не испепелил!",
"not_yet"=>"О, <b>".$pers["login"]."</b>, ты уже вернулся?<br>А нет, ты еще не выполнил мое поручение.",
"ill_wait"=>"Спасибо что взялся за мое задание!"
),
'wizard_2' => array(
"start"=>"Кто это там на пороге? Никак целитель!<br>Чую, чую я запах трав целебных. Никак травы вокруг дома моего высматривал? Ну да ничего, прощаю я тебя.<br>А ведь правду про вашего брата говорят - как где беда или болезнь какая - вы тут как тут! Вот и сейчас мне помощь твоя нужна очень. Знакомая моя заболела сильно, лекарство надо сварить срочно, а я не могу ее оставить одну. А вот если ты сваришь для меня лекарство это, буду премного тебе благодарен!<br>Ну что, берешься?<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=wizard_2&step=1&vcode=".VCODE.""'>",
"ready"=>"Ох, ты вернулся вовремя.<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=wizard_2&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну спасибо тебе! Обрадовал ты меня! Да и поступил благородно - жизнь человеку спас!<br>Вот тебе и подарок заслуженный!<br>Не забывай старика, заходи почаще.",
"failure"=>"Убирайся отсюда. Не смог ты помочь мне.",
"not_yet"=>"Ох, давай скорее, поторапливайся! Время на исходе!",
"ill_wait"=>"Запомни рецепт: <b>".show_add_params ('wizard_2','add_text')."</b><br>Спасибо что взялся за мое задание!"
),
'wizard_3' => array(
"start"=>"Привет, <strong>".$pers["login"]."</strong>! Снова за заданием пожаловал?<br>Пожалуй надется для тебя поручение. Раскололась у меня моя любимая миска, необходимая мне для приготовления зелий. И не смогу я закончить одно дело, отнявшее у меня столько времени. Поэтому не поможешь ли ты мне? Надо сходить к лавочнику, да купить у него новую миску.<br>Не сильно тебя это отвлечет от великих подвигов?<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=wizard_3&step=1&vcode=".VCODE.""'>",
"ready"=>"Ох, ты вернулся вовремя. Мне как раз нужна миска.<br>Грязная? А, у тебя есть чем очистить. Ну и хорошо.<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=wizard_3&step=2&vcode=".VCODE.""'>",
"finish"=>"Вот спасибо, удружил ты мне, не дал труду моему пропасть!<br>Чем бы тебя отблагодарить-то? А вот, кажется есть чем!<br>Не забывай меня, заходи почаще!",
"failure"=>"Жаль что ты не помог мне.",
"not_yet"=>"Ох, давай скорее, поторапливайся! Зелье мое почти готово!",
"ill_wait"=>"Вот тебе <strong>100 LN</strong>. Должно хватить.<br>Спасибо что взялся за мое задание!"
),
'memorial' => array(
"start"=>"Никак новичок? Привет! Хочешь узнать город получше? Так вот, я, старая голова, вчера разбил свой любимый амулет в битве с Монстрами. Осколки собрал, в город вернулся. Но вот незадача - пока добирался до дома - порастерял их все. Не откажи старику - найди все 5 осколков моего амулета.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=memorial&step=1&vcode=".VCODE.""'>",
"ready"=>"Уже все?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=memorial&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну спасибо тебе! Обрадовал ты меня!",
"failure"=>"Жаль, придется старику идти самому осколки-то искать.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Спасибо что взялся за мое задание!"
),
'touch_the_legend' => array(
"start"=>"Проходя в очередной раз мимо обелиска, ваш взгляд неожиданно зацепился за странную корявую надпись почти у самого основания. Определенно, она там появилась совсем недавно. Ведь каждый вечер вы встречаетесь именно тут со своими боевыми товарищами, чтоб завалится в таверну и осушить пару бочонков персиковой настойки. Может опять ребятня хулиганит или все-таки нет?<br />Присмотревшись повнимательней вам удается разобрать несколько слов:<br /><strong>«...легенда не врет... он у него...»</strong><br />Да, написано явно не рукой мальчишки. Буквы небрежно нацарапаны и еле читаются. Стоит ли придавать значение, каким то надписям, когда рядом таверна с такой хмельной настойкой?<br /><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=touch_the_legend&step=1&vcode=".VCODE.""'>",
"ready"=>"Вот я снова в начале пути: все жители посещены, все что-то рассказали. А приблизило ли это меня к разгадке тайны? В этих фразах определенно есть смысл...<br /><br /><strong>Легенды тайна приоткрыта<br />Вдали от городских сует<br />Среди лугов – воитель грозный<br />Живой сейчас, а завтра мертвый<br />Он мирно доживал свой век</strong><br /><br />Кто-то мне явно сказал не всю правду. Теперь главное не ошибиться кто именно.<br />Сила решает все, но ошибка будет дорого стоить!<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&quest=touch_the_legend&step=2&vcode=".VCODE.""'>",
"finish"=>"Вы облачаетесь в боевые доспехи, достаете свое оружие и делаете еще один шаг к своей цели.",
"failure"=>"",
"not_yet"=>"Надписи больше нет.",
"ill_wait"=>"<strong>«...легенда не врет... он у него...»</strong><br />Вы почувствовали, как холодок пробежал у Вас по спине. Где-то вдалеке раздался раскат грома, а надпись с обелиска медленно исчезла."
),
'touch_the_legend2' => array(
"start"=>"",
"ready"=>"Ааа.. Ты вернулся.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&quest=touch_the_legend2&step=2&vcode=".VCODE.""'>",
"finish"=>"Я не был уверен, что ты достоин прикоснуться к легенде. Еще никому не удавалось собрать воедино всю информацию. Твоя голова достаточно хорошо работает, чтоб найти этому достойное применение. Вот возьми. Это твое по праву.<br />Но запомни - как бы бережно ты не относился к Легенде, рано или поздно она будет разрушена.",
"failure"=>"Ты не достоин был прикоснуться к легенде. Ты неправильно использовал собранные знания.",
"not_yet"=>"Надписи больше нет.",
"ill_wait"=>""
),
'alchemy_1' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Захотел освоить алхимию? Ну что ж, помогу тебе немного.<br>Начнем с основ - возьми серп и принеси мне 10 любых травок, которые сможешь срезать.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=alchemy_1&step=1&vcode=".VCODE.""'>",
"ready"=>"Уже все?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=alchemy_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Молодец, поздравляю тебя. Алхимику травки всегда пригодятся. Режь их, заготавливай, экспериментируй - и у тебя обязательно будут получаться зелья. Захожешь еще уму-разуму набраться - обращайся, помогу.",
"failure"=>"Не получилось у тебя с алхимией. Ну ничего, авось в другой профессии повезет.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Дерзай!"
),
'fisher_1' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Рыбалке захотел научиться? Отчего ж не помочь, помогу.<br>Только чтобы мне попроще было с тобой общаться - принеси-ка мне эля.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=fisher_1&step=1&vcode=".VCODE.""'>",
"ready"=>"Принес мне эль?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=fisher_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Так, стало быть надо тебя уму-разуму научить. Так выходит? Ну что ж, давай... эээ не, присаживаться я тебя не приглашал! И на эль мой не смотри так косо!<br>Рыбалка она вещь такая, требует от тебя не только умения, но и душевной отдачи, вот. Ежели нет у тебя чистой души - то и рыба к тебе не потянется. Да... вот. Значится иди к Истоку реки, да порыбачь там чуток... вот я тебе даже удочку простеньку дам - попробовать. Приманку правда тебе самому найти придется, да... <br />Ну а как опыта немного поднаберешься - приходи, поглядим на твой опыт. Может действительно из тебя какой-никак, а рыбачок получится.",
"failure"=>"Не получилось у тебя с рыбалкой. Ну ничего, авось в другой профессии повезет. Отдай сюда мой эль и кыш!",
"not_yet"=>"Еще не купил?",
"ill_wait"=>"Поторопись."
),
'fisher_2' => array(
"start"=>"А, это ты, <strong>".$pers["login"]."</strong>, хорошо что зашел. Беда у меня, приходил ко мне в гости давече старый отшельник, да и нечаянно поставил свой рюкзак на мою любимую удочку... Принеси-ка мне новую удочку, а я тебя как-ниубдь, да отблагодарю.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=fisher_2&step=1&vcode=".VCODE.""'>",
"ready"=>"Чего тебе, <strong>".$pers["login"]."</strong>? Эххх, потерял я сон, не могу перед сном порыбачить со своей любимой удочкой...<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=fisher_2&step=2&vcode=".VCODE.""'>",
"finish"=>"Ну что ж, спаибо тебе, <strong>".$pers["login"]."</strong>, выручил ты меня, мда...<br /> Не знаю что бы я без тебя делал, вот тебе обещанная награда.<br />Давече прогуливался я, значится, по окрестностям, да видел как ты рыбачил. Стало быть отвратительно ты рыбачишь, но все ж получше некоторых. Глядишь и толк в тебе есть. Давай тогда научу тебя еще какую-нибудь рыбку ловить. Авось пригодится, в жизни-то. А порыбачить попробуй-ка на опарыша. Озерцо одно есть, на юго-востоке от лагеря разбойников. Вот там и попробуй.",
"failure"=>"Останусь я без удочки. Стало быть бесполезен ты мне, и нечему мне тебя учить.",
"not_yet"=>"Ну и где моя удочка?",
"ill_wait"=>"Поторопись, <strong>".$pers["login"]."</strong>. И знай - у меня была удочка не простая, а зачарованная!"
),
'mine_1' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Не сидится на земле, решил под землей поработать? Дело твое, не мне тебя отговаривать.<br>А вот давай с чего нчнем - надо мне 10 поленьев. Отбери у Хозяина Леса, и приходи ко мне.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=mine_1&step=1&vcode=".VCODE.""'>",
"ready"=>"Все собрал?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=mine_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Неплохо, неплохо. Ну теперь из поленьев выберем то что получше, да сделаем рукоятку для кирки. Будет у тебя своя первая кирка.<br>Теперь тебе надо спуститься в шахту, посетить там магазинчик, взять телегу, и можешь пробовать себя в это профессии.",
"failure"=>"Не получилось у тебя с шахтерством. Ну ничего, авось в другой профессии повезет.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Удачи!"
),
'thiefs_1' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Беда посетила меня - стоило мне отвернуться, и завистники, залезшие ко мне на склад, унесли часть моих припасов!<br />Очень тебя прошу - помоги мне вернуть товар!<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=thiefs_1&step=1&vcode=".VCODE.""'>",
"ready"=>"Все товары собрал?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=thiefs_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Ох, спасибо тебе, добрый человек!",
"failure"=>"Жаль что не получилось у тебя вернуть товар.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Грабители отобрали у меня 20 свечей. Думаю они не успели уйти далеко."
),
'thiefs_2' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Пересчитав товары на складе, обнаружил я что не только свечи у меня завистники отобрали - не хватает еще факелов.<br />Ежели ты не сильно занят, выручи меня еще раз - помоги мне вернуть товар еще раз.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=thiefs_2&step=1&vcode=".VCODE.""'>",
"ready"=>"Все факелы собрал?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=thiefs_2&step=2&vcode=".VCODE.""'>",
"finish"=>"Ох, спасибо тебе, добрый человек!",
"failure"=>"Жаль что не получилось у тебя вернуть товар.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Посчитал я - не хватает 15 товаров. Думаю их забрали разбойники."
),
'thiefs_3' => array(
"start"=>"Здравствуй, <strong>".$pers["login"]."!</strong><br>Осмотрел я свой склад еще раз - все на месте, кроме сундуков зачарованных. А их как раз у меня Старый Волшебник заказал.<br />Если я не выполню его просьбу - потеряю покупателя очень важного.<br />Помоги мне вернуть последний товар пожалуйста.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=thiefs_3&step=1&vcode=".VCODE.""'>",
"ready"=>"Все сундуки в сборе?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=thiefs_3&step=2&vcode=".VCODE.""'>",
"finish"=>"Ох, спасибо тебе, добрый человек! Долгих лет тебе жизни!",
"failure"=>"Жаль что не получилось у тебя вернуть товар.",
"not_yet"=>"Еще не собрал?",
"ill_wait"=>"Посчитал я - не хватает 10 товаров. Видел следы фагнов, наверное они из забрали."
),
'writer_1' => array(
"start"=>"Зайдя в кабинет Мастера Каллиграфии, вы не обнаружили его на месте. Прежде чем с ним поговорить, сначала придется его найти.<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=writer_1&step=1&vcode=".VCODE.""'>",
"ready"=>"Зайдя в кабинет Мастера Каллиграфии, вы увидели его на месте. Свежая грязь на его сапогах подсказала Вам, что он только что вернулся к себе в кабинет. Теперь с ним можно поговорить.<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=writer_1&step=2&vcode=".VCODE.""'>",
"finish"=>"Значит искусству каллиграфии ты обучиться хочешь?<br />Ну что ж, я помогу тебе в этом, но тебя ждет нелегкий путь. Возвращайся ко мне как будешь готов - у меня для тебя есть первое задание.",
"failure"=>"Следы на полу подсказали Вам что Мастер был здесь только что, но опять куда-то ушел.",
"not_yet"=>"Мастера все еще нет в кабинете.",
"ill_wait"=>"Сначала стоит заглянуть в лавку - наверное Мастер пошел за какими-нибудь товарами."
),
'writer_2' => array(
"start"=>"Ага, <strong>".$pers["login"]."</strong>, вернулся за своим первым заданием? Отлично.<br />Слышал я что мелкие союзники Неназываемого Врага обзавелись амулетами особыми - магию поглощают, дневной свет, радость и даже волю к жизни. Мы со Старым Волшебником решили отпор им дать. Так вот пока волшебник заклинание придумывает, мне надо амулеты эли найти и изучить. Очень ты мне поможешь если амулетов этих ты для меня штучек 40 принесешь.<br />Справишься?<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=writer_2&step=1&vcode=".VCODE.""'>",
"ready"=>"О, я вижу ты вернулся. Ну как, принес амулеты?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=writer_2&step=2&vcode=".VCODE.""'>",
"finish"=>"Вот как замечательно!<br />Спасибо, <strong>".$pers["login"]."</strong>, выручил ты меня. Ну а взамен, как я и обещал, научу тебя кое-каким основам Каллиграфии. А как бужешь готов - возвращайся еще за уроками.",
"failure"=>"Ах, жаль что ты не справился. Боюсь я, что тебе не стать мастером Каллиграфии - ты совсем не обучен дисциплине и нет в тебе терпения.",
"not_yet"=>"О, я вижу ты вернулся. Ну как, принес амулеты?",
"ill_wait"=>"Спасибо тебе, здорово выручишь ты меня. Возвращайся поскорее!"
),
'writer_3' => array(
"start"=>"<strong>".$pers["login"]."</strong>, пришел еще уму-разуму набраться? Ну что ж, это хорошо.<br />Первую тайну Неназываемого Врага мы с Волшебником разгадали, однако и противник наш - не дурак. Наградил он своих приспешников источником жизни великим - Сердцем Леса. И каждому дал того Сердца частичку. Нам с Волшебником изучить надо сию тайну, чтобы значть как Врага атаковать в следующий раз. Сам-то я мечом плохо владею, так может ты мне поможешь?<br />Справишься?<br><input type='button' value='Принять задание' class='laar' onClick='location="?room=quests&quest=writer_3&step=1&vcode=".VCODE.""'>",
"ready"=>"О, вернулся уже. Ну как, добыл все?<br><input type='button' value='Завершить задание' class='laar' onClick='location="?room=quests&quest=writer_3&step=2&vcode=".VCODE.""'>",
"finish"=>"Вот как замечательно!<br />Спасибо, <strong>".$pers["login"]."</strong>, выручил ты меня. Что ж, основам я тебя обучил, чистописание ты мне сдал, теперь можно тебе и свои свитки делать. Мы тут как раз помовещались с Волшебником, разобрали тайну Сердца Леса, и теперь знаем как воинов выносливее да здоровее делать. Этому я тебя и научу!",
"failure"=>"Ах, жаль что ты не справился. Боюсь я, что тебе не стать мастером Каллиграфии - ты совсем не обучен дисциплине и нет в тебе терпения.",
"not_yet"=>"О, вернулся уже. Ну как, добыл все?",
"ill_wait"=>"Спасибо тебе, здорово выручишь ты меня. Возвращайся поскорее!"
)
);
$all_chains = array (
'taverna_3' => array (
array (
"text" => "Зайдя к Старому Волшебнику, вы обнаружили, что его нет дома. К двери приколота записка: «Ушел к безмозглым ящерицам».",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Старик? Был здесь, был. Да вот только что ушел! Куда? А мне почем знать? Домой наверное к себе.",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Ага, вот и ты, преследователь мой. Заклинания-то мои не подвели меня, знал что ты за мной идешь.<br>Чего хотел-то? Поручений у меня для тебя нет.<br>Письмо от трактирщика? Замечательно, вот только нет у меня пергамента чтобы ответ ему написал. Пока я письмо читаю, не мог бы ты сходить да купить мне пергамента?<br>Вот и спасибо.",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array("DELETE FROM wp WHERE `index`='taverna_3' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Пергамент? Есть. Держи. Денег не надо, я с Волшебника денег не беру.",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array("INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,100,'quest_pergament','taverna_3','quest','quest','Пергамент для Волшебника',1,1,1)"),
"require" => '',
"needs" => array()
),
array (
"text" => "Спасибо, помог ты мне. Вот ответ мой Трактирщику. Будь добр, отнеси.",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array("DELETE FROM wp WHERE `index`='taverna_3' and uidp=".$pers["uid"]."","INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,100,'quest_letter','taverna_3','quest','quest','Письмо для Трактирщика',1,1,1)"),
"require" => '',
"needs" => array()
)
),
'wizard_3' => array (
array (
"text" => 'Привет. Миска? Подожди, сейчас помотрю, может быть есть.<br>Не, закончились. Последнюю только что продал. Сходи к Трактирщику, может быть у него есть.',
"fail" => 'Привет. Миска? Да, есть, последняя осталась. <strong>100 LN</strong> стоит. А деньги у тебя есть?<br>Нету? Ну приходи когда будут.',
"confirm" => '',
"journal" => '',
"query" => array("UPDATE quests SET params='1|0|0|0|0' WHERE id='wizard_3' and uidp=".$pers["uid"].""),
"require" => 'quest_money@10@10',
"needs" => array()
),
array (
"text" => 'Здравствуй, <strong>'.$pers["login"].'</strong>. Миску тебе надо? Дай-ка гляну, может и есть.<br>Ага, есть. Но грязная она. Отмыть я ее не могу. Не уходит грязь, как не три. Может кто и поможет тебе.<br>Нет, ты что, задаром отдам, денег не надо.<br>Говорят Смотритель Склада по этим делам большой специалист.',
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array("INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,1,'quest_miska1','wizard_3','quest','quest','Грязная миска',5,1,1)"),
"require" => '',
"needs" => array()
),
array (
"text" => 'Здравствуй, путник. С чем пожаловал?<br>Ох, непростая работка. Это ж кто ж так посуду испортить умудрился?<br>Трактирщик? Ну не мудрено, этот неряха никогда не умел с посудой обращаться.<br>Помочь могу, но помощь моя денег стоит. <strong>100 LN</strong>? Сойдет. <br>Чтобы очистить, надо тебе 3 Чистотела и 4 Чистеца. Соберешь - приходи.<br>',
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array("DELETE FROM wp WHERE image='quest_money' and uidp=".$pers["uid"]."","UPDATE quests SET params='h60@0@3|h70@0@4', journal='Надо собрать 3 Чистотела и 4 Чистеца и вернуться к Смотрителю Склада' WHERE id='wizard_3' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array(),
array (
"text" => 'Вот, готово, теперь миска чистая.',
"fail" => 'Ты еще не собрал все, что нужно',
"confirm" => '',
"journal" => '',
"query" => array("DELETE FROM wp WHERE `index`='wizard_3' and uidp=".$pers["uid"]."","UPDATE quests SET params='ready' WHERE id='wizard_3' and uidp=".$pers["uid"]."", "INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,1,'quest_miska1','wizard_3','quest','quest','Чистая миска',5,1,1)"),
"require" => '',
"needs" => array()
)
),
'taverna_5' => array (
array (
"text" => "Тарелки говоришь. Сейчас посмотрим.<br />Кончились тарелки. Надо тебе к волшебнику идти, только он помочь может.",
"fail" => '',
"confirm" => '',
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Тарелки, тарелки... Вспомнил! С тарелками не все так просто. Их из воздуха не сделаешь. Для начала принеси мне руды особой, что из под земли добывают.",
"fail" => '',
"confirm" => '',
"journal" => 'Надо принести Волшебнику 20 единиц железа.',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Железо? А может олово или кремний сгодится? Жаль, нет у меня железа. Все ресурсы разбойники разграбили. Совсем с ними последнее время сладу нет. Если смелости хватит иди у них попроси.",
"fail" => '',
"confirm" => '',
"journal" => 'Отберите у разбойников 20 единиц железа.',
"query" => array("UPDATE quests SET params=concat(params,'|quest_iron@0@20') WHERE id='taverna_5' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Принес? Теперь самое сложное начинается. Как выйдешь от меня, увидишь горы. В этих горах должна быть пещера. В самом дальнем ее конце живет странный человек, он из простых камней делает удивительные вещи.",
"fail" => 'Что хочешь? Ничего? Возвращайся когда дело будет.',
"confirm" => '',
"journal" => 'Отнесите железо мастеру, живущему в пещере.',
"query" => array("UPDATE quests SET params='1|1|1|1|0' WHERE id='taverna_5' and uidp=".$pers["uid"].""),
"require" => '1|1|1|0|0|quest_iron@20@20',
"needs" => array()
),
array (
"text" => "Вот тебе тарелки.",
"fail" => 'У тебя деньги-то есть?<br />Вот и приходи когда появятся!',
"confirm" => "Ты спрашиваешь могу ли я сделать тарелки? И железо есть? Ха-ха-ха! Конечно могу, но сам понимаешь просто так я такой работой заниматься не буду, не мой это профиль – я все больше по оружию, доспехам мастер. 50 LN за каждую тарелку и договорились.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=taverna_5&confirm=confirm&vcode=".VCODE.""'>",
"journal" => 'Отнесите тарелки Трактирщику.',
"query" => array("DELETE FROM wp WHERE `index`='taverna_5' and uidp=".$pers["uid"]."","INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,1000,'quest_20plates','taverna_5','quest','quest','20 железных тарелок',20,1,1)","UPDATE users SET money=money-1000 WHERE uid=".$pers["uid"]),
"require" => '',
"needs" => array("money"=>1000)
)
),
'touch_the_legend' => array (
array (
"text" => "<strong>«Среди лугов – воитель грозный»</strong>",
"fail" => '...Хозяин лавки занят своими делами. Лучше его не беспокоить...',
"confirm" => "Приносили мне из дальних походов много разных вещей: совсем новых, переливающихся на солнце и ржавых, явно с павших воинов, но ничего легендарного в них не было. Были и с гербами невиданными и с узорами замысловатыми, один меч даже с надписью был чеканной <strong>«Среди лугов – воитель грозный»</strong>.<br />Ммм... Хорошо его помню, да... На вид невзрачный, серый, рукоять чешуей отделана и клыки чудища вставлены, долго у меня на витрине провалялся, а потом затерялся среди вещей и больше я его не видел.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=touch_the_legend&confirm=confirm&vcode=".VCODE.""'>",
"journal" => '',
"query" => array("UPDATE quests SET journal=concat(journal,'<br>«...Среди лугов – воитель грозный...»') WHERE id='touch_the_legend' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "<strong>«Он мирно доживал свой век»</strong>",
"fail" => '...Смотритель склада занят своими делами. Лучше его не беспокоить...',
"confirm" => "Ко мне всякое носят, но все в тачках, мешках, корзинах. Сам видишь, чем у меня склад забит. Какая тут легенда!? Хотя заходил один шахтер как-то, повторял раз за разом <strong>«Он мирно доживал свой век»</strong>, ну не бред? Они в этой шахте месяцами сидят, света белого не видят, гадостью всякой дышат. Сами как камни стали: сдадут ресурсы и в таверну на неделю.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=touch_the_legend&confirm=confirm&vcode=".VCODE.""'>",
"journal" => '',
"query" => array("UPDATE quests SET journal=concat(journal,'<br>«...Он мирно доживал свой век...»') WHERE id='touch_the_legend' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "<strong>«Легенды тайна приоткрыта»</strong>",
"fail" => '...Трактирщик занят своими делами. Лучше его не беспокоить...',
"confirm" => "Сам знаешь, что у трезвого на уме – то у пьяного на языке. Всякое тут болтают, и про края дальние, и про зверье дикое, а стражники с дальних ворот и про зеленых людей с пустыни.<br />Легенду тоже иногда вспоминают, но время проходит, и многое уже забывается. Кто сейчас скажет, почему именно: <strong>«Легенды тайна приоткрыта»</strong>? Старожилы может и помнят что, да их на этом свете почти не осталось.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=touch_the_legend&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal=concat(journal,'<br>«...Легенды тайна приоткрыта...»') WHERE id='touch_the_legend' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "<strong>«Живой сейчас, а завтра мертвый»</strong>",
"fail" => '...Житель пещеры занят своими делами. Лучше его не беспокоить...',
"confirm" => "И почему все связывают легенду именно с драконами? Постоянно приходят воины и пытаются победить драконов, как будто это их приблизит к разгадке. И юные, и почти седые – испытывают свою удачу. Кто зелий волшебных напьется, кто ауру защитную накинет, маг даже приходил, пытался Словом дракона поразить. Сказал он дракону: <strong>«Живой сейчас, а завтра мертвый»</strong>, да что толку? Итог один – я потом хожу за ними вещи собираю. Надоело, честное слово, у меня уже тут целый склад.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=touch_the_legend&confirm=confirm&vcode=".VCODE.""'>",
"journal" => '',
"query" => array("UPDATE quests SET journal=concat(journal,'<br>«...Живой сейчас, а завтра мертвый...»') WHERE id='touch_the_legend' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "<strong>«Вдали от городских сует»</strong>",
"fail" => '...Старый волшебник занят своими делами. Лучше его не беспокоить...',
"confirm" => "Были времена – многие интересовались легендой. Ходили, спрашивали, искали, да все в пустую. Я по молодости тоже не мало времени на поиски потратил. Десять лет над древними книгами просидел, но так и не удалось приблизиться к разгадке. Я их с лавки тогда десятками приносил. Одна даже на непонятном языке написана, большая, черная, на замочек закрывалась. Мне потом волхвы название перевели <strong>«Вдали от городских сует»</strong> Наверно, трактат по медитации. Я так и не понял.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=touch_the_legend&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal=concat(journal,'<br>«...Вдали от городских сует...»') WHERE id='touch_the_legend' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
)
),
'touch_the_legend2' => array (
array (
"text" => "Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.",
"fail" => 'Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.',
"confirm" => "",
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.",
"fail" => 'Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.',
"confirm" => "",
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.",
"fail" => 'Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.',
"confirm" => "",
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
),
array (
"text" => "Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.",
"fail" => 'Легенда свела с ума многих хороших бойцов. Жаль, что и тебе не открылась ее тайна. Напрасно ты пугаешь меня своим грозным видом. Я больше ничего не знаю.',
"confirm" => "",
"journal" => '',
"query" => array(),
"require" => '',
"needs" => array()
)
),
'writer_1' => array (
array (
"text" => "Удачи, <strong>".$pers["login"]."</strong>",
"fail" => '...Хозяин лавки занят...',
"confirm" => "Мастер Каллиграфии? Да неделю назад он был, теперь раньше чем через месяц он ко мне точно не придет. Если нет его в кабинете - попробуй у Старого Волшебника его поискать. Говорят что они друзья большие.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=writer_1&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal='Необходимо найти Мастера Каллиграфии (Старый Волшебник)' WHERE id='writer_1' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Спеши, <strong>".$pers["login"]."</strong>, ты можешь не успеть.",
"fail" => '...Волшебник склонился над своими картами. Лучше его не беспокоить...',
"confirm" => "Ммм, <strong>".$pers["login"]."</strong>, чувствовал я что ты придешь ко мне. Что за проблема тебя волнует?<br />А, Мастер Каллиграфии? Нет, не видел его, да и карты молчат - не придет он ко мне сегодня. Сходи к Рыбаку Одноглазому. Чует мое сердце что стоит тебе туда зайти.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=writer_1&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal='Необходимо найти Мастера Каллиграфии (Одноглазый Пират)' WHERE id='writer_1' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Увидимся еще, <strong>".$pers["login"]."</strong>, как пить дать увидимся.",
"fail" => '...Одногразый Пират занят...',
"confirm" => "Ах, <strong>".$pers["login"]."</strong>, привет.<br />Рыбки сушеной не хочешь? Нет? Ну так зачем тогда пожаловал?<br />А, да, заходил ко мне Мастер, как раз за рыбкой вяленой.<br />Куда пошел? Ну так ты подумай - куда известный любитель пива мог пойти, прихватив у меня рыбки?<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=writer_1&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal='Необходимо найти Мастера Каллиграфии' WHERE id='writer_1' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Спеши-спеши.",
"fail" => '...Хозяин Таверны наливает себе пиво. Вряд ли он уже сможет чем-то помочь...',
"confirm" => "Кого? Мастера?<br />Разминулся ты с ним - он минут 5 назад вышел. Наверное к себе пошел. Поспешишь - еще по дороге догонишь.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=writer_1&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal='Необходимо найти Мастера Каллиграфии' WHERE id='writer_1' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
)
),
'fisher_1' => array (
array (
"text" => "Удачи, <strong>".$pers["login"]."</strong>",
"fail" => '...Хозяин таверны занят...',
"confirm" => "Ааа, очередной посыльный от Пирата... опять ему эля мало? Ну что ж, с тебя 150 LM.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=writer_1&confirm=confirm&vcode=".VCODE.""'>",
"journal" => "",
"query" => array("UPDATE quests SET journal='Отнесите Эль Одноглазому Пирату',params='bought' WHERE id='fisher_1' and uidp=".$pers["uid"]."","UPDATE users SET money=money-150 WHERE uid=".$pers["uid"]),
"require" => '',
"needs" => array("money"=>150)
)
),
'fisher_2' => array (
array (
"text" => "Держи удочку.",
"fail" => '...смотритель склада занят...',
"confirm" => "Удочка Новичка? 75 LM с тебя.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=fisher_2&confirm=confirm&vcode=".VCODE.""'>",
"journal" => 'Отнесите удочку Одноглазому Пирату',
"query" => array("UPDATE users SET money=money-150 WHERE uid=".$pers["uid"]),
"require" => '',
"needs" => array('money'>=150)
),
array (
"text" => "Давай-давай, чем быстрее - тем лучше.",
"fail" => '...волшебник занят...',
"confirm" => "Чего тебе, <strong>".$pers["login"]."</strong>? Если учится волшебству пришел, то можешь уходить - не учу я больше...<br />Что? Опять этот старый свою удочку поломал? У меня как раз кончилась рыба для экспериментов вот если принесешь мне 20 любых рыбок, то я зачарую удочку.<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=fisher_2&confirm=confirm&vcode=".VCODE.""'>",
"journal" => 'Поймайте 20 любых рыбин и отнесите их Волшебнику',
"query" => array("UPDATE quests SET params=concat(params,'|any_fish@0@20') WHERE id='fisher_2' and uidp=".$pers["uid"].""),
"require" => '',
"needs" => array()
),
array (
"text" => "Все, зачаровал. Можешь относить Пирату.",
"fail" => '...волшебник занят...',
"confirm" => "А принес рыбку. Очень хорошо, как раз вовремя!<br /><input type='button' value='Продолжить' class='laar' onClick='location="?room=quests&step=0&quest=fisher_2&confirm=confirm&vcode=".VCODE.""'>",
"journal" => 'Отнесите зачарованную удочку Одноглазому Пирату',
"query" => array("UPDATE quests SET params='1|1|1' WHERE id='fisher_2' and uidp=".$pers["uid"].""),
"require" => '1|1|0|any_fish@20@20',
"needs" => array()
)
)
);
$all_quests = array(
'taverna' => array (
'taverna_1' => array('Рыба для Трактирщика','taverna_1',array()),
'taverna_2' => array('Персики для Трактирщика','taverna_2',array('taverna_1')),
'taverna_3' => array('Письмо для Трактирщика','taverna_3',array('taverna_1','taverna_2')),
'taverna_4' => array('Еда для каравана','taverna_4',array()),
'taverna_5' => array('Перебитая посуда','taverna_5',array('taverna_4'))
),
'wizard' => array (
'wizard_1' => array('Драконьи Чешуйки','wizard_1',array()),
'wizard_2' => array('Лекарство от Неведомой Хвори','wizard_2',array()),
'wizard_3' => array ('Поручение Волшебника','wizard_3',array('wizard_2')),
'touch_the_legend2' => array ('Прикосновение к Легенде','touch_the_legend2',array())
),
'memorial' => array (
'memorial' => array('Осколки Амулета','memorial',array()),
'touch_the_legend' => array('Прикосновение к Легенде','touch_the_legend',array()),
),
'store_2' => array (
'alchemy_1' => array ('Посвящение в алхимики','alchemy_1',array()),
'mine_1' => array ('Посвящение в шахтеры','mine_1',array()),
'writer_1' => array ('Поиски Мастера Каллиграфии','writer_1',array()),
'writer_2' => array ('Амулеты для Каллиграфа','writer_2',array('writer_1')),
'writer_3' => array ('Сердце Леса для Каллиграфа','writer_3',array('writer_1','writer_2'))
),
'lavka' => array (
'thiefs_1' => array ('Разобраться с ворами (часть 1)','thiefs_1',array()),
'thiefs_2' => array ('Разобраться с ворами (часть 2)','thiefs_2',array('thiefs_1')),
'thiefs_3' => array ('Разобраться с ворами (часть 3)','thiefs_3',array('thiefs_1','thiefs_2'))
),
'fisher' => array (
'fisher_1' => array ('Посвящение в рыболовы','fisher_1',array()),
'fisher_2' => array ('Поломанная Удочка','fisher_2',array('fisher_1')),
'fisher_3' => array ('Суета с Прикормкой','fisher_3',array('fisher_1','fisher_2'))
)
);
$all_finish = array (
'taverna_1' => array (
'type' => 'multi',
'needs' => array (),
'st_par' => '0',
'params' => '15',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='taverna_1' and type='quest' and uidp=".$pers["uid"]." and weared=0 LIMIT 15",
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='taverna_1'",
"UPDATE taverna SET q_s=q_s+4 WHERE id='eat_2' or id='eat_3' or id='eat_1'"
),
'updates' => array ('money'=>1000, 'peace_exp'=>$pers["level"]*500, 'QP'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Надо выловить 15 любых рыб, и принести их Трактирщику.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'taverna_2' => array (
'type' => 'multi',
'needs' => array (),
'st_par' => '0',
'params' => '10',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='taverna_2' and type='quest' and uidp=".$pers["uid"]." and weared=0 LIMIT 10",
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='taverna_2'",
"UPDATE taverna SET q_s=q_s+2 WHERE id='drink_2' or id='drink_3' or id='drink_1'"
),
'updates' => array ('money'=>1000, 'peace_exp'=>$pers["level"]*550, 'QP'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Надо срезать 10 персиков, и принести их Трактирщику.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'taverna_3' => array (
'type' => 'single',
'needs' => array (),
'st_par' => '0|0|0|0|0',
'params' => '1|1|1|1|1',
'fails' => '',
'start' => array("INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,100,'quest_letter','taverna_3','quest','quest','Письмо для Волшебника',1,1,1)"),
'queries' => array (
"DELETE FROM wp WHERE `index`='taverna_3' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='taverna_3'"
),
'updates' => array ('money'=>3000, 'peace_exp'=>$pers["level"]*1000, 'QP'=>10),
'prizes' => array("svit_blag_dd"),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Надо отнести письмо Трактирщика Старому Волшебнику.',
'chain' => array('wizard','inst_prefight','wizard','lavka','wizard'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'taverna_4' => array (
'type' => 'multi',
'needs' => array (),
'st_par' => 'h17@0@5|h12@0@5|h40@0@5|h84@0@5',
'params' => 'h17@5@5|h12@5@5|h40@5@5|h84@5@5',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='taverna_4' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='taverna_3'"
),
'updates' => array ('money'=>2500, 'peace_exp'=>$pers["level"]*750, 'QP'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Надо собрать: Рыжик (5 шт), Белый гриб (5 шт), Груздь черный (5 шт), Опенок (5 шт) и отнести Трактирщику.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'taverna_5' => array (
'type' => 'single',
'needs' => array (),
'st_par' => '0|0|0|0|0',
'params' => '1|1|1|1|1',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='taverna_5' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='taverna_5'"
),
'updates' => array ('money'=>4000, 'exp'=>$pers["level"]*1000, 'QP'=>10),
'prizes' => array("svit_prei_dd"),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Надо принести Трактирщику 20 тарелок.',
'chain' => array('lavka','wizard','store_2','wizard','inst_prefight'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'wizard_1' => array (
'type' => 'multi',
'needs' => array (),
'st_par' => 'gold_dragon_quest@0@10|red_dragon_quest@0@10|green_dragon_quest@0@10',
'params' => 'gold_dragon_quest@10@10|red_dragon_quest@10@10|green_dragon_quest@10@10',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='wizard_1' and type='quest' and uidp=".$pers["uid"]." and weared=0 LIMIT 30",
"UPDATE quests SET params='0|0|0' WHERE uidp=".$pers["uid"]." and id='wizard_1'"
),
'updates' => array ('money'=>3500, 'peace_exp'=>$pers["level"]*800, 'QP'=>10),
'prizes' => array('dragons_alumet'),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо получить с драконов 10 золотых, 10 красных и 10 зеленых чешуек.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'wizard_2' => array (
'type' => 'single',
'needs' => array ('healer'=>20),
'st_par' => show_add_params ('wizard_2','st_par'),
'params' => '1',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='wizard_2' and type='quest' and uidp=".$pers["uid"]." and weared=0 LIMIT 1",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='wizard_2'"
),
'updates' => array ('money'=>500, 'peace_exp'=>$pers["level"]*300, 'QP'=>3, 'healer'=>5),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо сварить Зелье Лечения Неведомой Хвори, используя рецепт Старого Волшебника ('.show_add_params ('wizard_2','add_text').').',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'wizard_3' => array (
'type' => 'single',
'needs' => array ('healer'=>50),
'st_par' => 'start',
'params' => 'ready',
'fails' => '',
'start' => array("INSERT INTO wp (`uidp`,`weared`,`price`,`image`,`index`,`type`,`stype`,`name`,`weight`,`max_durability`,`durability`) VALUES ('".$pers["uid"]."',0,100,'quest_money','wizard_3','quest','quest','100 LN',1,1,1)"),
'queries' => array (
"DELETE FROM wp WHERE `index`='wizard_3' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='wizard_3'"
),
'updates' => array ('peace_exp'=>$pers["level"]*500, 'QP'=>5, 'healer'=>5),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо купить в лавке новую миску для Волшебника.',
'chain' => array('lavka','taverna','store_2','out','store_2'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'memorial' => array (
'type' => 'single',
'needs' => array (),
'st_par' => '0|0|0|0|0',
'params' => '1|1|1|1|1',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='memorial' and type='quest' and uidp=".$pers["uid"]." and weared=0 LIMIT 5",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='memorial'"
),
'updates' => array ('money'=>75, 'exp'=>($pers["level"]*20+20)),
'prizes' => array("quest_dagger"),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо обыскать все здания в городе и найти 5 осколков Амулета.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'touch_the_legend' => array (
'type' => 'single',
'needs' => array ("level"=>15),
'st_par' => 'lavka@0|store_2@0|taverna@0|inst_prefight@0|wizard@0',
'params' => 'lavka@1|store_2@1|taverna@1|inst_prefight@1|wizard@1',
'fails' => '',
'start' => array(),
'queries' => array (
"UPDATE quests SET params='hidden' WHERE uidp=".$pers["uid"]." and id='touch_the_legend'"
),
'updates' => array (),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'«...легенда не врет... он у него...»',
'chain' => array('lavka','store_2','taverna','inst_prefight','wizard'),
'chain_opt' => array('type'=>'randomize', 'finish'=>''),
'next' => 'touch_the_legend2'
),
'touch_the_legend2' => array (
'type' => 'single',
'needs' => array ("level"=>15),
'st_par' => 'lavka@0|store_2@0|taverna@0|inst_prefight@0',
'params' => 'lavka@0|store_2@0|taverna@0|inst_prefight@0',
'fails' => 'yep',
'start' => array(),
'queries' => array (
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='touch_the_legend2'"
),
'updates' => array ('peace_exp'=>($pers["level"]*5000)),
'prizes' => array("quest_legend_mace"),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Главное - не ошибиться!',
'chain' => array('lavka','store_2','taverna','inst_prefight'),
'chain_opt' => array('type'=>'randomize', 'finish'=>''),
'next' => ''
),
'alchemy_1' => array (
'type' => 'single',
'needs' => array (),
'st_par' => '0',
'params' => '10',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='alchemy_1' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='alchemy_1'"
),
'updates' => array ('peace_exp'=>($pers["level"]*100), 'alchemy_b'=>10, 'sp11'=>10, 'QP'=>2),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо срезать 10 любых травок.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'fisher_1' => array (
'type' => 'single',
'needs' => array ("level"=>5),
'st_par' => '0',
'params' => 'bought',
'fails' => '',
'start' => array(),
'queries' => array (
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='fisher_1'"
),
'updates' => array ('peace_exp'=>($pers["level"]*100), 'sp6'=>5, 'QP'=>2, 'money'=>150),
'prizes' => array('fishing_noob'),
'time' => 604800,
'to_task' => 18000,
'journal' =>'Принесите Одноглазому Пирату эль',
'chain' => array('taverna'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'fisher_2' => array (
'type' => 'single',
'needs' => array ("sp6"=>20),
'st_par' => '0|0|0',
'params' => '1|1|1',
'fails' => '',
'start' => array(),
'queries' => array (
"UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='fisher_2'"
),
'updates' => array ('money'=>300, 'peace_exp'=>$pers["level"]*100, 'QP'=>4),
'prizes' => array(),
'time' => 172800,
'to_task' => 86400,
'journal' =>'Принесите Одноглазому Пирату новую удочку',
'chain' => array('store_2','wizard','wizard'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'mine_1' => array (
'type' => 'single',
'needs' => array (),
'st_par' => 'quest_miner1@0@10',
'params' => 'quest_miner1@10@10',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='mine_1' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='mine_1'"
),
'updates' => array ('peace_exp'=>($pers["level"]*100), 'sp7'=>10, 'sp12'=>10, 'QP'=>2),
'prizes' => array("kir1"),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо выбить 10 поленьев с Хозяев Леса.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'thiefs_1' => array (
'type' => 'single',
'needs' => array ("level"=>10),
'st_par' => 'quest_candle@0@20',
'params' => 'quest_candle@20@20',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='thiefs_1' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='thiefs_1'"
),
'updates' => array ('exp'=>($pers["level"]*1500),'money'=>1000,'QP'=>5),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо забрать 20 свечек у грабителей.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'thiefs_2' => array (
'type' => 'single',
'needs' => array ("level"=>10),
'st_par' => 'quest_torch@0@15',
'params' => 'quest_torch@15@15',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='thiefs_2' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='thiefs_2'"
),
'updates' => array ('exp'=>($pers["level"]*1750),'money'=>1500,'QP'=>5),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо забрать 15 факелов у разбойников.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'thiefs_3' => array (
'type' => 'single',
'needs' => array ("level"=>10),
'st_par' => 'quest_chest@0@10',
'params' => 'quest_chest@10@10',
'fails' => '',
'start' => array(),
'queries' => array (
"DELETE FROM wp WHERE `index`='thiefs_3' and type='quest' and uidp=".$pers["uid"]." and weared=0",
"UPDATE quests SET params='0' WHERE uidp=".$pers["uid"]." and id='thiefs_3'"
),
'updates' => array ('exp'=>($pers["level"]*2000),'money'=>2000,'QP'=>10),
'prizes' => array(),
'time' => 604800,
'to_task' => 259200,
'journal' =>'Надо забрать 10 сундуков у фагнов.',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'writer_1' => array (
'type' => 'single',
'needs' => array ("level"=>8),
'st_par' => '0|0|0|0',
'params' => '1|1|1|1',
'fails' => '',
'start' => array(),
'queries' => array ("UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='writer_1'"),
'updates' => array ('peace_exp'=>$pers["level"]*500, 'QP'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 259200,
'journal' =>'Необходимо найти Мастера Каллиграфии (лавка)',
'chain' => array('lavka','wizard','fisher','taverna'),
'chain_opt' => array('type'=>'one_by_one', 'finish'=>'', 'params'=>''),
'next' => ''
),
'writer_2' => array (
'type' => 'single',
'needs' => array ("level"=>8),
'st_par' => 'quest_writer_amulet@0@40',
'params' => 'quest_writer_amulet@40@40',
'fails' => '',
'start' => array(),
'queries' => array ("UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='writer_2'","DELETE FROM wp WHERE `index`='writer_2' and type='quest' and uidp=".$pers["uid"]." and weared=0"),
'updates' => array ('peace_exp'=>$pers["level"]*500, 'QP'=>5, 'writer'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 259200,
'journal' =>'Необходимо забрать у Грабителей 40 амулетов',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
),
'writer_3' => array (
'type' => 'single',
'needs' => array ("level"=>10, "writer"=>5),
'st_par' => 'quest_writer_heart@0@20',
'params' => 'quest_writer_heart@20@20',
'fails' => '',
'start' => array(),
'queries' => array ("UPDATE quests SET params=0 WHERE uidp=".$pers["uid"]." and id='writer_3'", "DELETE FROM wp WHERE `index`='writer_3' and type='quest' and uidp=".$pers["uid"]." and weared=0"),
'updates' => array ('peace_exp'=>$pers["level"]*500, 'QP'=>5),
'prizes' => array(),
'time' => 172800,
'to_task' => 259200,
'journal' =>'Необходимо вырезать у Хозяев Леса 20 сердец',
'chain' => array(),
'chain_opt' => array('type'=>'', 'finish'=>'', 'params'=>''),
'next' => ''
)
);
$all_prizes = array ('money'=>'LM','peace_exp'=>'мирного опыта','exp'=>'опыта','QP'=>'QP', 'healer'=>'к умению «Целительство»', 'alchemy_b'=>'пустых емкостей', 'sp11'=>'к умению «Алхимия»', 'sp6'=>'к умению «Рыбалка»', 'sp7'=>'к умению «Шахтер»', 'sp12'=>'к умению «Добыча камней»', 'writer'=>'к умению «Каллиграфия»',);
function start_quest ($q,$p) {
global $all_quests;
global $all_finish;
$p = sqla("SELECT * FROM users WHERE uid=".$p);
$task = sqla("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$q."'");
if ($task["uid"]):
$status = explode ('|',$task["status"]);
$status = '1|'.$status[1].'|'.$status[2];
mysql_query ("UPDATE quests SET status='".$status."', time=".time().", task_to=".(time()+$all_finish[$q]["to_task"])." WHERE uid=".$task["uid"]."");
else:
mysql_query ("INSERT INTO quests VALUES ('','".$q."','".$p["uid"]."','".time()."','".(time()+$all_finish[$q]["to_task"])."','".$all_finish[$q]["st_par"]."','1|0|0','".$all_quests[$p["location"]][$q][0]."','".$all_finish[$q]["journal"]."')");
endif;
foreach ($all_finish[$q]['start'] as $que):
mysql_query($que);
endforeach;
say_to_chat('s',"Начался квест <b>«".$all_quests[$p["location"]][$q][0]."»</b>.",1,$p["user"],'*',0);
}
function finish_quest($s,$q,$p) {
global $all_finish;
global $all_prizes;
global $all_quests;
$p = sqla("SELECT * FROM users WHERE uid=".$p);
if ($s=='finish'):
if ($all_finish[$q]["next"]==''):
$task = sqla("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$q."'");
$to_db = '';
$to_ch = '';
foreach ($all_finish[$q]["updates"] as $fi=>$up):
if ($to_db<>''): $to_db=$to_db.','; endif;
if ($to_ch<>''): $to_ch=$to_ch.', '; endif;
$to_db = $to_db.$fi.'='.$fi.'+'.$up;
$to_ch = $to_ch.'<b>'.$up.' '.$all_prizes[$fi].'</b>';
endforeach;
foreach ($all_finish[$q]["prizes"] as $pr):
$info = sqla ("SELECT * FROM weapons WHERE id='".$pr."'");
if ($info["id"]):
if ($to_ch<>''): $to_ch=$to_ch.', '; endif;
$to_ch = $to_ch.'<b>Вещь «'.$info["name"].'»</b>';
insert_wp($info["id"],$p["uid"],-1,0);
endif;
endforeach;
$name = $all_quests[$p["location"]][$q][0];
sql("UPDATE users SET ".$to_db." WHERE uid=".$p["uid"]."");
say_to_chat('s',"Выполнен квест <b>«".$name."»</b>. Получено: ".$to_ch.".",1,$p["user"],'*',0);
$status = explode ('|',$task["status"]);
$status = '0|'.($status[1]+1).'|'.$status[2];
mysql_query ("UPDATE quests SET status='".$status."' WHERE uidp=".$p["uid"]." and id='".$q."'");
else:
$task = sqla("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$q."'");
sql("UPDATE quests SET id='".$all_finish[$q]["next"]."' WHERE uidp=".$p["uid"]." and uid='".$task["uid"]."'");
mysql_query ("UPDATE quests SET params='".$all_finish[$all_finish[$q]["next"]]["st_par"]."' WHERE uid=".$task["uid"]."");
if ($all_finish[$all_finish[$q]["next"]]["journal"]<>''):
mysql_query ("UPDATE quests SET journal='".$all_finish[$all_finish[$q]["next"]]["journal"]."' WHERE uid=".$task["uid"]."");
endif;
endif;
else:
$task = sqla("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$q."'");
$name = $all_quests[$p["location"]][$q][0];
say_to_chat('s',"Провален квест <b>«".$name."»</b>.",1,$p["user"],'*',0);
$status = explode ('|',$task["status"]);
$status = '0|'.$status[1].'|'.($status[2]+1);
mysql_query ("UPDATE quests SET status='".$status."' WHERE uidp=".$p["uid"]." and id='".$q."'");
endif;
foreach ($all_finish[$q]["queries"] as $query):
sql($query);
endforeach;
}
function check_quest_status($w,$p,$in) {
global $all_finish;
$quest_info = mysql_query ("SELECT * FROM quests WHERE id='".$w."' and uidp=".$p."");
if (mysql_num_rows($quest_info)==0): $res = 'start';
else:
$status = explode ('|',mysql_result($quest_info,0,'status'));
if ($status[0]==1):
if (mysql_result($quest_info,0,'params')==$all_finish[$w]["params"]):
if (mysql_result($quest_info,0,'task_to')>time()):
$res = 'ready';
else:
$res = 'ready';
endif;
elseif (mysql_result($quest_info,0,'params')<>$all_finish[$w]["params"] && $all_finish[$w]["fails"]=='yep'):
$res = 'ready';
else:
$res = 'not_yet';
endif;
else:
if (mysql_result($quest_info,0,'time')+$all_finish[$w]["time"]<time()): $res = 'start';
else: $res = mysql_result($quest_info,0,'time')+$all_finish[$w]["time"]-time();
endif;
endif;
endif;
if ($in=='just_started'): $res = 'ill_wait';
elseif ($in=='just_complete'):
if (mysql_result($quest_info,0,'params')==$all_finish[$w]["params"] && mysql_result($quest_info,0,'task_to')>time()):
$res = 'finish';
else:
$res = 'failure';
endif;
endif;
return $res;
}
function output_quest ($q,$p,$i) {
global $all_texts;
global $all_chains;
global $all_finish;
global $pers;
$status = check_quest_status($q,$p,$i);
if ($i=='just_complete'): finish_quest ($status,$q,$p); endif;
if ($i=='just_started'): start_quest ($q,$p); endif;
$ss = mysql_fetch_array(mysql_query("SELECT * FROM quests WHERE id='".$q."' and uidp=".$p.""));
$sta = $ss["params"];
$ploc = mysql_result(mysql_query("SELECT location FROM users WHERE uid=".$p.""),0,'location');
if (!empty($all_chains[$q]) && (substr_count($sta,'0')>0 || $all_finish[$q]["chain_opt"]["type"]=='randomize') && in_array($ploc,$all_finish[$q]["chain"])):
$sta = explode ('|',$sta);
if ($all_finish[$q]["chain_opt"]["type"]=='one_by_one'):
$alr = false;
$steps = 0;
for ($sa=0,$sb=count($sta);$sa<$sb;$sa++):
if ($sta[$sa]==0 && !$alr):
$steps = $sa;
$alr = true;
endif;
endfor;
$sta[$steps]=1;
$sta = implode ('|',$sta);
elseif ($all_finish[$q]["chain_opt"]["type"]=='randomize'):
$alr = false;
$steps = 0;
for ($sa=0,$sb=count($sta);$sa<$sb;$sa++):
$in_par = explode('@',$sta[$sa]);
if ($ploc==$in_par[0] && !$alr):
$steps = $sa;
$in_par[1]=1;
$sta[$sa] = implode('@',$in_par);
$alr = true;
endif;
endfor;
$sta = implode ('|',$sta);
endif;
if (($ss["params"]==$all_chains[$q][$steps]["require"] || $all_chains[$q][$steps]["require"]=='') && ($all_chains[$q][$steps]["confirm"]=='' || $_REQUEST["confirm"]=='confirm')):
if (count($all_chains[$q][$steps]["needs"])==0): $prolong = true;
else:
$total = count($all_chains[$q][$steps]["needs"]);
$passed = 0;
foreach ($all_chains[$q][$steps]["needs"] as $req=>$value):
if ($pers[$req]>=$value):
$passed++;
endif;
endforeach;
if ($passed==$total):
$prolong = true;
else:
$prolong = false;
endif;
endif;
if ($all_finish[$q]["chain_opt"]["type"]=='randomize'):
if ($all_chains[$q][$steps]["require"]=='' || $all_chains[$q][$steps]["require"]==$ss["params"]):
$st_in = explode ('|',$ss["params"]);
foreach ($st_in as $st):
$inst = explode ('@',$st);
if ($inst[0]==$ploc && $inst[1]==1):
$prolong = false;
endif;
endforeach;
else:
$prolong = false;
endif;
endif;
if ($prolong):
mysql_query ("UPDATE quests SET params='".$sta."' WHERE id='".$q."' and uidp=".$p."");
if ($all_chains[$q][$steps]['journal']<>''):
mysql_query ("UPDATE quests SET journal='".$all_chains[$q][$steps]['journal']."' WHERE id='".$q."' and uidp=".$p."");
endif;
foreach ($all_chains[$q][$steps]["query"] as $que):
mysql_query ($que);
endforeach;
return $all_chains[$q][$steps]["text"];
else:
return $all_chains[$q][$steps]["fail"];
endif;
elseif ($all_chains[$q][$steps]["confirm"]<>'' && (empty($_REQUEST["confirm"]) || !isset($_REQUEST["confirm"]))):
$show_confirm = true;
if ($all_finish[$q]["chain_opt"]["type"]=='randomize'):
if ($all_chains[$q][$steps]["require"]=='' || $all_chains[$q][$steps]["require"]==$ss["params"]):
$st_in = explode ('|',$ss["params"]);
foreach ($st_in as $st):
$inst = explode ('@',$st);
if ($inst[0]==$ploc && $inst[1]==1):
$show_confirm = false;
endif;
endforeach;
else:
$show_confirm = false;
endif;
endif;
if ($show_confirm):
return $all_chains[$q][$steps]["confirm"];
else:
return $all_chains[$q][$steps]["fail"];
endif;
else:
return $all_chains[$q][$steps]["fail"];
endif;
else:
return $all_texts[$q][$status];
endif;
}
function list_quests ($q,$p) {
$res = '';
global $all_quests;
global $all_finish;
$previous = count($q[2]);
$passed = 0;
if ($previous==0):
$res = $q[1];
else:
foreach ($q[2] as $prev):
$pq = sqla ("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$prev."'");
if ($pq["uid"]):
$st = explode ('|',$pq["status"]);
if ($st[1]>0):
$passed++;
endif;
endif;
endforeach;
if ($previous==$passed):
$res = $q[1];
endif;
endif;
if ($res<>''):
$quest = sqla ("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$res."'");
$name = $q[0];
$status = @explode('|',$quest["status"]);
if ((!$quest["id"] || ($quest["id"] && @$quest["time"]+$all_finish[$quest["id"]]["time"]<time() && $all_finish[$quest["id"]]["type"]=='multi') || @$status[0]==1) && $res):
if (count($all_finish[$res]["needs"])==0):
$res = '<input type=button class=laar style="width:350px; padding: 1px; margin:1px;" onclick="location='?room=quests&quest='.$res.'&step=0'" value="'.$name.'"><br>';
else:
$needs = count($all_finish[$res]["needs"]);
$pass = 0;
foreach ($all_finish[$res]["needs"] as $f=>$n):
if ($p[$f]>=$n): $pass++; endif;
endforeach;
if ($needs==$pass):
$res = '<input type=button class=laar style="width:350px; padding: 1px; margin:1px;" onclick="location='?room=quests&quest='.$res.'&step=0'" value="'.$name.'"><br>';
else:
$res = '';
endif;
endif;
elseif ($quest["id"] && $all_finish[$quest["id"]]["type"]=='single' && (@$status[1]==1 || @$status[2]==1 || @$status[0]==0)):
$res = '';
else:
$to_task = $quest["time"]+$all_finish[$quest["id"]]["time"]-time();
$act_s = $to_task%60;
$act_m = (($to_task-$act_s)/60)%60;
$act_h = (((($to_task-$act_s)/60)-$act_m)/60)%24;
$act_d = ((((($to_task-$act_s)/60)-$act_m)/60)-$act_h)/24;
$tempor = '';
if ($act_d>0): $tempor .=$act_d.' дн '; endif;
if ($act_h>0): $tempor .=$act_h.' ч '; endif;
if ($act_m>0): $tempor .=$act_m.' мин '; endif;
$res = '<input type=button class=laar style="width:350px; padding: 1px; margin:1px;" onclick="location='?room=quests&quest='.$res.'&step=0'" value="'.$name.' (еще '.$tempor.')" disabled><br>';
endif;
endif;
return $res;
}
function check_quests($p,$r, $i) {
global $all_quests;
global $all_finish;
global $all_texts;
$res = 'empty';
if (isset($r["step"]) && isset($r["quest"]) && !empty($r["quest"])):
if ($i=='' && $r["task_to"]<time()):
$st = explode ('|',$r["status"]);
if ($st[0]==1):
$i = 'just_complete';
endif;
endif;
echo output_quest ($r["quest"],$p["uid"],$i);
else:
$chains = mysql_query("SELECT * FROM quests WHERE status like '1|%' and uidp=".$p["uid"]."");
while ($ch=mysql_fetch_array($chains)):
if (count($all_finish[$ch["id"]]["chain"])>0):
if ($all_finish[$ch["id"]]["chain_opt"]["type"]=='one_by_one'):
$where = explode ('|',$ch["params"]);
$step = 0;
$find = false;
for ($sa=0,$sb=count($where);$sa<$sb;$sa++):
if (!$find):
if ($where[$sa]==0): $step = $sa; $find = true; endif;
endif;
endfor;
if ($p["location"]==$all_finish[$ch["id"]]["chain"][$step] && substr_count($ch["params"],'0')>0):
foreach($all_quests as $pl=>$qu):
if (count($qu[$ch["id"]])>0):
echo list_quests($qu[$ch["id"]],$p);
$res = '';
endif;
endforeach;
endif;
elseif ($all_finish[$ch["id"]]["chain_opt"]["type"]=='randomize'):
$where = explode ('|',$ch["params"]);
$step = 0;
$find = false;
for ($sa=0,$sb=count($where);$sa<$sb;$sa++):
if (!$find):
$in_par = explode ('@',$where[$sa]);
if ($p["location"]==$in_par[0]): $step = $sa; $find = true; endif;
endif;
endfor;
if ($p["location"]==$all_finish[$ch["id"]]["chain"][$step]):
foreach($all_quests as $pl=>$qu):
if (count($qu[$ch["id"]])>0):
echo list_quests($qu[$ch["id"]],$p);
$res = '';
endif;
endforeach;
endif;
endif;
endif;
endwhile;
if (count($all_quests[$p["location"]])>0):
foreach ($all_quests[$p["location"]] as $quest):
if (($all_finish[$quest[1]]['next']=='' || mysql_num_rows(mysql_query("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$all_finish[$quest[1]]['next']."'"))==0) && ($all_texts[$quest[1]]['start']<>'' || mysql_num_rows(mysql_query("SELECT * FROM quests WHERE uidp=".$p["uid"]." and id='".$quest[1]."'"))>0)):
echo list_quests ($quest,$p);
endif;
endforeach;
else:
if ($res=='empty'):
$res = "Здравствуй, <b>".$p["login"]."</b>!<br>Сейчас у меня нет поручений.";
endif;
endif;
endif;
if ($res<>'empty'):
return $res;
endif;
}
?>