PDA

View Full Version : How would I do this?


DarkSavior
01-28-2004, 12:14 PM
I want users to have option to reset their experience and other stats with a click of button from their user options in RPG Integration hack, I already know the SQL command for it, but have no idea how I would get it working directly from the board...

Just tried it in phpMyAdmin and it worked nicely.

It would be this one:
UPDATE user SET maxhp=0, hp=0, maxpp=0, pp=0, maxma=0, ma=0, ap=0, xp=0, alignment=0, rpgrace=0, element=0, rpgclass=0, rpggender=0, rpgtype=0, inbattle=0 WHERE userid='$bbuserinfo[userid]'

But I need a way to get it to the update profile page so they just need to click a button and it resets their character.
Sorry for being stupid. :/

g-force2k2
01-28-2004, 01:08 PM
Dark Savior,

Create A New Template "rpg_reset_stats" And Put The Following Code In The Template.

<table bgcolor="{pagebgcolor}" border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="right" width="100%"><normalfont><a href="member.php?s=&action=reset_stats">Reset RPG Stats</a></normalfont></td>
</tr>
</table>
<br>

Create Another Template "redirect_statsreset" And Put The Following Code In The Template.

$bbuserinfo[username], Your RPG stats have successfully been reset.

Then make the following changes to member.php file.

Open member.php ( 3 )

Find: ( 1 )

$templatesused = 'register_birthday,modifyprofile_customtext,regist er_customfields,usercpnav,modifyprofile';

Replace With:

$templatesused = 'register_birthday,modifyprofile_customtext,regist er_customfields,usercpnav,modifyprofile,rpg_reset_ stats';

Find: ( 2 )

eval("dooutput(\"".gettemplate("modifyprofile")."\");");

Above It Add:

eval ( "\$reset_stats = \"" . gettemplate ( "rpg_reset_stats" ) . "\" ) ;" ) ;

Find: ( 3 )

// ############################### start modify password ###############################

Above It Add:

/************************************************** *\
|* START RPG STATS RESET *|
\************************************************* **/
if ( $action == "reset_stats" ) :
if ( !$bbuserinfo['userid'] ) :
show_nopermission ( ) ;
endif ;

$DB_site->query ( "
UPDATE user SET maxhp=0, hp=0, maxpp=0, pp=0, maxma=0, ma=0, ap=0, xp=0, alignment=0, rpgrace=0, element=0, rpgclass=0, rpggender=0, rpgtype=0, inbattle=0
WHERE userid=$bbuserinfo[userid]" ) ;
$goto = "member.php?s=&action=editprofile" ;
eval ( "standardredirect ( \"" . gettemplate ( "redirect_statsreset" ) . "\",\"$goto\" ) ;" ) ;
endif ;
/************************************************** *\
|* END RPG STATS RESET *|
\************************************************* **/

And Then In The modifyprofile template place the variable:

$reset_stats

where you like the link to show, you can edit the template to however you feel necessary too. I have not tested this, but if you have any problems let me know and I will see what I can do.

Cheers,
g-force2k2

DarkSavior
01-28-2004, 01:33 PM
Link shows up nicely, but page gives fatal error when clicked.

Fatal error: Call to undefined function: show_nopermission() in C:\www\forums\member.php on line 1233

Line 1233 contains just that show_nopermission(); code.

g-force2k2
01-28-2004, 01:37 PM
Link shows up nicely, but page gives fatal error when clicked.

Fatal error: Call to undefined function: show_nopermission() in C:\www\forums\member.php on line 1233

Line 1233 contains just that show_nopermission(); code.

Open member.php

find:

if ( $action == "reset_stats" ) :

Under It Add:

include_once ( './global.php' ) ;

That should fix the error, forgot that the member.php includes global.php with each different action.

Cheers,
g-force2k2

DarkSavior
01-28-2004, 01:42 PM
You're the man! That worked! Thanks!

g-force2k2
01-28-2004, 02:00 PM
You're the man! That worked! Thanks!

Glad that it worked out for you.

Cheers,
g-force2k2

DarkSavior
01-28-2004, 02:49 PM
Now I just need to add equip reset fields to it and it's perfect. :)
Lets see if I can do this alone... :paranoid:

EDIT: I guess it's a bit hard for me, I don't know much about MySQL stuff. I know that the items are located in items_user table, and their rows are itid#. But there are several of those, how do I make it set all of them to 0 for the user who is resetting? :nervous: