anpera.net

anpera.net

experimental server @home
Aktuelle Zeit: Mo 09 Jun, 2025 20:19

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Bio.php
BeitragVerfasst: So 09 Apr, 2006 15:02 
Offline
User
User

Registriert: So 09 Apr, 2006 14:50
Beiträge: 15
LoGD: http://layer.mine.nu/lotgd/source.php
Hallo zusammen!
Also ich habe ein klitzekleines(?) Problem mit der Bio.php denn meine User hätten gerne Teile die ich in der Vitalinfo habe in der Bio.php.

Soweit habe ich es auch geschafft, dass diese mehr oder weniger angezeigt werden, allerdings stehen z.B. hinter Haarfarbe die zahlen der jeweiligen Haarfarbe und nicht ausgeschrieben welche Farbe.

Vielleicht kennt einer die php-Dateien ja, die sind aus den Einkaufszentrum spirch: Haarfarbe, Nagelfarbe, Klamotten, Schuhe, etc.

In die Bio.php hatte ich folgende Sachen hinein geschrieben:

$result = db_query("SELECT armor,weapon,frisur,hairco,nagel,nagelco, klamotten, armband, schuhe,...

und:



output("`n`n`^Ausstattung ~`bnoch in Bearbeitung`b~`n`n");

output("`^Schuhe: `@$row[schuhe]`n");
output("`^Klamotten: `@$row[klamotten]`n");
output("`^Armband: `@$row[armband]`n");
output("`^Waffe: `@$row[weapon]`n");
output("`^Rüstung: `@$row[armor]`n`n");

output("`n`n`^Aussehen ~`bnoch in Bearbeitung`b~`n`n");
output("`^Frisur: `@{$hair[$row['frisur']]}`n");
output("`^Haarfarbe: `@$row[hairco]`n");
output("`^Nägel: `@$row[nagel]`n");
output("`^Nägelfarbe: `@$row[nagelco]`n");


In der DB sind diese wegen der Installation des Einklaufszentrum auch schon drinne.

Allgemein würd ich halt gerne wissen, wieso und wo genau diese codes zugreifen, dass dort die Zahlen stehen??? Habe meinen Server auch erst seit Angfang März und bin demnach noch so ziemlich ein Noob in all dem.

Wenn ihr mir weiter heöefn könntet wäre ich euch dankbar.

Nathalie


PS: Tut mir leid, wenn das hier vielleicht schon abermals besprochen wurde oder es gar der Falsche Thread ist... ^^


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 15:28 
Offline
Freak
Freak
Benutzeravatar

Registriert: Mi 06 Jul, 2005 19:10
Beiträge: 543
Wohnort: Bremen
Geschlecht: Männlich
LoGD: http://my-logd.com/motwd
[.............]

_________________
Das schwarze Schaf der LotGD-Community, 2. platzierter, beim Giga.de Homepage-Award 2007 und 1. platzierter beim German Web Award 2008.
PC-ACTION meint: "Sehr gut" für MotWD!
Mind of the White Dragon => http://my-logd.com/motwd


Zuletzt geändert von -DoM am Sa 22 Apr, 2006 12:19, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 15:39 
Offline
Freak
Freak

Registriert: So 29 Jan, 2006 09:41
Beiträge: 1927
Wohnort: Schweiz
Geschlecht: Männlich
Skype: louis.huppenbauer
hmm...du ich hab schnell was anderes für dich...da man deine source nicht lesen kann( show source problem)

in der source.php

[php]show_source($page_name);[/php]
durch

[php]highlight_file($url); [/php]
ersetzen...dann sollte es gehen


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 15:41 
Offline
Held
Held
Benutzeravatar

Registriert: So 22 Mai, 2005 14:56
Beiträge: 244
Wohnort: Sangerhausen
...... ist das game bei funpic gehostet? :shock:

oder habe ich mich da eben verlesen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 15:50 
Offline
Marquis Pherae
Marquis Pherae

Registriert: Mi 09 Feb, 2005 16:01
Beiträge: 3925
Wohnort: Basel
Geschlecht: Männlich
LoGD und funpic.de

EDIT:
Warum $var[boo] böse ist


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 17:00 
Offline
User
User

Registriert: So 09 Apr, 2006 14:50
Beiträge: 15
LoGD: http://layer.mine.nu/lotgd/source.php
Ja ist bei funpic gehostet... hatte das nicht gewusst und den Server hat auch n Freund von mir online gestellt. Ich werde ihn mal darauf ansprechen, ob das nicht wo anders möglich wäre.

Kann ich die datenbank dann auch einfach in den neuen host übernehmen??? Hab ja die Sicherheitsuploads der db gemacht.

[php]<?php

// 22062004

require_once "common.php";
checkday();
$result = db_query("SELECT armor,weapon,frisur,hairco,nagel,nagelco, klamotten, armband, schuhe,login,name,level,sex,title,specialty,hashorse,orden,acctid,age,marriedto,pvpflag,charisma,resurrections,bio,dragonkills,race,avatar,housekey,punch,reputation,birthday FROM accounts WHERE login='$_GET[char]'");
$row = db_fetch_assoc($result);
$row[login] = rawurlencode($row[login]);

page_header("Charakter Biographie: ".preg_replace("'[`].'","",$row[name]));
$specialty=array(0=>"nicht spezifiziert","Dunkle Künste","Mystische Kräfte","Diebeskunst");
//$horses=array(0=>"None","Pony","Gelding","Stallion");
output("`^Biographie für $row[name]");
if ($session[user][loggedin]) output("<a href=\"mail.php?op=write&to=$row[login]\" target=\"_blank\" onClick=\"".popup("mail.php?op=write&to=$row[login]").";return false;\"><img src='images/newscroll.GIF' width='16' height='16' alt='Mail schreiben' border='0'></a>",true);
if (getsetting("avatare",0)==1){
if ($row[avatar]){
$pic_size = @getimagesize($row[avatar]);
$pic_width = $pic_size[0];
$pic_height = $pic_size[1];
output("<table><tr><td valign='top'>`n`n<img src=\"$row[avatar]\" ",true);
if ($pic_width > 200) output("width=\"200\" ",true );
if ($pic_height > 200) output("height=\"200\" ",true );
output("alt=\"".preg_replace("'[`].'","",$row[name])."\">&nbsp;</td><td valign='top'>",true);
} else {
output("<table><tr><td>(kein Bild)&nbsp;&nbsp;&nbsp;</td><td>",true);
}
}
output("`n`n`^Titel: `@$row[title]`n");
if (getsetting("activategamedate","0")==1 && $row[birthday]!="") output("`^Geburtstag: `@$row[birthday]`n");
output("`^Level: `@$row[level]`n");
output("`^Alter seit DK: `@$row[age]`^ Tage`n");
output("`^Wiedererweckt: `@$row[resurrections]x`n");
output("`^Rasse: `@{$colraces[$row['race']]}`n");
output("`^Geschlecht: `@".($row[sex]?"Weiblich":"Männlich")."`n");
output("`^Spezialgebiet: `@".$specialty[$row[specialty]]."`n");
output("`^Orden: `@$row[orden]`^ Orden`n");


$sql = "SELECT mountname FROM mounts WHERE mountid='{$row['hashorse']}'";
$result = db_query($sql);
$mount = db_fetch_assoc($result);
if ($mount['mountname']=="")
$mount['mountname'] = "`iKeines`i";
output("`^Tier: `@{$mount['mountname']}`n");


if ($row['dragonkills']>0) output("`^Drachenkills: `@{$row['dragonkills']}`n");

output("`^Bester Angriff: `@$row[punch]`n");
output("<table border='0' cellspacing='0' cellpadding='0'><tr><td>`^Ansehen:&nbsp;</td><td>".grafbar(100,($row['reputation']+50),100,12)."</td></tr></table>",true);
if ($row[housekey]) output("`^Hausnummer: `@$row[housekey]");
if ($row[marriedto]){
if ($row[marriedto]==4294967295){
output("`^Verheiratet mit: `@".($row[sex]?"Seth":"Violet")."");
}elseif ($row[charisma]==4294967295){
$sql = "SELECT name FROM accounts WHERE acctid='{$row['marriedto']}'";
$result = db_query($sql);
$partner = db_fetch_assoc($result);
output("`^Verheiratet mit: `@{$partner['name']}`n");
}
}
if ($row['pvpflag']=="5013-10-06 00:42:00") output("`n`n`4`iSteht unter besonderem Schutz`^`i");

output("`n`n`^Ausstattung ~`bnoch in Bearbeitung`b~`n`n");

output("`^Schuhe: `@$row[schuhe]`n");
output("`^Klamotten: `@$row[klamotten]`n");
output("`^Armband: `@$row[armband]`n");
output("`^Waffe: `@$row[weapon]`n");
output("`^Rüstung: `@$row[armor]`n`n");

output("`n`n`^Aussehen ~`bnoch in Bearbeitung`b~`n`n");
output("`^Frisur: `@{$hair[$row['frisur']]}`n");
output("`^Haarfarbe: `@$row[hairco]`n");
output("`^Nägel: `@$row[nagel]`n");
output("`^Nägelfarbe: `@$row[nagelco]`n");


$sql = "SELECT frisur FROM accounts WHERE acctid='{$row['frisur']}'";
$result = db_query($sql);
$hair = db_fetch_assoc($result);
if ($hair['frisur']=="")
$hair['frisur'] = "`iKeine`i";
output("`^Frisur: `@{$hair['frisur']}`n");




if (getsetting("avatare",0)==1)output ("</td></tr></table>",true);
if ($row['bio']>"")
output("`n`^Bio: `@`n".soap($row['bio'])."`n");
output("`n`^Letzte Leistungen (und Niederlagen) von $row[name]`^");
$result = db_query("SELECT * FROM news WHERE accountid=$row[acctid] ORDER BY newsdate DESC,newsid ASC LIMIT 100");
$odate="";
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($odate!=$row[newsdate]){
output("`n`b`@".date("D, M d",strtotime($row[newsdate]))."`b`n");
$odate=$row[newsdate];
}
output($row[newstext]."`n");
}

