/** * Account API Currency Convertor Functionality * @param $Arguments * @return array|mixed */ protected function getCurrencyConvert($Arguments) { if (count($Arguments) > 3) { return json_decode(parent::generateResponse('Too many arguments', 400), true); } $From = $Arguments[0]; $To = $Arguments[1]; $Amount = $Arguments[2]; $Converter = new CurrencyConverter($From, $To); return ['result' => $Converter->toForeign($Amount)]; }
protected function getAppearance($Arguments) { if (count($Arguments) > 1) { return json_decode(parent::generateResponse('Too many arguments', 400), true); } elseif (count($Arguments) == 0) { return json_decode(parent::generateResponse('Not enough arguments', 400), true); } $CharacterName = ucfirst(strtolower($Arguments[0])); $CharData = $this->setTable('characters')->addArguments('name, class, race, gender, level, logout_time, playerBytes, playerBytes2, totalKills')->addColumn('name')->addParameter([':charname', $CharacterName])->build()->single(); $PlayerBytes = $CharData['playerBytes']; $PlayerBytes2 = $CharData['playerBytes2']; unset($CharData['playerBytes']); unset($CharData['playerBytes2']); $Appearance = ['faceVariation' => ($PlayerBytes >> 8) % 256, 'skinColor' => $PlayerBytes % 256, 'hairVariation' => ($PlayerBytes >> 16) % 256, 'hairColor' => ($PlayerBytes >> 24) % 256, 'featureVariation' => $PlayerBytes2 % 256]; $CharData['faction'] = $this->sideByRaceID($CharData['race']); $CharData['appearance'] = $Appearance; $CharData['totalHonorableKills'] = $CharData['totalKills']; unset($CharData['totalKills']); return $CharData; }
use Core\Libraries\FreedomCore\System\Manager; use Core\Extensions\FreedomNetAPI; //unset($_SESSION['api_data']); if (!isset($_SESSION['api_data'])) { $APIData = ['spr' => 1, 'rpm' => 50, 'rph' => 10, 'first_request_time' => time(), 'last_request_time' => time(), 'next_minute_cd_reset' => time() + 60, 'next_hour_cd_reset' => time() + 3600, 'request_count' => 1]; } else { $AData = $_SESSION['api_data']; if ($AData['last_request_time'] && time() - $AData['last_request_time'] < $AData['spr']) { die('RPS LIMIT REACHED!'); } else { if ($AData['request_count'] == $AData['rpm'] && $AData['first_request_time'] < $AData['first_request_time'] + 60) { die('RPM LIMIT REACHED!!!!'); } else { if ($AData['request_count'] == $AData['rph'] && $AData['first_request_time'] < $AData['first_request_time'] + 3600) { die('RPH LIMIT REACHED!!!'); } else { $APIData = ['spr' => 1, 'rpm' => 50, 'rph' => 10, 'first_request_time' => $AData['first_request_time'], 'last_request_time' => time(), 'request_count' => $AData['request_count'] + 1]; } } } } $_SESSION['api_data'] = $APIData; if (!array_key_exists('HTTP_ORIGIN', $_SERVER)) { $_SERVER['HTTP_ORIGIN'] = $_SERVER['SERVER_NAME']; } try { $API = new FreedomNetAPI($_REQUEST, $_SERVER['HTTP_ORIGIN']); echo $API->processAPI(); } catch (Exception $e) { echo json_encode(array('error' => $e->getMessage())); }