Просмотр файла f_takedied.dat

Размер файла: 3Kb
  1. if ($id) { // если указан
  2. // повтор
  3. $died=split("\|",$game["loc"][$player["loc"]][$take]);
  4. // подготовим массив предметов с трупа
  5. $items=array();
  6. if ($died[2]) {
  7. $it=split(",",$died[2]);
  8. foreach ($it as $i) if ($i) {
  9. $item=split("=",$i);
  10. $items[$item[0]]=str_replace(":","|",$item[1]);
  11. }
  12. }
  13. //---
  14. if (!isset($items[$id])) msg("<p>Нет такого предмета");
  15. $item=split("\|",$items[$id]);
  16. // проверим кол-во
  17. if ($item[1]>1 && !$num) { // запросим кол-во
  18. $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>";
  19. msg($stmp);
  20. }
  21. if (!$num || $num<1) $num=1; // если не указано, то 1 предмет
  22. if ($num>$item[1]) $num=$item[1]; // и максимум берем все что есть
  23. // удаляем с трупа
  24. $item[1]-=$num;
  25. if ($item[1]<=0) unset($items[$id]); else $items[$id]=implode("|",$item);
  26. // добавляем игроку в items
  27. if (isset($player["items"][$id])) $itemp=split("\|",$player["items"][$id]); else {$itemp=$item; $itemp[1]=0;}
  28. $itemp[1]+=$num;
  29. $player["items"][$id]=implode("|",$itemp);
  30. addjournal($login,"Вы взяли ".$num." ".$item[0]);
  31. // обновляем все предметы у трупа
  32. $it="";
  33. foreach(array_keys($items) as $i) $it.=$i."=".str_replace("|",":",$items[$i]).",";
  34. $died[2]=$it;
  35. $game["loc"][$player["loc"]][$take]=implode("|",$died);
  36. $id=0; // чтобы вывести список оставшихся
  37. }
  38.  
  39. if (!$id) { // если не указан конкретный предмет, кот. взять, выведем список
  40. // повтор, чтобы после забирания одного предмета вывести список оставшихся
  41. $died=split("\|",$game["loc"][$player["loc"]][$take]);
  42. // подготовим массив предметов с трупа
  43. $items=array();
  44. if ($died[2]) {
  45. $it=split(",",$died[2]);
  46. foreach ($it as $i) if ($i) {
  47. $item=split("=",$i);
  48. $items[$item[0]]=str_replace(":","|",$item[1]);
  49. }
  50. }
  51. //---
  52. if (count($items)>0) {
  53. if ($died[1]) $stmp="<p>Брать отсюда предметы будет преступлением!"; else $stmp="<p>Предметы:";
  54. $ind=0; $count=0; if(!$start) $start=0;
  55. foreach (array_keys($items) as $i) {
  56. if ($ind>=$start && $ind<$start+$count_show) { //FIX: может +1?
  57. $k=split("\|",$items[$i]);
  58. if ($k[1]>1) $k=$k[0]." (".$k[1].")"; else $k=$k[0];
  59. $stmp.= "\n<br/><anchor>".$k."<go href=\"#menu\"><setvar name=\"to\" value=\"".$i."\"/></go></anchor>";
  60. }
  61. $ind++;
  62. }
  63. if ($start) {$stmp.= "\n<br/><a href=\"$PHP_SELF?sid=$sid&take=$take\">^ </a>";}
  64. 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>";}
  65. $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>";
  66. msg($stmp,$died[0]);
  67. }else msg("<p>Ничего нет",$died[0]);
  68. }