anpera.net https://anpera.homeip.net/phpbb3/ |
|
LoGD Spielfiguren https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2779 |
Seite 1 von 1 |
Autor: | jahnlukas [ So 20 Aug, 2006 18:35 ] |
Betreff des Beitrags: | LoGD Spielfiguren |
Hallo ihr! Bei http://www.duesterstein.de gibt es so coole Spielfiguren. Diese werden in der Kämpferliste und vor Namen auf der Startseite gezeigt! Kennt jemand das Addon und weiß wo ich es her bekomme oder wie ich es selber mache? Und dann such ich noch das Addon der Standarffarben, die man in der Bio wählen kann. Wenn jemand eins der Addons kennt, bitte melden, danke! |
Autor: | Setsna [ So 20 Aug, 2006 19:29 ] |
Betreff des Beitrags: | |
Für die Farben empfehle ich dir http://anpera.homeip.net/forum/viewtopi ... rben&t=802 Zu den Spielfiguren Nunja, du müsstest prinzipiell nur ein Feld für den Link erstellen und diesen überall dort auslesen und anzeigen lassen, wo die Figur sein soll ^^" Eine bereits vorgefertige Version ist mir nicht bekannt, aber das sollte nicht soo schwer zu scripten sein MfG Setsna |
Autor: | jahnlukas [ So 20 Aug, 2006 20:55 ] |
Betreff des Beitrags: | |
Darum geht es mir ja nicht. Mir geht es darum, dass ich erstmal zwischen männlich und Weiblich unterscheiden will und vor allem sollen Bauernjungen andere Figuren als Magier haben. Also dass es zum Beispiel für jeden Titel oder so eine andere Figur gibt.. |
Autor: | Setsna [ So 20 Aug, 2006 21:00 ] |
Betreff des Beitrags: | |
Die vorraussetzung für männliche/Weibliche Chars hast du bereits. Den Beruf musst du dann auslesen lassen (Ich weiss nicht genau wie du das festlegst, standardmäßig über specialities wo du aber nur zwischen Dark Arts, Mystic Arts und Thievery unterscheiden kannst wenn du da nicht rumschraubst) |
Autor: | jahnlukas [ Mo 21 Aug, 2006 13:54 ] |
Betreff des Beitrags: | |
Ganz ehrlich verstehe ich das alles nur bedingt, da ich nicht soooo gut programmieren kann. Wenn du aber ne gewisse Vorstellung hast, dann meld dich doch mal per ICQ bei mir - danke ;-) |
Autor: | Harthas [ Mo 21 Aug, 2006 14:39 ] |
Betreff des Beitrags: | |
für das geschlecht könnte man es doch irgendwie so machen [php]if($session['user']['sex']==0) rawoutput("<img src="http://www.server.de/images/bild.gif" alt="Männlich">"); [/php] Wenn ich mich nicht irre *gg* |
Autor: | Setsna [ Mo 21 Aug, 2006 15:04 ] |
Betreff des Beitrags: | |
So hier eine kleine Version die beim test keine Fehler auswarf list.php Suche [php] $playersperpage=50;[/php] Füge danach ein [php] $bildanzahl = xxx; //Muss der Anzahl der im Ordner /images/figur verfügbaren Bilder entsprechen[/php] suche (wirklich nur den Anfang) [php] <td><b>Level</b></td>[/php] Füge danach ein [php] <td><b>Figur</b></td>[/php] Suche [php] }else{ output("`c`bKrieger in dieser Welt (Seite ".($pageoffset/$playersperpage+1).": $from-$to von $totalplayers)`b`c"); $sql = "SELECT acctid,name,login,alive,location,sex,level,laston,loggedin,lastip, superuser, uniqueid,race FROM accounts WHERE locked=0 $search ORDER BY level DESC, dragonkills DESC, login ASC $limit"; [/php] (Kann abweichen!) Ersetze durch [php] }else{ output("`c`bKrieger in dieser Welt (Seite ".($pageoffset/$playersperpage+1).": $from-$to von $totalplayers)`b`c"); $sql = "SELECT acctid,dragonkills,name,login,alive,location,sex,level,laston,loggedin,lastip, superuser, uniqueid,race FROM accounts WHERE locked=0 $search ORDER BY level DESC, dragonkills DESC, login ASC $limit";[/php] (Wenn hier standardmäßig andere Dinge mit aufgerufen werden müssen diese Berücksichtigt werden. Im zweifelsfalle nur hinter das Select " dragonkills, " hinzufügen) Suche [php] output("`^$row[level]`0"); output("</td><td>",true);[/php] Füge danach ein [php] if ($row[sex]==0){ if ($row[dragonkills]>$bildanzahl) output("<center><img src='images/figur/m$bildanzahl.gif' alt=''Männlich'></center>`n",true); if ($row[dragonkills]<=$bildanzahl) output("<center><img src='images/figur/m$row[dragonkills].gif' alt='Männlich'></center>`n",true); } if ($row[sex]==1){ if ($row[dragonkills]>$bildanzahl) output("<center><img src='images/figur/w$bildanzahl.gif' alt='Weiblich'></center>`n",true); if ($row[dragonkills]<=$bildanzahl) output("<center><img src='images/figur/w$row[dragonkills].gif' alt='Weiblich'></center>`n",true); } output("</td><td>",true);[/php] Bilderbenennung: Die Bilder müssen nach folgendem Schema benannt werden: Sämtlichen Männlichen muss ein m vorgestellt sein. Dahinter dann eine Nummer die der Anzahl der DK's entspricht. Sämtliche Weibliche Bilder müssen mit einem vorgestellten w versehen sein, der Rest wie gehabt. Beispiel: m1.gif für das männliche Bild bei einem DK w3.gif für das weibliche Bild bei jedem DK Ich habe Gif als Format gewählt, das kann natürlich jeder für sich anpassen. Den Block dort oben müsst ihr überall dort angeben wo die Bilder auftauchen sollen, ich habe lediglich das Beispiel der Kämpferliste gegeben, da es wohl das verbreiteste Nutzungsgebiet sein wird ![]() Die Variable $bildanzahl muss auch überall dort deklariert werden wo ihr die mod benutzen wollt, gegebenenfalls macht sie global Natürlich müssen entsprechend Bilder vorliegen, sonst werdet ihr nichts angezeigt bekommen *g* Wenn ihr ungleich viele Bilder für Männlein und Weiblein habt, dann könnt ihr die Variable $Bildanzahl auch durch eine geschlechtsspezifische ersetzen. Wenn es damit unklarheiten gibt, dann fragt einfach nach ich schreib es dann soweit um (Ich schätze man hätte das auch besser lösen können, aber so funktioniert es auch ganz ohne Datenbankeintrag) |
Autor: | Harthas [ Mo 21 Aug, 2006 15:15 ] |
Betreff des Beitrags: | |
**EDIT** Sollte so eigentlich auich gehen... [php] $specialty = $row[specialty']; if($row['sex']==0){ switch($specialty) { case "1": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Dunkler Mann'></center>"); break; case "2": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Mystischer Mann'></center>"); break; case "3": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Diebischer Mann'></center>"); break; } } else { switch($specialty) { case "1": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Dunkle Frau'></center>"); break; case "2": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Mystische Frau'></center>"); break; case "3": rawoutput("<center><img src='http://www.server.de/images/bild.gif' alt='Diebische Frau'></center>"); break; } } [/php] Ich habe hier auch eine kleine Version... Einfach die ensprechenden Bilder einsetzen( welche sollte beim alt-attribut ersichtlich sein) *gg* |
Autor: | Setsna [ Mo 21 Aug, 2006 15:21 ] |
Betreff des Beitrags: | |
Jetzt muss man sich dann nurnoch entscheiden, ob man es DK-oder Speciality-abhängig will ... wobei man beides kombinieren könnte, was aber Unmengen an Bildern vorraussetzt. |
Autor: | Harthas [ Mo 21 Aug, 2006 15:24 ] |
Betreff des Beitrags: | |
Japp... Man könnte natürlich bei 30 und bei 60 je ein neues Bild machen... Aber das wären dann dennoch bereits 18 bilder.... |
Autor: | Auric [ Mo 21 Aug, 2006 15:47 ] |
Betreff des Beitrags: | |
@ Setsna: man könnte die Anzahl Bilder doch auch dynamisch auslesen... [php] $zahl = 0; $dir = dir("/pfad/"); while(false !== ($datei = $dir->read())) { if(substr($datei,strlen($datei)-3) == "gif") $zahl++; } $dir->close(); [/php] Wobei hier "/pfad/" dem Pfad zum Bilder-Ordner entspricht und $zahl dann der Anzahl der vorhanden Bilder entspricht. (hier: gif-images) |
Autor: | Setsna [ Mo 21 Aug, 2006 15:53 ] |
Betreff des Beitrags: | |
@Auric Das Problem daran ist, dass man dann genau gleichviele Bilder für Männlein/Weiblein braucht. Bei der manuellen Festlegung kann man immernoch mit 2 Variablen arbeiten ... Oder lässt sich das ganze auch mit einem prefix vor einer dynamischen Zahl auslesen? In der Hinsicht bin ich leider nicht wirklich erfahren ^^" Edit [php] $zahl = 0; $dir = dir("/pfad/"); while(false !== ($datei = $dir->read())) { if(substr($datei,strlen($datei)-3) == "gif") $zahl++; } $dir->close(); [/php] Verständnisfrage: Die ersten beiden zeilen sind mir klar. Variable deklarieren und den "Inhalt" des Pfades in einer Variable speichern. darunter wird dann geprüft ob noch ungeprüfte dateien vorhanden sind, die dann geprüft werden falls sie es sind (?) In der Zeile darunter werden dann die letzten 3 Buchstaben des Dateinamens betrachtet und wenn diese "gif" lauten wird die Variable $zahl um 1 erhöht? Daraufhin wird das Verzeichnis dann logischerweise geschlossen. |
Autor: | Auric [ Di 22 Aug, 2006 16:30 ] |
Betreff des Beitrags: | |
das while-konstrukt in diesem code ist in prinzip eine recht faffinierte sache: dir() erzeugt eine art Objekt, das über einige Methoden verfügt. Hier wird mit der Methode read() Datei für datei das Verzeichnis durchgegangen. So gibt read() eben einen Dateinamen nach dem anderen aus. Wenn allerdings alle Dateinamen ausgegeben wurden, gibt die Methode FALSE zurück. Damit kann man dann das Abbruchkriterium der Schleife formulieren. Die Schleife läuft also solange, wie das Ergebnis von read() (das der Variable $datei zugewiesen wird) nicht FALSE ist. Durch diesen aufbau spart man sich eine 2 Zeilen code.. sonst müsste man schon do { } while() verwenden usw... |
Autor: | Eliwood [ Di 22 Aug, 2006 16:44 ] |
Betreff des Beitrags: | |
Auric, deine Lösung ist seit PHP 4.3.0 eigentlich nicht mehr zeitgemäss... *fg* Es gibt eine weitaus bessere Lösung als deine. Und sie nennt sich glob(). Ein Beispiel: [php]<?php /* Nicht beachten */?> <pre><?php foreach(glob('./lotgd/images/*.gif') as $filename) { print $filename."\r\n"; } ?> </pre> <?php /* Nicht beachten */ ?>[/php] |
Autor: | Auric [ Di 22 Aug, 2006 17:03 ] |
Betreff des Beitrags: | |
Wieder was gelernt *g* |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |