LoGD Standardrelease steht hier zum Download zur Verfügung!

Zeige Source: /artepstables.php

Hier klicken für den Source, ODER
Weitere Dateien, von denen du den Quelltext sehen kannst:
(Das Lesen des Source, um sich spielerische Vorteile zu verschaffen, ist nicht erlaubt. Solltest du Schwachstellen oder Fehler entdecken, bist du als Spieler verpflichtet, diese zu melden.)

Source von: /artepstables.php

<?php

// 24062004

require_once "common.php";
page_header("Elfrieds Ställe");
// Haustier-Mod by Chaosmaker <webmaster@chaosonline.de>
// http://logd.chaosonline.de
function getpet($petid=0) {
$sql = "SELECT * FROM items WHERE id='$petid'";
$result = db_query($sql);
if (db_num_rows($result)>0) {
$row = db_fetch_assoc($result);
$row['buff'] = unserialize($row['buff']);
return $row;
}
else {
return array();
}
}
$playerpet = getpet($session['user']['petid']);
$petrepaygems = round($playerpet['gems']*2/3);


$repaygold = round($playermount['mountcostgold']*2/3,0);
$repaygems = round($playermount['mountcostgems']*2/3,0);
$futtercost = $session[user][level]*20;
//if (@file_exists("manger.php")) addnav("Die Krippe");
//if (@file_exists("manger.php")) addnav("Zur Krippe","manger.php");
addnav("Ausgang");
addnav("Zurück nach Artep","artep.php");
addnav("Aktionen");
if ($session['user']['hashorse']>0 && $session[user][fedmount]==0) addnav("f?{$playermount['mountname']} füttern (`^$futtercost`0 Gold)","artepstables.php?op=futter");
//if ($session['user']['petid']>0) addnav("t?{$playerpet['name']} füttern","artepstables.php?op=futterpet");

