[Tutorial] Multiplayer .def File

Wie in Doom 3 benötigt man wieder für die Multiplayer Maps extra .def Dateien, damit sie in der MP Liste zu finden sind.

Hier erkläre ich euch, wie ihr diese .def Dateien erstellen könnt.

Einfach den Windows Editor starten und dann kann es auch schon losgehen.

Folgendes müsst ihr jetzt eingeben:

Code:
mapDef <mapfile> {
	"name" "<name>"
	"DM" "1"
	"Team DM" "1"
	"Tourney" "1"
	"CTF"	"0"
	"Arena CTF"	"0"
	"loadimage"	"<path>"
	"mp_thumb" "<path>"
}
Erläuterung

<mapfile> steht für den Pfad und den Name der Mapdatei.
Wenn ihr also eure Map in maps/mymap/testmap.map gespeichert habt, müsst ihr anstelle von <mapfile> mymap/testmap eingeben, also ohne .map und ohne maps/ davor, weil der maps Ordner ist Standardordner für Maps :)

Bei <name> muss der Name der Map rein, wie er später in der Liste stehen soll.
Wenn dort "Meine erste Map" eingetragen wird, steht dies auch so in der Levelliste.

Bei den DM, Team DM, Tourney, CTF und Arena CTF Zeilen müsst ihr nur Einsen und Nullen setzten, 0 für "nein" und 1 für "ja". Damit legt ihr fest, in welchen Modis die Map spielbar sein soll.
Bei meinem Beispiel würde die Map nicht in den 2 CTF angezeigt werden.

Und jetzt kommt etwas dazu, was die Sache bei Doom 3 einfacher gemacht hätte:
Der Ladescreen:

Bei loadimage kommt der Pfad zu einer TGA Datei hinein.
Es ist wichtig, dass ihr die TGA Datei für den Ladebildschirm in gfx/guis/loadscreens/ speichert.
Dann kommt der Name der TGA dahinter ohne .tga (mit sollte auch gehen).
Wenn ich also die test.tga dort speicher, gebe ich gfx/guis/loadscreens/test ein.
Die Größe des Bildes wurde bei Q4 auf 512*512 gesetzt

Bei mp_thumb ist es das selbe verfahren, nur das das Bild in gfx/guis/mainmenu/ gespeichert werden muss, dann muss der Pfad auch dementsprechend angepasst werden.
Als Thumbnail reicht eine Auflösung von 256*256

Eine .def Datei könnte in etwa so aussehen:
Code:
mapDef mp/testmap {
"name" "Testmap"
"DM" "1"
"Team DM" "1"
"Tourney" "1"
"CTF" "0"
"Arena CTF" "0"
"loadimage" "gfx/guis/loadscreens/testmap"
"mp_thumb" "gfx/guis/mainmenu/thumb_testmap"
}

Ich hoffe, dass ich euch wiedermal helfen konnte.

Quelle: www.boloch.de
 

Lofi

Dog
danke für die tipps, funzt wunderbar. ich hätt da noch ein paar fragen:

* wie kann man ne mp map starten ohne dass man nen server machen muss?
* wie funktioniert das mit den flaggen? hat da jemand ahnung? im klartext würd ich gern genau eine map mit einer flagge machen, ähnlich einem fussballspiel. die flagge ist in der mitte, maximal einer kann sie immer tragen. ziel ist es, die flagge ins gegenerische tor zu bringen. apropos: gibt's so nen mod schon?
 

Lofi

Dog
ja, aber soweit ich mitbekommen hab, muss man beim CTF vom gegner die flagge klauen und sie heim bringen. und das gilt für beide seiten. bei dem was ich mir denke gibt's nur eine flagge, und die ist zu beginn in der mitte der map. wie bei einem fussballspiel, und diese muss man dann beim gegner einlochen, nicht im eigenen spawn :)
 

Goofos

Pain Elemental
Hab noch eine Ergänzung, schliesslich hab ich in Doom3 viele maps gesehen wo der Ladebalken nicht funktioniert hat und viele werden dich bestimmt fragen warum?

