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

Размер файла: 3.08Kb
  1. if (!$game["loc"][$player["loc"]][$speak]["trader"]) msg("<p>Это не продавец");
  2. $trader=split("\|",$game["loc"][$player["loc"]][$speak]["trader"]);
  3. if ($game["loc"][$player["loc"]][$speak]["trader_filter"]) $filter=split("\|",$game["loc"][$player["loc"]][$speak]["trader_filter"]); else $filter="";
  4.  
  5. if (!$to) { // список
  6. $stmp="<p>Я могу купить:";
  7. $ind=0;$count=0;if ($start<0 || !$start) $start=0;
  8. if (count($player["items"])==0) msg("<p>У вас нет товаров на продажу");
  9. foreach(array_keys($player["items"]) as $i) {
  10. if ($ind>=$start) {
  11. // проверим фильтр товаров
  12. $b=1;
  13. if ($filter) {$b=0; foreach($filter as $j) if (strpos($i,$j)===0 || strpos($i,$j)) {$b=1; break;}}
  14. if (substr($i,0,15)=="item.misc.money") $b=0; // деньги не покупаем :-)
  15. if (!$b) continue; // покупаем только товары, кот. есть в фильтре
  16. $k=split("\|",$player["items"][$i]);
  17. $price=round($k[2]*$trader[1]);
  18. if ($price==0) continue; // за 0 монет не покупаем
  19. if ($k[1]>1) $s=$k[0]." (".$k[1].")"; else $s=$k[0];
  20. $s.=": ".$price;
  21. $stmp.="\n<br/><anchor>".$s."<go href=\"#menu\"><setvar name=\"to\" value=\"".$i."\"/></go></anchor>";
  22. $count++;
  23. if ($count>=$count_show) break; // след. страница, если слишком много человек или предметов
  24. }
  25. $ind++;
  26. }
  27. if ($start && $start-$count_show>=0) $stmp.="\n<br/><a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=$id\">^ </a>";
  28. if ($count+$start<count($player["items"])) {if (!$start) $stmp.="\n<br/>"; $stmp.= " <a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=$id&start=".($count+$start)."\">[+]</a>";}
  29. $stmp.="\n</p>\n</card>\n<card id=\"menu\" title=\"Меню\">\n<p>\n<a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=$id&to=$(to)\">Продать</a>\n<br/><a href=\"$PHP_SELF?sid=$sid&from=$speak&look=$(to)\">Инфо</a>";
  30. msg($stmp);
  31. }else { // передаем $to
  32. if (!isset($player["items"][$to])) msg("<p>Этого предмета нет");
  33. $item=split("\|",$player["items"][$to]);
  34. // проверим кол-во
  35. if ($item[1]>1 && !$num) { // запросим кол-во
  36. $stmp="<p>Укажите количество:\n<br/><input name=\"num\" value=\"".$item[1]."\"/>\n<br/><a href=\"$PHP_SELF?sid=$sid&speak=$speak&id=$id&to=$to&num=$(num)\">Отправить</a>";
  37. msg($stmp);
  38. }
  39. if (!$num || $num<1) $num=1;
  40. if ($num>$item[1]) $num=$item[1];
  41. // считаем стоимость всех предметов с учетом коэфф продавца
  42. $price=round($item[2]*$num*$trader[1]);
  43. // добавляем деньги
  44. if (!isset($player["items"]["item.misc.money"])) $player["items"]["item.misc.money"]="монеты|".$price."|1";
  45. else {
  46. $m=split("\|",$player["items"]["item.misc.money"]);
  47. $m[1]+=$price;
  48. $player["items"]["item.misc.money"]=implode("|",$m);
  49. }
  50. // удаляем из items игрока
  51. $item[1]-=$num;
  52. if ($item[1]<1) {unset($player["items"][$to]); calcparam($login);} else $player["items"][$to]=implode("|",$item);
  53. msg("Вы продали ".$num." ".$item[0]." за ".$price." монет");
  54. }