NEUFAUFLAGE DER HUNGER UND DURST FUNKTION VON SIR KEITH
=======================================================

Ich habe damals in meinem Spiel die Hunger und Durst Funktion eingebaut, die jedoch zum einen kleine Fehler enthielt, zum anderen gefiel mir der Laden aber absolut nicht. Ich habe die Funktion in ihrer Grundfunktion so belassen, jedoch folgendes gendert gegenber dem Ursprungszip:

- Ein neuer Lebensmittelladen (onkeltom.php): der alte (groceries.php) ist auch noch mal enthalten, ist jedoch optisch    nicht so schn und auch ein Stck weit unpraktischer und vor allem auch teurer, wobei die Preise in dem von mir
  gemachten Laden dem eignen Server angepat werden knnen. Ein weiterer Vorteil: nicht bentigte Rationen knnen auch
  wieder verkauft werden und Bauernkinder ohne DK bekommen ihre Rationen kostenlos, knnen dafr aber auch keine 
  Rationen verkaufen.

- 2 Waldereignisse: bei einem findet der User Essen, bei dem anderen Trinken. Das Finden von Essen/Trinken/Beidem kann
  auch schn noch mit anderen Ereignissen verknpft werden, z.B. habe ich 2 Monde, haben beide Vollmond findet der User
  etwas besonderes, ansonsten Essen, Trinken oder Beides, und zwar in grozgigem Ausma. Auch sollte man bestehende
  Ereignisse entsprechend anpassen, so habe ich z.B. bei der Waldmine -3 Hunger eingebaut, beim Ziegeunerlager, wenn 
  der User was it/trinkt +2 Hunger/Durst, in der Burgschenke +2HUnger/Durst, usw.

- Fr die Verwender von Chaosmakers Wohnviertel: 2 Funktionsmbel (Kchenschrank & Wasserfa)
  Der User kann vor dem DK brige Wasser- oder Essensrationen im Haus einlagern (max.14) und diese jederzeit auch
  wieder mitnehmen

- Funktionierende Konsequenzen, wenn der User kein Essen und/oder Trinken mehr hat sowie deren Heilung
  In der alten Funktion war etwas angegeben, was aber nicht funktionierte, meine Methode klappt 100%! So wird jeder
  immer schn darauf achten, genug Essen und Trinken fr den Folgetag zu haben


Einbau der Hunger und Durst Funktion:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Fhre in der PHP MyAdmin aus:
=============================

ALTER TABLE `accounts` ADD `hungry` int(11) unsigned NOT NULL default 100;
ALTER TABLE `accounts` ADD `thirsty` int(11) unsigned NOT NULL default 50;
ALTER TABLE `accounts` ADD `hukr` INT(10) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `accounts` ADD `dukr` INT(10) UNSIGNED NOT NULL DEFAULT '0';



nderungen in der common.php:
=============================

finde:
------

     $u['hitpoints']=round($u['hitpoints'],0);

Schreibe darunter:
------------------
 
		$u['hungry']=round($u['hungry'],0);
		$u['thirsty']=round($u['thirsty'],0);

finde:
------

     .templatereplace("statrow",array("title"=>"Turns","value"=>$u['turns']))

Schreibe darunter:
------------------

                        .templatereplace("statrow",array("title"=>"Hungry","value"=>$u['hungry']))

                        .templatereplace("statrow",array("title"=>"Thirsty","value"=>$u['thirsty']))


nderungen in der newday.php:
=============================

finde:
------

		$session['user']['turns']=$turnsperday+$spirits+$dkff;


Schreibe darber:
-----------------

		if ($session['user']['hungry']<1){
                	$session['user']['hukr']=1;
		}
		if ($session['user']['thirsty']<1){
                	$session['user']['dukr']=1;
		}
		if ($session['user']['hungry']>0 && $session['user']['thirsty']>0){
                	output("`2Du bist heute hungrig und durstig. `n");
                	$session[user][hungry]-=10;
                	$session[user][thirsty]-=5;
		}



finde:
------

		if ($session['user']['race']==3) {
			$session['user']['turns']++;
			output("`n`7Weil du ein Mensch bist, bekommst du `^1`7 Waldkampf zustzlich!`n`0");
		}


Schreibe darunter:
------------------

