Seite 1 von 2

Kleine Starthilfe: Map-Editor für Freewar

Verfasst: 05.09.2007 21:20
von Guild
Hi!

Ich möchte ein Tool in PB schreiben, welches zwar schon in Java existiert, allerdings möchte ich es halt gerne in PB schreiben, und ein bisschen verbessern.

Hier der Link dazu: http://213.239.200.71/~miro/

Kann mir jemand dabei helfen (Kann zwar nur Anfängerzeugs, lerne aber schnell^^)^, und mir schon mal ne kleine Starthilfe geben?

Wäre sehr nett.

MfG BassDriver6000

Titel erweitert - Kaeru fecit

Verfasst: 06.09.2007 07:03
von Bisonte
Sieht also aus wie ein Map Editor.... allerdings trotz download und Aufruf des Programms kommt nix, ausser das man sich vielleicht bei FreeWar anmelden müsste....

Poste doch mal nen screenshot, wie das Ding ausssieht...

Ansonsten benutze mal die SuFu von wegem mapeditor usw.

oder aber schau doch mal unter

http://www.purebasic.fr/german/viewtopic.php?t=13624

Verfasst: 06.09.2007 15:48
von Kaeru Gaman
nen Map-Editor für Freewar?

haben die mittlerweile verschiedene Maps auf neuen servern?
...früher gabs nur die Hauptmap, wenn auch verschiedene server, aber die Map war überall gleich...
und wenn man ne Map erstellt... wo kann man die dann hochladen?
gibts da wettbewerbe, welche von Usern designten Maps übernommen werden?


der knackpunkt bei der sache ist das datenformat, nicht wie die oberfläche aussieht.

also, wenn du den Source der Java-Version vorliegen hast,
kannst du daraus ermitteln, in welcher Form die Daten gespeichert werden.
wenn nicht, hast du vielleicht eine Anleitung vom Team das Freewar gemacht hat,
wo präzise beschrieben wird, in welcher Form die Daten vorliegen müssen.

falls du beides nicht hast, hast du keine chance so einen Editor für Freewar zu schreiben.

du kannst zwar einen besseren Editor für irgendwelche Kartenformate schreiben,
aber nicht für Freewar, wenn du keine informationen hast, wie das Format aussehen muss.


PS:
falls ich das jetzt etwas falsch interpretiert hab...
BassDriver6000 hat geschrieben:Ich möchte ein Tool in PB schreiben, welches zwar schon in Java existiert, allerdings möchte ich es halt gerne in PB schreiben, und ein bisschen verbessern.

Hier der Link dazu: http://213.239.200.71/~miro/
ist etwas sehr dünne....
es wäre hilfreich, wenn du genauer ausformulierst, was du machen willst und was das programm, das du imitieren willst, leistet.

Verfasst: 06.09.2007 17:06
von Guild
Die Mapdateien müssen im XML-Format liegen. Den Sourcecode haben sie auch nicht freigegeben.

Es gibt noch einige Bugs - wie z.B. die NPC Anzahl pro feld ist auf 1 beschränkt,.... und diese möchte ich ausbessern.

Ich kann ja mal schnell ne leere Freewar Map selbst machen, damit man den Aufbau davon sieht.

EDIT: Hier ist der Aufbau:

Code: Alles auswählen

<freewar author="BassDriver6000">
<xmlversion>0</xmlversion>
<name/>
<pos_x>1</pos_x>
<pos_y>1</pos_y>
<startid>10000</startid>
<width>5</width>
<height>5</height>
−
	<node>
<x>1</x>
<y>0</y>
<image>desert10.jpg</image>
<name>Berg von XYZ</name>
−
	<description>
Beschreibung gibts im Moment keine....

