Ammo/Healt Cabinet

Alles rund um das Mappen für Enemy Territory
Antworten
Donni
Grünschnabel
Grünschnabel
Beiträge: 3
Registriert: Mo 4. Feb 2008, 18:29

Ammo/Healt Cabinet

Beitrag von Donni »

Hi, ich bin gerade dabei mir eine Map zu bauen. Bin aber noch ein ziemlicher Noob ;)
Jedenfalls will ich ein Health/Ammo Cabinet einbauen, hab aber keine Ahnung wie das gehen soll. Hab auch schon im Forum gesucht, aber nichts darüber gefunden.
Schon mal danke für eure Hilfe :)

MfG, Donni
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

In der 2D-Ansicht, klickst du mit der rechten Maustaste und wählst aus dem Menü 'misc' --> 'misc_cabinet_supply' für Munition oder für Medipacks 'misc' --> 'misc_cabinet_health'.
Den Ständer positionierst du wo du ihn haben willst.
Dieser Ständer braucht ein paar Einstellungen.
Wähle den Ständer an und drück 'N' damit du die Einstellungen siehst.
Als Name nennen wir den Ständer mal 'ammo1' mit folgenden Werten:

Key: targetname
Value: ammo1

Damit der Ständer weis wann er in Aktion treten soll, bekommt er noch einen Scriptnamen zugewiesen:

Key: scriptname
Value: ammo1

Damit die Mun-Ausgabe auch funktioniert, braucht er noch einen Auslöser (Trigger).
Bastel einen Brush um den ganzen Ständer (etwas grösser) und gib dem Brush die Textur 'trigger'.
Las dem Brush angewählt und klicke mit der rechten Maustaste wieder in dei 2D-Ansicht.
Im Menü wählst du 'trigger' --> 'trigger_ammo' damit es ein Munitions-Trigger wird.
Für Medipacks wählst du 'trigger' --> 'trigger_heal'.
Damit er weis für welchen Städer er zuständig ist, bekommt er noch Einstellungen. Drücke wieder 'N' und deviniere folgende Einstellungen.

Key: target
Value: ammo1

Damit weis der Trigger das er zum Ständer 'ammo1' gehört.

Key: scriptname
Value: ammo1_trigger

Wenn ein Spieler diesen Trigger auslöst, löst der Trigger bei seinem Ziel 'ammo1' (der Ständer) das Script 'ammo1' aus.
Zusätzliche Werte für den Vorat sind:

Key: ammototal
Value: 20

Menge die ein voller Ständer fasst.

Key: ammorate
Value: 1

Wieviele Pakete ein Spieler pro Sekunde erhält.

Für Medipacks lauten die Einstellungen:

Key: healtotal
Value: 400

Key: healrate
Value: 1

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Donni
Grünschnabel
Grünschnabel
Beiträge: 3
Registriert: Mo 4. Feb 2008, 18:29

Beitrag von Donni »

Nach einigem Suchen habe ich schließlich doch ein Tutorial gefunden. Aber erst kurz bevor deine Antwort kam.
Deshalb danke, dass du dich meiner angenommen hast :)


Ich habe aber noch ein paar Fragen:

Soweit ich das verstanden habe, ist der Scriptname dafür da, dass ich zum Beispiel bestimmen kann, dass der Ständer erst in Aktion tritt, wenn die Allies Objective 1 zerstört haben (als Beispiel). Stimmt das?

Und in dem Tutorial das ich gefunden habe, soll man noch ein Origin-Brush in der Nähe platzieren. In deiner Beschreibung jedoch nicht. Dafür ist in dem Tutorial das mit dem Scriptnamen nicht erwähnt.
Ist das Origin-Brush/der Scriptname also unnötig, oder braucht man sie beide?
nUllSkillZ
Mod-Schreck
Mod-Schreck
Beiträge: 253
Registriert: Fr 16. Jan 2004, 09:06

Beitrag von nUllSkillZ »

scriptnamen sind dazu da, ein Entity im Mapscript anzusprechen.
Sollten eigentlich immer vergeben werden (damit werden zum Beispiel ET-Pro Mapscripts einfacher/erst möglich).

Jedes nicht Modell-Entity benötigt normalerweise ein origin (also z.B. alle Trigger etc.).
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Der Scriptname ist eigendlich für eine Verbindung zwischen Entity (Objekt in der Map) und einem Script (in einem Scriptfile; nicht in der Map) da.
Allerdings sind die Cabinets fix im ET-Code intergriert und benötigen kein extra Script. Den Cabinets reicht eine Verbindung mit einem Trigger der auch die nötigen Werte enthält.

