anpera.net
https://anpera.dyndns.org/phpbb3/

Noch nen neues Special
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=808
Seite 1 von 1

Autor:  Vaan [ So 19 Dez, 2004 20:26 ]
Betreff des Beitrags:  Noch nen neues Special

Hi leude ich hab mir die zeit genommen und hab noch 2 neue Specials geschrieben... Das eine funtzt zwar aber das andere geht irgend wie nich.. hmmm... kann mal einer gucken was ich falsch gemacht habe?

[php]<?php
/*
Baum
by Vaan
12//10//2004
*/

require_once "common.php";
page_header("Baum");
if ($HTTP_GET_VARS[op]==""){
$session[user][specialinc]="baum.php";
output("`2Du gehst den Waldweg entlang und guckst durch die gegend... es macht richtig spaß durch den Wald zu laufen. Du entdeckst auf der Rechten Seite einen Bach. Du schaust wärend des gehens in Richtung Bach.");
output("`\$`bDONG!!!`b`2 Du bist mit voller wucht gegen einen Baum gelaufen.");
output("`^Du verlierst einen großteil deiner Lebenspunkte.");
output("`2Was willst du nun machen?");
$session[user][hitpoints]=5;
$session[user][specialinc]="";
addnav("W?Wütend weiter gehen","forest.php?op=weiter");
addnav("G?Gegen den Baum treten und weiter gehen","forest.php?op=tret");
}
if ($HTTP_GET_VARS[op]=="weiter"){
output("`2Wütend gehst du weiter.");
output("`2Da du eine dicke beule am Kopf hast `^verlierst `2du einen Charmpunkt!");
$session[user][charm]--;
$session[user][specialinc]="";
addnav("W?Weiter, um Monster zu jagen","forest.php");
}
if ($HTTP_GET_VARS[op]=="tret"){
output("`2Du tritst mit voller wucht gegen den Baum. Doch du musst festellst, dass das garkeine gute idee war! ein Schwarm von Wespen schiesst aus dem Baum auf dich zu.");
output("`2Du willst weg rennen doch die Wespen sind schon um dich herum und fangen an auf dich einzustechen.");
output("`2`bDu bist von den Wespenstichen gestorben`b.");
$session[user][alive]=false;
$session[user][hitpoints]=0;
$session[user][experience]*=0.95;
addnav("T?Tägliche News","news.php");
$session[user][specialinc]="";
addnews($session[user][name]."'s Leiche wurde, von `^W`Te`^s`Tp`^e`Tn `0zerstochen, im `2Wald `0gefunden");
}
?>[/php]

Autor:  Chaosmaker [ So 19 Dez, 2004 20:28 ]
Betreff des Beitrags: 

Solange bei op=='' nicht specialinc wieder gesetzt wird, wirste immer direkt im Wald landen.

Autor:  Gast [ Mo 20 Dez, 2004 21:13 ]
Betreff des Beitrags: 

thx

Autor:  Vaan [ Mo 27 Dez, 2004 22:07 ]
Betreff des Beitrags: 

hö? wo denn das sepcialinc hin?

Autor:  Hecki [ Mi 29 Dez, 2004 01:40 ]
Betreff des Beitrags: 

Vaan hat geschrieben:
hö? wo denn das sepcialinc hin?

[php]<?php
/*
Baum
by Vaan
12//10//2004
*/

require_once "common.php";
page_header("Baum");
if ($HTTP_GET_VARS[op]==""){
$session[user][specialinc]="baum.php";
output("`2Du gehst den Waldweg entlang und guckst durch die gegend... es macht richtig spaß durch den Wald zu laufen. Du entdeckst auf der Rechten Seite einen Bach. Du schaust wärend des gehens in Richtung Bach.");
output("`\$`bDONG!!!`b`2 Du bist mit voller wucht gegen einen Baum gelaufen.");
output("`^Du verlierst einen großteil deiner Lebenspunkte.");
output("`2Was willst du nun machen?");
$session[user][hitpoints]=5;
$session[user][specialinc]="";
addnav("W?Wütend weiter gehen","forest.php?op=weiter");
addnav("G?Gegen den Baum treten und weiter gehen","forest.php?op=tret");
}
if ($HTTP_GET_VARS[op]=="weiter"){
$session[user][specialinc]="baum.php";
output("`2Wütend gehst du weiter.");
output("`2Da du eine dicke beule am Kopf hast `^verlierst `2du einen Charmpunkt!");
$session[user][charm]--;
$session[user][specialinc]="";
addnav("W?Weiter, um Monster zu jagen","forest.php");
}
if ($HTTP_GET_VARS[op]=="tret"){
$session[user][specialinc]="baum.php";
output("`2Du tritst mit voller wucht gegen den Baum. Doch du musst festellst, dass das garkeine gute idee war! ein Schwarm von Wespen schiesst aus dem Baum auf dich zu.");
output("`2Du willst weg rennen doch die Wespen sind schon um dich herum und fangen an auf dich einzustechen.");
output("`2`bDu bist von den Wespenstichen gestorben`b.");
$session[user][alive]=false;
$session[user][hitpoints]=0;
$session[user][experience]*=0.95;
addnav("T?Tägliche News","news.php");
$session[user][specialinc]="";
addnews($session[user][name]."'s Leiche wurde, von `^W`Te`^s`Tp`^e`Tn `0zerstochen, im `2Wald `0gefunden");
}
?>[/php]