if ($_GET[ret]==""){
addnav("Zur Liste der Krieger","list.php");
}else{
$return = preg_replace("'[&?]c=[[:digit:]-]+'","",$_GET[ret]);
$return = substr($return,strrpos($return,"/")+1);
addnav("Zurück",$return);
}
page_footer();

?>
[/php]

Das ist meine bio.php ... falls mir doch noch wer helfen will ~.~ den wie gesagt ich schau, dass ich den server woanders hinhauen kann.

Hoffe der Link geht jetzt... http://lotgdserver.lo.funpic.de/source.php


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 17:53 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 16 Jul, 2005 22:40
Beiträge: 693
Wohnort: /var/server/home/castle
Geschlecht: Männlich
LoGD: http://www.kokoto.de/
Skype: Apfelschokowodkakekskuchen
ich bin mcr nicht ganz sicher aber ich glaub du musst ein array machen und den zahlen die namen geben z.b. bei nagelack dann 1 wär gelb oder so damit es die zahlen auch in worte umwandelt :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 18:06 
Offline
Held
Held
Benutzeravatar

Registriert: So 22 Mai, 2005 14:56
Beiträge: 244
Wohnort: Sangerhausen
das ist jetzt erstmal nur für die schuhe :)

nach:

$this->bbcode_second_pass_code('', '$specialty=array(0=>"nicht spezifiziert","Dunkle Künste","Mystische Kräfte","Diebeskunst"); ')

das einfügen:

$this->bbcode_second_pass_code('', '$schuhe=array(
1=>"Sandalen",
2=>"Halbschuhe",
3=>"Hackschuhe",
4=>"schwere Stiefel",
0=>"`)Keine");')

und dann an beliebiger stelle:

$this->bbcode_second_pass_code('', 'output("`^Schuhe: `@".$schuhe[$row[schuhe]]."`n"); ')

sollte eigentlich gehen ......

kommt halt nur drauf an was du alles für schuhe im angebot hast .... und meiner meinung nach müsstest du das dann für jedes einzelne kleidungsstück extra machen :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 19:32 
Offline
User
User

Registriert: So 09 Apr, 2006 14:50
Beiträge: 15
LoGD: http://layer.mine.nu/lotgd/source.php
Guggug...
jupp die arrays habe ich in der common.php
Mir ist es nur ein Rätsel, weshalb halt die Zahlen in der bio stehen. Denn wenn mein Chara jetzt z.B. Hackschuhe an hätte, würde in meiner Bio dann stehen Schuhe: 3
aber ich kann die Zahlen in der array ja nicht weglassen bzw. umschreiben oder?

Ich hau hier mal meine commen rein... [php]<?php

// 12092004

require_once "dbwrapper.php";
require_once "anticheat.php";

$pagestarttime = getmicrotime();

$nestedtags=array();
$output="";

function adddbfield($table,$field,$type,$default=0)
{ $found = FALSE;
$sql = "SELECT * FROM ".$table;
$result = db_query($sql) or die(db_error(LINK));
$fields = mysql_num_fields($result);
for ($i=0; $i < $fields; $i++)
{ if (mysql_field_name($result, $i)==$field) { $found=TRUE; } }
if (!$found)
{ $sql = "ALTER TABLE `".$table."` ADD `".$field."` ".$type." NOT NULL DEFAULT ".$default."";
$result = db_query($sql) or die(db_error(LINK));
}
}


function pvpwarning($dokill=false) {
global $session;
$days = getsetting("pvpimmunity", 5);
$exp = getsetting("pvpminexp", 1500);
if ($session['user']['age'] <= $days &&
$session['user']['dragonkills'] == 0 &&
$session['user']['user']['pk'] == 0 &&
$session['user']['experience'] <= $exp) {
if ($dokill) {
output("`\$Warnung!`^ Da du selbst noch vor PvP geschützt warst, aber jetzt einen anderen Spieler angreifst, hast du deine Immunität verloren!!`n`n");
$session['user']['pk'] = 1;
} else {
output("`\$Warnung!`^ Innerhalb der ersten $days Tage in dieser Welt, oder bis sie $exp Erfahrungspunkte gesammelt haben, sind alle Spieler vor PvP-Angriffen geschützt. Wenn du einen anderen Spieler angreifst, verfällt diese Immunität für dich!`n`n");
}
}
}

function rawoutput($indata) {
global $output;
$output .= $indata . "\n";
}

function output($indata,$priv=false){
global $nestedtags,$output;
$data = translate($indata);
// Aprilscherz deaktiviert ;)
// if (date("m-d")=="04-01"){
// $out = appoencode($data,$priv);
// if ($priv==false) $out = borkalize($out);
// $output.=$out;
// }else{
$output.=appoencode($data,$priv);
// }
$output.="\n";
return 0;
}

function compress_out ($input) {
//Based on old YaBBSE code (c)
//Open-Source Project by Zef Hemel (zef@zefnet.com <mailto:zef@zefnet.com>)
//Copyright (c) 2001-2002 The YaBB Development Team
if((function_exists("gzcompress")) && (function_exists("crc32"))){
if(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "x-gzip")){
$encode = "x-gzip";
}
elseif(strpos(" " . $_SERVER['HTTP_ACCEPT_ENCODING'], "gzip")){
$encode = "gzip";
}
if (isset($encode)){
header("Content-Encoding: $encode");
$encode_size = strlen($input);
$encode_crc = crc32($input);
$out = "\x1f\x8b\x08\x00\x00\x00\x00\x00";
$out .= substr(gzcompress($input, 1), 0, -4);
$out .= pack("V", $encode_crc);
$out .= pack("V", $encode_size);
}
else{
$out = $input;
}
}
else{
$out = $input;
}
return ($out);
}


function safeescape($input){
return preg_replace('/([^\\\\])(["\'])/s',"\\1\\\\\\2",$input);

}

