Вход Регистрация
Файл: speakqueststop.php
Строк: 15
<?
$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;
        };
        
?>
Онлайн: 1
Реклама