Ejemplo n.º 1
0
 public static function GetCharacters($Username, $Password, $JSONP)
 {
     $GameData = AccountAPI::GetUserBasicData($Username, $Password);
     if (isset($GameData['code'])) {
         return parent::Encode($GameData, $JSONP);
     } else {
         $Statement = parent::$CharConnection->prepare('SELECT name, race, class, gender, level, money FROM characters WHERE account = :accountid');
         $Statement->bindParam(":accountid", $GameData['id']);
         $Statement->execute();
         $Result = $Statement->fetchAll(PDO::FETCH_ASSOC);
         $ArrayIndex = 0;
         foreach ($Result as $Character) {
             $Result[$ArrayIndex]['race'] = Characters::GetRaceByID($Character['race']);
             $Result[$ArrayIndex]['class'] = Characters::GetClassByID($Character['class']);
             $Result[$ArrayIndex]['class'] = Characters::GetClassByID($Character['class']);
             $Result[$ArrayIndex]['money'] = Text::MoneyToCoins($Character['money']);
             $ArrayIndex++;
         }
         return parent::Encode($Result, $JSONP, "characters");
     }
 }
    public static function GetCharacterData($CharacterName)
    {
        global $FCCore;
        $Statement = Characters::$CharConnection->prepare('
            SELECT
                cc.guid,
                cc.account,
                cc.name,
                cc.race,
                cc.class,
                cc.gender,
                cc.level,
                cc.chosenTitle,
                cc.health,
                cc.power1,
                cc.power2,
                cc.power3,
                cc.power4,
                cc.power5,
                cc.online,
                fct.name_loc0 as title,
                g.name as guild_name
            FROM
                characters cc
            LEFT JOIN ' . $FCCore['Database']['database'] . '.freedomcore_char_titles fct ON
                cc.chosenTitle = fct.id
			LEFT JOIN guild_member gm ON
				cc.guid = gm.guid
			LEFT JOIN guild g ON
				gm.guildid = g.guildid
            WHERE
                cc.name = :charname
        ');
        $Statement->bindParam(':charname', $CharacterName);
        $Statement->execute();
        $Result = $Statement->fetch(PDO::FETCH_ASSOC);
        $Result['race_data'] = Characters::GetRaceByID($Result['race']);
        $Result['class_data'] = Characters::GetClassByID($Result['class']);
        $Result['title'] = str_replace('%s', '', str_replace('%s, ', '', $Result['title']));
        $Result['side'] = Characters::GetSideByRaceID($Result['race'])['name'];
        $Result['side_id'] = Characters::GetSideByRaceID($Result['race'])['id'];
        $Result['side_translation'] = Characters::GetSideByRaceID($Result['race'])['translation'];
        $Result['apoints'] = Characters::GetAchievementPoints($Result['guid'])['points'];
        $Result['acount'] = Characters::GetAchievementPoints($Result['guid'])['count'];
        $LevelStatsStatement = Characters::$WConnection->prepare('
          SELECT
            pls.str,
            pls.agi,
            pls.sta,
            pls.inte,
            pls.spi,
            pcls.basehp,
            pcls.basemana
        FROM player_levelstats pls
        LEFT JOIN player_classlevelstats pcls ON
            pls.class = pcls.class
        WHERE
                pls.level = pcls.level
            AND
                pls.race = :race
            AND
                pls.class = :class
            AND
                pls.level = :level
        ');
        $LevelStatsStatement->bindParam(':race', $Result['race']);
        $LevelStatsStatement->bindParam(':class', $Result['class']);
        $LevelStatsStatement->bindParam(':level', $Result['level']);
        $LevelStatsStatement->execute();
        $Result['level_data'] = $LevelStatsStatement->fetch(PDO::FETCH_ASSOC);
        $Result['level_data']['parrypoints'] = Characters::GetParryRatingByLevel($Result['level']);
        $Result['level_data']['blockpoints'] = Characters::GetBlockRatingByLevel($Result['level']);
        $Result['level_data']['critpoints'] = Characters::GetCritRatingByLevel($Result['level']);
        $Result['level_data']['hastepoints'] = Characters::GetHasteRatingByLevel($Result['level']);
        Characters::$CharacterLevel = $Result['level'];
        Characters::$CharacterClass = $Result['class'];
        return $Result;
    }
 private static function GetClasses()
 {
     $Classes = array();
     foreach (Characters::GetClassByID(0, true) as $Key => $Value) {
         $Classes[] = array("label" => $Value['translation'], "parentClass" => "color-c" . $Key, "url" => "/game/class/" . $Value['name']);
     }
     return $Classes;
 }