Ich denk mal so oder?

Autor:  anpera [ Mi 29 Dez, 2004 05:32 ]
Betreff des Beitrags: 

Nanana, nicht raten jetzt!

specialinc muss gesetzt werden, wenn innerhalb eines Specials navigiert werden muss, da in den Navs ja nur "forest.php?op=..." erscheint. Die "Engine" weiß nur anhand von specialinc, welche Datei als aktuelles Special aufzurufen ist. Wenn specialinc bei einem forest-Nav leer ist, bezieht sich jeder Link auf forest.php. Es muss gelöscht werden, wenn das Special verlassen werden soll.
specialinc würde es auch ermöglichen, von einem Special in ein anderes zu verlinken.

Ich hab den Code mal so umgeschrieben, dass specialinc bei jedem Aufruf des Specials erstmal gesetzt wird. Jenachdem, wohin die jeweiligen Navs führen, wird specialinc in den einzelnen Fällen dann gelöscht, oder nicht. Ich hoffe, die Kommentare sind hilfreich...


[php]<?php
/*
Baum
by Vaan
12//10//2004
*/

if (!isset($session)) exit(); // wenn nicht eingeloggt, soll nix passieren
$session['user']['specialinc']="baum.php"; // wir befinden uns im Wald beim Special "baum.php".

if ($_GET['op']=="weiter"){ // Spieler geht weiter
output("`2Wütend gehst du weiter.");
output("Da du eine dicke Beule am Kopf hast `^verlierst `2du einen Charmepunkt!");
$session['user']['charm']--; // 1 Charmepunkt wird abgezogen
$session['user']['specialinc']=""; // Es geht ohne Special zurück in den Wald. Keine Navs nötig.
}else if ($_GET['op']=="tret"){ // Spieler tritt gegen den Baum.
output("`2Du trittst mit voller Wucht gegen den Baum. Doch du musst festellen, dass das gar keine gute Idee war! Ein Schwarm von Wespen schießt aus dem Baum auf dich zu.");
output("`2Du willst wegrennen, doch die Wespen sind schon um dich herum und fangen an, auf dich einzustechen.");
output("`n`bDu bist von den Wespenstichen gestorben`b.");
$session['user']['alive']=false; // Spieler ist tot
$session['user']['hitpoints']=0; // Keine Lebenspunkte übrig
$session['user']['experience']*=0.95; // 5% Erfahrungsverlust
addnav("T?Tägliche News","news.php");
$session['user']['specialinc']=""; // Specialinc zurücksetzen
addnews($session['user']['name']."`0s Leiche wurde, von `^W`Te`^s`Tp`^e`Tn `0zerstochen, im `2Wald `0gefunden.");
}else{ // Spieler landet bei diesem Special.
output("`2Du gehst den Waldweg entlang und guckst durch die Gegend... es macht richtig Spaß, durch den Wald zu laufen. Du entdeckst auf der rechten Seite einen Bach. Du schaust während des Gehens in Richtung Bach.");
output("`\$`bDONG!!!`b`2 Du bist mit voller Wucht gegen einen Baum gelaufen.");
output("`n`^Du verlierst einen Großteil deiner Lebenspunkte.");
output("`n`2Was willst du nun machen?");
if ($session['user']['hitpoints']>5) $session['user']['hitpoints']=5; // Nur wenn LP>5 macht es Sinn, auf 5 runter zu setzen.
addnav("W?Wütend weiter gehen","forest.php?op=weiter");
addnav("G?Gegen den Baum treten","forest.php?op=tret");
}
?>[/php]

(Im Original ganz oben:
* müsste das erste $session[user][specialinc]=""; entfernt werden.
* Die common.php muss bei Specials nicht eingebunden werden, weil sie bereits durch forest.php eingebunden ist.
* Dafür sollte geprüft werden, ob das Special überhaupt ausgeführt werden darf.
* Ein zusätzlicher page_header ist nicht nötig.
* Wenn irgendwo von "verlorenen Lebenspunkten" erzählt wird, sollte eine Heilung ausgeschlossen werden.
* Die Rechtschreibung is ja schlimmer als meine! )

Autor:  Gast [ Mi 29 Dez, 2004 16:05 ]
Betreff des Beitrags: 

thx @Anpera
..... wegen der Rechtschreibung.... *möp* =)

Autor:  Vaan [ Mi 29 Dez, 2004 16:07 ]
Betreff des Beitrags: 

war von mir (hab vergessen mich einzuloggen :pein: )

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/