public static function sortItems(SR_RealNPC $npc, array $items, $function_name, $min = 0, $max = 100000, $asc = -1) { $back = array(); foreach ($items as $item) { $v = $npc->realnpcfunc($function_name, $item); if ($v >= $min && $v <= $max) { $back[] = $item; } } uasort($back, function ($a, $b) { $va = $npc->realnpcfunc($function_name, $a); $vb = $npc->realnpcfunc($function_name, $b); $a->setVar('urgengy', $va); return $va - $vb * $asc; }); return $back; }
private static function chatwrapper($command, SR_RealNPC $npc, array $args) { $player = self::getPlayer(array_shift($args)); // $npc->setChatPartner($player); if ($player->isHuman()) { return $npc->realnpcfunc('on_' . $command, $args); } }
public function ai_goal(SR_RealNPC $npc) { echo __CLASS__ . __FUNCTION__ . ': ' . $npc->getClassName(); if ($npc->ai_can('sell')) { foreach ($npc->getInventorySorted() as $i => $items) { if ($npc->realnpcfunc('needs_item', array($item)) < 5000) { } } } }