Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-18-2001, 10:03 PM
Valkyre's Avatar
Valkyre Valkyre is offline
 
Join Date: Aug 2002
Location: California, USA
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've noticed that most boards that have a type of reward system for it's members tend to have more people sticking around. I've seen some methods such as "Karma" work, where it has a point or number below the name of a user in the () fields, then has a smile or something to that degree to the left of it. A mod or admin can grant this 'karma' to it's users as a reward for good posts, and it also shows other members kind of how good they are. Therefore, more people strive to make good posts. The only hack I've seen like this is for UBB, so I thought someone should take up the project for vB. Here's an example of what I mean:

Valkyre: Member

Karma:

(1)

Registered: Jul 2001
Location: Ventura, CA
Posts: 55

That's a smile reward-based system, you could always use text, or some other graphical repesentation to that degree. Anyone up for it?
Reply With Quote
  #2  
Old 07-19-2001, 03:23 AM
BradC
Guest
 
Posts: n/a
Default

This looks interesting... I have seen this brougt many of times... on this here board and other boards.. Karma Hack... I thought I seen where someone had this.. or made a hack.. hmm

Well anyways... I might try to conjur something up on this maybe at work tommorow.. dunno if and when I get the time

If it is just for the admins and mods then it could be really simple.. I would think.. but I don't know without trying it and failing about 30000 times before I figure something out.. so I can move to line 2
Reply With Quote
  #3  
Old 07-19-2001, 03:38 AM
Valkyre's Avatar
Valkyre Valkyre is offline
 
Join Date: Aug 2002
Location: California, USA
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well thanks for replying at least. These taffers don't reply to these requests forever
Reply With Quote
  #4  
Old 07-19-2001, 03:50 AM
BradC
Guest
 
Posts: n/a
Default

I am just trying to learn a lot about php.. so I will reply to all posts that interest me.. even if I cannot help

But I am sure this has been done.. maybe just not released heh
Reply With Quote
  #5  
Old 08-03-2001, 12:27 AM
Reno of Shinra's Avatar
Reno of Shinra Reno of Shinra is offline
 
Join Date: Oct 2001
Posts: 13
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The basis of the karma hack is simple...

A small link is put at the end of every post. It leads to a screen where you can add or subtract karma points from a user.
Only moderators or admins can do this.

Their points can go positive or negative...

Options include having the board automatically email you when they get high enough... a way of noticing good members and possibly scouting new mods.

Or, if they get low enough... automatically banning their username.

Other features include variable amounts of points to give out in one shot, a record of which posts have already been praised or warned (preventing multiple mods from rewarding the same post), emailing the offender the reason why they got warned...

All of these are advanced options.

The owner of http://www.magictraders.com is the one who wrote the original UBB Karma hack.

Basically, the simplest verion of this hack would be a page where you put in admin/mod name and password, name of person to add/subtract from... and then some way to put in a variable number and indicate wether it was an addition or subtraction.

Then the page runs off and modifies a numerical value in the appropriate member's data record.

And this value is displayed under a user's name on the sidebar, like post count.

I don't know PHP... could anyone here come up with a simple hack for this sort of thing?
Reply With Quote
  #6  
Old 10-21-2001, 06:12 AM
drives_fast
Guest
 
Posts: n/a
Default

anybody looked at this yet? I am looking for this to add to my "Site Supporter" hack (not my hack.....the hack on my site) to show how much members have donated.....the more they donate.......the more stars, buttons....whatever they get
Reply With Quote
  #7  
Old 10-22-2001, 06:11 AM
Palmer ofShinra's Avatar
Palmer ofShinra Palmer ofShinra is offline
 
Join Date: Oct 2001
Location: Vancouver, BC, Canada
Posts: 171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, after some time, I threw a simple version of this hack together for our board.

It's nothing fancy and pretty well completely tweaked for our specific setup.

But really, it's quite simple.

The short way to do it...

Add a Custom User Field. Call it Bonus Points or something.

Remember which field number it is (ours was 5, the first custom field we made)

Now, edit the Postbit template.
Right after where it says
Posts: $post[posts]

add
[pre]<br><a href="http://www.myboard.com/board/mod/points.php?action=points&userid=$post[userid]" target=_blank>Points: $post[field5]</a>[/pre]
(change field5 to whichever number matches)

This displays the total points the user has and adds a link (opening in a new window) to give them points.

Then points.php should look something like this
PHP Code:
<?php

error_reporting
(7);

require(
"./global.php");

cpheader("<title>Your Title Here</title>");
echo 
"<p>";

$perms=getpermissions();
if (!
$perms[ismoderator] and !$ismod=$DB_site->query_first("SELECT * FROM moderator WHERE userid=$bbuserinfo[userid]")) {
    echo 
"<p>You do not have permission to do this!</p>";
    exit;
  }
if (
$action=="points") {
$user=$DB_site->query_first("SELECT username FROM user WHERE userid='$userid'");
doformheader("points","dopoints");
maketableheader("Give Points to $user[username]");
makehiddencode("userid",$userid);
makehiddencode("username",$user[username]);
makeinputcode("Points to give","amount","");
doformfooter("Submit Points");
}

if (
$HTTP_POST_VARS['action']=="dopoints") {
$userpointstr=$DB_site->query_first("SELECT field5 FROM userfield WHERE userid=$userid");
$userpoints = (int) $userpointstr[field5];
$amount = (int) $amount;
$pointstr = ($userpoints $amount);
$DB_site->query("UPDATE userfield SET field5='$pointstr' WHERE userid=$userid");
echo 
"$username has been given $amount Points successfully.<br>";
}

cpfooter();
?>
Put this PHP file, named points.php, into your MOD folder.

Now that you have that... you have your basic Points giving and displaying down.
You can use the query

$userpointstr=$DB_site->query_first("SELECT field5 FROM userfield WHERE userid=$userid");

to fetch a user's current points anytime... what you do with that number is up to you.

On our fr\orum, the points (Called "Gil") are used as a virtual currency to buy things like custom titles and avatars.
I have a completely automated system for that set up too.
Reply With Quote
  #8  
Old 10-22-2001, 10:51 AM
Juan Juan is offline
 
Join Date: Nov 2001
Posts: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This hack is what I've been looking for.

I cannot get it to work after following all the instructions correctly. When I click on points, I get a blank page on the mod/points.php file.

There must be something wrong in the points.php code and I haven't got enough knowledge to solve it miself.
Reply With Quote
  #9  
Old 10-22-2001, 11:49 PM
Palmer ofShinra's Avatar
Palmer ofShinra Palmer ofShinra is offline
 
Join Date: Oct 2001
Location: Vancouver, BC, Canada
Posts: 171
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The URL should be "www.com/board/mod/points.php?action=points"

Edited the typo in my last post where the template edit URL had the wrong action= specified.

The ?action=points is what calls the subroutine... if it doesn't have that, the IF doesn't find anything to do.

You can change "points" to whatever you want, really.

Just make sure to change ALL occurances of it.
Reply With Quote
  #10  
Old 10-23-2001, 12:54 AM
Juan Juan is offline
 
Join Date: Nov 2001
Posts: 62
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you. It works
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:43 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.07838 seconds
  • Memory Usage 2,270KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (7)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete