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

[DS3] Die Häfen
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4967
Seite 1 von 1

Autor:  Salator [ Mo 03 Aug, 2009 20:34 ]
Betreff des Beitrags:  [DS3] Die Häfen

Die Häfen und Seereisen

Basierend auf den Häfen von Morpheus/Apollon.
In seiner Version hat mich gestört, dass man für jedes Reiseziel 2 Dateien kopieren und anpassen muss. Das ist umständlich und fehleranfällig. Deswegen sind in meiner Version die Reiseziele zentral in einem Array in der travel.lib.php definiert.
Beschreibung des Arrays siehe travel.lib.php

Soll ein Ziel generell nur mit Einschränkungen betretbar sein, steht die Funktion check_destination_port() zur Verfügung. Hier kann beliebiger Prüf-Code eingebaut werden, z.B. ob man das goldene Ei hat oder auf Tauschquest-Level 30 ist.

Für die Nutzung dieser Hafen-Version benötigst du die Dragonslayer-Edition V3, der Einbau in ältere Versionen ist nicht getestet (aber sicher nicht unmöglich). Weiterhin solltest du in PHP ein paar mehr Kenntnisse als ein Anfänger haben.
Dieses Paket enthält nur die Dateien für die Häfen und die Reise. Die im Array angegebenen Extra-Navs dienen lediglich als Beispiel.

Einbauanleitung ist etwas umfangreicher und befindet sich in der readme

Autor:  Salator [ Di 04 Aug, 2009 16:06 ]
Betreff des Beitrags:  Re: [DS3] Die Häfen

Und schon kam die erste Fehlermeldung reingeflattert. Der Troll, der zufällig erscheint und man wegen Überlastung nicht mitfahren kann, konnte auch mitten auf See auftreten.
Zur Problembehebung habe ich den Aufruf von check_destination_port() in den Block
if($_GET['pay']==1)
verschoben. Da ($_GET['work']==1) nur in den Heimathafen führen kann ist eine Prüfung hier nicht nötig und nach einem Kampf auf See ebenfalls nicht.

Außerdem muss $_GET['dist'] mit floatval statt intval konvertiert werden, sonst wird die Reise billiger als angegeben :)

Datei im ersten Post wurde gerade aktualisiert.

Autor:  dragonslayer [ Do 13 Aug, 2009 21:15 ]
Betreff des Beitrags:  Re: [DS3] Die Häfen

Huhu!
Da ist ein kleiner Fehler in der travel.lib.php

$this->bbcode_second_pass_code('', '
global $arr_ports;
$location=intval($location);
if($location==0)
{
$location=$session['user']['location'];
}
')

Es fehlt das global $session auf zeile 159
Das dürfte sich aber nur selten bis gar nicht bemerkbar machen.

Autor:  Salator [ Fr 14 Aug, 2009 15:49 ]
Betreff des Beitrags:  Re: [DS3] Die Häfen

Hm, weiß gar nicht mehr wozu die Abfrage überhaupt gedacht war, das muss noch ein Codestück aus den Anfängen von vor 1 Jahr sein, und ich hab doch Alzheimer... Aber wenn es schonmal da ist wirds auch berichtigt, vielleicht brauchts ja jemand.

Noch ein kleiner Schönheitsfehler bei gefärbten Ortsnamen: im Hafen sieht man dann html-Code unter der Chat-Eingabezeile. Abhilfe schafft ein
$townname=strip_appoencode($townname);
in der seaport.php vor viewcommentary.

Archiv im ersten Post ist aktualisiert.

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