Der Ladebalken erscheint erst wenn man eine Loadsize für alle Qualitätsmodi hat die dann in der .def steht und als Referenz für den Ladebalken dient.

Damit das funktioniert müsst ihr erst eine .def für die map erstellen. Die .def sollte übrigens im Ordner "def" sein und der Dateiname gleich sein wie der von der .map Datei :>

Jetzt wird es stressig, als erstes falls ihr eine autoexec.cfg in q4base habt sollte diese verschoben oder umbenannt werden, dann startet ihr quake 4 und stellt die Grafiksettings auf "Low" und beendet es gleich wieder. Nun wird eine .bat Datei benötigt die ihr im Quake4 Ordner erstellt (RMT-> Neu-> Textdatei, die Dateiendung durch ".bat" tauschen), dort schreibt ihr rein (RMT-> Bearbeiten):

Code:
quake4.exe +com_updateLoadSize 1 +si_map <meinemap> +si_pure 0 +spawnserver

<meinemap> sollte natürlich mit dem Namen eurer Map getauscht werden. Speichert die .bat und gleich mal starten. Quake4 lädt jetzt eure map in den Low Settings, schaut vieviel Speicher dafür benötigt wird und schreibt das in die .def rein.

Wenn die map geladen hat könnt ihr gleich wieder in die Options gehen und die Grafikqualität auf "Medium" stellen, denn bis jetzt habt ihr ja nur die Loadsize für Low :> Danach beendet ihr Quake4 und startet gleich wieder die .bat

Wenn die map geladen hat, habt ihr die Loadsize für "Medium" und dürft die ganze Prozedur nochmal für "High" und "Ultra" machen :D

Am Ende sollte die .def Datei so aussehen:

Code:
mapDef meinemap {
	"name"  "MeineMap"
	"DM"  "1"
	"Team DM"	"0"
	"Tourney"	"1"
	"CTF"  "0"
	"Arena CTF"	"0"

	"loadimage"  "gfx/guis/loadscreens/moo"
	"mp_thumb"  "gfx/guis/loadscreens/muh"

	"size0"  "148786549"
	"size1"  "148786549"
	"size2"  "148824681"
	"size3"  "483759341"
}

[Edit]
Da fehlen aber die Tabs :> zwichen den {} sollte am Anfang jeder Zeile ein Tab sein
 

seifi

Garg
mahlzeit!


irgendwie klappt das alles nicht =(

wenn ich ne map ausm netz in den q4base ordner packe gibts keine probleme. map wird in der mapliste aufgezeigt und ist auch spielbar.

meine eigene map läuft allerdings nicht. kann mir da jemand helfen?

hier meine .def

mapDef mp/seifis_spacelabs {
"name" "Spacelabs [by Seifi]"
"DM" "1"
"Team DM" "0"
"Tourney" "1"
"CTF" "0"
"Arena CTF" "0"
"loadimage" "gfx/guis/loadscreens/seifi"
"mp_thumb" "gfx/guis/mainmenu/seifi_thumb"
}

die dateien im maps/mp/ ordner haben den gleichen namen "seifis_spacelabs" mit den endungen .map, .cm und .proc

die loadscreens sind keine screenshots sondern andere bilder. die sollten aber an dieser stelle eher unwichtig sein oder?

mit den konsolenbefehlen "developer 1" und "path" danach wird die pk4, trotz dass sie im q4base ordner ist, nicht angezeigt.

bin ich zu blöd oder mach ich einfach nur was falsch?

danke schonmal für eure hilfe!

seifi
 

Goofos

Pain Elemental
Seit dem 1.2 oder 1.3 Patch und addon.conf ist dieses Tutorial sowieso nicht mehr aktuell.
Wie man jetzt eine mapdef und dazugehörige addon.conf (wird benötigt, damit die Spieler nicht jede map dowloaden müssen die auf dem Server zu dem Zeitpunkt nicht läuft) macht, kann man auf iddevnet.com nachlesen:
http://www.iddevnet.com/quake4/LevelEditor_MPMapDefs
 
Last edited by a moderator:
Top