[Erledigt]HP MP EXP-Bar Debug?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

[Erledigt]HP MP EXP-Bar Debug?

Beitrag von Shorty1968 »

Ich habe mir diesen MOD http://www.phpbb-es.com/foro/mods-desar ... 21718.html eingebaut und er funktioniert auch soweit nur bekomme ich folgende Debug meldung nicht weg?

Code: Alles auswählen

[phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2167: Undefined variable: posts_per_day
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Notice: in file [ROOT]/viewtopic.php on line 2271: Undefined variable: level_posts_for_this
    [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5246: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3960)
    [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5248: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3960)
    [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5249: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3960)
    [phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5250: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3960)
Lösung des Debug:
Öffne viewtopic.php
open viewtopic.php

Suche:
Find:

Code: Alles auswählen

   //
   // Level Bar 0.0.1 [ www.TeskilatForum.neT ] - Start
   //

   /* Determine Level
   *
   * A users level is determined by their total number of posts.
   * We use a nice mathmatical formula to translate a post count
   * into a level.
   * Note, a user with zero posts is level 0
   *
   */
   
   if($user_cache[$poster_id]['posts'] < 1)
   {
         $level_level = 0;
   }
   else
   {
         $level_level = floor( pow( log10( $user_cache[$poster_id]['posts'] ), 3 ) ) + 1;
   }

   /* Determine HP
   *
   * HP is based on user activity.
   * Max HP is based on the users level, and will be the same for
   * all users of the same level.
   *
   * Current HP is based on the users posts per day.
   * The higher the users posts per day (ppd), the more hp
   * they will have. A user with average ppd (as set below)
   * will have 50% of their hp. As a user goes over the average
   * ppd, they will have more hp, but the gains will lessen
   * as the users ppd goes up. This makes it difficult, but not
   * impossible to have 100% hp.
   *
   * For users with under the average ppd, they will have
   * hp equal to 1/2 the percentage their ppd is of average.
   * ie- a user with 2.5 ppd, and an average ppd of 5
   * will have 25% hp.
   *
   * Users who miraculously manage to get higher than 100%
   * of their max health. (by posting far more than average)
   * will get a bonus to their max hp.
   *
   * Note that a user with a level of zero, has 0 / 0 hp.
   *
   */

   /*
   * This value determines what the 'average' posts per day is
   * Users above this value will have more hp, and users below
   * will have less. A user with exactly this posts per day
   * will have 50% of his max hp.
   *
   * This variable should NOT be zero.
   * You may set this to a decimal amount (eg 5.1, 2.35)
   */
      $level_avg_ppd = 5;

   /*
   * this value sets how hard it is to achieve 100%
   * hp. The higher you set it, the harder it is to
   * get full hp.
   *
   * to judge how high to set it, a user must have
   * posts per day equal to the $level_avg_ppd plus
   * the number set below.
   *
   * This should NOT be zero.
   */
      $level_bonus_redux = 5;

   /*
   * We need to calculate the user's
   * posts per day because it's not done for us,
   * unlike in profile.php
   */
     $level_user_ppd = ($user_cache[$poster_id]['posts'] / max(1, round( ( time() - $user_cache[$poster_id]['user_regdate'] ) / 86400 )));

   if($level_level < 1)
   {
         $level_hp = '0 / 0';
         $level_hp_percent = 0;
   }
   else
   {
         $level_max_hp = floor( (pow( $level_level, (1/4) ) ) * (pow( 10, pow( $level_level+2, (1/3) ) ) ) / (1.5) );
   
         if($posts_per_day >= $level_avg_ppd)
         {
               $level_hp_percent = floor( (.5 + (($level_user_ppd - $level_avg_ppd) / ($level_bonus_redux * 2)) ) * 100);
         }
         else
         {
               $level_hp_percent = floor( $level_user_ppd / ($level_avg_ppd / 50) );
         }
   
         if($level_hp_percent > 100)
         {
               //Give the User bonus max HP if they have more than 100% hp
               $level_max_hp += floor( ($level_hp_percent - 100) * pi() );
               $level_hp_percent = 100;
         }
         else
         {
               $level_hp_percent = max(0, $level_hp_percent);
         }
   
         $level_cur_hp = floor($level_max_hp * ($level_hp_percent / 100) );
   
         //Be sure that a user has no more than max
         //and no less than zero hp.
         $level_cur_hp = max(0, $level_cur_hp);
         $level_cur_hp = min($level_max_hp, $level_cur_hp);
   
         $level_hp = $level_cur_hp . ' / ' . $level_max_hp;
   }


   /* Determine MP
   *
   * MP is calculated by how long the user has been around
   * and how often they post.
   *
   * Max MP is based on level, and increases with level
   * Each post a user makes costs them mp,
   * and a user regenerates mp proportional to how
   * many days they have been registered
   *
   */

   //Number of days the user has been at the forums.
   $level_user_days = max(1, round( ( time() - $user_cache[$poster_id]['user_regdate'] ) / 86400 ));

   //The mp cost for one post.
   //Raising this value will generally decrease the current
   // mp for most posters.
   //This may be set to a decimal value (eg, 2, 2.1, 3.141596)
   //This should NOT be set to 0
   $level_post_mp_cost = 1;

   //This determines how much mp a user regenerates per day
   //Raising this value will generally increase the current
   // mp for most posters.
   //This may be set to a decimal value (eg, 3, 3.5, 2.71828)
   //This should NOT be set to 0
   $level_mp_regen_per_day = 4;

   if($level_level < 1)
   {
         $level_mp = '0 / 0';
         $level_mp_percent = 100;
   }
   else
   {
         $level_max_mp = floor( (pow( $level_level, (1/4) ) ) * (pow( 10, pow( $level_level+2, (1/3) ) ) ) / (pi()) );
   
         $level_mp_cost = $user_cache[$poster_id]['posts'] * $level_post_mp_cost;
   
         $level_mp_regen = max(1, $level_user_days * $level_mp_regen_per_day);
   
         $level_cur_mp = floor($level_max_mp - $level_mp_cost + $level_mp_regen);
         $level_cur_mp = max(0, $level_cur_mp);
         $level_cur_mp = min($level_max_mp, $level_cur_mp);
   
         $level_mp = $level_cur_mp . ' / ' . $level_max_mp;
   
         $level_mp_percent = floor($level_cur_mp / $level_max_mp * 100);
   }


   /* Determine EXP percentage
   *
   * Experience is determined by how far the user is away
   * from the next level. This is expressed as a percentage.
   *
   * Note, a user of level 0 has 100% experience. Making one post
   * will put them at level 1. Also, a user that is shown to have 100%
   * experience, will go up a level on their next post.
   *
   */

   if($level_level == 0)
   {
         $level_exp = '0 / 0';
         $level_exp_percent = 100;
   }
   else
   {
         $level_posts_for_next = floor( pow( 10, pow( $level_level, (1/3) ) ) );

      $level_exp = $user_cache[$poster_id]['posts'] . ' / ' . $level_posts_for_next;
      $level_exp_percent = floor( ($user_cache[$poster_id]['posts'] - $level_posts_for_this) / max(1,($level_posts_for_next - $level_posts_for_this)) * 100);   
   }

   //
   // Level Bar 0.0.1 [ www.TeskilatForum.neT ] - End
   //
Ersetze es mit:
Replice with:

Code: Alles auswählen

// Level Bar 0.0.1 [ www.TeskilatForum.neT ] - Start
   //

   /* Determine Level
   *
   * A users level is determined by their total number of posts.
   * We use a nice mathmatical formula to translate a post count
   * into a level.
   * Note, a user with zero posts is level 0
   *
   */
   
   if($user_cache[$poster_id]['posts'] < 1)
   {
         $level_level = 0;
   }
   else
   {
         $level_level = floor( pow( log10( $user_cache[$poster_id]['posts'] ), 3 ) ) + 1;
   }

   /* Determine HP
   *
   * HP is based on user activity.
   * Max HP is based on the users level, and will be the same for
   * all users of the same level.
   *
   * Current HP is based on the users posts per day.
   * The higher the users posts per day (ppd), the more hp
   * they will have. A user with average ppd (as set below)
   * will have 50% of their hp. As a user goes over the average
   * ppd, they will have more hp, but the gains will lessen
   * as the users ppd goes up. This makes it difficult, but not
   * impossible to have 100% hp.
   *
   * For users with under the average ppd, they will have
   * hp equal to 1/2 the percentage their ppd is of average.
   * ie- a user with 2.5 ppd, and an average ppd of 5
   * will have 25% hp.
   *
   * Users who miraculously manage to get higher than 100%
   * of their max health. (by posting far more than average)
   * will get a bonus to their max hp.
   *
   * Note that a user with a level of zero, has 0 / 0 hp.
   *
   */

   /*
   * This value determines what the 'average' posts per day is
   * Users above this value will have more hp, and users below
   * will have less. A user with exactly this posts per day
   * will have 50% of his max hp.
   *
   * This variable should NOT be zero.
   * You may set this to a decimal amount (eg 5.1, 2.35)
   */
      $level_avg_ppd = 5;

   /*
   * this value sets how hard it is to achieve 100%
   * hp. The higher you set it, the harder it is to
   * get full hp.
   *
   * to judge how high to set it, a user must have
   * posts per day equal to the $level_avg_ppd plus
   * the number set below.
   *
   * This should NOT be zero.
   */
      $level_bonus_redux = 5;

   /*
   * We need to calculate the user's
   * posts per day because it's not done for us,
   * unlike in profile.php
   */
     $level_user_ppd = ($user_cache[$poster_id]['posts'] / max(1, round( ( time() - $user_cache[$poster_id]['user_regdate'] ) / 86400 )));

   if($level_level < 1)
   {
         $level_hp = '0 / 0';
         $level_hp_percent = 0;
   }
   else
   {
         $level_max_hp = floor( (pow( $level_level, (1/4) ) ) * (pow( 10, pow( $level_level+2, (1/3) ) ) ) / (1.5) );
   
         {
               $level_hp_percent = floor( (.5 + (($level_user_ppd - $level_avg_ppd) / ($level_bonus_redux * 2)) ) * 100);
         }
   
         if($level_hp_percent > 100)
         {
               //Give the User bonus max HP if they have more than 100% hp
               $level_max_hp += floor( ($level_hp_percent - 100) * pi() );
               $level_hp_percent = 100;
         }
         else
         {
               $level_hp_percent = max(0, $level_hp_percent);
         }
   
         $level_cur_hp = floor($level_max_hp * ($level_hp_percent / 100) );
   
         //Be sure that a user has no more than max
         //and no less than zero hp.
         $level_cur_hp = max(0, $level_cur_hp);
         $level_cur_hp = min($level_max_hp, $level_cur_hp);
   
         $level_hp = $level_cur_hp . ' / ' . $level_max_hp;
   }


   /* Determine MP
   *
   * MP is calculated by how long the user has been around
   * and how often they post.
   *
   * Max MP is based on level, and increases with level
   * Each post a user makes costs them mp,
   * and a user regenerates mp proportional to how
   * many days they have been registered
   *
   */

   //Number of days the user has been at the forums.
   $level_user_days = max(1, round( ( time() - $user_cache[$poster_id]['user_regdate'] ) / 86400 ));

   //The mp cost for one post.
   //Raising this value will generally decrease the current
   // mp for most posters.
   //This may be set to a decimal value (eg, 2, 2.1, 3.141596)
   //This should NOT be set to 0
   $level_post_mp_cost = 1;

   //This determines how much mp a user regenerates per day
   //Raising this value will generally increase the current
   // mp for most posters.
   //This may be set to a decimal value (eg, 3, 3.5, 2.71828)
   //This should NOT be set to 0
   $level_mp_regen_per_day = 4;

   if($level_level < 1)
   {
         $level_mp = '0 / 0';
         $level_mp_percent = 100;
   }
   else
   {
         $level_max_mp = floor( (pow( $level_level, (1/4) ) ) * (pow( 10, pow( $level_level+2, (1/3) ) ) ) / (pi()) );
   
         $level_mp_cost = $user_cache[$poster_id]['posts'] * $level_post_mp_cost;
   
         $level_mp_regen = max(1, $level_user_days * $level_mp_regen_per_day);
   
         $level_cur_mp = floor($level_max_mp - $level_mp_cost + $level_mp_regen);
         $level_cur_mp = max(0, $level_cur_mp);
         $level_cur_mp = min($level_max_mp, $level_cur_mp);
   
         $level_mp = $level_cur_mp . ' / ' . $level_max_mp;
   
         $level_mp_percent = floor($level_cur_mp / $level_max_mp * 100);
   }


   /* Determine EXP percentage
   *
   * Experience is determined by how far the user is away
   * from the next level. This is expressed as a percentage.
   *
   * Note, a user of level 0 has 100% experience. Making one post
   * will put them at level 1. Also, a user that is shown to have 100%
   * experience, will go up a level on their next post.
   *
   */

   if($level_level == 0)
   {
         $level_exp = '0 / 0';
         $level_exp_percent = 100;
   }
   else
   {
         $level_posts_for_next = floor( pow( 10, pow( $level_level, (1/3) ) ) );

      $level_exp = $user_cache[$poster_id]['posts'] . ' / ' . $level_posts_for_next;
      $level_exp_percent = floor( ($user_cache[$poster_id]['posts']) / max(1,($level_posts_for_next)) * 100);   
   }

   //
   // Level Bar 0.0.1 [ www.TeskilatForum.neT ] - End
Antworten

Zurück zu „[3.0.x] Mod Support“