//by Chaosmaker
function petitionmail($subject,$body,$petition,$from,$seen=0,$to=0,$messageid=0) {
$subject = safeescape($subject);
$subject=str_replace("\n","",$subject);
$subject=str_replace("`n","",$subject);
$body = safeescape($body);

$sql = "INSERT INTO petitionmail (petitionid,messageid,msgfrom,msgto,subject,body,sent,seen) VALUES ('".(int)$petition."','".(int)$messageid."','".(int)$from."','".(int)$to."','$subject','$body',now(),'$seen')";
db_query($sql);
$sql = 'UPDATE petitions SET lastact=NOW() WHERE petitionid="'.(int)$petition.'"';
db_query($sql);
}
//end petitionmail

function systemmail($to,$subject,$body,$from=0,$noemail=false){
$subject = safeescape($subject);
$subject=str_replace("\n","",$subject);
$subject=str_replace("`n","",$subject);
$body = safeescape($body);
//echo $subject."<br>".$body;
$sql = "SELECT prefs,emailaddress FROM accounts WHERE acctid='$to'";
$result = db_query($sql);
$row = db_fetch_assoc($result);
db_free_result($result);
$prefs = unserialize($row['prefs']);

if ($prefs['dirtyemail']){
//output("Not cleaning: $prefs[dirtyemail]");
}else{
//output("Cleaning: $prefs[dirtyemail]");
$subject=soap($subject);
$body=soap($body);
}

$sql = "INSERT INTO mail (msgfrom,msgto,subject,body,sent) VALUES ('".(int)$from."','".(int)$to."','$subject','$body',now())";
db_query($sql);
$email=false;
if ($prefs['emailonmail'] && $from>0){
$email=true;
}elseif($prefs[emailonmail] && $from==0 && $prefs[systemmail]){
$email=true;
}
if (!is_email($row['emailaddress'])) $email=false;
if ($email && !$noemail){
$sql = "SELECT name FROM accounts WHERE acctid='$from'";
$result = db_query($sql);
$row1=db_fetch_assoc($result);
db_free_result($result);
if ($row1['name']!="") $fromline="From: ".preg_replace("'[`].'","",$row1[name])."\n";
// We've inserted it into the database, so.. strip out any formatting
// codes from the actual email we send out... they make things
// unreadable
$body = preg_replace("'[`]n'", "\n", $body);
$body = preg_replace("'[`].'", "", $body);
mail($row['emailaddress'],"Neue LoGD Mail","Du hast eine neue Nachricht von LoGD @ http://".$_SERVER[HTTP_HOST].dirname($_SERVER[SCRIPT_NAME])." empfangen.\n\n$fromline"
."Betreff: ".preg_replace("'[`].'","",stripslashes($subject))."\n"
."Body: ".stripslashes($body)."\n"
."\nDu kannst diese Meldungen in deinen Einstellungen abschalten.",
"From: ".getsetting("gameadminemail","postmaster@localhost")
);
}
}

function isnewday($level){
global $session;
if ($session['user']['superuser']<$level) {
clearnav();
$session['output']="";
page_header("FREVEL!");
$session['bufflist']['angrygods']=array(
"name"=>"`^Die Götter sind wütend!",
"rounds"=>10,
"wearoff"=>"`^Es ist den Göttern langweilig geworden, dich zu quälen.",
"minioncount"=>$session['user']['level'],
"maxgoodguydamage"=> 2,
"effectmsg"=>"`7Die Götter verfluchen dich und machen dir `^{damage}`7 Schaden!",
"effectnodmgmsg"=>"`7Die Götter haben beschlossen, dich erstmal nicht zu quälen.",
"activate"=>"roundstart",
"survivenewday"=>1,
"newdaymessage"=>"`6Die Götter sind dir immer noch böse!"
);
output("Für den Versuch, die Götter zu betrügen, wurdest du niedergeschmettert!`n`n");
output("`\$Ramius, der Gott der Toten`) erscheint dir in einer Vision. Dafür, dass du versucht hast, deinen Geist mit seinem zu messen, sagt er dir wortlos, dass du keinen Gefallen mehr bei ihm hast.`n`n");
addnews("`&Für den Versuch, die Götter zu besudeln, wurde ".$session['user']['name']." zu Tode gequält! (Hackversuch gescheitert).");
$session['user']['hitpoints']=0;
$session['user']['alive']=0;
$session['user']['soulpoints']=0;
$session['user']['gravefights']=0;
$session['user']['deathpower']=0;
$session['user']['experience']*=0.75;
addnav("Tägliche News","news.php");
page_footer();
$sql = "SELECT acctid FROM accounts WHERE superuser>=3";
$result = db_query($sql);
while ($row = db_fetch_assoc($result)) {
systemmail($row['acctid'],"`#{$session['user']['name']}`# hat versucht, Superuser-Seiten zu hacken!","Böse(r), böse(r), böse(r) {$session['user']['name']}, du bist ein Hacker!");
}
exit();
}
}

function forest($noshowmessage=false) {
global $session,$playermount;
$conf = unserialize($session['user']['donationconfig']);
if ($conf['healer'] || $session['user']['acctid']==getsetting("hasegg",0)) {
addnav("H?Golindas Hütte","healer.php");
} else {
addnav("H?Hütte des Heilers","healer.php");
}
if ($session['user']['level']==15) {
addnav("Seltsame Lichtung","cruxis.php"); }
addnav("B?Etwas zum Bekämpfen suchen","forest.php?op=search");
if ($session['user']['level']>1)
addnav("H?Herumziehen","forest.php?op=search&type=slum");
addnav("N?Nervenkitzel suchen","forest.php?op=search&type=thrill");
//if ($session[user][hashorse]>=2) addnav("D?Dark Horse Tavern","forest.php?op=darkhorse");
if ($playermount['tavern']>0) addnav("D?Nimm {$playermount['mountname']} zur Dark Horse Taverne","forest.php?op=darkhorse");
if ($playermount['tavern']>0 && $conf['castle']) addnav("B?Nimm {$playermount['mountname']} zur Burg","forest.php?op=castle");
if ($conf['goldmine']>0) addnav("Goldmine (".$conf[goldmine]."x)","paths.php?ziel=goldmine&pass=conf");
addnav("","forest.php");
if ($session['user']['level']>=15 && $session['user']['seendragon']==0){
addnav("G?`@Den Grünen Drachen suchen","forest.php?op=dragon");
}
addnav("Wege");
addnav("M?Zurück zum Marktplatz","marktplatz.php");
addnav("Z?Zurück zum Hinterhof","hinterhof.php");
addnav("Z?Zurück zum Dorf","village.php");
addnav("Sonstiges");
addnav("Banküberweisung","schnellbank.php");
addnav("P?Plumpsklo","outhouse.php");
if ($session['user']['turns']<=1 ) addnav("Hexenhaus","hexe.php");
if ($noshowmessage!=true){
output("`c`7`bDer Wald`b`0`c");
output("Der Wald, Heimat von bösartigen Kreaturen und üblen Übeltätern aller Art.`n`n");
output("Die dichten Blätter des Waldes erlauben an den meisten Stellen nur wenige Meter Sicht. ");
output("Die Wege würden dir verborgen bleiben, hättest du nicht ein so gut geschultes Auge. Du bewegst dich so leise wie ");
output("eine milde Brise über den dicken Humus, der den Boden bedeckt. Dabei versuchst du es zu vermeiden ");
output("auf dünne Zweige oder irgendwelche der ausgebleichten Knochenstücke zu treten, welche den Waldboden spicken. ");
output("Du verbirgst deine Gegenwart vor den abscheulichen Monstern, die den Wald durchwandern.");
if ($session['user']['turns']<=1) output(" In der Nähe siehst du wieder den Rauch aus dem Kamin eines windschiefen Hexenhäuschens aufsteigen, von dem du schwören könntest, es war eben noch nicht da. ");
}
if ($session['user']['superuser']>1){
output("`n`nSUPERUSER Specials:`n");
$d = dir("special");
while (false !== ($entry = $d->read())){
// Skip non php files (including directories)
if(strpos($entry, ".php") === false) continue;
// Skip any hidden files
if (substr($entry,0,1)==".") continue;
output("<a href='forest.php?specialinc=$entry'>$entry</a>`n", true);
addnav("","forest.php?specialinc=$entry");
}
}
}

