![]() |
Ok, this is a suggestion a member came up with about this during the last few days. I help out on a vB, but have no idea if this could be implemented. For reference, what we're wanting to do is get an experience system that is based on post number and how long they've been registered.
Anyway, the EXP could be calculated like this: [(posts³)×(days)]^0.5 And from this I got a simple but very efficient way to calculate the Level: [(posts³)×(days)]^(1/7) = EXP^(1 / 3.5) And then the post count would almost make sense as Hit Points! Here's how it would look with a few of the users here (copied from that post I did yesterday evening): Acmlm Moderator Super Knight Level: 29 HP: 821 EXP: 137168 Registered: Oct 2000 Drex Bard Level: 7 HP: 40 EXP: 1102 Registered: Oct 2000 Doctor Q5 Master Surgeon Level: 13 HP: 125 EXP: 8149 Registered: Oct 2000 cloud120122 Moogle Level: 4 HP: 16 EXP: 181 Registered: Oct 2000 Coach Moderator Level: 27 HP: 697 EXP: 108863 Registered: Oct 2000 Phoenix Moderator Level: 32 HP: 1028 EXP: 192189 Registered: Oct 2000 It would take just 1 EXP to get to LV 1, about 11 EXP to go up to LV 2, 46 EXP for LV 3, 3162 EXP for LV 10, 147885 EXP for LV 30, 883883 EXP for LV 50 and exactly 10000000 EXP for LV 100 ... so that pretty much makes a lot of sense, no? Yeah, it's a bit confusing, but is it possible? |
Why not (i suppose you'll get more descriptive answer from more experienced members :D) but i'm afraid of mysql queries and overall performance.
|
Yes it is possible and rather easy to implement if you know PHP.
|
That member was me by the way :D
|
have to wonder if "days registered" is a good indication of experience though.... more like number of forum visits or pages viewed would be better (and possible although it might be a performance issue on the server).
|
Okay, that's good to know, but since I know of no one that is experienced in PHP, where would I get my start at? Any help in any direction would be appreciated. :)
|
hm... this is a very interesting idea indeed :)
As sonn as I finish up my backend script I'll try it. Anybody else wanna do it in the meantime? ;) |
In Showthread.php
Look for: $userpostcount=$userinfo[posts]; After this put: $days = unixtojd() - unixtojd($userinfo[joindate]) $userexp = round(pow(((pow($userpostcount,3))*($days)),0.5)); $userlevel = round(pow($userexp,(1 / 3.5))); To show it in the templates open up the postbit template and put $userexp, $userlevel where you want them to show up at. p.s. I think I got parentheses happy. |
talk about a fast hack! :)
nice work wluke |
This line looks better.
$days = unixtojd() - unixtojd($userinfo[joindate]); :D [Edited by PeF on 11-10-2000 at 12:48 PM] |
All times are GMT. The time now is 06:52 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|