anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Waldspecial Demon.php https://anpera.dyndns.org/phpbb3/viewtopic.php?f=43&t=3495 |
Seite 1 von 1 |
Autor: | xItachix [ Sa 24 Mär, 2007 06:47 ] |
Betreff des Beitrags: | Waldspecial Demon.php |
Ich poste hier auch einmal eines meiner Waldspecial Der Spieler trifft, wenn er weitergeht auf einen Dämon und er hat dann die wahl hat, ob er den Dämonen treten will, oder ob er ihm einen Edelstein geben will. Je nachdem, was er macht hat es unterschiedliche positive oder negative auswirkungen. Bitte: Verschieben Getestet: Ja Feedback: Erwünscht ![]() [php] <?php //°-------------------------° //| demon.php | //| Script by | //| xitachix | //| mcitachi@web.de | //°-------------------------° //http://logd.macjan.de/ if (!isset($session)) exit(); if ($_GET['op']==""){ output("`n`c`tDer finstere Waldpfad`c`n`n"); output("`n`tDu schlenderst durch den Wald, auf der Suche nach Monstern"); output("`n`tDoch statt den Monstern findest du einen finsteren Waldpfad"); output("`n`tGehst du den Pfad, oder verschwindest du lieber um Monster zu töten?"); $session['user']['specialinc']="demon.php"; addnav("Den Pfad gehen","forest.php?op=go"); addnav("Zurück","forest.php?op=z"); } if ($_GET['op']=="go"){ output("`n`tDu gehst durch den dunklen Pfad den du gewählt hast und siehst dich um."); output("`n`tAlles um dich drum herum scheint finster zu sein."); output("`n`tDu kannst dich entscheiden: du kannst gehen.."); output("`n`tOder du kannst den Pfad weitergehen."); $session['user']['specialinc']="demon.php"; if(($session['user']['turns']>1) && ($session['user']['gems']>1)) addnav("Weiter","forest.php?op=w"); addnav("Zurück","forest.php?op=z"); //addnav("Zurück in den Wald","forest.php"); } if ($_GET['op']=="w"){ output("`n`tDu gehst den Weg weiter und siehst plötzlich einen Dämon hinter einem Baum stehen"); output("`n`tEr sieht dich an und geht auf dich zu"); output("`n`#Gib mir einen Edelstein und ich werde dir einen gefallen gewähren"); output("`n`tDu stehst nun vor der Entscheidung: Entweder du gibst ihm einen Edelstein oder du verpasst ihm einen Tritt"); $session['user']['specialinc']="demon.php"; addnav("Gib ihm einen Edelstein","forest.php?op=gib"); addnav("Verpass ihm einen Tritt","forest.php?op=tritt"); } //addnav("Zurück in den Wald","forest.php"); if ($_GET['op']=="gib"){ output("`n`tDu holst einen Edelstein aus deinem Beutel und reichst ihn dem Dämon."); output("`n`tDer Dämon steigt auf und fliegt davon, hat dich jedoch nicht entlohnt.."); output("`n`tVoller Wut trittst du gegen einen auf dem Boden liegenden Stein."); $session['user']['gems']-=1; switch(e_rand(1,10)){ case 1: case 2: output("`n`3Du hast dir den Fuß gestoßen und dich verletzt. Dadurch verlierst du einige Lebenspunkte!"); $hurt = e_rand($lvl,3*$lvl); $session['user']['hitpoints']-=$hurt; break; case 3: case 4: output("`n`3Du siehst unter dem Stein eine Pergamentrolle. Durch das Lesen der Rolle erhälst du Erfahrung."); $exp=$session['user']['experience']*0.25; $session['user']['experience']+=$exp; break; case 5: case 6: output("`n`3Du findest unter dem Stein ein paar Edelsteine"); $gem=(e_rand(3,6)); $session['user']['gems']+=$gem; break; case 7: case 8: output("`n`3Der Stein rollt weg und du zeigst deine Enttäuschung offen kund. Jeder sieht es dir an und so verlierst du ein wenig Charme"); $charm=(e_rand(2,5)); $session['user']['charm']-=$charm; break; case 9: case 10: output("`n`$Du findest eine Schatztruhe unter dem Stein. Du bist heute wohl der Glücklichste Mann der Welt."); output("`n`QDu findest einige Edelsteine:"); $session['user']['gems']+=3; output("`n`QAusserdem eine Menge Gold,"); $gold = $session['user']['gold']+($session['user']['level']*30); $session['user']['gold']+=$gold; output("`n`3Und ein paar Schriftrollen!"); $exp2=$session['user']['experience']*0.20; $session['user']['experience']+=$exp2; output("`n`3Du vollführst einen Freudentanz und verlierst einen Waldkampf!"); $session['user']['turns']-=1; addnews("`#".$session['user']['name']." `0 hat einen riesen Schatz unter einem Stein gefunden."); break; $session['user']['specialinc']="demon.php"; } } if ($_GET['op']=="tritt"){ output("`tDu meckerst den Dämon an und holst zum Tritt aus"); output("Warum verlangt er auch einen Edelstein von dir?"); switch(e_rand(1,4)){ case 1: case 2: output("`n`$Der Dämon schreit vor Schmerzen auf und du fühlst dich richtig gut!"); output("`n`3Du erhälst Charmepunkte"); $charm=(e_rand(2,3)); $session['user']['charm']+=$charm; break; case 3: case 4: output("`n`$Der Dämon sieht deinen Tritt, weicht aus und ersticht dich mit seinem Schwert!"); addnews("`Q".$session['user']['name']." `0 wurde in einer finsteren Ecke von einem `tDämon `0 erstochen."); output("`n`$ Du bist tot!"); $session['user']['alive']=false; $session['user']['hitpoints']=0; addnav("Tägliche News","news.php"); break; $session['user']['specialinc']="demon.php"; } } if ($_GET['op']=="z"){ output("Du gehst zurück in den Wald, wobei du keine Zeit verlierst."); } ?> [/php] |
Autor: | Harthas [ Sa 24 Mär, 2007 10:09 ] |
Betreff des Beitrags: | |
UNBEDINGT $_GET anstatt von $HTTP_GET_VARS verwenden. Dann wird specialinc beim Verlassen des Waldes nicht geleert (Und beim Sterben auch nicht *fg*) Ansonsten.... Alle Array's müssen unbedingt mit Single-Quotes versehen werden: $session['user']['experience'], $session['user']['gold'], und so weiter ;-) Ansonsten sieht es eigentlich nicht einmal allzu schlecht aus. |
Autor: | xItachix [ Sa 24 Mär, 2007 12:17 ] |
Betreff des Beitrags: | |
danke ![]() mit den single-quotes muss ich wohl in bissl gepennt haben ![]() überarbeitet und editiert ![]() |
Autor: | Lucifer [ Mi 19 Mär, 2008 00:22 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
also bei mir kommt fehler wenn ich den pfad betretten will. und zwarz $this->bbcode_second_pass_code('', 'Warning: main(special/demon.php): failed to open stream: No such file or directory in /hp/as/af/in/www/lucifer/forest.php on line 31 Warning: main(special/demon.php): failed to open stream: No such file or directory in /hp/as/af/in/www/lucifer/forest.php on line 31 Warning: main(): Failed opening 'special/demon.php' for inclusion (include_path='.:/etc/php:/usr/local/share/php4.4:/usr/local/share/php4:/usr/local/share/php:/usr/share/php4.4:/usr/share/php4:/usr/share/php') in /hp/as/af/in/www/lucifer/forest.php on line 31 Warning: Cannot modify header information - headers already sent by (output started at /hp/as/af/in/www/lucifer/forest.php:31) in /hp/as/af/in/www/lucifer/common.php on line 73 ‹') es geht alles wenn ich das raus nehme |
Autor: | Eliwood [ Mi 19 Mär, 2008 17:28 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Ist die Datei "demon.php" denn überhaupt im Verzeichnis "./special"? Ich denke nicht! |
Autor: | Lucifer [ Mi 19 Mär, 2008 19:32 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
also hab das die datei wieder raus genommen.. |
Autor: | The_Muh [ Mi 19 Mär, 2008 22:31 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
habs mit ner kleinen änderung eingebaut: (bei mir ab zeile 21:) $this->bbcode_second_pass_code('', 'if ($_GET['op']=="go"){ if ($session['user']['gems']>=1){ output("`n`tDu gehst durch den dunklen Pfad den du gewählt hast und siehst dich um."); output("`n`tAlles um dich drum herum scheint finster zu sein."); output("`n`tDu kannst dich entscheiden: du kannst gehen.."); output("`n`tOder du kannst den Pfad weitergehen."); $session['user']['specialinc']="demon.php"; addnav("Weiter","forest.php?op=w"); addnav("Zurück","forest.php?op=z"); }else{ output("`n`tDu kannst nichts entdecken, scheinbar war jemand schneller als du. `n`tEnttäuscht gehst du zurück zum Wald."); addnav("Zurück in den Wald","forest.php");') ein kleiner Alternativtext falls man die edelstein bedingung nicht erfüllt... was die prüfung mit den Runden auf sich hatte wusste ich nicht und habs kurzer hand entfernt (in ein waldspecial kommt man nur wenn man noch ne runde hat(te)) ansonsten gefällt mit das ding ganz gut. mfg The_Muh |
Autor: | MySql [ Mi 19 Mär, 2008 22:39 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Ein output reicht vollkommen aus.. |
Autor: | Arath [ Mi 19 Mär, 2008 23:14 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Ich find rawoutput viel schöner *gg* |
Autor: | MySql [ Mi 19 Mär, 2008 23:18 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Warum?, nur wegen dem true, das du bei html sachen nimmer schreiben musst?xD |
Autor: | Arath [ Mi 19 Mär, 2008 23:41 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Ich find es optisch schön, nicht weil ich mir irgendwie was spare, einfach mein visuelles empfinden empfindet es angenehmer. Hier Marc ![]() $this->bbcode_second_pass_code('', '<?php //°-------------------------° //| demon.php | //| Script by | //| xitachix | //| mcitachi@web.de | //°-------------------------° //http://logd.macjan.de/ if (!isset($session)) exit(); if ($_GET['op']==''){ output('`n`cDer finstere Waldpfad`n`n `tDu schlenderst durch den Wald , auf der Suche nach Monstern Doch statt den Monstern findest du einen finsteren Waldpfad. Gehst du den Pfad entlang, oder verschwindest du lieber um Monster zu töten?`c'); $session['user']['specialinc']='demon.php'; addnav('Den Pfad gehen','forest.php?op=go'); addnav('Zurück','forest.php?op=z'); } if ($_GET['op']=='go'){ if ($session['user']['gems']>=1){ output('`n`tDu gehst durch den dunklen Pfad den du gewählt hast und siehst dich um. `n`tAlles um dich drum herum scheint finster zu sein. `n`tDu kannst dich entscheiden: du kannst gehen.. `n`tOder du kannst den Pfad weitergehen.'); $session['user']['specialinc']='demon.php'; addnav('Weiter','forest.php?op=w'); addnav('Zurück','forest.php?op=z'); }else{ output('`n`tDu kannst nichts entdecken, scheinbar war jemand schneller als du. `n`tEnttäuscht gehst du zurück zum Wald.'); addnav('Zurück in den Wald','forest.php'); } } if ($_GET['op']=='w'){ output('`tDu gehst den Weg weiter und siehst plötzlich einen Dämon hinter einem Baum stehen. Er sieht dich an und geht auf dich zu. Gib mir einen Edelstein und ich werde dir einen gefallen gewähren! Du stehst nun vor der Entscheidung: Entweder du gibst ihm einen Edelstein oder du verpasst ihm einen Tritt.'); $session['user']['specialinc']='demon.php'; addnav('Gib ihm einen Edelstein','forest.php?op=gib'); addnav('Verpass ihm einen Tritt','forest.php?op=tritt'); } if ($_GET['op']=='gib'){ output('`tDu holst einen Edelstein aus deinem Beutel und reichst ihn dem Dämon. Der Dämon steigt auf und fliegt davon, hat dich jedoch nicht entlohnt. Voller Wut trittst du gegen einen auf dem Boden liegenden Stein.'); $session['user']['gems']-=1; switch(e_rand(1,10)){ case 1: case 2: $hurt = e_rand($lvl,3*$lvl); $session['user']['hitpoints']-=$hurt; break; case 3: case 4: output('`n`3Du siehst unter dem Stein eine Pergamentrolle. Durch das Lesen der Rolle erhälst du Erfahrung.'); $exp=$session['user']['experience']*0.25; $session['user']['experience']+=$exp; break; case 5: case 6: output('`n`3Du findest unter dem Stein ein paar Edelsteine'); $gem=(e_rand(3,6)); $session['user']['gems']+=$gem; break; case 7: case 8: output('`n`3Der Stein rollt weg und du zeigst deine Enttäuschung offen kund. Jeder sieht es dir an und so verlierst du ein wenig Charme'); $charm=(e_rand(2,5)); $session['user']['charm']-=$charm; break; case 9: case 10: output('`n`$Du findest eine Schatztruhe unter dem Stein. Du bist heute wohl der Glücklichste Mann der Welt. `n`QDu findest einige Edelsteine. `n`QAusserdem eine Menge Gold, `n`3Und ein paar Schriftrollen! `n`3Du vollführst einen Freudentanz und verlierst einen Waldkampf!'); $session['user']['gems']+=3; $gold = $session['user']['gold']+($session['user']['level']*30); $session['user']['gold']+=$gold; $exp2=$session['user']['experience']*0.20; $session['user']['experience']+=$exp2; $session['user']['turns']-=1; addnews('`#'.$session['user']['name'].' `0 hat einen riesen Schatz unter einem Stein gefunden.'); break; $session['user']['specialinc']='demon.php'; } } if ($_GET['op']=='tritt'){ output('`tDu meckerst den Dämon an und holst zum Tritt aus Warum verlangt er auch einen Edelstein von dir?'); switch(e_rand(1,4)){ case 1: case 2: output('`n`$Der Dämon schreit vor Schmerzen auf und du fühlst dich richtig gut! `n`3Du erhälst Charmepunkte'); $charm=(e_rand(2,3)); $session['user']['charm']+=$charm; break; case 3: case 4: output('`n`\$Der Dämon sieht deinen Tritt, weicht aus und ersticht dich mit seinem Schwert! `n`$ Du bist tot!'); addnews('`Q'.$session['user']['name'].' `0 wurde in einer finsteren Ecke von einem `tDämon `0 erstochen.'); $session['user']['alive']=false; $session['user']['hitpoints']=0; addnav('Tägliche News','news.php'); break; $session['user']['specialinc']='demon.php'; } } if ($_GET['op']=='z'){ output('Du gehst zurück in den Wald, wobei du keine Zeit verlierst.'); } ?>') Sagt es dir nun mehr zu? Außerdem habe ich noch nen kleinen Fehler gefunden im Originalscript. Ich denke dieses output gibt nicht das wieder was es soll *gg* output("`n`$Der Dämon sieht deinen Tritt, weicht aus und ersticht dich mit seinem Schwert!"); Viele Grüße Kai A. Wolf P.S. MySql hat geschrieben: Warum?, nur wegen dem true, das du bei html sachen nimmer schreiben musst?xD Zeichensetzung lässt grüßen *fg* |
Autor: | The_Muh [ Do 20 Mär, 2008 00:12 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Arath, nimm noch meine Änderungen mit rein dann isses "perfekt". Und ganz nebenbei heiße ich auch Marc, weswegen ich mich angesprochen fühle ![]() achja, war switch (mt_rand(1,13)){ nicht besser als switch (e_rand(1,13)){ ?? ich meine das i-wo gelesen zu haben. Wenns so is könnte man das auch noch ändern. |
Autor: | Arath [ Do 20 Mär, 2008 00:33 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Wie man es nimmt und es haben will. Bei e_rand ist einfach die Verteilung anders verteilt, bei e_rand liegt der Hauptteil mehr in der Mitte. Aber um richtigen Zufall zu bekommen ist mt_rand mehr zu empfehlen und für eine echte Zufälligkeit der Ergebnisse sollte man vorher mit mt_srand nen Startwert setzen. P.S. Habe deine Änderung jetzt auch mit übernommen und oben aktualisiert. |
Autor: | Drazaar [ Do 20 Mär, 2008 03:24 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
php.net hat geschrieben: Hinweis: Seit PHP 4.2.0 besteht keine Notwendigkeit mehr, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht nun automatisch. Muss man nimmer wohl (wenn ich das richtig verstanden habe) |
Autor: | Arath [ Do 20 Mär, 2008 09:31 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Ob man es noch machen muss oder nicht mehr weiß ich jetzt gar nicht, aber wenn ich ein Script schreibe wo wirklich der Zufall entscheiden soll mache ich es noch mit mt_srand ... ich mein, Doppelt gemoppelt hält besser *gg* Und der Hinweis von php.net sagt wohl aus, dass es nicht unbedingt Notwendig ist, aber einfach um sicher zu gehen =) |
Autor: | MySql [ Do 20 Mär, 2008 13:46 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Kai, ist das nicht das gleiche Script wie vorher?? Sehe nur "output's". *fg Des ?, war absicht^^ Mache das nächste mal wohl (?), |
Autor: | Arath [ Do 20 Mär, 2008 19:07 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Natürlich ist es das gleiche Script, aber du hast dich ja auch nur wegen den outputs beschwert ^^ |
Autor: | Linus [ So 13 Apr, 2008 14:43 ] |
Betreff des Beitrags: | Re: Waldspecial Demon.php |
Da ich die Idee für dieses Special recht gut finde, ich aber doch noch ein paar kleine Haken an dem Script fand hab ich mich eine Überarbeitung gemacht. Außer das ich die Preise, hauptsächlich die Erfahrungspunkte , angepasst habe war ich bemüht so nahe wie möglich am Original zu bleiben. $this->bbcode_second_pass_code('', '<?php //°-------------------------° //| demon.php | //| Script by | //| xitachix | //| mcitachi@web.de | //°-------------------------° //http://logd.macjan.de/ if (!isset($session)) exit(); switch($_GET['op']){ case '': $out='`n`cDer finstere Waldpfad`c`n`n`tDu schlenderst durch den Wald, auf der Suche nach Monstern. Doch statt den Monstern findest du einen finsteren Waldpfad. Gehst du den Pfad entlang, oder verschwindest du lieber um Monster zu töten?'; $session['user']['specialinc']='demon.php'; addnav('Den Pfad gehen','forest.php?op=go'); addnav('Zurück','forest.php?op=z'); break; case 'go': if ($session['user']['gems']>=1){ $out='`n`tDu gehst durch den dunklen Pfad den du gewählt hast und siehst dich um. '; $out.='Alles um dich drum herum scheint finster zu sein. `nDu kannst dich entscheiden: Du kannst zurück gehen ... '; $out.='oder du kannst den Pfad weitergehen.'; $session['user']['specialinc']="demon.php"; addnav("Weiter","forest.php?op=w"); addnav("Zurück","forest.php?op=z"); }else{ $out='`n`tDu kannst nichts entdecken, scheinbar war jemand schneller als du. `nEnttäuscht gehst du zurück zum Wald.'; $ende=TRUE; } break; case 'w': $out='`tDu gehst den Weg weiter und siehst plötzlich einen Dämon hinter einem Baum stehen. Er sieht dich an und geht auf dich zu. "Gib mir einen Edelstein und ich werde dir einen gefallen gewähren!" Du stehst nun vor der Entscheidung: Entweder du gibst ihm einen Edelstein oder du verpasst ihm einen Tritt.'; $session['user']['specialinc']='demon.php'; addnav('Gib ihm einen Edelstein','forest.php?op=gib'); addnav('Verpass ihm einen Tritt','forest.php?op=tritt'); break; case 'gib': $out='`tDu holst einen Edelstein aus deinem Beutel und reichst ihn dem Dämon. Der Dämon steigt auf und fliegt davon, hat dich jedoch nicht entlohnt. Voller Wut trittst du gegen einen auf dem Boden liegenden Stein.'; $session['user']['gems']-=1; switch(e_rand(1,10)){ case 1: case 2: $hurt = e_rand($session['user']['level'],3*$session['user']['level']); $session['user']['hitpoints']-=$hurt; if($session['user']['hitpoints']<=0) { $session['user']['hitpoints']=1; } $out.='`n`tDu hast dir den Fuß gestoßen und dich verletzt. Dadurch verlierst du einige Lebenspunkte!'; break; case 3: case 4: $exp=floor($session['user']['experience']*0.10); $session['user']['experience']+=$exp; $out.='`n`tDu siehst unter dem Stein eine Pergamentrolle. Durch das Lesen der Rolle erhälst du `&'.$exp.' `tErfahrung.'; break; case 5: case 6: $gem=(e_rand(3,6)); $session['user']['gems']+=$gem; $out.='`n`tDu findest unter dem Stein `4'.$gem.' `tEdelsteine'; break; case 7: case 8: $charm=(e_rand(2,5)); $session['user']['charm']-=$charm; $out.='`n`tDer Stein rollt weg und du zeigst deine Enttäuschung offen. Jeder sieht es dir an und so verlierst du `%'.$charm.' `tCharmepunkte'; break; case 9: case 10: $session['user']['gems']+=3; $gold = $session['user']['gold']+($session['user']['level']*20); $session['user']['gold']+=$gold; $exp2=floor($session['user']['experience']*0.05); $session['user']['experience']+=$exp2; $session['user']['turns']-=1; $out.='`n`$Du findest eine Schatztruhe unter dem Stein. Du bist heute wohl der Glücklichste Mann der Welt. `n`tDu findest `43 `tEdelsteine, ausserdem `^ '.$gold.' `tGoldstücke, und ein paar Schriftrollen deren Studium dir `&'.$exp2.' `tErfahrungspunkte bringt.`nDu führst einen Freudentanz auf und verlierst einen Waldkampf!'; addnews('`#'.$session['user']['name'].' `0 hat einen riesigen Schatz unter einem Stein gefunden.'); break; } $session['user']['specialinc']=''; $ende=TRUE; break; case 'tritt': $out='`tDu meckerst den Dämon an und holst zum Tritt aus. Warum verlangt er auch einen Edelstein von dir?'; switch(e_rand(1,4)){ case 1: case 2: $charm=(e_rand(2,5)); $session['user']['charm']+=$charm; $out.='`n`$Der Dämon schreit vor Schmerzen auf und du fühlst dich richtig gut! `n`tDu erhälst `%'.$charm.' `tCharmepunkte'; $session['user']['specialinc']=''; $ende=TRUE; break; case 3: case 4: $out.='`n`$Der Dämon sieht deinen Tritt, weicht aus und ersticht dich mit seinem Schwert!'; $out.='`nDu verlierst all dein Gold, und du bist tot!'; addnews('`Q'.$session['user']['name'].' `0 wurde in einer finsteren Ecke von einem `tDämon `0erstochen.'); $session['user']['alive']=false; $session['user']['hitpoints']=0; $session['user']['gold']=0; addnav('Tägliche News','news.php'); break; } break; case 'z': $out='`tDu gehst zurück in den Wald, wobei du keine Zeit verlierst.'; $session['user']['specialinc']=''; $ende=TRUE; break; } output($out); if($ende){ forest(true); } ?>') |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |