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

Monsterbilder
https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=2452
Seite 1 von 3

Autor:  TruckerB [ Fr 14 Apr, 2006 15:04 ]
Betreff des Beitrags:  Monsterbilder

So, dann veröffentliche ich auch mal eine kleine Erweiterung. Ein kleiner Code, mit großer Wirkung (zumindest positive fürstimmen:D)

Es geht darum bei Kämpfen ein Monsterbild anzeigen zu lassen.
Bild

SQL:
$this->bbcode_second_pass_code('', '
ALTER TABLE `creatures` ADD `creatureimg` int(11) default 'NULL';
ALTER TABLE `masters` ADD `creatureimg` int(11) default 'NULL';
')
Es wird je eine zusätzliche Spalte eingefügt der Standartmäßig den Wert NULL hat...

Öffne battle.php
Suche:
$this->bbcode_second_pass_code('', 'if ($badguy['creaturehealth']>0 && $session['user']['hitpoints']>0) {
output ("`\$`c`b~ ~ ~ Kampf ~ ~ ~`b`c`0");')
Und füge darunter ein:
$this->bbcode_second_pass_code('', ' if ($badguy['creatureimg']!="NULL") {
output("<center><img src='images/monster/$badguy[creatureimg]'></center>`n",true);
}')
Jetzt braucht ihr im Images Ordner nur noch einen Ordner mit namen "monster" und einige Bilder.
In der Datenbank müsst ihr manuell in der Spalte creatureimg den Namen des Bildes eingeben. Z.B. troll.png
Für ein gutes ergebniss sollte euer bild nicht höher als 100 sein und nicht länger als 200, da sonst der Spielspaß kaputt geht. Und es sollte Transparent sein.
Ich empfehle Bilder Von RPG-XP zu nehmen;)

Oder die im Anhang:D

Autor:  Lyra [ Fr 14 Apr, 2006 15:13 ]
Betreff des Beitrags: 

das braucht gewiss sehr viel Speicher, oder? all die Bilder?

Autor:  TruckerB [ Fr 14 Apr, 2006 15:25 ]
Betreff des Beitrags: 

Lyra hat geschrieben:
das braucht gewiss sehr viel Speicher, oder? all die Bilder?

Das kommt ganz auf dich an:D und auf die Bilder, die du benutzt...
Ich bevorzuge das PNG-Format, weil es ein gutes Qualität-Leistungsverhältniss hat. Du kannst aber auch jedes andere Format benutzen.
Ein einfaches PNG- Bild benötigt etwa 10KB... zumindest in der Größe, wie wir sie brauchen;)

Edit: Mein Ordner ist mit 100 Bildern knapp 840 KB groß

Autor:  Magier12 [ Fr 14 Apr, 2006 15:53 ]
Betreff des Beitrags: 

hmm ich hab auch so ne erweiterung... aber mit gif bildern (also animierte gegner) und die angezeigten bilder passen halt nicht zu den monstern gegen die man kämpft.. aber es gefällt den usern trotzdem :D
€dit: Auf die Lösung mit DB wär ich auch gekommen..... aber mein hoster hat loginnamen für phpmyadmin verschlampt...
€dit²: Ich bleib trotzdem bei meinem.... vorallem da ich gut 1000 monster hab, d.h. entweder mir fehlen sauviele bilder oder aber ich muss alle 1000 monster in der db editieren, für jedes ein bild suchen und hochladen.....

Autor:  Eliwood [ Fr 14 Apr, 2006 16:21 ]
Betreff des Beitrags:  Re: Monsterbilder

TruckerB hat geschrieben:

