vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   Yet another Stats/Level Hack (https://vborg.vbsupport.ru/showthread.php?t=31775)

Knoman 10-29-2001 10:00 PM

After my rantings in the other thread about people posting my codes, I've decided to forget everything that happen and post my version of the EXP/HP/MP hack. Most people will not need this hack because it will only apply to gaming forums; specifically RPG forums.

This hack works in such a way that:

HP drops and rises according to the members activeness.
MP determins how long a user has been with the forums, and how active they are.
EXP determins how close a user is to reaching the next level.

EDIT: To prevent non-legit vb owners from installing this hack, I have removed it from this post. Instead, just scroll down to Neo's post in this thread and download the file.

UOSaint 10-30-2001 01:34 AM

Nice Hack!

Thanks for sharing.

UOSaint 10-30-2001 01:44 AM

I don't seems to be able to see the Exp calculations included
and do I need to include the level too?

Pls help.

Neo 10-30-2001 02:03 AM

im not worthy, im not worthy, im scum, i suck,

i own a role playing forum, thank you so much this will really help me out;)


thanks again for this, here is the zip file i made for it, with the images.

Knoman 10-30-2001 02:18 AM

UOSaint, the EXP would be calculated in the variable $EP. And yes, you need to use my levels code because all the other parts requires the $levels variable.

Edit:
but if you mean that if you should add each and every level in by hand, no you shouldn't. This code should create the levels automatically.

PHP Code:

$level?=?pow?(log10?($post[posts]),?3); 


UOSaint 10-30-2001 02:23 AM

cool thanks

Team36 10-30-2001 02:41 AM

Written by Dunny, moded by NanoEntity, idea by square forums.


PHP Code:

  // ##################### L E V E L S #####################

  
$level "";
    
$level13 '48';
    
$level12 '44';
    
$level11 '40';
    
$level10 '36';
    
$level9 '32';
    
$level8 '28';
    
$level7 '24';
    
$level6 '20';
    
$level5 '16';
    
$level4 '12';
    
$level3 '8';
    
$level2 '4';
    
$level1 '1';

  if (
$post[posts] > 500) {
    
$level .= $level13;
 }
  elseif (
$post[posts] > 430) {
    
$level .= $level12;
 }
  elseif (
$post[posts] > 390) {
    
$level .= $level11;
 }
  elseif (
$post[posts] > 330) {
    
$level .= $level10;
 }
  elseif (
$post[posts] > 280) {
    
$level .= $level9;
 }
  elseif (
$post[posts] > 250) {
    
$level .= $level8;
 }
  elseif (
$post[posts] > 190) {
    
$level .= $level7;
 }
  elseif (
$post[posts] > 150) {
    
$level .= $level6;
 }
  elseif (
$post[posts] > 100) {
    
$level .= $level5;
 }
  elseif (
$post[posts] > 70) {
    
$level .= $level4;
 }
  elseif (
$post[posts] > 30) {
    
$level .= $level3;
 }
  elseif (
$post[posts] > 10) {
    
$level .= $level2;
 }
  else 
// ($post[posts] > 0)
 
$level .= $level1; }


  
$exp10 $DB_site->query_first("SELECT SUM(views) AS views FROM thread WHERE postuserid='$userinfo[userid]' AND open!='10'"); 

  
//SET MP LEVEL
  
$maxmp= ($exp10[views] * $level) / 20
  
$mp$post[posts] / 3
  if (
$mp >= $maxmp) { 
  
$mp $maxmp
  } 
  
$maxmp floor ($maxmp); 

  
$maxmp2= ($exp10[views] * $level) / 7
  
$mp2$post[posts] / 3
  if (
$mp2 >= $maxmp2) { 
  
$mp2 $maxmp2
  } 
  
$maxmp2 floor ($maxmp2); 

  
//SET HP LEVEL
  
$hp$post[posts] / 5
  
$hp floor ($hp);

  
$hp2$post[posts] / 2
  
$hp2 floor ($hp2);

  
//SET EXP LEVEL
  
$exp= ($mp $hp) / 100
  
$exp floor ($exp);

  
$exp2= ($mp2 $hp2) / 60
  
$exp2 floor ($exp2);

  if (
$exp10 == ""): 
      
$exp10 "0"
    endif; 


Knoman 10-30-2001 02:49 AM

Yes, we've all seen that code before. But the problem with that is that you have to type in every levels by hand and also, the EXP will eventually surpass 100%

I've made mines so that when the exp reaches 100%, you would "level up" and the EXP starts all over.

Edit: Also in my version, I've included an HP bonus multiplyer for those who greatly exceeds the 10 post per day average. This way, it's impossible for people with the same level to get the same stats

Team36 10-30-2001 03:00 AM

I dont know how this code got out, I havent posted it anywhere, anyhow I just had to post it, I will do a mod to your code, your is well written, I just didnt think, was going for that admin could set its own vars the way he/she wants them displayed.

Was thinking about costum administration.

same thing with my stars hack, its edited by hand for full control, and well sames a hell of a time when upgrading to new version of the forum.

make stars.php

insert and call it by where ever you want it, include('./stars.php'); in any .php file
PHP Code:

<?php

  
// #######################################################
  // #
  // # NanoEntity 
  // #                                   
  // # Stars Hack
  // # Version: 2.0.1
  // #                     
  // # ?Copyright 2001 HOLOLITH.COM.                     
  // # Created: 10/07/2001                                               
  // #
  // #######################################################
  // #
  // # COPYRIGHT NOTICE:
  // #
  // # Copyright 2001 HOLOLITH.COM,  All Rights Reserved.
  // #
  // # Selling the code for this script
  // # without prior written consent is
  // # expressly forbidden. In all cases
  // # copyright and header must remain intact.
  // #
  // #######################################################

  
