ich hatte das "Problem" auch und habs mit der Jägerhütte gelöst:
folgenden Code zb Hinter addnav("Heilerin Golinda für 30 Tage (100 Punkte)","lodge.php?op=golinda"); 
$this->bbcode_second_pass_code('', 'if ($session[user][donation]>=1 && $pointsavailable>=500){
addnav("250 DP verschenken (500 DP)","lodge.php?op=verschick");
}')
und den irgendwo hinter einer Option einfügen
$this->bbcode_second_pass_code('', '
   }elseif ($_GET['op']=="verschick"){
	output("<form action='lodge.php?op=verschick2' method='POST'>",true);
	addnav("","lodge.php?op=verschick2");
	output("`v`nWem möchtest du 250 Donationspoints schenken? (Dir werden dann 500 Donationspoints abgezogen ! )
	`n Du kannst nur Donationspoints an jemanden verschenken der selber schon mindestens 150 Punkte gesammelt hat.
	`n`n`n <input name='name' id='name'> <input type='submit' class='button' value='Suchen'>",true);
	output("</form>",true);
	output("<script language='JavaScript'>document.getElementById('name').focus()</script>",true);
}
elseif ($_GET['op']=="verschick2"){
	$string="%";
	for ($x=0;$x<strlen($_POST['name']);$x++){
		$string .= substr($_POST['name'],$x,1)."%";
	}
	$sql = "SELECT * FROM accounts WHERE name LIKE '".addslashes($string)."' AND locked=0 AND donation> 150 ORDER BY level,login";
	$result = db_query($sql);
	if (db_num_rows($result)<=0){
		output("Du kannst niemanden mit einem solchen Namen finden...oder die Person hat noch nicht als würdig erwiesen um solch ein Geschenk zu erhalten !`@");
	}elseif(db_num_rows($result)>100){
		output("Du solltest die Zahl derer, die du beschenken willst etwas einschränken.");
		output("<form action='lodge.php?op=verschick2' method='POST'>",true);
		addnav("","lodge.php?op=verschick2");
		output("Wem willst du `§250 Donationspoints`0 schenken ? `n<input name='name' id='name'> <input type='submit' class='button' value='Suchen'>",true);
		output("</form>",true);
		output("<script language='JavaScript'>document.getElementById('name').focus()</script>",true);
	}else{
		output("Deine Eingabe entspricht:`n`n`n");
		output("<table cellpadding='3' cellspacing='0' border='0'>",true);
		output("<tr class='trhead'><td>Name</td></tr>",true);
		for ($i=0;$i<db_num_rows($result);$i++){
			$row = db_fetch_assoc($result);
			output("<tr class='".($i%2?"trlight":"trdark")."'><td><a href='lodge.php?op=verschick3&acctid=".HTMLEntities($row['acctid'])."'>",true);
			output($row['name']);
			output("</a></td><tr>",true);
			addnav("","lodge.php?op=verschick3&acctid=".HTMLEntities($row['acctid']));
		}
		output("</table>",true);
	}
	addnav("Doch nicht","lodge.php");
}
elseif ($_GET['op']=="verschick3"){
	output("Hier kannst du noch eine Karte mit persönlicher Nachricht an den Empfänger mitsenden.`n`n`n");                                                                             //<textarea cols='70' rows='20' name='descr' class='input'></textarea>	
		output("<form action='lodge.php?op=verschick4&card=yes&acctid=".$_GET[acctid]."' method='POST'>",true);
	output("<textarea name='cardtext' cols='70' rows='20' value='$_POST[cardtext]' ></textarea>`n",true);
	output("<input type='submit' class='button' value='Senden'>",true);
    output("</form>",true);	
	addnav("Keine Karte","lodge.php?op=verschick4&card=no&acctid=".$_GET[acctid]."");
	addnav("","lodge.php?op=verschick4&card=yes&acctid=".$_GET[acctid]."");
}
elseif ($_GET['op']=="verschick4"){		
	$mailmessage=$session[user][name];
	$mailmessage.="`# hat dir `$250 Donationspoints`# geschenkt !!! `nDir wurden `$250 Donationspoints `# gutgeschrieben,`n
	schau doch mal in der Jägerhütte vorbei,`n sicher kannst du dir nun etwas schönes davon kaufen.`n`n";
	if($_GET[card]=="yes"){
		$mailmessage.="`^Es liegt eine Karte mit folgendem Text bei:`& `n`n";
		$mailmessage.= $_POST[cardtext];
		$mailmessage.="`n";
	}
	if($_GET[card]=="yes" || $_GET[card]=="no"){
		systemmail($_GET[acctid],"`vBesonderes Geschenk`0",$mailmessage);
		output("`rDein besonderes Geschenk wurde verschickt!");
        addnav("Zurück zur Jägerhütte","lodge.php"); 
}
db_query("UPDATE accounts SET donation=donation+250 WHERE acctid=$_GET[acctid]");
$session['user']['donationspent']+=500;
')
Funktioniert bei mir ganz gut, vielleicht hilft es dir ja 
Edit habs mir vom Giftshop abgeguckt bzw übernommen