function borkalize($in){
$out = $in;
$out = str_replace(". ",". Bork bork. ",$out);
$out = str_replace(", ",", bork, ",$out);
$out = str_replace(" h"," hoor",$out);
$out = str_replace(" v"," veer",$out);
$out = str_replace("g ","gen ",$out);
$out = str_replace(" p"," pere",$out);
$out = str_replace(" qu"," quee",$out);
$out = str_replace("n ","nen ",$out);
$out = str_replace("e ","eer ",$out);
$out = str_replace("s ","ses ",$out);
return $out;
}

function getmicrotime(){
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());

function e_rand($min=false,$max=false){
if ($min===false) return mt_rand();
$min*=1000;
if ($max===false) return round(mt_rand($min)/1000,0);
$max*=1000;
if ($min==$max) return round($min/1000,0);
// if ($min==0 && $max==0) return 0; //do NOT as me why this line can be executed, it makes no sense, but it *does* get executed.
if ($min<$max){
return round(@mt_rand($min,$max)/1000,0);
}else if($min>$max){
return round(@mt_rand($max,$min)/1000,0);
}
}

function is_email($email){
return preg_match("/[[:alnum:]_.-]+[@][[:alnum:]_.-]{2,}.[[:alnum:]_.-]{2,}/",$email);
}

function checkban($login=false){
global $session;
if ($session['banoverride']) return false;
if ($login===false){
$ip=$_SERVER[REMOTE_ADDR];
$id=$_COOKIE[lgi];
//echo "<br>Orig output: $ip, $id<br>";
}else{
$sql = "SELECT lastip,uniqueid,banoverride FROM accounts WHERE login='$login'";
$result = db_query($sql) or die(db_error(LINK));
$row = db_fetch_assoc($result);
if ($row['banoverride']){
$session['banoverride']=true;
//echo "`nYou are absolved of your bans, son.";
return false;
}else{
//echo "`nNo absolution here, son.";
}
db_free_result($result);
$ip=$row['lastip'];
$id=$row['uniqueid'];
//echo "<br>Secondary output: $ip, $id<br>";
}
$sql = "select * from bans where ((substring('$ip',1,length(ipfilter))=ipfilter AND ipfilter<>'') OR (uniqueid='$id' AND uniqueid<>'')) AND (banexpire='0000-00-00' OR banexpire>'".date("Y-m-d")."')";
//echo $sql;
$result = db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0){
// $msg.=$session['message'];
$session=array();
//$session['message'] = $msg;
//echo "Session Abandonment";
$session[message].="`n`4Du bist einer Verbannung zum Opfer gefallen:`n";
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$session[message].=$row[banreason];
if ($row[banexpire]=="0000-00-00") $session[message].=" `\$Die Verbannung ist permanent!`0";
if ($row[banexpire]!="0000-00-00") $session[message].=" `^Der Bann wird am ".date("M d, Y",strtotime($row[banexpire]))." aufgehoben `0";
$session[message].="`n";
}
$session[message].="`4Wenn du willst, kannst du mit einer Anfrage nach dem Grund fragen.";
header("Location: index.php");
exit();
}
db_free_result($result);
}

function increment_specialty(){
global $session;
if ($session[user][specialty]>0){
$skillnames = array(1=>"Dunkle Künste","Mystische Kräfte","Diebeskunst");
$skills = array(1=>"darkarts","magic","thievery");
$skillpoints = array(1=>"darkartuses","magicuses","thieveryuses");
$session[user][$skills[$session[user][specialty]]]++;
output("`nDu steigst in `&".$skillnames[$session[user][specialty]]."`# ein Level auf ".$session[user][$skills[$session[user][specialty]]]." auf. ");
$x = ($session[user][$skills[$session[user][specialty]]]) % 3;
if ($x == 0){
output("Du bekommst eine zusätzliche Anwendung!`n");
$session[user][$skillpoints[$session[user][specialty]]]++;
}else{
output("Nur noch ".(3-$x)." weitere Stufen, bis du eine zusätzliche Anwendung erhältst!`n");
}
}else{
output("`7Du wanderst ziel- und planlos durchs Leben. Du solltest eine Rast machen und einige wichtige Entscheidungen für dein weiteres Leben treffen.`n");
}
}

function fightnav($allowspecial=true, $allowflee=true){
global $PHP_SELF,$session;
//$script = str_replace("/","",$PHP_SELF);
$script = substr($PHP_SELF,strrpos($PHP_SELF,"/")+1);
addnav("Kämpfen","$script?op=fight");
if ($allowflee) {
addnav("Wegrennen","$script?op=run");
}
if (getsetting("autofight",0)){
addnav("AutoFight");
addnav("5 Runden kämpfen","$script?op=fight&auto=five");
addnav("Bis zum bitteren Ende","$script?op=fight&auto=full");
}
if ($allowspecial) {
addnav("`bBesondere Fähigkeiten`b");
if ($session[user][darkartuses]>0) {
addnav("`\$Dunkle Künste`0", "");
addnav("`\$• Skelette herbeirufen`7 (1/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=1",true);
}
if ($session[user][darkartuses]>1)
addnav("`\$• Voodoo`7 (2/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=2",true);
if ($session[user][darkartuses]>2)
addnav("`\$• Geist verfluchen`7 (3/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=3",true);
if ($session[user][darkartuses]>4)
addnav("`\$• Seele verdorren`7 (5/".$session[user][darkartuses].")`0","$script?op=fight&skill=DA&l=5",true);

if ($session[user][thieveryuses]>0) {
addnav("`^Diebeskünste`0","");
addnav("`^• Beleidigen`7 (1/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=1",true);
}
if ($session[user][thieveryuses]>1)
addnav("`^• Waffe vergiften`7 (2/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=2",true);
if ($session[user][thieveryuses]>2)
addnav("`^• Versteckter Angriff`7 (3/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=3",true);
if ($session[user][thieveryuses]>4)
addnav("`^• Angriff von hinten`7 (5/".$session[user][thieveryuses].")`0","$script?op=fight&skill=TS&l=5",true);

if ($session[user][magicuses]>0) {
addnav("`%Mystische Kräfte`0","");
//disagree with making this 'n', players shouldn't have their behavior dictated by convenience of god mode, hehe
addnav("g?`%• Regeneration`7 (1/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=1",true);
}
if ($session[user][magicuses]>1)
addnav("`%• Erdenfaust`7 (2/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=2",true);
if ($session[user][magicuses]>2)
addnav("L?`%• Leben absaugen`7 (3/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=3",true);
if ($session[user][magicuses]>4)
addnav("A?`%• Blitz Aura`7 (5/".$session[user][magicuses].")`0","$script?op=fight&skill=MP&l=5",true);
if ($session[user][superuser]>=4) {
addnav("`&Superuser`0","");
addnav("!?`&• __GOD MODE","$script?op=fight&skill=godmode",true);
}
// spells by anpera
$sql="SELECT * FROM items WHERE class='Zauber' AND owner=".$session[user][acctid]." AND value1>0 ORDER BY name ASC";
$result=db_query($sql) or die(db_error(LINK));
if (db_num_rows($result)>0) addnav("Zauber");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$spellbuff=unserialize($row[buff]);
addnav("`v$spellbuff[name] `0(".$row[value1]."x)","$script?op=fight&skill=zauber&itemid=$row[id]");
}
// end spells
}
}

