View file wofh/takedied.php

File size: 3.3Kb
<?
if ($id)  {	// если указан
			// повтор
			$died=split("\|",$game["loc"][$player["loc"]][$take]);
// подготовим массив предметов с трупа
			$items=array();
			if ($died[2]) {
				$it=split(",",$died[2]);
				foreach ($it as $i) if ($i) {
					$item=split("=",$i);
					$items[$item[0]]=str_replace(":","|",$item[1]);
					}
				}
			//---
			if (!isset($items[$id])) msg("<p>Нет такого предмета");
			$item=split("\|",$items[$id]);
			// проверим кол-во
			if ($item[1]>1 && !$num) 
			{		
				// запросим кол-во
				$stmp="<form action=\"$PHP_SELF?sid=$sid&take=$take&id=$id\" method=\"post\">Укажите количество:\n<br/><input name=\"num\" value=\"".$item[1]."\" format=\"6n\" class=\"inup\"/>\n<br/><input type=\"submit\" value=\"Отправить\" class=\"btn\">";
				msg($stmp);
			}
			$count = (int)$num;
			if (!$count || $count<1) $count=1;	// если не указано, то 1 предмет
			if ($count>$item[1]) $count=$item[1];	// и максимум берем все что есть
			// удаляем с трупа
			$item[1]-=$count;
			if ($item[1]<=0) unset($items[$id]); else $items[$id]=implode("|",$item);
			// добавляем игроку в items
			if (isset($player["items"][$id])) $itemp=split("\|",$player["items"][$id]); else {$itemp=$item; $itemp[1]=0;}
			$itemp[1]+=$count;
			$player["items"][$id]=implode("|",$itemp);
			addjournal($login,"Вы взяли ".$count." ".$item[0]);
			// обновляем все предметы у трупа
			$it="";
			foreach(array_keys($items) as $i) $it.=$i."=".str_replace("|",":",$items[$i]).",";
			$died[2]=$it;
			$game["loc"][$player["loc"]][$take]=implode("|",$died);
			$id=0;	// чтобы вывести список оставшихся
			}

		if (!$id) {		// если не указан конкретный предмет, кот. взять, выведем список
			// повтор, чтобы после забирания одного предмета вывести список оставшихся
			$died=split("\|",$game["loc"][$player["loc"]][$take]);
			// подготовим массив предметов с трупа
			$items=array();
			if ($died[2]) {
				$it=split(",",$died[2]);
				foreach ($it as $i) if ($i) {
					$item=split("=",$i);
					$items[$item[0]]=str_replace(":","|",$item[1]);
					}
				}
			//---
			if (count($items)>0) {
				if ($died[1]) $stmp="<p>Брать отсюда предметы будет преступлением!"; else $stmp="<p>Предметы:";
				$ind=0; $count=0; if(!$start) $start=0;
				foreach (array_keys($items) as $i) {
					if ($ind>=$start && $ind<$start+$count_show) {	//FIX: может +1?
						$k=split("\|",$items[$i]);
						if ($k[1]>1) $k=$k[0]." (".$k[1].")"; else $k=$k[0];
						$stmp.= "\n<br/><a href=\"$PHP_SELF?sid=$sid&how=takedied&take=$take&to=$i\">".$k."</a>";
						}
					$ind++;
					}
				if ($start) {$stmp.= "\n<br/><a href=\"$PHP_SELF?sid=$sid&take=$take\">^ </a>";}
				if ($start+$count_show<count($items)) {if (!$start) $stmp.="\n<br/>"; $stmp.= "<a href=\"$PHP_SELF?sid=$sid&take=$take&start=".($start+$count_show)."\">+ ".(count($items)-$start-$count_show)."</a>";}
				msg($stmp,$died[0]);
				}else msg("<p>Ничего нет",$died[0]);
			}
?>