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

Размер файла: 4.32Kb
  1. // использование предметов
  2.  
  3. if (!isset($player["items"][$use])) msg("<p>У вас нет этого предмета");
  4. if (substr($use,0,12)=='item.weapon.' || substr($use,0,11)=='item.armor.') { // одеваем/снимаем оружие броню
  5. // если в руках нож и есть $to, то освежевание
  6. if ($to && substr($use,0,17)=='item.weapon.knife' && $player["equip"] && array_search($use,$player["equip"])) {
  7. if (substr($to,0,16)=='item.stand.died.' && isset($game["loc"][$player["loc"]][$to])) {
  8. $died=split("\|",$game["loc"][$player["loc"]][$to]);
  9. $items=array();
  10. if ($died[3]) {
  11. if ($died[2]) { // items
  12. $it=split(",",$died[2]);
  13. foreach ($it as $i) if ($i) {
  14. $item=split("=",$i);
  15. $items[$item[0]]=str_replace(":","|",$item[1]);
  16. }
  17. }
  18. $it=split(",",$died[3]); // osvej
  19. foreach ($it as $i) if ($i) {
  20. $item=split("=",$i);
  21. $id=$item[0];
  22. $item=split(":",$item[1]);
  23. // добавим предмет трупу
  24. if (isset($items[$id])) {
  25. $item1=split("\|",$items[$id]);
  26. $item[1]+=$item1[1];
  27. }
  28. $items[$id]=implode("|",$item);
  29. }
  30. // обновляем все предметы у трупа
  31. $died[3]=''; // чтоб больше одного раза не удалось освежевать
  32. $it="";
  33. foreach(array_keys($items) as $i) $it.=$i."=".str_replace("|",":",$items[$i]).",";
  34. $died[2]=$it;
  35. $game["loc"][$player["loc"]][$to]=implode("|",$died);
  36. addjournal($login,"Вы освежевали ".$died[0]);
  37. } else addjournal($login,"На трупе нет трофеев");
  38. } else addjournal($login,"Нож можно использоваться для разделки только трупов");
  39. }else {
  40. if (!$player["equip"] || !array_search($use,$player["equip"])) { // одеваем
  41. if (substr($use,0,12)=='item.weapon.') $player["equip"]["arm"]=$use;
  42. if (substr($use,0,15)=='item.armor.body') $player["equip"]["body"]=$use;
  43. if (substr($use,0,15)=='item.armor.hand') $player["equip"]["hand"]=$use;
  44. if (substr($use,0,14)=='item.armor.leg') $player["equip"]["leg"]=$use;
  45. if (substr($use,0,15)=='item.armor.head') $player["equip"]["head"]=$use;
  46. if (substr($use,0,17)=='item.armor.shield') $player["equip"]["shield"]=$use;
  47. // если берем в руки нож, то просим цель для освежевания
  48. if (substr($use,0,17)=='item.weapon.knife') $list='all';
  49. } else if ($player["equip"]) unset($player["equip"][array_search($use,$player["equip"])]);
  50. calcparam($login);
  51. if (!$list) $list='inv'; // только если не взяли нож
  52. }
  53. } else
  54. if (substr($use,0,9)=='item.note') {
  55. $item=split("\|",$player["items"][$use]);
  56. msg("<p>".$item[3],$item[0],1);
  57. } else
  58. if (substr($use,0,12)=='item.scroll.' || substr($use,0,10)=='item.rune.' ) { // свитки и руны кастуются ниже как магия, но не требует регов
  59. $scroll=$use;
  60. if (substr($use,0,12)=='item.scroll.') $use="magic.".substr($use,12); else $use="magic.".substr($use,10);
  61. eval(implode('',file("f_magic.dat"))); // загружаем всю магию
  62. $magic=split("\|",$arr_magic[$use]);
  63. if ($magic[6] && !$to) {$use=$scroll; $list='all'; $scroll=0;} // чтобы вывести список целей
  64. }else
  65. if (substr($use,0,10)=='item.food.' || substr($use,0,12)=='item.bottle.') {
  66. if (substr($use,0,17)!='item.bottle.empty') {
  67. $item=split("\|",$player["items"][$use]);
  68. $life=$item[3];
  69. $mana=$item[4];
  70. if ($life) {
  71. if($player["life"]+$life>$player["life_max"]) $life=$player["life_max"]-$player["life"];
  72. $player["life"]+=$life;
  73. addjournal($login,'Жизнь +'.$life);
  74. }
  75. if ($mana) {
  76. if($player["mana"]+$mana>$player["mana_max"]) $mana=$player["mana_max"]-$player["mana"];
  77. $player["mana"]+=$mana;
  78. addjournal($login,'Мана +'.$mana);
  79. }
  80. // удаляем использованный предмет
  81. $item[1]-=1;
  82. if ($item[1]>0) $player["items"][$use]=implode("|",$item); else unset($player["items"][$use]);
  83. //добавляем пустую бутылку
  84. if (substr($use,0,12)=='item.bottle.') {if (isset($player["items"]["item.bottle.empty"])) {$bottle=split("\|",$player["items"]["item.bottle.empty"]); $bottle[1]+=1; $player["items"]["item.bottle.empty"]=implode("|",$bottle);} else $player["items"]["item.bottle.empty"]="бутылка|1|5|0|0|"; addjournal($login,'Вы получили 1 бутылка');}
  85. addjournal($login,'Вы потеряли 1 '.$item[0]);
  86. } else addjournal($login,'В бутылке ничего нет');
  87. }else addjournal($login,"Никакого эффекта");