//Hunger&Durst Buffs by Morpheus
	if ($session['user']['hukr']>0){
		output("`n`3Deine `4Magen knurrt `3unaufhrlich und der Hunger nagt an Deinen Krften, Du solltest `Tdringenst etwas essen `3und `^beim Heiler `3Deinen strapazierten Magen behandeln lassen!!`n`0");
		addnews($session['user']['name']."`T ist vor Hunger ganz schwach!`0");
		$buff = array("name"=>"`THungerschwche","rounds"=>200,"wearoff"=>"`TDein Magen gibt wieder Ruhe","defmod"=>0.5,"atkmod"=>0.5,"roundmsg"=>"`TDein Magen krampft sich zusammen und behindert Dich im Kampf","activate"=>"defense");
    		$session['bufflist']['hungerbuff'] = $buff;
}
if ($session['user']['dukr']>0){
		output("`n`3Dein Krper scheint wie `1ausgetrockent `3und Deine Sinne funktionieren kaum noch richtig, Du solltest `#dringenst etwas trinken `3und die Austroknung `^beim Heiler `3behandeln lassen!!`n`0");
		addnews($session['user']['name']."`t ist vor Durst ganz schwach!`0");
		$buff =array("name"=>"`tAustrocknung","rounds"=>200,"wearoff"=>"`tDeine Sinne funktionieren wieder","defmod"=>0.5,"atkmod"=>0.5,"roundmsg"=>"`tDeine Sinne funktinieren nicht richtig, weil Du zu groen Durst hast","activate"=>"defense");
    		$session['bufflist']['durstbuff'] = $buff;
}
//Hunger&Durst Ende



nderung in der user.php:
=========================

Finde:
------

      "maxhitpoints"=>"Max Hitpoints,int",



Schreibe darunter:
------------------

        "hungry"=>"Hunger Punkte,int",
        "thirsty"=>"Durst Punkte,int",



nderungen in der healer.php:
=============================

Finde:
------

require_once "common.php";

Schreibe darunter:
------------------

$b1name = $session['bufflist']['hungerbuff']['name'];
$rounds = $session['bufflist']['hungerbuff']['rounds'];
$b2name = $session['bufflist']['durstbuff']['name'];
$rounds = $session['bufflist']['durstbuff']['rounds'];

Finde 2x:
---------

		addnav("`bZurck`b");
		addnav("Zurck in den Wald","forest.php");
		addnav("Zurck ins Dorf","village.php");


Schreibe darber:
-----------------

		if ($session['user']['hukr']>0){
			addnav("`TStrapazierten Magen behandeln - `@3 Gems`0","healer.php?op=magen");
		}
		if ($session['user']['dukr']>0){
			addnav("`tAustrocknung behandeln - `@3 Gems`0","healer.php?op=trocken");
		}

Finde:
------

page_footer();
?>


Schreibe darber:
-----------------


if ($_GET[op]=="magen"){	
	if ($session['user']['gems']<3){
		output("`3Das Wesen sieht Dich mit einem ernsten und leicht boesen Blick an und Du weit erst garnicht wieso, bis Du siehst, da Du viel zu wenig Gems auf den Tisch gelegt hast.");
		addnav("Zurck in den Wald","forest.php");
		addnav("Zurck ins Dorf","village.php");
	}else{
		output("`3Das Wesen hlt Dir einen Vortrag, wie wichtig es ist, immer genug zu essen, dann dreht er sich um, nimmt eine Phiolle mit einer belriechenden Flssigkeit und reicht sie Dir.");
		output("Vor Ekel verziehst Du die Nase, aber schluckst den Trank herunter, wobei Du sogleich eine wohltuende Wirkung sprst.`nDu gibst dem Heiler die 3 Gems, bedankst Dich fr den Vortrag, versprichst ihm, knftig immer genug zu essen und machst Dich wieder auf den Weg");
		output("`n`n`#Dein strapazierter Magen wurde vom Heiler geheilt!");
		$session['user']['gems']-=3;
		$session['user']['hukr']=0;
		unset($session['bufflist']['hungerbuff']);
		addnews($session['user']['name']." `Twurde vom Heiler der strapazierte Magen geheilt!`0");
		addnav("Zurck in den Wald","forest.php");
		addnav("Zurck ins Dorf","village.php");
	}
}
if ($_GET[op]=="trocken"){	
	if ($session['user']['gems']<3){
		output("`3Das Wesen sieht Dich mit einem ernsten und leicht boesen Blick an und Du weit erst garnicht wieso, bis Du siehst, da Du viel zu wenig Gems auf den Tisch gelegt hast.");
		addnav("Zurck in den Wald","forest.php");
		addnav("Zurck ins Dorf","village.php");
	}else{
		output("`3Das Wesen hlt Dir einen Vortrag, wie wichtig es ist, immer genug zu trinken, dann dreht er sich um, nimmt eine Phiolle mit einer belriechenden Flssigkeit und reicht sie Dir.");
		output("Vor Ekel verziehst Du die Nase, aber schluckst den Trank herunter, wobei Du sogleich eine wohltuende Wirkung sprst.`nDu gibst dem Heiler die 3 Gems, bedankst Dich fr den Vortrag, versprichst ihm, knftig immer genug zu trinken und machst Dich wieder auf den Weg");
		output("`n`n`#Dein strapazierter Magen wurde vom Heiler geheilt!");
		$session['user']['gems']-=3;
		$session['user']['dukr']=0;
		unset($session['bufflist']['durstbuff']);
		addnews($session['user']['name']." `twurde vom Heiler von der Austrocknung geheilt!`0");
		addnav("Zurck in den Wald","forest.php");
		addnav("Zurck ins Dorf","village.php");
	}
}