Dies ist ein Ort des Friedens, Angriffe gegen Spieler sind hier nicht möglich.
</description>
<eval_code></eval_code>
<holy/>
<transportable/>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>1</x>
<y>1</y>
<image>desert8.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>1</x>
<y>2</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>1</x>
<y>3</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>1</x>
<y>4</y>
<image>desert9.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<locked/>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>2</x>
<y>1</y>
<image>desert8.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>2</x>
<y>2</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name>Lebender Sand</npc_name>
<npc_description></npc_description>
<npc_experience>2</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval>Ein bisschen Sand, welcher lebend ist.</npc_arriveeval>
</node>
−
	<node>
<x>2</x>
<y>3</y>
<image>oase.jpg</image>
<name>XYZs Oase</name>
−
	<description>
Eine Oase mitten in der Wüste.

Dies ist ein Ort des Friedens....
</description>
<eval_code></eval_code>
<holy/>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>2</x>
<y>4</y>
<image>desert9.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<locked/>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>3</x>
<y>1</y>
<image>desert8.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>3</x>
<y>2</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>3</x>
<y>3</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>3</x>
<y>4</y>
<image>desert9.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<locked/>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>4</x>
<y>1</y>
<image>desert8.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<node>
<x>4</x>
<y>2</y>
<image>desert6.jpg</image>
<name/>
<description></description>
<eval_code></eval_code>
<npc_name/>
<npc_description></npc_description>
<npc_experience>0</npc_experience>
<npc_strength>0</npc_strength>
<npc_health>0</npc_health>
<npc_money>0</npc_money>
<npc_dieeval></npc_dieeval>
<npc_arriveeval></npc_arriveeval>
</node>
−
	<item>
<name>Item</name>
<description>Ein einfaches Item</description>
<duration>225</duration>
<strength>3</strength>
<intelligence>6</intelligence>
<eval></eval>
<extraname>lol</extraname>
<extraeval></extraeval>
<money>25</money>
<type>S</type>
<image>C:\Eigene Dateien\oase.jpg</image>
<power>25</power>
</item>
</freewar>
So sieht der Aufbau der XML Datei aus.

Und hier ein paar Pics davon:

http://img259.imageshack.us/img259/9241/pic1hw7.png

http://img519.imageshack.us/img519/9527/pic2pm9.png

http://img259.imageshack.us/img259/6013/pic3ag2.png

http://img259.imageshack.us/img259/2774/pic4kh5.png

Ich weiß, die Map is schlecht, allerdings sollte das nur eine Demonstration des Map-Editors sein.

Hoffentlich ist das hilfreich.

MfG BassDriver6000

Verfasst: 06.09.2007 17:11
von Kiffi
Hm, welche PB-Version hast Du denn? Vollversion oder Demo?

Kennst Du Dich mit XML aus? Ich hoffe, die '-'-Zeilen sind nicht wirklich in
dem XML vorhanden. Wenn doch, wirst Du Schwierigkeiten haben, das mit
einem XML-Parser auszulesen.

Grüße ... Kiffi

Verfasst: 06.09.2007 17:15
von Guild
Ich habe die PB Demo 4.00

Die - Zeilen sind nich normal vorhanden, hab das XML-File aus Faulheit mit FireFox geöffnet, und dann alles kopiert. Und mit XML kenn ich mich auch nich aus.

MfG BassDriver6000

Verfasst: 06.09.2007 21:16
von Kaeru Gaman
BassDriver6000 hat geschrieben:Die Mapdateien müssen im XML-Format liegen.
XML-format sagt so gut wie nix aus.
dann kommt es noch darauf an, in welcher form die map wirklich gespeichert wird, das Protokoll sozusagen.
da ist ja aus deinem beispiel einiges zu erkennen,
aber trotzdem wäre eine dokumentation hilfreich,
wenn du nen editor schreiben willst.
Es gibt noch einige Bugs - wie z.B. die NPC Anzahl pro feld ist auf 1 beschränkt,.... und diese möchte ich ausbessern.
das ist kein Bug - in Freewar kann nur ein NPC pro feld eingesetzt werden.
Freewar verwaltet nur ein NPC pro feld, das ist eine feste größe.
hast du überhaupt schon mal Freewar gespielt?