if ($_GET[op]==""){
checkday();
output("`n`7Hinter der Kneipe, direkt neben einer großen Wiese, befindet sich ein Stall,
wie man ihn in jedem Dorf erwartungsgemäß findet.
Darin kümmert sich Elfried, ein stämmiger Troll, um die Tiere des Ortes.
`n`n
Du näherst dich ihm, als er plötzlich herumwirbelt und seine Heugabel in deine ungefähre Richtung streckt. \"`&Ach,
'tschuldigung min ".($session[user][sex]?"Mädl":"Jung").", heb dich nit kommen hörn un heb gedenkt,
du bischt eina der Lauser, die ma widda Stroh füa ihr Hamsta klauen wolln. Naaahw, wat
kann ich für disch tun?`7\"");
} elseif ($_GET['op']=="examinepet") {
$pet = getpet($_GET['id']);
if (count($pet)==0) {
output("`n`7\"`&Ach, ich heb keen solches Tier da!`7\" ruft der Zwerg!");
}
else {
output("`n`7\"`&Ai, ich heb wirklich n paar feine Viecher hier!`7\" kommentiert der Zwerg.`n`n");
output("`7Kreatur: `&{$pet['name']}`n");
output("`7Beschreibung: `&{$pet['description']}`n");
output("`7Preis: `^{$pet['gold']}`& Gold, `%{$pet['gems']}`& Edelstein".($pet['gems']==1?"":"e")."`n");
output("`n");
//addnav("Dieses Tier kaufen","artepstables.php?op=buypet&id={$pet['id']}");
}

}elseif($_GET['op']=="examine"){
$sql = "SELECT * FROM mounts WHERE mountid='{$_GET['id']}'";
$result = db_query($sql);
if (db_num_rows($result)<=0){
output("`n`7\"`&Ach, ich heb keen solches Tier da!`7\" ruft der Zwerg!");
}else{
output("`n`7\"`&Ai, ich heb wirklich n paar feine Viecher hier!`7\" kommentiert der Zwerg.`n`n");
$mount = db_fetch_assoc($result);
output("`7Kreatur: `&{$mount['mountname']}`n");
output("`7Beschreibung: `&{$mount['mountdesc']}`n");
output("`7Preis: `^{$mount['mountcostgold']}`& Gold, `%{$mount['mountcostgems']}`& Edelstein".($mount['mountcostgems']==1?"":"e")."`n");
output("`n");
//addnav("Dieses Tier kaufen","artepstables.php?op=buymount&id={$mount['mountid']}");
}
} elseif ($_GET['op']=='buypet') {
$pet = getpet($_GET['id']);
if (count($pet)==0) {
output("`n`7\"`&Ach, ich heb keen solches Tier da!`7\" ruft der Zwerg!");
}
else {
if (
$session['user']['gold'] < $pet['gold']
||
($session['user']['gems']+$petrepaygems) < $pet['gems']
){
output("``n7Elfried schaut dich schief von der Seite an. \"`&Ähm, was gläubst du was du hier machst? Kanns u nich sehen, dass {$pet['name']} `^{$pet['gold']}`& Gold und `%{$pet['gems']}`& Edelsteine kostet?`7\"");
}
else {
$feeddays = getsetting("daysperday",4);
if ($session['user']['petid']>0) {
output("`n`7Du übergibst dein(e/n) {$playerpet['name']} und bezahlst den Preis für dein neues Tier. Elfried führt ein(e/n) schöne(n/s) neue(n/s) `&{$pet['name']}`7 für dich heraus und gibt dir Futter für $feeddays Tage dazu!`n`n");
}
else {
output("`n`7Du bezahlst den Preis für dein neues Tier und Elfried führt ein(e/n) schöne(n/s) neue(n/s) `&{$pet['name']}`7 für dich heraus und gibt dir Futter für $feeddays Tage dazu!`n`n");
}
// delete old pet
$sql = 'DELETE FROM items WHERE id='.$session['user']['petid'];
db_query($sql);
// insert new pet
$sql = "INSERT INTO items (name,class,owner,value1,value2,gold,gems,description,hvalue,buff)
VALUES ('{$pet['name']}','Haustiere',{$session['user']['acctid']},{$pet['value1']},{$pet['value2']},{$pet['gold']},{$pet['gems']},'".addslashes($pet['description'])."',{$session['user']['house']},'".addslashes(serialize($pet['buff']))."')";
db_query($sql);
$session['user']['petid'] = db_insert_id(LINK);
$session['user']['petfeed'] = date('Y-m-d H:i:s',time() + $feeddays * (3600*24 / getsetting("daysperday",4)));
$goldcost = -$pet['gold'];
$session['user']['gold'] += $goldcost;
$gemcost = $petrepaygems - $pet['gems'];
$session['user']['gems'] += $gemcost;
debuglog(($goldcost <= 0?"spent ":"gained ") . abs($goldcost) . " gold and " . ($gemcost <= 0?"spent ":"gained ") . abs($gemcost) . " gems trading for a new pet");
// Recalculate so the selling stuff works right
$playerpet = $pet;
$petrepaygems = round($playerpet['gems']*2/3,0);
}
}

}elseif($_GET['op']=='buymount'){
$sql = "SELECT * FROM mounts WHERE mountid='{$_GET['id']}'";
$result = db_query($sql);
if (db_num_rows($result)<=0){
output("`n`7\"`&Ach, ich heb keen solches Tier da!`7\" ruft der Zwerg!");
}else{
$mount = db_fetch_assoc($result);
if (
($session['user']['gold']+$repaygold) < $mount['mountcostgold']
||
($session['user']['gems']+$repaygems) < $mount['mountcostgems']
){
output("`n`7Elfried schaut dich schief von der Seite an. \"`&Ähm, was gläubst du was du hier machst? Kanns u nich sehen, dass {$mount['mountname']} `^{$mount['mountcostgold']}`& Gold und `%{$mount['mountcostgems']}`& Edelsteine kostet?`7\"");
}else{
if ($session['user']['hashorse']>0){
output("`n`7Du übergibst dein(e/n) {$playermount['mountname']} und bezahlst den Preis für dein neues Tier. Elfried führt ein(e/n) schöne(n/s) neue(n/s) `&{$mount['mountname']}`7 für dich heraus!`n`n");
$session[user][reputation]--;
}else{
output("`n`7Du bezahlst den Preis für dein neues Tier und Elfried führt ein(e/n) schöne(n/s) neue(n/s) `&{$mount['mountname']}`7 für dich heraus!`n`n");
}
$session['user']['hashorse']=$mount['mountid'];
$goldcost = $repaygold-$mount['mountcostgold'];
$session['user']['gold']+=$goldcost;
$gemcost = $repaygems-$mount['mountcostgems'];
$session['user']['gems']+=$gemcost;
debuglog(($goldcost <= 0?"spent ":"gained ") . abs($goldcost) . " gold and " . ($gemcost <= 0?"spent ":"gained ") . abs($gemcost) . " gems trading for a new mount");
$session['bufflist']['mount']=unserialize($mount['mountbuff']);
// Recalculate so the selling stuff works right
$playermount = getmount($mount['mountid']);
$repaygold = round($playermount['mountcostgold']*2/3,0);
$repaygems = round($playermount['mountcostgems']*2/3,0);
}
}
} elseif ($_GET['op']=='sellpet') {
$sql = 'DELETE FROM items WHERE id='.$session['user']['petid'];
db_query($sql);
$session['user']['gems'] += $petrepaygems;
debuglog("gained $petrepaygems gems selling their pet");
$session['user']['petid'] = 0;
$session['user']['petfeed'] = '0000-00-00 00:00:00';
output("`n`7So schwer es dir auch fällt, dich von dein(er/em) {$playerpet['name']} zu trennen, tust du es doch und eine einsame Träne entkommt deinen Augen.`n`n");
output("Aber in dem Moment, in dem du die `%$petrepaygems`7 Edelsteine erblickst, fühlst du dich gleich ein wenig besser.");
}elseif($_GET['op']=='sellmount'){
$session['user']['gold']+=$repaygold;
$session['user']['gems']+=$repaygems;
debuglog("gained $repaygold gold and $repaygems gems selling their mount");
unset($session['bufflist']['mount']);
$session['user']['hashorse']=0;
output("`n`7So schwer es dir auch fällt, dich von dein(er/em) {$playermount['mountname']} zu trennen, tust du es doch und eine einsame Träne entkommt deinen Augen.`n`n");
output("Aber in dem Moment, in dem du die ".($repaygold>0?"`^$repaygold`7 Gold ".($repaygems>0?" und ":""):"").($repaygems>0?"`%$repaygems`7 Edelsteine":"")." erblickst, fühlst du dich gleich ein wenig besser.");
$session[user][reputation]-=2;
} elseif ($_GET['op']=='futterpet') {
if (empty($_POST['days'])) {
output('`nDas Futter kostet `^'.$playerpet['value1'].' Gold`0 und
`%'.$playerpet['value2'].' Edelsteine`0 pro Tag.`n');
output('<form action="artepstables.php?op=futterpet" method="post">',true);
output('`nFür wie viele Tage möchtest du Futter kaufen?');
output('<input type="text" name="days" value="0"> <input type="submit" value="Kaufen!">',true);
output('</form>',true);
addnav('','artepstables.php?op=futterpet');
}
else {
$days = (int)$_POST['days'];
if ($session['user']['gold']>=$playerpet['value1']*$days && $session['user']['gems']>=$playerpet['value2']*$days) {
$session['user']['gold'] -= $playerpet['value1']*$days;
$session['user']['gems'] -= $playerpet['value2']*$days;
if ($playerpet['value1']>0) {
if ($playerpet['value2']>0) {
$coststr = '`^'.($playerpet['value1']*$days).' Gold`0 und `%'.($playerpet['value2']*$days).' Edelsteine`0';
}
else $coststr = '`^'.($playerpet['value1']*$days).' Gold`0';
}
else {
$coststr = '`%'.($playerpet['value2']*$days).' Edelsteine`0';
}
output('`nElfried nimmt die '.$coststr.' und gibt dir genug Futter, um dein(e/n) '.$playerpet['name'].' die nächsten '.$days.' Tage zu versorgen.`n');
$oldtime = strtotime($session['user']['petfeed']);
if ($oldtime < time()) $oldtime = time();
$newtime = $oldtime + $days * (3600*24 / getsetting("daysperday",4));
$session['user']['petfeed'] = date('Y-m-d H:i:s',$newtime);
}
else {
output('`n`7Du kannst das Futter nicht bezahlen. Elfried weigert sich, dein Tier für dich durchzufüttern.');
}
}
}elseif($_GET['op']=='futter'){
if ($session[user][gold]>=$futtercost) {
$buff = unserialize($playermount['mountbuff']);
if ($session['bufflist']['mount']['rounds'] == $buff['rounds']) {
output("`nDein {$playermount['mountname']} ist satt und rührt das vorgesetzte Futter nicht an. Darum gibt Elfried dir dein Gold zurück.");
}else if ($session['bufflist']['mount']['rounds'] > $buff['rounds']*.5) {
$futtercost=$futtercost/2;
output("`nDein {$playermount['mountname']} nascht etwas von dem vorgesetzten Futter und lässt den Rest stehen. {$playermount['mountname']} ist voll regeneriert. ");
output("`nDa aber noch über die Hälfte des Futters übrig ist, gibt dir Elfried 50% Preisnachlass.`nDu bezahlst nur $futtercost Gold.");
$session[user][gold]-=$futtercost;
$session[user][reputation]--;
}else{
$session[user][gold]-=$futtercost;
output("`nDein {$playermount['mountname']} macht sich gierig über das Futter her und frisst es bis auf den letzten Krümel.`n");
output("`nDein {$playermount['mountname']} ist vollständig regeneriert und du gibst Elfried die $futtercost Gold.");
$session[user][reputation]--;
}
$session['bufflist']['mount']=$buff;
$session[user][fedmount]=1;
} else {
output("`n`7Du hast nicht genug Gold dabei, um das Futter zu bezahlen. Elfried weigert sich dein Tier für dich durchzufüttern und empfiehlt dir, im Wald nach einer grasbewachsenen Lichtung zu suchen.");
}
}

$sql = "SELECT mountname,mountid,mountcategory FROM mounts WHERE mountactive=1 AND (mountid=1 OR mountid=2 OR mountid=3 OR mountid=4 OR mountid=5 OR mountid=10 OR mountid=11 OR mountid=12 OR mountid=13)ORDER BY mountcategory,mountcostgems,mountcostgold";
$result = db_query($sql);
$category="";
for ($i=0;$i<db_num_rows($result);$i++){
$row = db_fetch_assoc($result);
if ($category!=$row['mountcategory']){
//addnav($row['mountcategory']);
$category = $row['mountcategory'];
}
//addnav("Betrachte {$row['mountname']}`0","artepstables.php?op=examine&id={$row['mountid']}");
}
if ($session['user']['housekey']>0) {
$sql = 'SELECT name, id FROM items WHERE class="Haust.Prot" ORDER BY gold ASC, gems ASC';
$result = db_query($sql);
if (db_num_rows($result)>0) {
//addnav('Wachhunde');
while ($row = db_fetch_assoc($result)) {
//addnav("Betrachte {$row['name']}`0",'artepstables.php?op=examinepet&id='.$row['id']);
}
}
}

if ($session['user']['hashorse']>0){
output("`n`nElfried bietet dir `^$repaygold`& Gold und `%$repaygems`& Edelsteine für dein(e/n) {$playermount['mountname']}.");
addnav("Sonstiges");
addnav("1?Verkaufe {$playermount['mountname']}","artepstables.php?op=sellmount");
}
if ($session['user']['petid']>0) {
//if ($session['user']['hashorse']==0) addnav("Sonstiges");
output("`n`nElfried bietet dir `%$petrepaygems`7 Edelsteine für dein(e/n) {$playerpet['name']}.");
//addnav("2?Verkaufe {$playerpet['name']}","artepstables.php?op=sellpet");
}


page_footer();
?>