Öffne battle.php
Suche:
$this->bbcode_second_pass_code('', 'if ($badguy['creaturehealth']>0 && $session['user']['hitpoints']>0) {
output ("`\$`c`b~ ~ ~ Kampf ~ ~ ~`b`c`0");')
Und füge darunter ein:
$this->bbcode_second_pass_code('', ' if ($badguy['creatureimg']!="NULL") {
output("<center><img src='images/monster/$badguy[creatureimg]'></center>`n",true);
}')


Eine kleine Frage. Warum machst du nicht ein NULL-Feld?

$this->bbcode_second_pass_code('', 'ALTER TABLE `creatures` ADD `creatureimg` int(11) NULL; ')

Würde einiges an Speicher sparen (Lol *g*) und man kann es anders Überprüfen (Mit isset() oder empty())

EDIT: Denn NULL und "NULL" sind völlig verschieden *g*

Beispiel:
[php]$var = "NULL";
if($var === NULL || $var == NULL) print 'Diese Worte kriegt du niemals zu Gesicht. *g*';[/php]

Autor:  Magier12 [ Fr 14 Apr, 2006 16:24 ]
Betreff des Beitrags:  Re: Monsterbilder

Eliwood hat geschrieben:
TruckerB hat geschrieben:

Öffne battle.php
Suche:
$this->bbcode_second_pass_code('', 'if ($badguy['creaturehealth']>0 && $session['user']['hitpoints']>0) {
output ("`\$`c`b~ ~ ~ Kampf ~ ~ ~`b`c`0");')
Und füge darunter ein:
$this->bbcode_second_pass_code('', ' if ($badguy['creatureimg']!="NULL") {
output("<center><img src='images/monster/$badguy[creatureimg]'></center>`n",true);
}')


Eine kleine Frage. Warum machst du nicht ein NULL-Feld?

$this->bbcode_second_pass_code('', 'ALTER TABLE `creatures` ADD `creatureimg` int(11) NULL; ')

Würde einiges an Speicher sparen (Lol *g*) und man kann es anders Überprüfen (Mit isset() oder empty())

er hat zwei weil er ja die master schlecht in die monster db reintun kann
€dit: sry, hab jetzt erst gemerkt was du gemeint hast :pein:

Autor:  TruckerB [ Fr 14 Apr, 2006 16:27 ]
Betreff des Beitrags:  Re: Monsterbilder

Eliwood hat geschrieben:
Würde einiges an Speicher sparen (Lol *g*) und man kann es anders Überprüfen (Mit isset() oder empty())
Jedem so, wie es ihm beliebt:D
Neh, es liegt einfach daran, das ich die INT-fuktion nie gelehrnt habe :hmpf:
Aber solange man trotzdem den Bildpfad eingeben kann ist das doch egal :D

edit: Ach so meintest du das :D

Autor:  Lyra [ So 16 Apr, 2006 16:15 ]
Betreff des Beitrags: 

mit int (11) geht es bei mir definitiv nicht.. ist auch eigentlich klar würd ich sagen

Autor:  Lyra [ So 16 Apr, 2006 18:15 ]
Betreff des Beitrags: 

ich hab die änderung von elli genommen und noch n varchar(200) draus gemacht und dann war es auch mal zu sehen.. aber irgendwie noch nicht richtig.. also ich bau im mom nur die meister ein.. kannst mir da sagen, an welche stellen das soll damit das bild im ganzen kampf angezeigt wird und möglichst auch bei der anfrage des meisters und ausgabe wer meiister ist?
danke

Autor:  TruckerB [ So 16 Apr, 2006 20:52 ]
Betreff des Beitrags: 

Nach meiner Methode wirds immer angezeigt, wenn gekämpft wird. Da gegen meister Kämpfen auf der gleichen datei zugreift (battle.php) mach das so, wie ich gesagt habe. und BEIDE SQL-befehle ausführen. Das skript such nämlich nach NULL, und wenn die Spalte nicht existiert wird ein Kasten mit nem X gezeigt...

Also... Installation so machen wie ich gesagt habe, und dann in der Datenbank nur bei den Meistern ein Bildpfad angeben.

Autor:  Lyra [ Mo 17 Apr, 2006 10:47 ]
Betreff des Beitrags: 

erstmal:

wie du sagtest oder elli.. also mit int geht es nciht.. ich habe beide befehle.. kurzzeitig wurd es auf meine art ja angezeigt und dann btw: wieso denn kein Pfad für die monster?

Autor:  Eliwood [ Mo 17 Apr, 2006 12:11 ]
Betreff des Beitrags: 

Ich sollte vielleicht noch erwähnen dass ich den Vorschlag mit NULL gemacht hab, ohne das Script anzuschauen. Somit kann ich nicht wissen, dass int hier falsch wäre. Im übrigen fallt mir gerade auf:

ALTER TABLE `creatures` ADD `creatureimg` int(11) default 'NULL';

Ein integerFeld mit einem String als default-Wert? :P

Aber ansonsten müsste es gehen, wenn die Bilder nur von den Zahlen abhängig sind.

Somit sind aber wiederum mit einem int-Feld kombinationen wie "3.png" nicht möglich :P

Ja, varchar wäre die richtige Entscheidung. Auch wenn vielleicht 200 doch massig viel ist. 30 wäre wohl genug.

Autor:  Lyra [ Mo 17 Apr, 2006 12:55 ]
Betreff des Beitrags: 

Eliwood hat geschrieben:
Ich sollte vielleicht noch erwähnen dass ich den Vorschlag mit NULL gemacht hab, ohne das Script anzuschauen. Somit kann ich nicht wissen, dass int hier falsch wäre. Im übrigen fallt mir gerade auf:

ALTER TABLE `creatures` ADD `creatureimg` int(11) default 'NULL';

Ein integerFeld mit einem String als default-Wert? :P

Aber ansonsten müsste es gehen, wenn die Bilder nur von den Zahlen abhängig sind.

Somit sind aber wiederum mit einem int-Feld kombinationen wie "3.png" nicht möglich :P

Ja, varchar wäre die richtige Entscheidung. Auch wenn vielleicht 200 doch massig viel ist. 30 wäre wohl genug.


ja langt wohl, aber nehm standardmäßig immer 200
siehste ich kann schon was ^^ immerhin etwas was ich gerallt hab, dass integerwerte nur für zahlen sind und nciht für links ^^

aber ansonsten per anleitung geht es nicht.. habs in die battle eingefügt nur das geht nicht was bei den meistern einfügen geht irgendwie auch nicht richtig.. help

wie soll der sql befehl richtig heißen nun? default null oder nicht?

Autor:  TruckerB [ Mo 17 Apr, 2006 13:57 ]
Betreff des Beitrags: 

Also standartmäßig sollte in Creatureimg der Wert NULL sein.
Das Skript in der Battle.php überprüft dann on der wert Null ist. Sollte er null sein, weis das skript, das keine Bilder eingetragen wurden und überspringt das einfach:
$this->bbcode_second_pass_code('', ' if ($badguy['creatureimg']!="NULL") {
output("<center><img src='images/monster/$badguy[creatureimg]'></center>`n",true);
}')
Falls der wert aber nicht Null ist, wird ein Bild eingefügt aus images/monster/. In der Tabelle sollte dann entweder Null stehen oder der Bildname. Z.B. monster.png
Also wenn in der Tabelle stadt NULL monster.png steht wird das Bild aus den Ordner images/monster/ gesucht und eingebunden.

Autor:  Ray [ Mo 17 Apr, 2006 14:05 ]
Betreff des Beitrags: 

schöne erweiterung...Nur für die 300 Monster die Logd so bietet sind um die 100 bilder ein bissl wenig meine ich....aber mann kann sich ja selber noch welche raussuchen und rein machen...

Autor:  Eliwood [ Mo 17 Apr, 2006 14:23 ]
Betreff des Beitrags: 

Trucker, es gibt einen Unterschied zwischen NULL und "Null" :)

[php]if("NULL" === NULL) print "Das kriegst du nie zu Gesicht";[/php]

Ein int-Feld kann nur NULL sein - nie "NULL".

Autor:  Lyra [ Mo 17 Apr, 2006 14:44 ]
Betreff des Beitrags: 

TruckerB hat geschrieben:
Also standartmäßig sollte in Creatureimg der Wert NULL sein.
Das Skript in der Battle.php überprüft dann on der wert Null ist. Sollte er null sein, weis das skript, das keine Bilder eingetragen wurden und überspringt das einfach:
$this->bbcode_second_pass_code('', ' if ($badguy['creatureimg']!="NULL") {
output("<center><img src='images/monster/$badguy[creatureimg]'></center>`n",true);
}')
Falls der wert aber nicht Null ist, wird ein Bild eingefügt aus images/monster/. In der Tabelle sollte dann entweder Null stehen oder der Bildname. Z.B. monster.png
Also wenn in der Tabelle stadt NULL monster.png steht wird das Bild aus den Ordner images/monster/ gesucht und eingebunden.


ist ja schön und gut, geht aber so nicht
soll das ausrufezeichen im befehl bedeuten "nicht gleich"?
und bei den master müsstes es ja $master heißen und anstatt monster master (hab nen bilderordenr für master..
un int ist es eh nicht, das dürft jetzt ja klar sein.. aber WIE soll es lauten? habs so oft probiert und bin ehrlich gesagt frustriert, weil es einfach nicht geht

Autor:  Squall [ Sa 20 Mai, 2006 01:40 ]
Betreff des Beitrags: 

Ich hab es nun auch mal eingebaut...und es geht bei mir auch nicht...

ganz einfach kann auch nicht gehen...da es mir in der Db auffiel...das er die Änderung in der creatureimg..Spalte...zwar nimmt..und man kann auch abspeichern..jedoch klickt man wieder auf dieses Monster..das man manuell ja laut anleitung anpassen muß...sieht man..das er es überhaupt nicht übernimmt..wenn man Elfe.PNG dort reinschreibt...

Mfg

Autor:  Harthas [ Sa 20 Mai, 2006 06:56 ]
Betreff des Beitrags: 

NJa..ich würd jetzt einfach mal raten, dass du den SQL aus der Anleitung verwendest... und der ist falsch *gg*

Denn int()... kann ja doch nur Zahlen speichern..also geht das für den pfad schonmal nicht...

Ich würds mal mit varchar(30) versuchen...das sollte gehen ;)

Autor:  Lyra [ Sa 20 Mai, 2006 17:54 ]
Betreff des Beitrags: 

wär gut, wenn meine posts auch beachtet würden.. denn da steht das schon mit varchar.. :baeh:

aber geht bei mir auch immer noch nicht wollt ich nur anmerken

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