sag mal - geht es dir eigentlich wirklich um Maps für Freewar?
du hast noch nicht beantwortet, was man mit denen wirklich machen kann.
kann man die irgendwo hochladen und dann online spielen?

;------------------------------------------------------------------------------
@All
Freewar ist ein ziemlich interessantes Browsergame RPG
man könnte es als grafische Browser-Umsetzung eines MUD bezeichnen.

auch der online-druck wie bei anderen Browsergames besteht nicht.
man hat keinen Nachteil, wenn man mal ein paar tage nicht online geht.

Verfasst: 06.09.2007 21:44
von Guild
Ich spiele Freewar selbst, und Sotrax selbst sagte: "Dem Mapeditor fehlt noch die Eigenschaft, mehr als 1 NPC pro Feld zu defionieren, welches wir hoffentlich schon sehr bald beheben werden". Und wie kommst, das man am Geisterhaus in guten Zeiten ca. 7 Geisterschaben auf einmal trifft? ;-)

Die Maps müssen im XML-Format vorliegen, denn Sotrx nimmt nur die XML.Dateien und baut sie dann in Freewar ein. Die Maps mache ich, um eigene Ideen in das Spiel einfließen zu lassen, damit die Map in das offzielle Spiel kommt.Er benötigt für den Einbau in das Spiel nur die XML-Datei und die Bilder der Map (die einzelnen).

Und da nich jeder Java hat bzw. der Mapeditor noch teils Fehler hat, möchte ich das Team unterstützen und ihnen einen kleinen, schmucken und ein bisschen verbesserten Mapeditor in PB programmieren^^.

Allerdings gibt er nicht den Eval Code heraus (den man eigentlich über den Quellcode herrausfinden könnte, da er immer noch mit GET anstatt mit POST arbeitet), weshalb es eine Möglichkeit geben muss, ein Textfeld einzubauen, indem Sotrx selbst den Evalcode noch selbst eintragen kann.

Verfasst: 06.09.2007 21:57
von Kaeru Gaman
hm... ok..

ich habs seit 2 jahren nicht mehr gespielt, konnte mich nicht an mehr als 1 NPC erinnern.
und mit Sotrax hab ich damals nicht übers Map-Format diskutiert...
sag ihm mal nen Gruß, bin mal gespannt, ob er sich an meinen Nick erinnert..

wie gesagt, XML-Format schön und gut, aber ein wenig weitergehende Informationen über das "Protokoll" wären hilfreich.

aber letztendlich sollte es kein großer akt sein, sowas in PB zu proggen,
je nach "level", also wieviel du in den editor einbinden willst.

wenn du ne grafische oberfläche willst, musst du natürlich sprites oder images einladen, die du dann plazieren kannst.
weitergehend wäre da vielleicht ein "importer" ganz nett,
der dir auch bilder von der festplatte zusammensuchen kann,
und sie im editor-verzeichnis speichert.

zu den einzelnen "räumen" braucht man dann noch eine möglichkeit, die Properties zu editieren.
also, z.b. auf der echten seite vom editor eine reihe eingabefelder.

die ganzen daten müßten dann in einer liste oder ähnlichem roh gespeichert werden,
und daraus können sie in XML-code umgewandelt werden.

dazu wäre es hilfreich, eine XML-lib zur verfügung zu haben,
aber nicht zwingend notwendig, weil man es auch per String-befehle zusammensetzen kann.


also, noch mal angesprochen: mehr infos wären hilfreich.
wenn Sotrax zeit und bock hätte, könnte er hier mal was dazu posten?

Verfasst: 06.09.2007 22:09
von Guild
Ich habs jetzte ins FW-Forum reingehauen, mal schauen, was die anderen User meinen, und vorallem Sotrax oder Tiramon (oder bugfix, der immer noch die Rechtschreibfehler von Sotrax korrigieren muss xD)