function appoencode($data,$priv=false){
global $nestedtags,$session;
while( !(($x=strpos($data,"`")) === false) ){
$tag=substr($data,$x+1,1);
$append=substr($data,0,$x);
//echo "<font color='green'>$tag</font><font color='red'>".((int)$x)."</font><font color='blue'>$data</font><br>";
$output.=($priv?$append:HTMLEntities($append));
$data=substr($data,$x+2);
switch($tag){
case "0":
if ($nestedtags[font]) $output.="</span>";
unset($nestedtags[font]);
break;
case "1":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkBlue'>";
break;
case "2":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkGreen'>";
break;
case "3":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkCyan'>";
break;
case "4":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkRed'>";
break;
case "5":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkMagenta'>";
break;
case "6":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkYellow'>";
break;
case "7":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkWhite'>";
break;
case "8":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLime'>";
break;
case "9":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlue'>";
break;
case "!":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtBlue'>";
break;
case "@":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtGreen'>";
break;
case "#":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtCyan'>";
break;
case "$":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtRed'>";
break;
case "%":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtMagenta'>";
break;
case "^":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtYellow'>";
break;
case "&":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtWhite'>";
break;
case ")":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtBlack'>";
break;
case "~":
if (($session[user][dragonkills]>=5)||($session[user][superuser]>=2)){
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlack'>";
}
break;
case "Q":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkOrange'>";
break;
case "q":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colOrange'>";
break;
case "r":
case "R":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colRose'>";
break;
case "V":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBlueViolet'>";
break;
case "v":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='coliceviolet'>";
break;
case "g":
case "G":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colXLtGreen'>";
break;
case "T":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colDkBrown'>";
break;
case "t":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colLtBrown'>";
break;
case "?":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colWhiteBlack'>";
break;
case "*":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colBack'>";
break;
case "A":
case "a":
if ($nestedtags[font]) $output.="</span>"; else $nestedtags[font]=true;
$output.="<span class='colAttention'>";
break;
case "c":
if ($nestedtags[div]) {
$output.="</div>";
unset($nestedtags[div]);
}else{
$nestedtags[div]=true;
$output.="<div align='center'>";
}
break;
case "H":
if ($nestedtags[div]) {
$output.="</span>";
unset($nestedtags[div]);
}else{
$nestedtags[div]=true;
$output.="<span class='navhi'>";
}
break;
case "b":
if ($nestedtags[b]){
$output.="</b>";
unset($nestedtags[b]);
}else{
$nestedtags[b]=true;
$output.="<b>";
}
break;
case "i":
if ($nestedtags[i]) {
$output.="</i>";
unset($nestedtags[i]);
}else{
$nestedtags[i]=true;
$output.="<i>";
}
break;
case "n":
$output.="<br>\n";
break;
case "w":
$output.=$session[user][weapon];
break;
case "`":
$output.="`";
break;
default:
$output.="`".$tag;
}
}
if ($priv){
$output.=$data;
}else{
$output.=HTMLEntities($data);
}
return $output;
}

// Angegebene Tags am Ende des Strings schließen
// (macht keinen Sinn bei Farben, da die nicht geschlossen werden)
function closetags($string, $tags) {
$tags = explode('`',$tags);
foreach ($tags as $siht) {
$siht = trim($siht);
if ($siht=='') continue;
if (substr_count($string,'`'.$siht)%2) $string .= '`'.$siht;
}
return $string;
}

function templatereplace($itemname,$vals=false){
global $template;
@reset($vals);
if (!isset($template[$itemname])) output("`bWarnung:`b Das `i$itemname`i Template wurde nicht gefunden!`n");
$out = $template[$itemname];
//output($template[$itemname]."`n");
while (list($key,$val)=@each($vals)){
if (strpos($out,"{".$key."}")===false) output("`bWarnung:`b Das `i$key`i Teil wurde im `i$itemname`i Template nicht gefunden! (".$out.")`n");
$out = str_replace("{"."$key"."}",$val,$out);
}
return $out;
}

