anpera.net
http://anpera.homeip.net/phpbb3/

Kämpferliste - Ortsanzeige
http://anpera.homeip.net/phpbb3/viewtopic.php?f=43&t=4840
Seite 1 von 1

Autor:  Kevz [ So 15 Mär, 2009 21:57 ]
Betreff des Beitrags:  Kämpferliste - Ortsanzeige

Mit dieserm kleinen "Mod", wird der "genaue Ort" angegeben, wo sich ein Spieler befindet. Dadurch fällt die Anzeige weg, ob dieser Online ist, oder nicht. Kann natürlich manuell wieder hinzufügt werden. ;-) - Das ganze ist nur eine Spielerei. Kann natürlich in Verbindung mit dem "Useronline"- Mod von Devilzimti gebracht werden.

Für weitere Orte jeweils das Array erweitern, um unbekannte Orte zu vermeiden. ;-)

Hier ein Beispiel, in der Ansicht:
Bild

Code:
/**
* This script is powered by LotGD scene.Network
* deine Community rund ums Programmieren für LotGD. (v0.97)
*
* @link http://forum.logd.dyndns.org/
**/

Code:
Datei: common.php
Suche:
$beta = (getsetting("beta",0) == 1 || $session['user']['beta']==1);

Füge darüber hinzu:
$locations = array('academy'=>'Warchilds Akademie'
                  ,'armor'=>'Pegasus Rüstungen'
                  ,'armoreditor'=>'Rüstungseditor'
                  ,'avatars'=>'Spieleravatare'
                  ,'badword'=>'Wortfilter'
                  ,'bank'=>'Die alte Bank'
                  ,'battlearena'=>'Kämpfer-Arena'
                  ,'beggar'=>'Bettelstein'
                  ,'bio'=>'Charakter Biographi'
                  ,'bios'=>'Spielerkurzbeschreibungen'
                  ,'creatures'=>'Creature Editor'
                  ,'dag'=>'Dag Durnick\'s Tisch'
                  ,'donators'=>'Spenderseite'
                  ,'dragon'=>'Der Grüne Drachen!'
                  ,'forest'=>'Der Wald'
                  ,'gardens'=>'Die Gärten'
                  ,'graveyard'=>'Der Friedhof'
                  ,'gypsy'=>'Zigeunerzelt'
                  ,'healer'=>'Hütte des Heilers'
                  ,'hexe'=>'Hexenhaus'
                  ,'hof'=>'Ruhmeshalle'
                  ,'houses'=>'Das Wohnviertel'
                  ,'inn'=>'Schenke zum Eberkopf'
                  ,'innboard'=>'Das schwarze Brett'
                  ,'invhandler'=>'Inventar'
                  ,'itemeditor'=>'Item Editor'
                  ,'list'=>'Kämpferliste'
                  ,'lodge'=>'Jägerhütte'
                  ,'logs'=>'Logs und Mail'
                  ,'lottery'=>'Lotterie'
                  ,'mounts'=>'Mount Editor'
                  ,'newday'=>'Es ist ein neuer Tag!'
                  ,'newgiftshop'=>'Geschenkeladen'
                  ,'news'=>'LoGD News'
                  ,'olddrawl'=>'Old Drawls Tisch'
                  ,'outhouse'=>'Die Klohäuschen'
                  ,'prefs'=>'Einstellungen & Profil'
                  ,'referers'=>'Referers'
                  ,'pvp'=>'Spielerkampf!'
                  ,'pvparena'=>'Kämpferarena!'
                  ,'rebirth'=>'Schrein der Erneuerung'
                  ,'shrine'=>'Schrein des Ramius'
                  ,'referral'=>'Empfehlungen'
                  ,'shades'=>'Land der Schatten'
                  ,'rock'=>'Seltsamer Felsen'
                  ,'retitle'=>'Retitler'
                  ,'stables'=>'Mericks Ställe'
                  ,'stats'=>'Stats'
                  ,'styx'=>'Der Seelenfluss'
                  ,'stonesgame'=>'Steinchenglücksspiel'
                  ,'superuser'=>'Admin Grotte'
                  ,'suhouses'=>'Hausmeister'
                  ,'train'=>'Blusprings Trainingslager für Krieger'
                  ,'taunt'=>'Spott Editor'
                  ,'user'=>'User Editor'
                  ,'vendor'=>'Wanderhändler'
                  ,'viewpetition'=>'Petition Viewer'
                  ,'village'=>'Dorfplatz'
                  ,'well'=>'Der Dorfbrunnen'
                  ,'weapons'=>'MightyE\'s Waffenladen'
                  ,'weaponeditor'=>'Waffen Editor'
                  );


