Файл: gamele.ru/gameplay/ajax/quest_ajax.php
Строк: 114
<?php
header('Content-type: text/html; charset=windows-1251');
session_start();
include($_SERVER["DOCUMENT_ROOT"]."/includes/config.inc.php");
include($_SERVER["DOCUMENT_ROOT"]."/includes/functions.php");
$pers = GetUser($user['login']);
list($pers['x'], $pers['y']) = explode('_', $pers['pos']);
$ShowQuestDialog = 0;
$Query = mysql_query("SELECT * FROM `quests` WHERE `loc`='".$pers['loc']."' AND `x`='".$pers['x']."' AND `y`='".$pers['y']."'");
if(mysql_num_rows($Query)<=0)
{
exit('QUEST@["Здравствуй '.$pers['login'].', для Вас сейчас нет никаких поручений."]@["",[0,"",]]');
}
if(empty($_GET['qid']))
{
while($row = mysql_fetch_assoc($Query))
{
$QuestID = $row['id'];
$Query_Compl = mysql_query("SELECT * FROM `quest_completed` WHERE `que_id`='".$QuestID."' AND `usr_id`='".$pers['id']."' AND `que_st` = '1'");
if(mysql_num_rows($Query_Compl)!=0)
{
exit('QUEST@["Здравствуй '.$pers['login'].', для Вас сейчас нет никаких поручений."]@["",[0,"",]]');
}
include($_SERVER["DOCUMENT_ROOT"]."/includes/quests/quest-".$row['id'].".php");
$Quest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quest_completed` WHERE `que_id`='".$row['id']."' AND `usr_id`='".$pers['id']."' AND `que_st` = '0'"));
echo'QUEST@['.(($Quest)?$Quest_Yes:$Quest_No).']@["'.$row['face'].'",['.(($Quest)?2:1).',"'.vCode().'",'.$row['id'].']]';
}
}
else
{
switch($_GET['act'])
{
case'1':
$GetQuest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quests` WHERE `loc`='".$pers['loc']."' AND `x`='".$pers['x']."' AND `y`='".$pers['y']."' AND `id`='".intval($_GET['qid'])."'"));
if(!empty($GetQuest)){
$StatusQuest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quest_completed` WHERE `usr_id`='".$pers['id']."' AND `que_id`='".$GetQuest['id']."' AND `que_st` = '0'"));
if(empty($StatusQuest)){
include($_SERVER["DOCUMENT_ROOT"]."/includes/quests/quest-".$GetQuest['id'].".php");
if(!isset($ItemNeed)) die('ERR');
$qItems = serialize($ItemNeed);
$ItemNeed = explode(";",$Needs[$_SESSION['quest_need']]);
mysql_query("INSERT INTO `quest_completed` (`usr_id`,`que_id`,`que_time_start`,`que_time_finish`,`que_query`,`que_name`,`que_desc`,`que_face`)
VALUES ('".$pers['id']."','".$GetQuest['id']."','".time()."','".(time()+86400*$GetQuest['time'])."','".$qItems."@".$Prise[$_SESSION['quest_prise']]."','".$Quest_Name."','".$Quest_Desc."','".$GetQuest['face']."');");
echo'QUEST@['.$Quest_Get.']@["'.$GetQuest['face'].'",[0,"",'.$GetQuest['id'].']]';
}else{
echo'ERR';
}
}
break;
case'2':
$GetQuest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quests` WHERE `loc`='".$pers['loc']."' AND `x`='".$pers['x']."' AND `y`='".$pers['y']."' AND `id`='".intval($_GET['qid'])."'"));
if(!empty($GetQuest)){
$StatusQuest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quest_completed` WHERE `usr_id`='".$pers['id']."' AND `que_id`='".$GetQuest['id']."' AND `que_st` = '0'"));
if(!empty($StatusQuest)){
include($_SERVER["DOCUMENT_ROOT"]."/includes/quests/quest-".$GetQuest['id'].".php");
$Items = explode("@",$StatusQuest['que_query']);
$NumsQuest = 0;
$NumsInvent = 0;
$unItem = unserialize($Items[0]);
if($unItem !== false) $Items[0] = $unItem;
$qItems = is_array($Items[0]) ? $Items[0] : array($Items[0]);
for($i=0; $i < sizeof($qItems); ++$i)
{
$ItemNeed = explode(";",$qItems[$i]);
$NumsQuest += $ItemNeed[1];
$NumsInvent += mysql_num_rows(mysql_query("SELECT * FROM `invent` WHERE `pl_id`='".$pers['id']."' AND `protype`='".$ItemNeed[0]."' AND `used`='0' LIMIT ".$ItemNeed[1].""));
}
if($NumsQuest == $NumsInvent){
echo'QUEST@['.$Quest_Status_ok.']@["'.$StatusQuest['que_face'].'",[0,"",'.$StatusQuest['que_id'].']]@';
//Забираю квестовую вещь
for($i=0;$i<count($qItems);$i++){
$ItemNeed = explode(";",$qItems[$i]);
mysql_query("DELETE FROM `invent` WHERE `pl_id`='".$pers['id']."' AND `protype`='".$ItemNeed[0]."' AND `used`='0' LIMIT ".$ItemNeed[1]."");
}
if($GetQuest['type']=='1'){
mysql_query("UPDATE `user` SET `nv` = `nv`+'".$GetQuest['nv']."' WHERE `id`='".$StatusQuest['usr_id']."'");
mysql_query("UPDATE `user` SET `exp_eco` = `exp_eco`+'".$GetQuest['mir_opt']."' WHERE `id`='".$StatusQuest['usr_id']."'");
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','<".$pers['login'].">','".addslashes("top.frames['chmain'].add_msg('<font class=chattime> ".date("H:i:s")." </font><font color=000000><font color=#cc0000><b>Системная информация!</b></font> <b>".$StatusQuest['que_name']."</b> закончен. Награда: <b>".$GetQuest['nv']." ER</b>. Получено мирного опыта: <b>".$GetQuest['mir_opt']."</b><BR>'+'');")."');");
}
// Отдаю награду
$ItemPrise = explode(";",$Items[1]);
for($y=0;$y<$ItemPrise[1];$y++)
{
$itemsql=mysql_fetch_array(mysql_query("SELECT * FROM `items` WHERE `id`='".$ItemPrise[0]."' LIMIT 1;"));
$par=explode("|",$itemsql[param]);
foreach ($par as $value)
{
$stat=explode("@",$value);
switch($stat[0])
{
case 2: $dolg=$stat[1];break;
}
}
if($GetQuest['type']=='2'){
mysql_query("UPDATE `user` SET `exp_eco` = `exp_eco`+'".$GetQuest['mir_opt']."' WHERE `id`='".$StatusQuest['usr_id']."'");
mysql_query("INSERT INTO `invent` (`ItemName`,`img`,`protype`,`pl_id`,`dolg`,`price`,`dprice`,`i_param`,`i_need`) VALUES ('".$itemsql['name']."','".$itemsql['gif']."','".$itemsql['id']."','".$pers['id']."','".$dolg."','".$itemsql['price']."','".$itemsql['dprice']."','".$itemsql['param']."','".$itemsql['need']."');");
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','<".$pers['login'].">','".addslashes("top.frames['chmain'].add_msg('<font class=chattime> ".date("H:i:s")." </font><font color=000000><font color=#cc0000><b>Системная информация!</b></font> Квест ".$StatusQuest['que_name']." закончен. Получено мирного опыта: ".$GetQuest['mir_opt']."<BR>'+'');")."');");
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','<".$pers['login'].">','".addslashes("top.frames['chmain'].add_msg('<font class=chattime> ".date("H:i:s")." </font><font color=000000><font color=#cc0000><b>Системная информация!</b></font> В инвентарь добавлена вещь <b>«".$itemsql['name']." [".$dolg."/".$dolg."]»</b>. <BR>'+'');")."');"); }
}
if($GetQuest['type']=='3'){
for($i=0; $i < sizeof($qItems); ++$i)
{
$ItemNeed = explode(";",$Items[$i]);
mysql_query("UPDATE `quests` SET `typ` = '1' WHERE `id`='".$ItemNeed[1]."'");
}
mysql_query("UPDATE `user` SET `nv` = `nv`+'".$GetQuest['nv']."' WHERE `id`='".$StatusQuest['usr_id']."'");
mysql_query("UPDATE `user` SET `exp_eco` = `exp_eco`+'".$GetQuest['mir_opt']."' WHERE `id`='".$StatusQuest['usr_id']."'");
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','<".$pers['login'].">','".addslashes("top.frames['chmain'].add_msg('<font class=chattime> ".date("H:i:s")." </font><font color=000000><font color=#cc0000><b>Системная информация!</b></font> <b>".$StatusQuest['que_name']."</b> закончен. Награда: <b>".$GetQuest['nv']." ER</b>. Получено мирного опыта: <b>".$GetQuest['mir_opt']."</b><BR>'+'');")."');");
mysql_query("INSERT INTO `chat` (`time`,`login`,`dlya`,`msg`) VALUES ('".time()."','sys','<".$pers['login'].">','".addslashes("top.frames['chmain'].add_msg('<font class=chattime> ".date("H:i:s")." </font><font color=000000><font color=#cc0000><b>Системная информация!</b></font> Вам стал доступен квест: <b>День Дурака (Часть 2)</b><BR>'+'');")."');");
}
//Закончили с призами
mysql_query("UPDATE `quest_completed` SET `que_st` = '1' WHERE `usr_id`='".$pers['id']."' AND `que_id`='".$GetQuest['id']."' AND `que_st` = '0'");
exit;
}elseif($NumsQuest != $NumsInvent){
echo'QUEST@['.$Quest_Status_err.']@["'.$StatusQuest['que_face'].'",[0,"",'.$StatusQuest['que_id'].']]@';
}
}else{
echo'ERR';
}
}
break;
}
}
?>