function charstats(){
global $session;
$u =& $session[user];
if ($session[loggedin]){
$u['hitpoints']=round($u['hitpoints'],0);
$u['experience']=round($u['experience'],0);
$u['maxhitpoints']=round($u['maxhitpoints'],0);
$spirits=array("-6"=>"Wiedererweckt",
"-2"=>"Sehr schlecht",
"-1"=>"Schlecht",
"0"=>"Normal",
"1"=>"Gut",
"2"=>"Sehr gut");
if ($u[alive]){ }else{ $spirits[$u[spirits]] = "TOT"; }
reset($session[bufflist]);
$atk=$u[attack];
$def=$u[defence];
while (list($key,$val)=each($session[bufflist])){
$buffs.=appoencode("`#$val[name] `7($val[rounds] Runden übrig)`n",true);
if (isset($val[atkmod])) $atk *= $val[atkmod];
if (isset($val[defmod])) $def *= $val[defmod];
}
$atk = round($atk, 2);
$def = round($def, 2);
$atk = ($atk == $u[attack] ? "`^" : ($atk > $u[attack] ? "`@" : "`$")) . "`b$atk`b`0";
$def = ($def == $u[defence] ? "`^" : ($def > $u[defence] ? "`@" : "`$")) . "`b$def`b`0";

$kla=array(0=>"Keine Klamotten",
1=>"Weises Kleid",
2=>"Drachenleder Kleid",
3=>"Schwarzes Jacket",
4=>"Drachenleder Jacket");

$arm=array(0=>"Kein Armband",
1=>"Goldenes Armband",
2=>"Drachen Armband");

$shoes=array(0=>"Keine Schuhe",
1=>"Wanderschuhe",
2=>"Sportschuhe",
3=>"Lederstiefel",
4=>"Drachen Stiefel");

$hair=array(0=>"Glatze",
1=>"Glatze",
2=>"Glatze",
3=>"Glatze",
4=>"Glatze",
5=>"Glatze",
6=>"Glatze",
7=>"Glatze",
8=>"Glatze",
9=>"Glatze",
10=>"Kurze Haare",
11=>"Kurze Haare",
12=>"Kurze Haare",
13=>"Kurze Haare",
14=>"Kurze Haare",
15=>"Kurze Haare",
16=>"Kurze Haare",
17=>"Kurze Haare",
18=>"Kurze Haare",
19=>"Kurze Haare",
20=>"Normale Länge",
21=>"Normale Länge",
22=>"Normale Länge",
23=>"Normale Länge",
24=>"Normale Länge",
25=>"Normale Länge",
26=>"Normale Länge",
27=>"Normale Länge",
28=>"Normale Länge",
29=>"Normale Länge",
30=>"Normale Länge",
31=>"Normale Länge",
32=>"Normale Länge",
33=>"Normale Länge",
34=>"Normale Länge",
35=>"Normale Länge",
36=>"Normale Länge",
37=>"Normale Länge",
38=>"Normale Länge",
39=>"Normale Länge",
40=>"Lange Haare",
41=>"Lange Haare",
42=>"Lange Haare",
43=>"Lange Haare",
44=>"Lange Haare",
45=>"Lange Haare",
46=>"Lange Haare",
47=>"Lange Haare",
48=>"Lange Haare",
49=>"Lange Haare",
50=>"Lange Haare",
51=>"Lange Haare",
52=>"Lange Haare",
53=>"Lange Haare",
54=>"Lange Haare",
55=>"Lange Haare",
56=>"Lange Haare",
57=>"Lange Haare",
58=>"Lange Haare",
59=>"Lange Haare",
60=>"Lang und Ungeflegt",
61=>"Lang und Ungeflegt",
62=>"Lang und Ungeflegt",
63=>"Lang und Ungeflegt",
64=>"Lang und Ungeflegt",
65=>"Lang und Ungeflegt",
66=>"Lang und Ungeflegt",
67=>"Lang und Ungeflegt",
68=>"Lang und Ungeflegt",
69=>"Lang und Ungeflegt",
70=>"Lang und Ungeflegt",
71=>"Lang und Ungeflegt",
72=>"Lang und Ungeflegt",
73=>"Lang und Ungeflegt",
74=>"Lang und Ungeflegt",
75=>"Lang und Ungeflegt",
76=>"Lang und Ungeflegt",
77=>"Lang und Ungeflegt",
78=>"Lang und Ungeflegt",
79=>"Lang und Ungeflegt",
80=>"Lang und Ungeflegt");

$nagel=array(0=>"Kurz",
1=>"Kurz",
2=>"Kurz",
3=>"Kurz",
4=>"Kurz",
5=>"Kurz",
6=>"Kurz",
7=>"Kurz",
8=>"Kurz",
9=>"Kurz",
10=>"Normal",
11=>"Normal",
12=>"Normal",
13=>"Normal",
14=>"Normal",
15=>"Normal",
16=>"Normal",
17=>"Normal",
18=>"Normal",
19=>"Normal",
20=>"Gepflegt",
21=>"Gepflegt",
22=>"Gepflegt",
23=>"Gepflegt",
24=>"Gepflegt",
25=>"Gepflegt",
26=>"Gepflegt",
27=>"Gepflegt",
28=>"Gepflegt",
29=>"Gepflegt",
30=>"French-Maniküre",
31=>"Gepflegt",
32=>"Gepflegt",
33=>"Gepflegt",
34=>"Gepflegt",
35=>"Gepflegt",
36=>"Gepflegt",
37=>"Gepflegt",
38=>"Gepflegt",
39=>"Gepflegt",
40=>"Ungepflegt",
41=>"Ungepflegt",
42=>"Ungepflegt",
43=>"Ungepflegt",
44=>"Ungepflegt",
45=>"Ungepflegt",
46=>"Ungepflegt",
47=>"Ungepflegt",
48=>"Ungepflegt",
49=>"Ungepflegt",
50=>"Ungepflegt",
51=>"Ungepflegt",
52=>"Ungepflegt",
53=>"Ungepflegt",
54=>"Ungepflegt",
55=>"Ungepflegt",
56=>"Ungepflegt",
57=>"Ungepflegt",
58=>"Ungepflegt",
59=>"Ungepflegt",
60=>"Ungepflegt");

$hairco=array(0=>"Braun",
1=>"Schwarz",
2=>"Blond",
3=>"Grün",
4=>"Pink",
5=>"Rot",
6=>"Blau",
7=>"Bunt");

/* $nail=array(0=>"Kurz",
10=>"Normal",
20=>"Gepflegt",
30=>"French-Maniküre");
*/
$nailco=array(0=>"Keine",
1=>"Schwarz",
2=>"Gelb",
3=>"Lila",
4=>"Rot",
5=>"Blau",
6=>"Pink",
7=>"Klarlack");

$orden=array(1=>"Wasserorden",
2=>"Wasserorden `n
Feuerorden",
3=>"Wasserorden `n
Feuerorden `n
Windorden",
4=>"Wasserorden `n
Feuerorden `n
Windorden `n
Erdorden");




if (count($session[bufflist])==0){
$buffs.=appoencode("`^Keine`0",true);
}
$charstat=appoencode(templatereplace("statstart")
.templatereplace("stathead",array("title"=>"Vital Info"))
.templatereplace("statrow",array("title"=>"Name","value"=>appoencode($u[name],false)))
,true);
if ($session['user']['alive']){

$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Lebenspunkte","value"=>"$u[hitpoints]`0/$u[maxhitpoints]".grafbar($u[maxhitpoints],$u[hitpoints])))
.templatereplace("statrow",array("title"=>"Runden","value"=>$u['turns']))
,true);
}else{
$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Seelenpunkte","value"=>"$u[soulpoints]".grafbar((5*$u[level]+50),$u[soulpoints])))
.templatereplace("statrow",array("title"=>"Foltern","value"=>$u['gravefights']))
,true);
}
$charstat.=appoencode(
templatereplace("statrow",array("title"=>"Stimmung","value"=>"`b".$spirits[(string)$u['spirits']]."`b"))
.templatereplace("statrow",array("title"=>"Level","value"=>"`b".$u['level']."`b"))
.($session['user']['alive']?
templatereplace("statrow",array("title"=>"Angriff","value"=>$atk))
.templatereplace("statrow",array("title"=>"Verteidigung","value"=>$def))
:
templatereplace("statrow",array("title"=>"Psyche","value"=>10 + round(($u['level']-1)*1.5)))
.templatereplace("statrow",array("title"=>"Geist","value"=>10 + round(($u['level']-1)*1.5)))
)
.templatereplace("statrow",array("title"=>"Edelsteine","value"=>$u['gems']))


.templatereplace("stathead",array("title"=>"Ausrüstung"))
.templatereplace("statrow",array("title"=>"Waffe","value"=>$u['weapon']))
.templatereplace("statrow",array("title"=>"Rüstung","value"=>$u['armor']))
.templatereplace("statrow",array("title"=>"Orden","value"=>$orden[$u['orden']]))
.templatereplace("statrow",array("title"=>"Klamotten","value"=>$kla[$u['klamotten']]))
.templatereplace("statrow",array("title"=>"Armband","value"=>$arm[$u['armband']]))
.templatereplace("statrow",array("title"=>"Schuhe","value"=>$shoes[$u['schuhe']]))
.templatereplace("stathead",array("title"=>"Aussehen"))
.templatereplace("statrow",array("title"=>"Haare","value"=>$hair[$u['frisur']]))
.templatereplace("statrow",array("title"=>"Haarfarbe","value"=>$hairco[$u['hairco']]))
.templatereplace("statrow",array("title"=>"Nägel","value"=>$nagel[$u['nagel']]))
.templatereplace("statrow",array("title"=>"Nagelfarbe","value"=>$nailco[$u['nagelco']]))


.templatereplace("stathead",array("title"=>"Weitere Infos"))
.templatereplace("statrow",array("title"=>"Gold","value"=>$u['gold']))
.templatereplace("statrow",array("title"=>"Gold in Bank","value"=>$u['goldinbank']))
.templatereplace("statrow",array("title"=>"Erfahrung","value"=>expbar()))
,true);
if (getsetting("dispnextday",0)){
$time = gametime();
$tomorrow = strtotime(date("Y-m-d H:i:s",$time)." + 1 day");
$tomorrow = strtotime(date("Y-m-d 00:00:00",$tomorrow));
$secstotomorrow = $tomorrow-$time;
$realsecstotomorrow = round($secstotomorrow / (int)getsetting("daysperday",4));
$charstat.=appoencode(templatereplace("statrow",array("title"=>"Nächster Tag","value"=>date("G\\h, i\\m, s\\s \\",strtotime("1980-01-01 00:00:00 + $realsecstotomorrow seconds")))),true);
}
if (!is_array($session[bufflist])) $session[bufflist]=array();
$charstat.=appoencode(templatereplace("statbuff",array("title"=>"Aktionen","value"=>$buffs)),true);
$charstat.=appoencode(templatereplace("statend"),true);
return $charstat;
}else{
//return "Your character info will appear here after you've logged in.";
//$sql = "SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid FROM accounts WHERE locked=0 AND loggedin=1 ORDER BY level DESC";
$sql="SELECT name,alive,location,sex,level,laston,loggedin,lastip,uniqueid FROM accounts WHERE locked=0 AND loggedin=1 AND laston>'".date("Y-m-d H:i:s",strtotime(date("r")."-".getsetting("LOGINTIMEOUT",900)." seconds"))."' ORDER BY level DESC";
$result = db_query($sql) or die(sql_error($sql));
$count = db_num_rows($result);
$ret.=appoencode("`b$count Spieler Online:`b`n");
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$ret.=appoencode("`^$row[name]`n");
$onlinecount++;
}
db_free_result($result);
if ($onlinecount==0) $ret.=appoencode("`iNiemand`i");
$ret.=(getsetting("maxonline",10)>0?grafbar(getsetting("maxonline",10),(getsetting("maxonline",10)-$onlinecount),180):"");
return $ret;
}
}

$accesskeys=array();
$quickkeys=array();
function addnav($text,$link=false,$priv=false,$pop=false,$newwin=false){
global $nav,$session,$accesskeys,$REQUEST_URI,$quickkeys;
$text = translate($text);
/*
if (date("m-d")=="04-01"){
$text = borkalize($text);
}
*/
if ($link===false){
$nav.=templatereplace("navhead",array("title"=>appoencode($text,$priv)));
}elseif ($link === "") {
$nav.=templatereplace("navhelp",array("text"=>appoencode($text,$priv)));
}else{
if ($text!=""){
$extra="";
if ($newwin===false) {
if (strpos($link,"?")){
$extra="&c=$session[counter]";
}else{
$extra="?c=$session[counter]";
}
}

if ($newwin===false) $extra.="-".date("His");
//$link = str_replace(" ","%20",$link);
//hotkey for the link.
$key="";
if (substr($text,1,1)=="?") {
// check to see if a key was specified up front.
if ($accesskeys[strtolower(substr($text, 0, 1))]==1){
// output ("key ".substr($text,0,1)." already taken`n");
$text = substr($text,2);
}else{
$key = substr($text,0,1);
$text = substr($text,2);
//output("key set to $key`n");
$found=false;
for ($i=0;$i<strlen($text); $i++){
$char = substr($text,$i,1);
if ($ignoreuntil == $char){
$ignoreuntil="";
}else{
if ($ignoreuntil<>""){
if ($char=="<") $ignoreuntil=">";
if ($char=="&") $ignoreuntil=";";
if ($char=="`") $ignoreuntil=substr($text,$i+1,1);
}else{
if ($char==$key) {
$found=true;
break;
}
}
}
}
if ($found==false) {
if (strpos($text, "__") !== false)
$text=str_replace("__", "(".$key.") ", $text);
else
$text="(".strtoupper($key).") ".$text;
$i=strpos($text, $key);
// output("Not found`n");
}
}
//
}
if ($key==""){
for ($i=0;$i<strlen($text); $i++){
$char = substr($text,$i,1);
if ($ignoreuntil == $char) {
$ignoreuntil="";
}else{
if (($accesskeys[strtolower($char)]==1) || (strpos("abcdefghijklmnopqrstuvwxyz0123456789", strtolower($char)) === false) || $ignoreuntil<>"") {
if ($char=="<") $ignoreuntil=">";
if ($char=="&") $ignoreuntil=";";
if ($char=="`") $ignoreuntil=substr($text,$i+1,1);
}else{
break;
}
}
}
}
if ($i<strlen($text)){
$key=substr($text,$i,1);
$accesskeys[strtolower($key)]=1;
$keyrep=" accesskey=\"$key\" ";
}else{
$key="";
$keyrep="";
}
//output("Key is $key for $text`n");

if ($key==""){
//$nav.="<a href=\"".HTMLEntities($link.$extra)."\" class='nav'>".appoencode($text,$priv)."<br></a>";
//$key==""; // This is useless
}else{
$text=substr($text,0,strpos($text,$key))."`H".$key."`H".substr($text,strpos($text,$key)+1);
if ($pop){
$quickkeys[$key]=popup($link.$extra);
}else{
$quickkeys[$key]="window.location='$link$extra';";
}
}
$nav.=templatereplace("navitem",array(
"text"=>appoencode($text,$priv),
"link"=>HTMLEntities($link.$extra),
"accesskey"=>$keyrep,
"popup"=>($pop==true ? "target='_blank' onClick=\"".popup($link.$extra)."; return false;\"" : ($newwin==true?"target='_blank'":""))
));
//$nav.="<a href=\"".HTMLEntities($link.$extra)."\" $keyrep class='nav'>".appoencode($text,$priv)."<br></a>";
}
$session[allowednavs][$link.$extra]=true;
$session[allowednavs][str_replace(" ", "%20", $link).$extra]=true;
$session[allowednavs][str_replace(" ", "+", $link).$extra]=true;
}
}

function savesetting($settingname,$value){
global $settings;
loadsettings();
if ($value>""){
if (!isset($settings[$settingname])){
$sql = "INSERT INTO settings (setting,value) VALUES (\"".addslashes($settingname)."\",\"".addslashes($value)."\")";
}else{
$sql = "UPDATE settings SET value=\"".addslashes($value)."\" WHERE setting=\"".addslashes($settingname)."\"";
}
db_query($sql) or die(db_error(LINK));
$settings[$settingname]=$value;
if (db_affected_rows()>0) return true; else return false;
}
return false;
}

function loadsettings(){
global $settings;
//as this seems to be a common complaint, examine the execution path of this function,
//it will only load the settings once per page hit, in subsequent calls to this function,
//$settings will be an array, thus this function will do nothing.
if (!is_array($settings)){
$settings=array();
$sql = "SELECT * FROM settings";
$result = db_query($sql) or die(db_error(LINK));
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
$settings[$row[setting]] = $row[value];
}
db_free_result($result);
$ch=0;
if ($ch=1 && strpos($_SERVER['SCRIPT_NAME'],"login.php")){
//@file("http://www.mightye.org/logdserver?".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
}
}
}

