Seite 1 von 1

Rechnung beim HP MP EXP Mod...

Verfasst: 09.09.2009 22:29
von Peter3
Hallo! Ich habe mir den oben genannten Mod installiert, verstehe aber nicht so ganz die Rechnung, die dahinter steht.
Im Prinzip möchte ich eig. nur, dass sich der Level aller 8 Beiträge erhöht. Sprich:

Um auf Level 2 zu kommen xx/8
Um auf Level 3 zu kommen xx/16
Um auf Level 4 zu kommen xx/24
Um auf Level 5 zu kommen xx/32
xx = Eigene Beitragszahl

Hier der Code, ich hoffe mir kann jemand helfen.

Code: Alles auswählen

 /* 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;
   }

Code: Alles auswählen

   /* 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
   //

Re: Rechnung beim HP MP EXP Mod...

Verfasst: 10.09.2009 23:00
von Peter3
Hat wirklich keiner eine Idee?. :(

Re: Rechnung beim HP MP EXP Mod...

Verfasst: 10.09.2009 23:02
von 4seven
ein link zu dem mod wäre hier sicher hilfreich..

Re: Rechnung beim HP MP EXP Mod...

Verfasst: 10.09.2009 23:23
von Peter3

Re: Rechnung beim HP MP EXP Mod...

Verfasst: 11.09.2009 19:54
von Boecki91
Da braucht man keinen Link man muss nur die Richtige Zeile erwischen, und rechnen können

im 1. Teil:

Code: Alles auswählen

$level_level = floor( pow( log10( $user_cache[$poster_id]['posts'] ), 3 ) ) + 1; 
Man erhält etwas Logarithmus, d.h. je mehr Post man hat umso mehr Post braucht man für das nächste Level.
Wenn du so was wie Excel hast kannst du es selbst ausprobieren: in A1 eine Zahl und in B1 die Formel

Code: Alles auswählen

=ABRUNDEN(POTENZ(LOG10(A1);3);0)+1
Das ein paar hundert Zeilen runterzeihen + Diagramm und man erhält eine gestufte Sättigungskurve :o
8. Schritte sind langweiliger:

Code: Alles auswählen

=ABRUNDEN(A1/8;0)+1
bzw für php:

Code: Alles auswählen

$level_level = floor($user_cache[$poster_id]['posts']/8)+1; 

Teil 2 der Berechnungen:

Code: Alles auswählen

         $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);    
hier ist es relativ einfach die Prozentzahl zu ermitteln

Code: Alles auswählen

$level_exp = $user_cache[$poster_id]['posts']/8*(floor($user_cache[$poster_id]['posts']/8)+1);
$level_exp_percent = (($user_cache[$poster_id]['posts'] % 8)/ 8)*100;
 
Excel Code habe ich getestet, PHP-Code nicht.

Re: Rechnung beim HP MP EXP Mod...

Verfasst: 11.09.2009 21:51
von 4seven
Da braucht man keinen Link
der link sollte anderen hilfswilligen zu nutze sein. Ich brauchte den ja nicht.
wenn das nicht passt, braucht diese frage nicht mehr gestellt werden.