(Admin: Bitte in den Bereich Mods verschieben, Danke).
Hier ein Addon für die Logd Version 0.97: Eine Zugbrücke zwischen zwei Orten (je für eine Richtung), bei der die Passierdauer einige Realsekunden (mind. 1 Minute!) beträgt. Trotz klick bewegt sich die Brücke stets alle 5 Sekunden ein Stück hoch und nach 30 Sekunden passieren 1-? Schiffe die Brücke. Während dieser Zeit kann man ein wenig das Ufer besuchen und dort mit etwas Glück die Zeit totschlagen, Gold und Edelsteine oder Verletzungen und den Tod finden ... wenn nicht wartet man eben ein bischen, beobachtet die mühsame Arbeit, redet mit Leidensgenossen und erlebt halt eine Zugbrücke.
Hinweis:
Die Bilder dazu lade ich gepackt nach Verschiebung hoch, ebenso den Code - Updates wirds de facto auch noch geben.
Edit: 1. Update auf Version 1.1
Bessere Anpassung und höhere Chancen durchzukommen, auch edie Wartedauer im Mittelteil ist deutlich geringer, Beim Abenteuer sind die Sterbefolgen etwas gemildert und es gibt (gegen Bares) ne schnelle Fähre mit wenig Risiko *s* ...
Einbau:
Einfach irgendwo verlinken und die Namen im ersten Bereich des Sources eintragen (Default: village.php und palastviertel.php), ist beschrieben.
Wird das Mod mehrfach benutzt, einfach die Variable unter Modname (Vorgabe: bridge.php) durch den anderen Namen (bridge1.php z.B.) ersetzen. Eigentlich wollt ichs automatisch detektieren lassen, aber da eh Änderungen notwenig sind (Herkunft=kein Prob, Modname auch keine aber wohin geht (noch) nicht automatisch).
Die Bilder bitte nach /images unter eurem Logdroot kopieren.
Falls Bugs drin sind, bitte an mich, Lob gerne auch: 100% Eigenwerkelei.
Viel Spass, euer Adminator.
(Update auf 1.1. am 18.7.2007)
[php]
<?php
////////////////////////////////////////
// (c) by Uwe Eckert (Adminator) //
// 16.07.2007 Ziehbrücke.php //
// Version 1.1 (zus. Fähre,opt.) //
// //
// für Logd 0.97 - Fochalan Edition //
//
http://www.celticdruid.net/logd //
// //
// Nutzung frei mit GNU Lizenz ab 1.2 //
// und unveränderten Copyrighthinweis //
// //
// Bugs bitte an mich, fix sie fix. //
// //
// Einbau: Einfach in village.php //
// verlinken und "Zielort" oder den //
// Herkunftsort und natürlich auch //
// den Modnamen anpassen. Es sind //
// keine weiteren Änderungen nötig. //
// (Vorgabe ist bridge.php) //
// //
// Es lebe der alte PD Gedanke! //
// //
////////////////////////////////////////
//////////////////////////////////////////////
//Nachfolgende Zeilen anpassen! //
//////////////////////////////////////////////
$zielort="Fochalan Palastviertel"; //wohin
$zielortfile="palastviertel.php"; //modname wohin
$herkunftsort="Fochalan Marktviertel"; //woher
$herkunftsfile="village.php"; //modname woher
$modname="bridge.php"; //Diese Datei! (Könnte man auch automatisch machen, aber es muss ja eh editiert werden)
$titelmod="`c`QZ`pu`Qg`p-`Qb`pr`Qü`pc`Qk`pe`c`n`n"; //in bunt und sonderfarbe, entkommentieren?!
//$titelmod="`cZiehbrücke`c`n`n"; //in bunt und normal, auskommentieren falls obig gewollt!
//////////////////////////////////////////////
//ab hier bitte höchstens Farbe ändern... //
//oder mir ne bessere Version zukommen //
//lassen *hrhrhr* :-) //
//////////////////////////////////////////////
require_once "common.php";
addcommentary();
//////////////////////////////////////////////
//Variablen definieren //
//////////////////////////////////////////////
If ($date_fertig=="")$date_fertig = time() + 60;
//////////////////////////////////////////////
//Ankunft an der Brücke wahrscheinlich //
//ist sie mal grade wieder oben ... ;-) //
// //
//In dieser Version gibts Chancen dafür, //
//das man sie flott passieren kann. //
//////////////////////////////////////////////
if ($_GET[op]==""){
page_header("Zugbrücke");
output($titelmod);
output("<img src='images/bridge1.jpg' width='320' height='280' alt='' align='right'>",true);
output("Es steht zwischen ".$herkunftsort." und ".$zielort." eine kleine, fast unscheinbare Zugbrücke.`n Jene ist die einzige Verbindung zwischen beiden Orten und kann auch nur in einer Richtung jeweils begangen werden. Dummerweise wurde der Schiffsverkehr in der letzten Zeit immer häufiger und die Schiffe immer länger, so das man da schon mal eine Weile davor stehen kann. Du siehst Leute, die reden und andere die sich am Ufer vergnügen und wieder Andere, die wohl frustriert umdrehen.`n`n");
output("`c`b`5Kleines Vorwort zur \"Brücke\"`b`c`n`n`nAuch in Realzeit hilft dir ein schneller Klick und Drängeln bei Zugbrücken nicht weiter, ne alte Zugbrücke mit Handkurbel braucht Kraft und Zeit und so dauert es stets eine Realminute bevor jene Brücke oben ist, eine gewisse Zeit in der sie oben bleibt und wieder eine Minute in der sie runtergeht. Immerhin kann man ihr zusehen :-) und in Wirklichkeit wartet man sicher länger ;-)!`n`n");
switch(e_rand(1,20))
{
case 1:
case 2:
case 3:
case 4:
output("Die Brücke geht grade hoch, du ärgerst dich das Du jetzt lange warten musst! Immerhin eine gute Gelegenheit zum Zusehen...`n`n");
addnav("Sieh zu und warte!",$modname."?op=hoch");
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
break;
case 5:
case 6:
case 7:
case 8:
case 9:
output("Die Brücke ist grade hochgezogen. Na immerhin musst du nicht mehr so lange warten! Sicher eine gute Gelegenheit zum Zusehen...`n`n");
addnav("Ich warte!",$modname."?op=top");
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
break;
case 10:
case 11:
case 12:
case 13:
output("Brücke geht grade runter, na immerhin musst du nicht mehr lang warten! Eine gute Gelegenheit zum frohgelaunten Zusehen...`n`n");
addnav("Sieh zu",$modname."?op=runter");
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
break;
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
$_get[op]="";
output("Brücke passierbar nach ".$zielort.". ");
addnav("überqueren nach ".$zielort,$zielortfile);
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
break;
default:
}
addnav("Fähre nach ".$zielort." nehmen",$modname."?op=faehre");
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
//////////////////////////////////////////////
//Warten an der Brücke (auf 5 Sekunden je //
//Phase eingestellt - Aktualisieren aus- //
//tricksen ist schwer... 1 x Klicken muß //
// //
//////////////////////////////////////////////
}elseif ($_GET[op]=="hoch"){
page_header("Zugbrücke");
output($titelmod);
$date_oben=$_GET[date_oben];
if ($date_oben==0)$date_oben = time();
if(time()>($date_oben+25)){
output("<img src='images/bridge5.jpg' width='320' height='280' alt='' align='right'>",true);
output("Brücke ist nun ganz oben und du siehst einem Boot zu, wie es die Brücke unterquert... `n`n");
addnav("Hoffen & zusehen (1-?sec.)",$modname."?op=top");
}elseif(time()>($date_oben+20)){
output("<img src='images/bridge4.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist fast oben, der Kapitän weißt die Mannschaft an, das Boot bereit zu machen.`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_oben=".$date_oben);
addnav("Weiter zusehen (5sec.)",$modname."?op=hoch&date_oben=".$date_oben);
}elseif(time()>($date_oben+15)){
output("<img src='images/bridge3.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist nun schon ein Stück oben, der Kapitän feuert die Brückenwärter an sie sollen schneller kurbeln!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_oben=".$date_oben);
addnav("Weiter zusehen (10sec.)",$modname."?op=hoch&date_oben=".$date_oben);
}elseif(time()>($date_oben+10)){
output("<img src='images/bridge3.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist ein kleines Stück oben, der Kapitän sieht ungeduldig hoch!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_oben=".$date_oben);
addnav("Weiter zusehen (15sec.)",$modname."?op=hoch&date_oben=".$date_oben);
}elseif(time()>($date_oben+5)){
output("<img src='images/bridge2.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke bewegt sich, die Brückenwärter kurbeln wie besessen!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_oben=".$date_oben);
addnav("Weiter zusehen (20sec.)",$modname."?op=hoch&date_oben=".$date_oben);
}else{
output("<img src='images/bridge1.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke wird von den Brückenwärtern gesperrt und ein Schiff wartet offenbar auf Durchfahrt! Es wäre sicher sinnvoll sich anzustellen, ansonsten wartest du ewig!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_oben=".$date_oben);
addnav("Anstellen,zusehen (25sec)",$modname."?op=hoch&date_oben=".$date_oben);
}
addnav("Fähre nach ".$zielort." nehmen",$modname."?op=faehre&date_oben=".$date_oben);
addnav("zurück nach ".$herkunftsort,$herkunftsfile);
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
//////////////////////////////////////////////
//Etwas reduziert, die Folgen sind weniger //
//heftig (grad beim Sterben), aber: //
//Geld und Gems weg muß sein, wg. Balance //
//(Der Zeitvertreib beim Warten *s*) //
//////////////////////////////////////////////
}elseif ($_GET[op]=="zeitvertreib"){
page_header("Zugbrücke");
output("<img src='images/bridge5.jpg' width='320' height='280' alt='' align='right'>",true);
output($titelmod);
$date_oben=$_GET[date_oben];
$date_unten=$_GET[date_unten];
switch (e_rand(1,15)){
case 1:
case 2:
output("Du siehst etwas glänzendes im Wasser und greifst danach, du findest 20 Goldmünzen. Sie sind zwar nass, aber immerhin deins.");
$session[user][gold]+=10;
break;
case 3:
output("Du sitzt so am Ufer und vergisst die Zeit beim Plätschern des Wassers, uppps! Die Brücke ist längst wieder an der gleichen Stelle unten als du den Graben hochkriechst... Du verlierst dadurch Zeit und Waldkämpfe.");
$session[user][turns]-=10;
break;
case 4:
output("Es passiert rein garnichts, ausser das du 5 Runden verlierst!");
$session[user][hitpoints]-=5;
break;
case 5:
case 6:
output("Du nickst kurz ein, doch du wachst erschrocken hellwach und erholt wieder auf. Du erhältst 10 zusätzliche Runden!");
$session[user][turns]+=10;
break;
case 7:
output("Du rutschst ab und ertrinkst fast! Erleichtert kriechst du hoch, aber bemerkst, das all dein Gold weg ist. Pech.");
$session[user][gold]=0;
break;
case 8:
output("Du siehst etwas glänzendes im Wasser und greifst danach, da beisst es: Es war ein stierhalsiger Riesengammler der dich mit einem kleineren Fisch verwechselt! Er flüchtet und du fluchst über den Verlust von 10 Lebenspunkten!");
$session[user][hitpoints]-=10;
break;
case 9:
case 10:
output("Du siehst etwas rubinrot glänzendes am Ufer und greifst danach, da beisst es: Es war eine rubinfarbene Daumenkrabbe die deinen großen Onkel wohl mit Futter verwechselt! Sie flüchtet und du fluchst über den Verlust von 10 Lebenspunkten!");
$session[user][hitpoints]-=10;
break;
case 11:
case 12:
output("Du siehst etwas rubinrot glänzendes am Ufer und greifst danach, es sind 10 Edelsteine!!!");
$session[user][gems]-=10;
break;
case 13:
case 14:
output("Du rutschst ab und ertrinkst fast! Erleichtert kriechst du hoch, aber bemerkst, das all deine Edelsteine weg sind. Pech.");
$session[user][gems]=0;
break;
case 15:
output("Du rutschst ab und ertrinkst!Pech.");
addnews("`&An der schönen Zugbrücke fand ".$session['user']['name']." durch Unachtsamkeit den Tod!");
$session['user']['hitpoints']=0;
$session['user']['alive']=0;
$session['user']['experience']*=0.75;
addnav("Tägliche News","news.php");
break;
}
// Von woher kommen wir denn?
if ($date_oben!="")
{
addnav("Weiter zusehen",$modname."?op=hoch&date_oben=".$date_oben);
}elseif ($date_unten!=""){
addnav("Du musst nun warten",$modname."?op=runter&date_unten=".$date_unten);
//Nirgends... im Bugfalle
}else{
addnav("Zurück zu ".$herkunftsort,$herkunftsfile);
}
addnav("Zurück zu ".$herkunftsort,$herkunftsfile);
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
//////////////////////////////////////////////
//Warten an der Brücke , aber es gibt //
//Hoffnung, denn sie kommt baaaald runter. //
// //
//Hier hab ich die Chancen drastig erhöht, //
//Pechvögel warteten schon mal über 10 Min! //
// //
//////////////////////////////////////////////
}elseif ($_GET[op]=="top"){
page_header("Zugbrücke");
output("<img src='images/bridge5.jpg' width='320' height='280' alt='' align='right'>",true);
output($titelmod);
if ($date_unten="")$date_unten = time();
switch(e_rand(1,15))
{
case 1:
output("Du ahnst es sicher: Ein weiteres Boot will hindurch und jener Kapitän scheint erst recht genervt zu sein, sein wirres Gekreische hört man auch mit Finger in den Ohren!`n`n");
addnav("Du wartest (weiter)",$modname."?op=top");
break;
case 2:
output("Einmal ist keinmal, noch ein Boot, diesmal aber nur ein Fischer, der sich grinsend zwischen die Kähne schob.!`n`n");
addnav("und Du musst noch warten (weiter)",$modname."?op=top");
break;
case 3:
output("Der Stolz von ".$herkunftsort." fährt gerade unter der Brücke durch, herrliches Schiff!`n`n");
addnav("Du musst weiter warten (weiter)",$modname."?op=top");
break;
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
addnav("Die Brücke geht runter (weiter)!",$modname."?op=runter");
break;
case 15:
output("Jetzt kommt die alte Stern von ".$zielort." und schleicht unter der Brücke durch...!`n`n");
addnav("Du musst immer noch warten (weiter)",$modname."?op=top");
break;
default:
}
addnav("Fähre nach ".$zielort." nehmen",$modname."?op=faehre");
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
//////////////////////////////////////////////
//Warten an der Brücke , aber sie kommt //
//runter, alles Warten hat ein Ende ... //
//////////////////////////////////////////////
}elseif ($_GET[op]=="runter"){
$date_unten=$_GET[date_unten];
if ($date_unten==0)$date_unten = time();
page_header("Zugbrücke");
output($titelmod);
if(time()>($date_unten+25)){
output("<img src='images/bridge1.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist unten, du bekommst gerade noch mit, wie der Kapitän beruhigt wird, das es gleich weitergeht!`n`n");
output("`n`nDie Brücke ist nun passierbar nach ".$zielort.". `n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("Überqueren zu ".$zielort,$zielortfile);
}elseif(time()>($date_unten+20)){
output("<img src='images/bridge2.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist fast unten und du hörst einem aufkommenden Streitgespräch zwischen Kapitän und den Brückenwärtern zu!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("kurz warten (5sec.)",$modname."?op=runter&date_unten=".$date_unten);
}elseif(time()>($date_unten+15)){
output("<img src='images/bridge2.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke ist nun schon ein ganzes Stück weit unten, ein neues Schiff kommt an und wird von den Brückenwärtern zum Halten aufgefordert!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("nicht lang warten (10sec.)",$modname."?op=runter&date_unten=".$date_unten);
}elseif(time()>($date_unten+10)){
output("<img src='images/bridge3.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke bewegt ein Stück abwärts, die Brückenwärter werden von den Leuten angefeuert!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("Du musst warten (15sec.)",$modname."?op=runter&date_unten=".$date_unten);
}elseif(time()>($date_unten+5)){
output("<img src='images/bridge4.jpg' width='320' height='280' alt='' align='right'>",true);
output("Die Brücke bewegt sich, die Brückenwärter kurbeln wie besessen!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("weiter warten (20sec.)",$modname."?op=runter&date_unten=".$date_unten);
}else{
output("<img src='images/bridge5.jpg' width='320' height='280' alt='' align='right'>",true);
output("Das Boot hat mit ein paar saftigen Flüchen des Kapitäns die Brücke passiert, einer der Brückenwärter wirft jenem einen bitterbösen Blick zu!`n`n");
addnav("zum Zeitvertreib unter der Brücke nachsehen",$modname."?op=zeitvertreib&date_unten=".$date_unten);
addnav("abwarten... (25sec.)",$modname."?op=runter&date_unten=".$date_unten);
}
addnav("Fähre nach ".$zielort." nehmen",$modname."?op=faehre&date_unten=".$date_unten);
addnav("Ich geh zurück zu ".$herkunftsort,$herkunftsfile);
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
//////////////////////////////////////////////
//Warten an der Brücke , aber es gibt //
//ja auch noch eine Fähre! Jene ist zwar //
//altersschwach und kostet viel Geld, ist //
//aber einen Versuch wert //
//Pechvögel können aber auch kentern! //
// //
//////////////////////////////////////////////
}elseif($_GET[op]=="faehre"){
$date_unten=$_GET[date_unten];
$date_oben=$_GET[date_oben];
page_header("Zugbrücke");
output("<img src='images/bridge6.jpg' width='320' height='280' alt='' align='right'>",true);
output($titelmod);
output("Alle anderen warten vor der schnöden Brücke, aber du besitzt ja nicht umsonst den Ruf immer etwas in Petto zu haben. Also denkst du dir, das die alte Fähre ja auch noch da ist und wertvolle Zeit spart. Sicherlich kostet sie eine Menge Gold und ist auch nicht mehr die jüngste, aber sie ist glücklicherweise grad da.",true);
if ($session[user][gold]>300)
{
$session[user][gold]-=300;
output("Du gibst dem Kapitän satte 300 Goldstücke und betrittst mit einem erheblichen Magengrummeln das altersschwache Boot namens Anna. Fast kommt dir das Kreischen der Möven höhnisch vor, doch...");
switch(e_rand(1,15))
{
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
output("das Boot hält und unter dem Staken des Fährmannes legt es sogar ganz gut Geschwindigkeit zu. Es scheint wirklich alles gut zu gehen, denkst du dir.");
output("Kaum zu glauben aber wahr: Unter den geschickten Händen des Fährmannes schlängelt es sich zwischen den Kähnen hindurch, du bist drüben!");
addnav("Lachend rüber nach ".$zielort,$zielortfile);
break;
case 13:
output("das Boot hält und unter dem Staken des Fährmannes legt es sogar ganz gut Geschwindigkeit zu. Es scheint wirklich alles gut zu gehen, denkst du dir.");
output("Doch Herrje: Die Fähre zittert, als sie von einem ungeduldigen Lastkahn gerammt wird!Pech. Es fällt dir dein Gold über Bord. Glücklicherweise kommst du an.");
$session[user][gold]=0;
addnav("Brummig rüber nach ".$zielort,$zielortfile);
break;
case 14:
output("das Boot hält und unter dem Staken des Fährmannes legt es sogar ganz gut Geschwindigkeit zu. Es scheint wirklich alles gut zu gehen, denkst du dir.");
output("Doch Herrje: Die Fähre kentert, als sie von einem ungeduldigen Lastkahn gerammt wird!Pech. Du schwimmst patschnass zurück zum Ufer, immerhin konnten sich alle retten.");
addnav("Frustriert zurück nach ".$herkunftsort,$herkunftsfile);
break;
case 15:
output("Die Fähre kentert, als sie von einem ungeduldigen Lastkahn gerammt wird!Pech. Noch größeres Pech ist allerdings, das du beim Zusammenprall über Bord fällst und zwischen die Schiffe gerätst.");
addnews("`&An der schönen Zugbrücke fand ".$session['user']['name']." zwischen Fähre und Lastkahn als Briefmarke den Tod!");
$session['user']['hitpoints']=0;
$session['user']['alive']=0;
$session['user']['experience']*=0.75;
addnav("Tägliche News","news.php");
break;
}
}else{
output("Der Fährmann schimpft, das seine Dienste doch nicht umsonst wären! Zumindest nicht so billig wie die 2 Deppen, die dort oben kurbeln: Es kostet 300 Goldstücke!. Enttäuscht reihst du dich wieder in die Warteschlange ein.");
// wo haben wir denn die Geduld verloren?
if ($date_unten=="" AND $date_oben=="")
{
addnav("Zurück zur Brücke",$modname."?op=top");
}elseif($_GET[date_oben]!=""){
addnav("Zurück zur Brücke",$modname."?op=runter&date_oben=".$date_oben);
}else{
addnav("Zurück zur Brücke",$modname."?op=runter&date_unten=".$date_unten);
}
}
output("In deiner Nähe stehen Leute und unterhalten sich");
viewcommentary("bruecke","Jemand schimpft:",30,"");
}
//fertig, nur noch neuer Tag und Pageende
checkday();
output("copyright by Adminator for
http://www.celticdruid.net/logd");
page_footer();
?>
[/php]