function getsetting($settingname,$default){
global $settings;
loadsettings();
if (!isset($settings[$settingname])){
savesetting($settingname,$default);
return $default;
}else{
if (trim($settings[$settingname])=="") $settings[$settingname]=$default;
return $settings[$settingname];
}
}

function showform($layout,$row,$nosave=false){
global $output;
output("<table>",true);
while(list($key,$val)=each($layout)){
$info = split(",",$val);
if ($info[1]=="title"){
output("<tr><td colspan='2' bgcolor='#666666'>",true);
output("`b`^$info[0]`0`b");
output("</td></tr>",true);
}else{
output("<tr><td nowrap valign='top'>",true);
output("$info[0]");
output("</td><td>",true);
}
switch ($info[1]){
case "title":

break;
case "enum":
reset($info);
list($k,$v)=each($info);
list($k,$v)=each($info);
$output.="<select name='$key'>";
while (list($k,$v)=each($info)){
$optval = $v;
list($k,$v)=each($info);
$optdis = $v;
$output.="<option value='$optval'".($row[$key]==$optval?" selected":"").">".HTMLEntities("$optval : $optdis")."</option>";
}
$output.="</select>";
break;
case "password":
$output.="<input type='password' name='$key' value='".HTMLEntities($row[$key])."'>";
break;
case "bool":
$output.="<select name='$key'>";
$output.="<option value='0'".($row[$key]==0?" selected":"").">Nein</option>";
$output.="<option value='1'".($row[$key]==1?" selected":"").">Ja</option>";
$output.="</select>";
break;
case "hidden":
$output.="<input type='hidden' name='$key' value=\"".HTMLEntities($row[$key])."\">".HTMLEntities($row[$key]);
break;
case "viewonly":
output(dump_item($row[$key]), true);
// output(str_replace("{","<blockquote>{",str_replace("}","}</blockquote>",HTMLEntities(preg_replace("'(b:[[:digit:]]+;)'","\\1`n",$row[$key])))),true);
break;
case "int":
$output.="<input name='$key' value=\"".HTMLEntities($row[$key])."\" size='5'>";
break;

case "textarea":
$output.="<textarea name='$key' class='input' cols='$info[2]' rows='$info[3]'>".HTMLEntities($row[$key])."</textarea>";
break;
case 'file':
$output .= "<input name='$key' type='file'>";
break;

// default:
// $output.=("<input size='50' name='$key' value=\"".HTMLEntities($row[$key])."\">");



case "text":
$output.=("<input size='50' name='$key' maxlength=\"".$info[2]."\" value=\"".HTMLEntities($row[$key])."\">");
break;
default:
$output.=("<input size='50' name='$key' value=\"".HTMLEntities($row[$key])."\">");




//output("`n$val");
}
output("</td></tr>",true);
}
output("</table>",true);
if ($nosave) {} else output("<input type='submit' class='button' value='Speichern'>",true);

}

function clearnav(){
$session[allowednavs]=array();
}

