anpera.net
https://anpera.homeip.net/phpbb3/

lotgd Dragonslayer Edition V3
https://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=4865
Seite 21 von 22

Autor:  Chris [ Mi 03 Okt, 2012 22:08 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Den hab ich gesehen, der hat aber nicht mit der Acc_ID mit dem gegenwärtigen Fürsten übereingestimmt. :(

Autor:  Laserian [ Sa 06 Okt, 2012 16:28 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Nabend allerseits,

hab eine Frage zur Zeitanzeige in der DS 2.5. Und zwar möchte ich, dass es pro Realtag 24 Spieltage gibt (bis hierhin kein Problem, muss man ja nur einstellen). Aber die Zeitanzeige und die Datumsanzeige im Spiel (z.B. am Dorfplatz) soll sich am Realdatum/an der Realzeit orientieren und auch das Wetter soll sich aufs Realdatum beziehen. Jetzt weiß ich nicht was ich wo ändern muss, dass das alles zusammenpasst. Datums/Zeitanzeige am Dorfplatz ist ja auch kein Problem, nur halt, dass sich das Wetter aufs Realdatum bezieht und die neuen Tage halt jede Stunde abgefertigt werden. Datums und Zeitbefehle sind leider meine große Schwäche -.-

Wäre nett wenn mir jemand helfen könnte. Ist leider ein lokaler Server nur mal zum Testen bevor wir das ganze auf nen Onlineserver rüberschieben.

LG, danke im Vorraus und ein schönes Wochenende allerseits
Laserian

Autor:  Salator [ So 07 Okt, 2012 13:16 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

@Laserian: In der DS3 wäre dein Wunsch ja kein Problem, in der 2.5 sind aber so viele Änderungen nötig, so dass zumindest ich das nicht mal eben so erklären kann. Es ist ja nicht nur die Zeit-Anzeige sondern die ganze Spielmechanik die von Spieltagen abhängt. Und Wetter war da sowieso noch rein zufällig.

@Chris: Das Setting heißt fuerst und enthält den (farbigen) Spielernamen. Guck auch mal unter Unwichtiges/Spielstände

Alternativ könntest du versuchen, diesen Block ins Dorfamt einzubauen. Keine Ahnung obs allgemeingültig funktioniert, was du mindestens ändern musst ist der Dateiname (ich hatte bei Wyndoria das Fürstenbüro in die Datei baronial_office.php ausgelagert)
$this->bbcode_second_pass_code('', '
case 'office_setnewbaron': { //Fürst administrativ ändern
if(isset($_POST['newbaron']) && $_POST['newbaron']!='')
{
$set_ok=true;
if($_POST['newbaron']!='niemand' && !$_POST['npc']) //prüfen ob es den Spieler gibt und History-Eintrag setzen
{
$sql = 'SELECT ai.acctid, a.login, a.sex, ai.cname
FROM account_extra_info ai
LEFT JOIN accounts a USING(acctid)
WHERE login="'.db_real_escape_string($_POST['newbaron']).'"';
$res = db_query($sql);
if(db_num_rows($res)==1)
{
$row_extra = db_fetch_assoc($res);
$_POST['newbaron'] = (!empty($row_extra['cname']) ? $row_extra['cname'] : $row_extra['login']);
addhistory(($row_extra['sex'] ? 'Neue Fürstin' : 'Neuer Fürst').' von '.getsetting('townname','Atrahor').'!',1,$row_extra['acctid']);
}
else
{
output('`$Spielername nicht eindeutig, Fürst NICHT gesetzt!`0`n');
$set_ok=false;
}
}

if($set_ok==true) //Fürst-ändern-Aktionen
{
// alter Fürst: Beide Formen zurücksetzen
user_unique_ctitle(0,'`&Fürst von '.getsetting('townname','Atrahor'));
user_unique_ctitle(0,'`&Fürstin von '.getsetting('townname','Atrahor'));
//Aktionen zurücksetzen
savesetting('prisonchange',1);
savesetting('taxchange',1);
savesetting('callvendor',getsetting('callvendormax',5));
savesetting('fuerst_donations','0');
// Amtshandlungen löschen
db_query('DELETE FROM boards WHERE section="fuerst_act"');
//neuen Fürst setzen
savesetting('fuerst',addslashes($_POST['newbaron']));
//globale history setzen (für Fürstengalerie)
//if($_POST['newbaron']!='niemand')
addhistory('`&'.($row_extra['sex'] ? 'Neue Fürstin' : 'Neuer Fürst').' `&von '.getsetting('townname','Atrahor').': `0`b`)'.$_POST['newbaron'].'`0`b`&!',0);
output($_POST['newbaron'].'`@ ist jetzt Fürst.');
}
}
if(!$set_ok)
{
output('Wer soll Fürst werden?
`nGib ein "niemand" um dem aktuellen Inhaber das Fürstenamt zu entziehen.
`n<form action="baronial_office.php?op=office_setnewbaron" method="post">
Login-Name: <input type="text" name="newbaron"> (bei NPC mit Farbcodes)
`n<input type="checkbox" name="npc"> NPC?
`n<input type="submit" class="button" value="Speichern">
</form>
');
addnav('','baronial_office.php?op=office_setnewbaron');
}
addnav('Zurück');
addnav('Ins Büro','baronial_office.php?op=office_entry');
break;
}
')
und dazu einen passenden Link
$this->bbcode_second_pass_code('', '
if ($access_control->su_check(access_control::SU_RIGHT_EDITORUSER))
{
addnav('Superuser');
addnav('Fürst festlegen','baronial_office.php?op=office_setnewbaron');
}
')

Autor:  Laserian [ So 07 Okt, 2012 14:23 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

@Salator: Ja das habe ich gemerkt, in der 0.9.7 hab ichs ja schon hinbekommen, aber bei der DS 2.5 bin ich ausgestiegen, habs letztens mal probiert und die Zeitanzeige selbst hat funktioniert und auch in der Datenbank und so war alles in Ordnung aber die Newdays hats zerschossen -.- Deshalb wollt ich nachfragen ob mir jemand helfen kann, aber wenn das wirklich so komplex ist... Naja aber danke für die Info, ich werd mal einfach weiter herumprobieren und mir das mal ansehen.

Autor:  Chris [ Mo 08 Okt, 2012 16:30 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

@Peter

Danke, dein Skript funktioniert bombastisch! :D nur wie kann ich denn den Fürsteneintrag manuell wieder aus der DB löschen? In welcher Tabelle steht denn die Fürstengalerie? :)

Gruß Chris

Autor:  Salator [ Di 09 Okt, 2012 17:08 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Die Einträge findest du in der history-Tabelle
Einmal mit acctid=0, die sind für die Fürstengalerie
Einmal mit acctid des Users, die sind für die Bio

Autor:  Chris [ Di 09 Okt, 2012 22:47 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Merci! :D

Autor:  Laserian [ Fr 12 Okt, 2012 00:02 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Hm mal wieder ne Frage zur DS 2.5...

Ich möchte nen zweiten Kommentarbereich sprich Offtopic an manchen Orten machen. Aber wir habens schon probiert und da funktioniert dann weder der normale Bereich noch der Offtopic... Hat da vielleicht jemand ne Lösung für? Natürlich gibts als Alternative immer noch den Kommentarbereich über Popup, klar. Aber wir würdens doch lieber ganz gerne als normalen Kommentarbereich darunter haben.

Vielen Dank für Lösungsvorschläge schonmal :)

Autor:  Chris [ Mo 22 Okt, 2012 19:33 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Mir ist aufgefalle, wenn man den Lehrer besiegt hat und benutzt dann die Switch Kombination vom Superuser-Char zum eingetragenen Zweitchar (UMSCHALT + <), dass sich das Event immer wieder wiederholt und die Level immer weitersteigen. Kann man das irgendwie beheben?

Autor:  Bathory [ Mi 24 Okt, 2012 01:03 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Chris hat geschrieben:
Kann man das irgendwie beheben?


Ja kann man.

Autor:  Chris [ So 28 Okt, 2012 23:41 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Supi! :D Würdest du mir bitte auch verraten, wie? :)

Autor:  Bathory [ Mo 29 Okt, 2012 15:06 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

in der train.php

statt:

$this->bbcode_second_pass_code('', '
if ($_GET['op']=='fight'){
$battle=true;
}
if ($_GET['op']=='run'){
output('`$Dein Stolz verbietet es dir, vor diesem Kampf wegzulaufen!`0');
$_GET['op']='fight';
$battle=true;
}
')

zb:

$this->bbcode_second_pass_code('', '
if ($session['user']['experience']>=$exprequired)
{
if ($_GET['op']=='fight'){
$battle=true;
}
if ($_GET['op']=='run'){
output('`$Dein Stolz verbietet es dir, vor diesem Kampf wegzulaufen!`0');
$_GET['op']='fight';
$battle=true;
}
}
else
{
$battle=false;
$victory=false;
$defeat=false;
}
')

Autor:  Chris [ Do 01 Nov, 2012 22:54 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Hm, die Level steigen leider immer noch, wenn man sein Multi mit UMSCHALT + < switched. :(

Autor:  Elouar [ So 09 Feb, 2014 10:49 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Wunderschönen Sonntag wünsche ich :)

Seit einigen Tagen zeigt sich bei mir in der Bibliothek ein merkwürdiger Fehler (siehe Foto im Anhang). Ich habe schon versucht das Problem auswendig zu machen,. bin bisher allerdings gescheitert, deswegen ersuche ich nun um Hilfe.

Bild

Autor:  Bathory [ So 09 Feb, 2014 15:51 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Vllt. bin ich Blind, aber Link zur Source?
Ansonsten scheint es als ob du deinen Output noch durch htmlentities() oder htmlspecialchars() schleifst...

Autor:  Elouar [ So 09 Feb, 2014 16:51 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Bathory hat geschrieben:
Vllt. bin ich Blind, aber Link zur Source?
Ansonsten scheint es als ob du deinen Output noch durch htmlentities() oder htmlspecialchars() schleifst...


Ist doch drin der link ? :o library.php ist auch bis auf linkanpassungen völlig unberührt.

Autor:  Bathory [ So 09 Feb, 2014 18:13 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Elouar hat geschrieben:
Bathory hat geschrieben:
Vllt. bin ich Blind, aber Link zur Source?
Ansonsten scheint es als ob du deinen Output noch durch htmlentities() oder htmlspecialchars() schleifst...


Ist doch drin der link ? :o library.php ist auch bis auf linkanpassungen völlig unberührt.


War er aber vorher nicht :warn:

Das passiert ja auch nicht in der Library.php sondern in der /lib/output.lib.php

Wie sieht bei dir die function output() aus? Bzw hast du in letzter Zeit etwas in der Datei verändert?

Autor:  Elouar [ So 09 Feb, 2014 18:33 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

nein, geändert habe ich nichts. die php Version des Servers wurde nur auf die neueste aktualisiert. seither denke ich geht es auch so mit der falschen ausgabe dort..

PHP:
/**
* Fügt Text zur Ausgabe hinzu, transformiert diesen zunächst mittels appoencode
*
* @param string $indata Auszugebender Text
* @param bool $priv HTML-Sonderzeichen umwandeln?
*/
function output($indata,$priv=true){
global $output;
$output.=appoencode($indata,$priv);
}


bzw

PHP:
/**
* Gibt Inhalt eines Array aus (rekursiv)
* Verwendet intern jetzt die PHP Funktion print_r
*
* @param array $array auszugebender Array
* @param string $prefix Vor Array-Element anzuhängende Formatierung o.ä.
* @return string Ausgabe
*/
function output_array($array,$prefix='')
{
return print_r($array,true);
}


so steht es in der output.lib

Autor:  Bathory [ So 09 Feb, 2014 18:51 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Und das ist nur in der Bibliothek?

Wie sieht die appoencode(..) aus?
Weil bis jetzt alles ok, hm.

Autor:  Elouar [ So 09 Feb, 2014 18:54 ]
Betreff des Beitrags:  Re: lotgd Dragonslayer Edition V3

Bathory hat geschrieben:
Und das ist nur in der Bibliothek?

Wie sieht die appoencode(..) aus?
Weil bis jetzt alles ok, hm.


Ja, nur dort. Deswegen wundert es mich ja auch und ich weiß selbst nicht weiter. Sonst habe ich dieses Problem wirklich nirgends.

function appoencode sdieht wie folgt aus

PHP:
/**
* Wandelt Formatierungstags in einem String zu HTML/CSS-Äquivalenten um
* @author LOGD-Core, modded by Eliwood und talion
* @param string Input, Text der bearbeitet werden soll
* @param bool Wenn true, werden HTML-Codes nicht escaped
* @return string Bearbeiteter Text
*/
function appoencode($data,$priv=true)
{
global $nestedtags,$session;
/* Überarbeitet und verkleinert von Eliwood =D */

$appoencode = get_appoencode();

$output = "";
while (!(($x=strpos($data,"`")) === false) )
{
$tag=substr($data,$x+1,1);
$append=substr($data,0,$x);
$output.=($priv?$append:htmlspecialchars($append));
$data=substr($data,$x+2);
//$output.='|'.(isset($nestedtags['color'])?'+':'-').htmlspecialchars($tag); //zum Testen
if ($tag == '0')
{
if (isset($nestedtags['color'])) // isset scheint besser zu sein (Sheed-Ma)
{
$output.='</span>';
}
unset($nestedtags['color']);
}
else if ($tag == '`')
{
$output.='`';
}
else
{
if (isset($appoencode[$tag]))
{
$tagrow = $appoencode[$tag];
if ($tagrow['color'] === NULL) //Format-Tags
{
if (isset($nestedtags[$tagrow['tag']]) && strchr($tagrow['tag'],' /')==false) // isset scheint besser zu sein (Sheed-Ma)
{
$output.='</'.$tagrow['tag'].'>';
unset($nestedtags[$tagrow['tag']]);
}
else if (strchr($tagrow['tag'],' /')==true)
{
$output.='<'.$tagrow['tag'].">\n";
}
else
{
$output.='<'.$tagrow['tag'].' '.$tagrow['style'].'>';
$nestedtags[$tagrow['tag']] = true;
}
}
else //Farb-Tags
{
if (isset($nestedtags['color'])) // isset scheint besser zu sein (Sheed-Ma)
{
$output.='</span>';
}
else
{
$nestedtags['color']=true;
}
// ASCII-Code
$output.='<span class="c'.ord($tag).'">';
}
}
else
{
$output.=$tag;
}
}
//$output.=(isset($nestedtags['color'])?'+':'-'); //zum Testen
}

$output.=$data;
return $output;
}

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