View file f_takedied.dat

File size: 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="<p>Укажите количество:\n<br/><input name=\"num\" value=\"".$item[1]."\"/>\n<br/><a href=\"$PHP_SELF?sid=$sid&take=$take&id=$id&num=$(num)\">Отправить</a>";
				msg($stmp);
				}
			if (!$num || $num<1) $num=1;	// если не указано, то 1 предмет
			if ($num>$item[1]) $num=$item[1];	// и максимум берем все что есть
			// удаляем с трупа
			$item[1]-=$num;
			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]+=$num;
			$player["items"][$id]=implode("|",$itemp);
			addjournal($login,"Вы взяли ".$num." ".$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/><anchor>".$k."<go href=\"#menu\"><setvar name=\"to\" value=\"".$i."\"/></go></anchor>";
						}
					$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>";}
				$stmp.="\n</p>\n</card>\n<card id=\"menu\" title=\"Меню\">\n<p>\n<br/><a href=\"$PHP_SELF?sid=$sid&take=$take&id=$(to)\">Взять</a>\n<br/><a href=\"$PHP_SELF?sid=$sid&from=$take&look=$(to)\">Инфо</a>";
				msg($stmp,$died[0]);
				}else msg("<p>Ничего нет",$died[0]);
			}