function redirect($location,$reason=false){
global $session,$REQUEST_URI;
if ($location!="badnav.php"){
$session[allowednavs]=array();
addnav("",$location);
}
if (strpos($location,"badnav.php")===false) $session[output]="<a href=\"".HTMLEntities($location)."\">Hier klicken</a>";
$session['debug'].="Redirected to $location from $REQUEST_URI. $reason\n";
saveuser();
header("Location: $location");
echo $location;
echo $session['debug'];
exit();
}

function loadtemplate($templatename){
if (!file_exists("templates/$templatename") || $templatename=="") $templatename="yarbrough.htm";
$fulltemplate = join("",file("templates/$templatename"));
$fulltemplate = split("<!--!",$fulltemplate);
while (list($key,$val)=each($fulltemplate)){
$fieldname=substr($val,0,strpos($val,"-->"));
if ($fieldname!=""){
$template[$fieldname]=substr($val,strpos($val,"-->")+3);
}
}
return $template;
}

function maillink(){
global $session;
$sql = "SELECT sum(if(seen=1,1,0)) AS seencount, sum(if(seen=0,1,0)) AS notseen FROM mail WHERE msgto=\"".$session[user][acctid]."\"";
$result = db_query($sql) or die(mysql_error(LINK));
$row = db_fetch_assoc($result);
db_free_result($result);
$row[seencount]=(int)$row[seencount];
$row[notseen]=(int)$row[notseen];
if ($row[notseen]>0){
return "<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='hotmotd'>Ye Olde Mail: $row[notseen] neu, $row[seencount] alt</a>";
}else{
return "<a href='mail.php' target='_blank' onClick=\"".popup("mail.php").";return false;\" class='motd'>Ye Olde Mail: $row[notseen] neu, $row[seencount] alt</a>";
}
}

function motdlink(){
// missing $session caused unread motd's to never highlight the link
global $session;
if ($session[needtoviewmotd]){
return "<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='hotmotd'><b>MoTD</b></a>";
}else{
return "<a href='motd.php' target='_blank' onClick=\"".popup("motd.php").";return false;\" class='motd'><b>MoTD</b></a>";
}
}

function page_header($title="LoGD 0.9.7 +jt ext (GER) 3"){
global $header,$SCRIPT_NAME,$session,$template;
$nopopups["login.php"]=1;
$nopopups["motd.php"]=1;
$nopopups["index.php"]=1;
$nopopups["create.php"]=1;
$nopopups["about.php"]=1;
$nopopups["mail.php"]=1;
$nopopups["chat.php"]=1;

$header = $template['header'];
$sql = "SELECT motddate FROM motd ORDER BY motditem DESC LIMIT 1";
$result = db_query($sql);
$row = db_fetch_assoc($result);
db_free_result($result);
if (($row[motddate]>$session[user][lastmotd]) && $nopopups[$SCRIPT_NAME]!=1 && $session[user][loggedin]){
$header=str_replace("{headscript}","<script language=\"JavaScript\" type=\"text/javascript\">".popup("motd.php")."</script>",$header);
$session[needtoviewmotd]=true;
}else{
$header=str_replace("{headscript}","",$header);
$session[needtoviewmotd]=false;
}
$header=str_replace("{title}",$title,$header);
}

function popup($page){
return "window.open('$page','".preg_replace("([^[:alnum:]])","",$page)."','scrollbars=yes,resizable=yes,width=550,height=300')";
}

function page_footer(){
$forumlink=getsetting("forum","http://lotgd.net/forum");
//$forumlink="http://www.anpera.net/forum/index.php?c=12#";
global $output,$nestedtags,$header,$nav,$session,$REMOTE_ADDR,$REQUEST_URI,$pagestarttime,$dbtimethishit,$dbqueriesthishit,$quickkeys,$template,$logd_version;

while (list($key,$val)=each($nestedtags)){
$output.="</$key>";

unset($nestedtags[$key]);
}
$script.="<script language=\"JavaScript\" type=\"text/javascript\">
<!--
document.onkeypress=keyevent;
function keyevent(e){
var c;
var target;
var altKey;
var ctrlKey;
if (window.event != null) {
c=String.fromCharCode(window.event.keyCode).toUpperCase();
altKey=window.event.altKey;
ctrlKey=window.event.ctrlKey;
}else{
c=String.fromCharCode(e.charCode).toUpperCase();
altKey=e.altKey;
ctrlKey=e.ctrlKey;
}
if (window.event != null)
target=window.event.srcElement;
else
target=e.originalTarget;
if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey){
}else{";
reset($quickkeys);
while (list($key,$val)=each($quickkeys)){
$script.="\n if (c == '".strtoupper($key)."') { $val; return false; }";
}
$script.="
}
}
//-->
</script>";


$footer = $template['footer'];
if (strpos($footer,"{paypal}") || strpos($header,"{paypal}")){ $palreplace="{paypal}"; }else{ $palreplace="{stats}"; }

//NOTICE
//NOTICE Although I will not deny you the ability to remove the below paypal link, I do request, as the author of this software
//NOTICE that you leave it in.
//NOTICE
$paypalstr = '<table align="center"><tr><td>';
$paypalstr .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="nahdude81@hotmail.com">
<input type="hidden" name="item_name" value="Legend of the Green Dragon Author Donation from '.preg_replace("/[`]./","",$session['user']['name']).'">
<input type="hidden" name="item_number" value="'.htmlentities($session['user']['login']).":".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'].'">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="cn" value="Your Character Name">
<input type="hidden" name="cs" value="1">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="tax" value="0">
<input type="image" src="images/paypal1.gif" border="0" name="submit" alt="Donate!">
</form>';
$paysite = getsetting("paypalemail", "");
if ($paysite != "") {
$paypalstr .= '</td><td>';
$paypalstr .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="'.$paysite.'">
<input type="hidden" name="item_name" value="Legend of the Green Dragon Site Donation from '.preg_replace("/[`]./","",$session['user']['name']).'">
<input type="hidden" name="item_number" value="'.htmlentities($session['user']['login']).":".$_SERVER['HTTP_HOST']."/".$_SERVER['REQUEST_URI'].'">
<input type="hidden" name="no_shipping" value="1">


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 19:40 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 28 Aug, 2004 18:48
Beiträge: 1712
kann anpera net mal einen automatischen bann einbauen für alle die funpic als server haben.. ???

_________________
~Inaktiv und Abwesend solange Mysql hier Moderatorenrechte hat~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 09 Apr, 2006 20:22 
Offline
User
User

Registriert: So 09 Apr, 2006 14:50
Beiträge: 15
LoGD: http://layer.mine.nu/lotgd/source.php
Schon ok, habe es jetzt hinbekommen!
Danke für die Hilfe! :)

PS: Ich werd so schnell es geht, versuchen den Server von funpic runter zunehmen! Nicht dass noch mehr deshalb rumzicken wollen ... -.-


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So 04 Jun, 2006 18:19 
Offline
Freak
Freak
Benutzeravatar

Registriert: Sa 05 Feb, 2005 22:59
Beiträge: 699
Wohnort: OL
LoGD: http://aristo.w039.white.fastwebserver. ... source.php
Nathalie-Amy hat geschrieben:
Nicht dass noch mehr deshalb rumzicken wollen ... -.-


:pein: Wer zickt denn hier?

_________________
Legends of Imperencia ist mit folgenden Servern befreundet: Silienta, Pandyria, Kokoto

Eliwood hat geschrieben:
-DoM hat geschrieben:
Hey Eliwood.... was ist eigentlich LoGD????

Spaghetticode :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 12 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 26 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen
Du darfst keine Antworten zu Themen in diesem Forum erstellen
Du darfst deine Beiträge in diesem Forum nicht ändern
Du darfst deine Beiträge in diesem Forum nicht löschen
Du darfst keine Dateianhänge in diesem Forum erstellen

Suche nach:
Gehe zu:  
POWERED_BY
Deutsche Übersetzung durch phpBB.de
anpera.net - Impressum