Datei: list.php
Suche (2x):
SELECT acctid

Ersetze durch (2x):
SELECT `restorepage`,acctid

Suche:
$loggedin=(date("U") - strtotime($row[laston]) < getsetting("LOGINTIMEOUT",900) && $row[loggedin]);
   if ($row[location]==0) output($loggedin?"`#Online`0":"`3Die Felder`0");
   if ($row[location]==1) output("`3Zimmer in Kneipe`0");
   if ($row[location]==2) output("`3Im Haus`0");

Ersetze durch:
$location = basename($row['restorepage']);
   $location = substr($location, 0, stripos($location, '.php'));
   output($locations[$location]);

Autor:  Rikkarda [ So 15 Mär, 2009 22:26 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

puh, wenn ich das für Silienta erweitern sollte hätte ich aber viel zu schreiben.. ausserdem denke ich, dass so administrative Seiten wie Wortfilter etc. die User nicht wirklich was angehen.. glaube bevor ich dies einbauen würde, würde ich auf die Möglichkeit mit dem Page_header zurückgreifen, die hier irgendwer mal gepostet hat, wo man dann "verschollen" bei bestimmten Seiten eingeben konnte.. weiss aber nicht mehr wer das gewesen ist..

viewtopic.php?f=25&t=2090&hilit=page+header

glaub dies war der Thread dazu.. fände ich wesentlich einfacher als mir da ein Kilometerlanges array zu schreiben, was ich bei jeder neuen Datei erweitern müsste..

aber das ist jetzt keine negative Kritik :P nur halt meine Meinung dazu.

Autor:  Kevz [ So 15 Mär, 2009 22:57 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Jep.

Wie gesagt, war/ist nur eine Alternative. Ich würde aber auch ehr einen Editor- mit Datenbankanbindung bevorzugen.

Ich werde es noch einmal säuberlich ausarbeiten. :D

Autor:  Liath [ So 15 Mär, 2009 23:17 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

also ich habs bei mir eingebaut und es funzt einwandfrei... auch nach anfänglichen Schwierigkeiten die ich mit Kevz aber beseitigen konnte...

bin auch grd schon dabei die übrigen Orte einzutragen, was mit Sicherheit noch ne Weile dauern wird :/

muss man eigentlich alle Dateien eintragen? Ich geh mal von aus, das wenn ich welche nicht eintrage, das Ortsfeld an der Stelle einfach leerbleibt oder? Vielleicht kann man dem ja irgendwie entgegenwirken und einfach den zuletzt besuchten Ort anzeigen lassen

ich finde diese Variante gut, da man sich im Array selber genau die Anzeige definieren kann, auch wenns ein bisschen mehr Arbeit ist, aber wenn man sie einmal hat, ist ein Eintrag bei Erweiterungen schnell gemacht. Ein Editor und vllt ein Datenbankeintrag wären natürlich noch besser :D (vorausgesetzt Kevz schreibt direkt nen Compiler, das ich mein Array dann übernehmen kann) *g*

P.S.
Wenn wer wissen will wie es in die DS 2.5 eingebaut wird, bitte melden...

Autor:  Kevz [ So 15 Mär, 2009 23:46 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Ich werde natürlich einen Compiler in der Art schreiben, was aber nicht der Fall unbedingt sein muss, weil Du das Array dann ohne Probleme löschen kannst. Denn die Auflistung der Dateien wird ehr durch PHP- Funktionen übernommen und somit musst dann nur noch die Beschreibung einführen. ;-)

Update folgt. :)

Autor:  Linus [ So 15 Mär, 2009 23:58 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Nun ja, ich hasse es die common.php mit ellenlangen Arrays zu belasten die dann wieder nur in einer einzigen Datei... nämlich der list.php genutzt werden. Obwohl ich auch nicht für eine Inflation der Datenbank bin ziehe ich es hier vor in der accounts ein weiteres Feld mit dem Namen standort zu schaffen.

Und in den diversen PHPs steht dann so etwas wie:
Code:
$session['user']['standort']="Wohnviertel";
was sich dann in der list.php einfach auswerten lässt!

Außerdem lasse ich meinen Spielern die Wahl über die Prefs einen Stealth-Modus einzuschalten, so dass bei denen immer "Unbekannt" in der List erscheint! :D

Autor:  Kevz [ Mo 16 Mär, 2009 15:48 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Ich bin nicht soo der Freund, von neuen Feldern in der Datenbanktabelle, sondern beruhe mich weitergehend auf das, was einem vorgegeben ist. Um gerade sowas zu vermeiden. :D - Ich denke, letztenendes liegt es nur an der Methode wie man das ganze Verarbeitet. Und ich werde mich nochmal drum bemühen, dass ganze sehr viel sauberer und sowie Funktionstüchtiger zu gestalten. :-)

Autor:  Lunastra [ Mi 13 Mai, 2009 11:14 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Ich hätte da mal ne Frage, was die Zeichenlänge betrifft :/

Wenn man bei uns an Orte geht, die Länger als eine bestimmte Anzahl von Zeichen sind
dann wird das wort abgehackt:
Bsp: Biografie: Lunaris Melodicana Lunastra <- So sollte es z.b. drin stehen
Biografie: Lunaris Melod <- So steht es z.b. nur drin

Kann mir vielleicht einer sagen wo man das ändern kann, und was genau geändert werden muss, weil irgendwie suche ich mich dumm und dämlich aber finde nichts xD" I'm Sry~

Autor:  Harthas [ Mi 13 Mai, 2009 11:36 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Welchen Server betrifft es denn genau?

Falls es www.hytivia.de ist, so schreibst du hier genaugenommen im falschen Thema. Dort verwendest du nämlich eine andere Variante, in welcher jeweils der Header als Standort gesetzt wird.

Höchstwahrscheinlich ist das Feld standort in der MySQL-Tabelle accounts nicht gross genug. Nachfolgender Befehl würde dir dabei helfen, die Grösse des Feldes anzupassen. Ich habe hier einfach mal 100 gewählt.
Du musst allerdings darauf achten, dass für jeder Farbtag auch 2 Zeichen gezählt werden ( Das ` und das dazugehörige Zeichen ). Möglicherweise muss es also noch grösser als 100 sein.

ALTER TABLE `accounts` CHANGE `standort` `standort` VARCHAR( 100 ) NULL;

Autor:  Lunastra [ Mi 13 Mai, 2009 11:48 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Oh entschuldigung ^^°
naja, das thema heißt ja Kämpferliste - Ortsanzeige^^ also von daher, könnte man es allgemein nehmen
aber danke ich werde mal probieren^^

Autor:  Rantanplan [ Fr 05 Feb, 2010 20:48 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Erledigt...

Autor:  Kevz [ Fr 05 Feb, 2010 20:54 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Du nutzt evtl. nicht die PHP Version 5? Denn ab dieser wird diese Funktion erst unterstützt. Ich kümmer mich aber später mal um eine saubere Version/Lösung. Ist/War ziemlich kompliziert, die jetzige. ;-)

Btw., hast Post. :-)

Autor:  Victorinus [ Fr 26 Mär, 2010 20:26 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Irgendwie bin ich zu blöd das Teil in die DS3 Version einzubauen, hab nun über 2(!!!) Stunden dran rumgebastelt und er gibt mir dann stets nix aus beim Ort ôò

Falls jemand da den Durchblick hat wird in meinem Nachtgeben eingeschlossen :D

PHP:
Dropped by Eliwood


Gruüssle

Edit by Eliwood: Mann, für soetwas gibts es Dateianhänge oder pastebin: http://pastebin.com/TtzbHZTk

Autor:  Eliwood [ Fr 26 Mär, 2010 23:04 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Moved PHP to pastebin: http://pastebin.com/TtzbHZTk

Autor:  Victorinus [ Fr 02 Apr, 2010 18:13 ]
Betreff des Beitrags:  Re: Kämpferliste - Ortsanzeige

Hat sich erledigt, danke an Salator :-)

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