Jetzt mu noch der Lebensmittelladen verlinkt werden, was berall geschehen kann, z.B. auf dem Dorplatz ber der Kneipe. 

Such in der village.php:
------------------------

addnav("Tavernenstrae");

Fge darunter ein:
------------------

- fr den Laden von Sir Keith:

addnav("Sir Keith Rationen","groceries.php");

- fr den von mir gemachten Laden:

addnav("Onkel Toms Lebensmittel Laden","onkeltom.php");


Bentigt wird nur einer der beiden Lden, welchen ihr nutzen wollt, sei Euch berlassen, die Preise in meinem Laden drfen gerne dem Server angepat werden, doch bitte ich darum, Onkel Tom als Inhaber zu belassen ;)
Wer gerne auch die Funktionsmbel nutzen mchte:

Fhre in der PHP MyAdmin aus:
=============================

ALTER TABLE `accounts` ADD `eseila` INT(10) UNSIGNED NOT NULL DEFAULT '0';
ALTER TABLE `accounts` ADD `waeila` INT(10) UNSIGNED NOT NULL DEFAULT '0';

nderung in dem Hausmodul kitchen.php:
======================================

Suche:
------

	addnav("Frhstck","houses.php?op=drin&act=frustuck");
	addnav("Mittagessen","houses.php?op=drin&act=mittagessen");
	addnav("Abendessen","houses.php?op=drin&act=abendessen");
	addnav("Snack","houses.php?op=drin&act=snack");

Fge darunter ein:
------------------

	addnav("Vorratslager");
	$sql = "SELECT name,description FROM items WHERE value1={$session['user']['specialmisc']['houseid']} AND class='Mbel' ORDER BY class,id ASC";
	$result = db_query($sql) or die(db_error(LINK));
	 for ($i=1;$i<=db_num_rows($result);$i++){
		$item = db_fetch_assoc($result);
			if ($item[name]=="Kchenschrank")addnav("Essensrationen","kueschrank.php");
			if ($item[name]=="Wasserfass")addnav("Wasserartionen","wafa.php");
	}


nderung in der dragon.php:
===========================

Suche 2x:
---------

				,"petfeed"=>1


Fge darunter ein:
------------------

				,"eseila"=>1
				,"waeila"=>1



Danach gehe in den Item Editor und schaffe noch beide Mbelstcke (Wasserfass und Kchenschrank), damit sie auch beim Wanderhndler gekauft werden knnen. Jetzt nur noch die beiden Dateien wafa.php und kueschrank.php ins Hauptverzeichnis hochladen und voila!



Ich habe einige Zeit damit verbracht, die Funktion so hin zu bekommmen, ich hoffe, Ihr und Eure Spieler werdet viel Spa damit haben. Seid fair, ndert nicht einfach die Texte und behauptet dann, es sei von Euch sondern respektiert die Mhe und Denkarbeit, die hinter allem steckt, so wie ich auch respektiere, da die Grundfunktion von Sir Keith ist!

Beste Gre
Morpheus
