<?
$q_id=$dialog[1]; //id квеста
require"questdb.php";
if (!$player['items']['item.note.imen.q'.$q_id.'']) msg("Вы не брали этого квеста, и окончить его не можете!");
else {
if (chitm($q_id)) {
unset($player['items']['item.note.q'.$q_id.'']); //убиваем записку
delitm($q_id); //убиваем предметы
$sss=explode(":",$qq[$q_id]['stop']);
$player['q'][$q_id]=true;
if ($sss[0]=="zm") { $player['zm']=$player['zm']+$sss[1]; $priz="Вы получили ".$sss[1]." монет!"; };
if ($sss[0]=="item"){
$ex=explode("=", $sss[1]);
$player['items'][$ex[0]]=$ex[1];
$exx=explode("|", $ex[1]);
$priz="Вы получили предмет ".$exx[0];
};
msg("Вы успешно сдали все предметы! ".$priz);
} else msg("Вы не собрали всех предметов!");
}
function delitm($d) {
global $qq;
global $player;
global $game;
$ex=explode("|", $qq[$d]['items']);
$r=true;
foreach ($ex as $i) {
$x=explode(":", $i);
if (!ereg("\*",$x[0])) { // не используем регулярку
$xx=explode("|", $player['items'][$x[0]]);
$xx[1]=$xx[1]-$x[1];
if ($xx[1]<=0) unset($player['items'][$x[0]]); else
$player['items'][$x[0]]=implode("|",$xx);
} else {
$x[0]=str_replace("*", "", $x[0]);
foreach (array_keys($player['items']) as $j) {
if (preg_match("/$x[0]+[a-z_A-Z.0-9]/i", $j)) { //нашли предмет по регулярке, проверим количество
if (!$exests[$j]) {
$exests[$j]=1;
unset($player['items'][$j]);
};};
if (count($exests)>$x[1]) break;
};};};
return $r;
}
function chitm($d) {
global $qq;
global $player;
global $game;
$ex=explode("|", $qq[$d]['items']);
$r=true;
foreach ($ex as $i) {
$x=explode(":", $i);
if (!ereg("\*",$x[0])) { // не используем регулярку
if ($player['items'][$x[0]]) {
$xx=explode("|", $player['items'][$x[0]]);
if ($x[1]>$xx[1]) { $r=false; break;};
} else {$r=false; break;};
} else {
$x[0]=str_replace("*", "", trim($x[0]));
foreach (array_keys($player['items']) as $j) {
if (preg_match("/$x[0]+[a-z_A-Z.0-9]/i", $j)) { //нашли предмет по регулярке, проверим количество
if (!$exests[$j]) {
$exests[$j]=1;
};
};
};
if (count($exests)<=$x[1]) $r=false; //не нашли нужного количества
};
};
return $r;
};
?>