Der Origin-Brush steht für die Position des Cabinets damit ET es richtig in der Commandmap anzeigt.
So wie es im vorigen Post beschrieben ist, funktioniert zwar der Ständer, aber in der Comandmap wird er nicht angezeigt.
Dazu ist noch einiges nötig.

Erstelle noch einen Brush in dem das ganze Gebilde eingeschloaasen ist.
Diesem Brush gibst du ebenfalls die Textur 'trigger'.
Dann klickst du wieder mit rechts und wählst
'trigger' --> 'trigger_objective_info'
In den Eigenschaften ('N') legst du noch einiges fest:

Key: scriptname
Value: ammocabinet_1

Key: targetname
Value: ammocabinet_1

Key: customimage
Value: gfx/limbo/cm_healthammo

Key: target
Value: cabinet_1_cm_marker

Key: InfoAxis
Value: Munitionsnachschub

Key: InfoAllied
Value: Munitionsnachschub

Key: track
Value: Munitionsausgabe

Als Spawnflag wird gesetzt:
'axis_objective', 'allied_objective' und 'is_healthammocabinet'
Dadurch sollte in den Eigenschaften 'spawnflags' auf '35' stehen.


Über den Cabinet positionierst du ein
'misc' --> 'misc_commandmap_marker'.
In seine Eigenschaften ('N') trägst du folgendes ein:

Key: targetname
Value: cabinet_1_cm_marker

Key: scriptname
Value: cabinet_1_cm_marker

Wenn alles richtig gemacht ist, sollte ein hellblauer Zeiger vom Trigger zum Marker führen.
Hervorgerufen wird das durch die oben rot makierten Keys.
Das Target zeigt immer auf den Targetname.

Leider setzt die Comandmap die Position des Zeichens auf der Map falsch.
Genau genommen wird die Makierung exakt auf dem halben Weg zwischen der Triggerposition und der apsoluten Koordinate 0,0,0 gesetzt.
Diesen Apsolutpunkt kann man mit einem Originbrush (Origin = Ursprung) neu setzen.
Dazu erstellst du einen kleinen Brush und gibst den die Textur 'origin'.
Dann machst du wieder einen Rechtsklick und wählst:
'trigger' --> 'trigger_objective_info'
In den Eigenschaften ('N') legst du die selben Werte fest, wie schon beim Trigger.
Da der Trigger mit seinem 'target' ebenfalls auf den Marker zeigt, weis die Commandmap das der Originbrush der Ursprung für den Marker ist.

mfG WoodSTokk

PS: wenn dein englisch gut ist, hilft dir auch die Doku im Radiant-Verzeichnis unter:
/et/docs/Level Designers Reference/index.html
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Donni
Grünschnabel
Grünschnabel
Beiträge: 3
Registriert: Mo 4. Feb 2008, 18:29

Beitrag von Donni »

Ich habe jetzt zwar eine Datei, die index.html heißt gefunden, aber in einem anderen Ordner. Das ganze sieht so aus:
Table of Contents

· Q3Map Documentation
· BSPC Documentation
. BSPC Configuration file
. modelskins: Q3 and TA search order for model skins
. headskins: Q3 and TA search order for head skins

Falls du das meinst, denke ich schon, dass mein Englisch gut genug ist ^^

Heute bin ich aber zu müde, um das ganze noch auszuprobieren und durchzulesen. Aber ich bin auf jedenfall wieder etwas schlauer geworden. Danke :)
Benutzeravatar
WoodSTokk
Helpdesk
Helpdesk
Beiträge: 2634
Registriert: Fr 6. Dez 2002, 03:09
Wohnort: Wien/Österreich/Europa/Erde
Alter: 53

Beitrag von WoodSTokk »

Keine Ahnung ob die Verzeichnisstruktur zwischen Win und Linux sich unterscheiden, aber die Datei die du gefunden hast liegt bei mir (Linux) unter:

Compile_Manual/index.html

Such weiter, unterhalb des Radiant-Verzeichnisses gibts noch mehr 'index.html'-Dateien ;)

Hier zB:

Code: Alles auswählen

woodstokk@woodstokk:/usr/local/games/GtkRadiant-1.4$ find . -name index.html
./Compile_Manual/index.html
./et/docs/Level Designers Reference/index.html
./q3/New_Teams_For_Q3TA/index.html
./wolf/docs/GtkRadiant_WOLF_HOWTO/index.html
Die Datei, die der Befehl 'find' als zweites gefunden hat, ist die die ich meine ;)
Darin stehen Erweiterungen und Ergänzungen die speziell ET betreffen.

mfG WoodSTokk
Du scheisst es nicht zu wetzen
Testserver: @peStable (95.129.206.243:27960)
Antworten