From cf12265cd86c1a14808ac71851f9d9aeff8048e5 Mon Sep 17 00:00:00 2001 From: slawkens1 Date: Sun, 24 Dec 2017 09:37:28 +0100 Subject: [PATCH] * fixed displaying of percent bar on tibian signature --- system/libs/pot/OTS_Player.php | 8 ++++++++ system/libs/pot/OTS_Toolbox.php | 10 ++++------ templates/tibiacom/index.php | 7 +------ tools/signature/tibian.php | 15 ++++++++++----- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/system/libs/pot/OTS_Player.php b/system/libs/pot/OTS_Player.php index 4033fd8e..6580e96d 100644 --- a/system/libs/pot/OTS_Player.php +++ b/system/libs/pot/OTS_Player.php @@ -3151,6 +3151,14 @@ class OTS_Player extends OTS_Row_DAO $this->db->query('DELETE FROM ' . $this->db->tableName('player_spells') . ' WHERE ' . $this->db->fieldName('player_id') . ' = ' . $this->data['id'] . ' AND ' . $this->db->fieldName('name') . ' = ' . $this->db->quote( $spell->getName() ) ); } + + public static function getPercentLevel($count, $nextLevelCount) + { + if($nextLevelCount > 0) + return min(100, max(0, $count * 100 / $nextLevelCount)); + + return 0; + } /** * Magic PHP5 method. diff --git a/system/libs/pot/OTS_Toolbox.php b/system/libs/pot/OTS_Toolbox.php index 08d9cc73..4d22d0dd 100644 --- a/system/libs/pot/OTS_Toolbox.php +++ b/system/libs/pot/OTS_Toolbox.php @@ -28,13 +28,11 @@ class OTS_Toolbox * @param int $experience Current experience points. * @return int Experience points for level. */ - public static function experienceForLevel($level, $experience = 0) + public static function experienceForLevel($level, $experience = 0) { - return 50 * ($level - 1) * ($level * $level - 5 * $level + 12) / 3 - $experience; - /* - $level = $level - 1; - return ((50 * $level * $level * $level) - (150 * $level * $level) + (400 * $level)) / 3; - */ + //return 50 * ($level - 1) * ($level * $level - 5 * $level + 12) / 3 - $experience; + $level = $level - 1; + return ((50 * $level * $level * $level) - (150 * $level * $level) + (400 * $level)) / 3; } /** diff --git a/templates/tibiacom/index.php b/templates/tibiacom/index.php index da46b42f..c03765b4 100644 --- a/templates/tibiacom/index.php +++ b/templates/tibiacom/index.php @@ -406,10 +406,6 @@ foreach($config['menu_categories'] as $id => $cat) {
- Monster of the Week Monster Pedestal and Players Online Box
@@ -430,8 +426,7 @@ foreach($config['menu_categories'] as $id => $cat) { - Template:
' . template_form(); ?> diff --git a/tools/signature/tibian.php b/tools/signature/tibian.php index ff6ced04..0341c6f3 100644 --- a/tools/signature/tibian.php +++ b/tools/signature/tibian.php @@ -30,12 +30,17 @@ imagettftext($img, $fontsize, 0, 100, 43, $text, $font, number_format($player->getLevel())); // experience bar - $exppercent = round($experience / $needexp * 100); - imagerectangle($img, 14, 46, 166, 50, $bar); - if($exppercent > 0) - imagefilledrectangle($img, 15, 47, $exppercent * 1.5 + 15, 49, $barfill); + $currLevelExp = OTS_Toolbox::experienceForLevel($player->getLevel()); + $nextLevelExp = OTS_Toolbox::experienceForLevel($player->getLevel() + 1); + $levelPercent = 0; + if($nextLevelExp > $currLevelExp) + $levelPercent = (int)OTS_Player::getPercentLevel($experience - $currLevelExp, $nextLevelExp - $currLevelExp); - imagettftext($img, $fontsize, 0, 170, 51, $text, $font, $exppercent . '%'); + imagerectangle($img, 14, 46, 166, 50, $bar); + if($levelPercent > 0) + imagefilledrectangle($img, 15, 47, $levelPercent * 1.5 + 15, 49, $barfill); + + imagettftext($img, $fontsize, 0, 170, 51, $text, $font, $levelPercent . '%'); // vocation $vocation = 'Unknown';