unset($stars);

  
// ##################### S T A R S  G I F #####################

   // Stars Mod
    
$rankstarmod1 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';

   
// Stars Super Mod
    
$rankstarsmod1 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';

   
// Stars Admin
    
$rankstaradmin1 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';

   
// Stars Everyone Else
    
$rankstarelse1 '<img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse2 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse3 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse4 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse5 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse6 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse7 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse8 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse9 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse10 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse11 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse12 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';
    
$rankstarelse13 '<img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><img src="{imagesfolder}/titles/star.gif"><P>';

  
// ##################### S T A R S  G I F #####################

  // ##################### S T A R S  A L L #####################

  
if ($post[usergroupid]==7) {
      
$stars .= $rankstarmod1;
 }
  elseif (
$post[usergroupid]==5) {
      
$stars .= $rankstarsmod1;
 }
  elseif (
$post[usergroupid]==6) {
      
$stars .= $rankstaradmin1;
 }
  elseif (
$post[posts] > 500) {
    
$stars .= $rankstarelse13;
 }
  elseif (
$post[posts] > 430) {
    
$stars .= $rankstarelse12;
 }
  elseif (
$post[posts] > 390) {
    
$stars .= $rankstarelse11;
 }
  elseif (
$post[posts] > 330) {
    
$stars .= $rankstarelse10;
 }
  elseif (
$post[posts] > 280) {
    
$stars .= $rankstarelse9;
 }
  elseif (
$post[posts] > 250) {
    
$stars .= $rankstarelse8;
 }
  elseif (
$post[posts] > 190) {
    
$stars .= $rankstarelse7;
 }
  elseif (
$post[posts] > 150) {
    
$stars .= $rankstarelse6;
 }
  elseif (
$post[posts] > 100) {
    
$stars .= $rankstarelse5;
 }
  elseif (
$post[posts] > 70) {
    
$stars .= $rankstarelse4;
 }
  elseif (
$post[posts] > 30) {
    
$stars .= $rankstarelse3;
 }
  elseif (
$post[posts] > 10) {
    
$stars .= $rankstarelse2;
 }
  elseif (
$post[posts] > 0) {
    
$stars .= $rankstarelse1;
 }

  
// ##################### S T A R S  A L L #####################

  
if (!$stars)
    
$stars '<br>';
  else
    
$stars .= '';

  
// ##################### L E V E L S #####################

  
$level "";
    
$level13 '48';
    
$level12 '44';
    
$level11 '40';
    
$level10 '36';
    
$level9 '32';
    
$level8 '28';
    
$level7 '24';
    
$level6 '20';
    
$level5 '16';
    
$level4 '12';
    
$level3 '8';
    
$level2 '4';
    
$level1 '1';

  if (
$post[posts] > 500) {
    
$level .= $level13;
 }
  elseif (
$post[posts] > 430) {
    
$level .= $level12;
 }
  elseif (
$post[posts] > 390) {
    
$level .= $level11;
 }
  elseif (
$post[posts] > 330) {
    
$level .= $level10;
 }
  elseif (
$post[posts] > 280) {
    
$level .= $level9;
 }
  elseif (
$post[posts] > 250) {
    
$level .= $level8;
 }
  elseif (
$post[posts] > 190) {
    
$level .= $level7;
 }
  elseif (
$post[posts] > 150) {
    
$level .= $level6;
 }
  elseif (
$post[posts] > 100) {
    
$level .= $level5;
 }
  elseif (
$post[posts] > 70) {
    
$level .= $level4;
 }
  elseif (
$post[posts] > 30) {
    
$level .= $level3;
 }
  elseif (
$post[posts] > 10) {
    
$level .= $level2;
 }
  else 
// ($post[posts] > 0)
 
$level .= $level1; }


  
$exp10 $DB_site->query_first("SELECT SUM(views) AS views FROM thread WHERE postuserid='$userinfo[userid]' AND open!='10'"); 

  
//SET MP LEVEL
  
$maxmp= ($exp10[views] * $level) / 20
  
$mp$post[posts] / 3
  if (
$mp >= $maxmp) { 
  
$mp $maxmp
  } 
  
$maxmp floor ($maxmp); 

  
$maxmp2= ($exp10[views] * $level) / 7
  
$mp2$post[posts] / 3
  if (
$mp2 >= $maxmp2) { 
  
$mp2 $maxmp2
  } 
  
$maxmp2 floor ($maxmp2); 

  
//SET HP LEVEL
  
$hp$post[posts] / 5
  
$hp floor ($hp);

  
$hp2$post[posts] / 2
  
$hp2 floor ($hp2);

  
//SET EXP LEVEL
  
$exp= ($mp $hp) / 100
  
$exp floor ($exp);

  
$exp2= ($mp2 $hp2) / 60
  
$exp2 floor ($exp2);

  if (
$exp10 == ""): 
      
$exp10 "0"
    endif;

?>


Knoman 10-30-2001 03:11 AM

modify the code as much as you want.
i never added in a custom admin or cutom mod stats
because i treat all my members the same way.

the reason why i'm willing to give up my hack is
because i'm currently expanding it myself.
soon, people will be able to use their mp to "heal"
themselves and other members. afterwards, i'm
creating a money system where members are
awarded cash for allowances and for completing
quests. this money can be used to buy upgrades
in amor and weapons in the local shops in the Role
Playing Forums.


All times are GMT. The time now is 12:28 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01371 seconds
  • Memory Usage 1,886KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete