Haus-Bau Tutorial
Schwierigkeitsgrad:
*****
Benotigtes:
Grundwissen,
X/Y-Positionen,
Vertex Manger, Textbearbeitungsprogram, Geduld,(Animationsprogramm oder sowas in der art)
Hallo erstmal! In diesem Tutorial zeig ich euch wie man eine neü Heimatbasis erstellt und dazu die passende DefCore und ActMap erstellt.
Zürst braucht man natürlich eine schöne
Grafik. Für dieses Tutorial hab ich schonmal eine vorbereitet und alles was hier im tutorial steht, basiert auf dieser grafik.
Hier mein Graphics.png file:
Macht euch erstmal ein neues Objekt und gibt es nen schönen namen. Schreibt den Namen auch in
Names.txt .
Fangen wir mit der
DefCore.txt an. Schreibt zuerst mal eine schöne
ID rein,und auch der name. Als nächstes müssen wir die
Kategorie bestimmen. Dazu schreibt ihr:
- Code:
-
Category=C4D_Structure|C4D_SelectBuilding|C4D_SelectKnowledge
Jetzt noch
MaxUserSelect=3. Das bedeutet das man das 3mal im menü auswählen darf.
Das müsste jetzt alles ungefair so ausehen:
- Code:
-
[DefCore]
id=MTTT
Name=Metallhütte
Category=C4D_Structure|C4D_SelectBuilding|C4D_SelectKnowledge
MaxUserSelect=3
Jetzt kommt VertexManager ins spiel. Öffnet das programm und ladet Graphics.png mit „Bild Laden“. Wir fangen an mit Offset.
Offset ist die mitte des Objektes. Dazu nehmt ihr das crosshair und schiebt es einfach in die mitte der hütte.
Als Offset habe ich
„Offset=-26,-28“ erhalten. Schreibt das in die DefCore.
Jetzt machen wir die Vertex. Vertices sind die Eckpunkte deines Objekts. Also einfach mal
4 vertices drumherum machen(Nicht das OffSet anfassen!). Da wir aber eine Heimatbasis machen ist eines wichtig:
Der erste vertex is der platz wo die flagge sich platziert.
Das sieht dan ungefair so aus:
Unten links am bild ist ein rotes symbol damit kann man den sichtbaren bereich skalieren. Zieht ihn so das man nur das haus sieht. Dieser bereich ist was man später im spiel sieht.
Und dann noch die werte in die DefCore schreiben. Bei mir wars:
- Code:
-
Height=50
Width=58
Vertices=4
VertexX=-13,23,-20,25
VertexY=-20,-20,20,20
VertexFriction=20,20,20,20
Weil es ein schweres gebäude ist, ändert VertexFriction zu „
VertexFriction=100,100,100,100“ VertexFriction ist die reibung des Gebäudes, also wenn der wert höher ist rutscht das gebäude nicht herum.
Als nächstes machen wir
picture. Einfach die kategorie von
Vertex/Offset zu
Picture wechseln und wieder das bild so ziehen das man nur noch das haus sieht. Picture ist die Representativgrafik deines Objectes. z.B.: Im Baumenü. Wieder in die DefCore schreiben was ihr bekommen habt. Bei mir wars
Picture=0,0,58,49.Da wir keine Solidmask benutzen werden, können wir die kategorien ignorieren.
Wir machen weiter mit:
„Entrance“. Das ist der eingangsbereich wo der clonk ins haus kann. Verschiebt das Bild so das man nur noch die Tür sieht. Desto genauer, desto besser.
Also so:
Wert wieder in die DefCore reinschreiben. Und das war alles was wir im Vertex Manager machen müssen. Über die anderen Kategorien die wir nicht benutzt haben mach ich vielleicht ein anderes Tutorial.
Jetzt müssen wir aber noch ein paar extra Sachen in die DefCore reinschreiben. Die da währen:
- Code:
-
Value=100
Mass=1000
Components=METL=5
Exclusive=1
BlastIncinerate=100
Base=1
LineConnect=C4D_LiquidInput
Construction=1
Float=1
ContainBlast=1
AutoContextMenu=1
[Physical]
Energy=100000
Erklährungen:
Value: Der wert des Objekts.
Mass: Die schwere des Objekts.
Components: Woraus das Objekt besteht(Baumaterialien)
Exclusive: Legt fest ob das objekt, dahinterliegende Objekte blockiert.
BlastIncinerate: Die Explosionsentzündlichkeit von deinem objekt. Also hier braucht man 100schaden damit es Explodiert.
Base: Legt fest ob das eine Heimatbasis ist.
LineConnect: Die art wie man Leitungsbausätze verwenden kann. In diesem fall können sachen reinfliessen.
Construction: Legt fest ob man es als Baustelle baün kann.
Float: Legt fest ob das Objekt schwimmt.
ContainBlast: Legt fest ob Explosionen von innen auch nach aussen wirken.
AutoContextMenu: Ob beim betreten dieses hauses automatisch das Menü geöffnet wird.
Energy: Die Lebensenergie/HP vom objekt.
Kann man auch alles
HIER nachlesen.
So das war alles von DefCore. Speichern und schliessen.
Hier nochmal ein zwischenstand:
- Spoiler:
[DefCore]
id=MTTT
Name=Metallhütte
Category=C4D_Structure|C4D_SelectBuilding|C4D_SelectKnowledge
MaxUserSelect=3
Height=50
Width=58
Offset=-26,-28
Picture=0,0,58,49
Entrance=8,5,8,13
Vertices=4
VertexX=-13,23,-20,25
VertexY=-20,-20,20,20
VertexFriction=100,100,100,100
Value=35
Mass=1000
Components=METL=4
Exclusive=1
BlastIncinerate=100
Base=1
LineConnect=C4D_LiquidInput
Construction=1
Float=1
ContainBlast=1
AutoContextMenu=1
[Physical]
Energy=100000
Jetzt kopiert noch eure
Graphics.png in den
ObjektOrdner(falls noch nicht getan) und schreibt die
Names.txt und DescUS.txt DescDE.txt (Beschreibungen).
Bevor wir mit
ActMap.txt anfangen, machen wir erstmal den script. Öffnet script.c und schreibt folgendes rein:
-------------------------------------------------------
/*-- Metallhütte --*/#strict#include DOOR
#include BAS4
-------------------------------------------------------
Speichern und schliessen.
Und jetzt zum etwas schwierigen teil: Die
ActMap.txt !
Ein normales Haus hat 3 Actions.
Fangen wir mit Nummer eins an.
Öffnet
ActMap.txt und schreibt:
- Code:
-
[Action]
Name=OpenDoor
Procedure=NONE
Length=10
Delay=1
Facet=0,50,10,16,31,32
FacetBase=1
NextAction=DoorOpen
StartCall=SoundOpenDoor
Den Namen der Action benutzt man auch im script!
Procedure brauchen wir nicht.
Length: Die anzahl von bildern die für die Tür. In diesem fall 10.
Delay: Wartezeit in Frames(Ticks) zwischen bildern/animationsphasen.
Facet: Die animationsgrafik.
Facet hat 6 zahlen. Die ersten 2 ist der obere linke Eckpunkt von der ersten Animationsphase(Bild). In diesem fall ist das „0, 50“. Die nächsten 2 sind Höhe und länge des animationsbildes, und die letzten 2 bestimmen den ort wo die Animation angezeigt wird. 0.0 währe die Ecke oben links von deinem objekt.FacetBase: Damit wird die animation über das eigentliche objekt gelegt.
NextAction: Action die ausgeführt wird nachdem diese fertig ist.
StartCall: Eine scriptfnktion die hiermit aufgerufen wird. Es ruft die funktion „private func SoundOpenDoor()“ auf.
Kann man auch
HIER nachlesen.
Diese werte, ausser Facet, sollte man für eine tür nicht unbedingt ändern!
Das war jetzt die funktion für das öffnen der tür. Wir müssen noch eine machen für die geöffnete tur und für eine schliessende tür.
- Code:
-
[Action]
Name=DoorOpen
Procedure=NONE
Delay=20
Facet=90,50,10,16,31,32
FacetBase=1
NextAction=CloseDoor
StartCall=OpenEntrance
EndCall=CloseEntrance
Das ist die action für die geöffnete tür. Man gibt wieder an wo das bild zu finden ist und wohin es projekziert wrid.
- Code:
-
[Action]
Name=CloseDoor
Procedure=NONE
Length=10
Delay=1
Facet=0,50,10,16,31,32
FacetBase=1
NextAction=Idle
StartCall=SoundCloseDoor
Reverse=1
Und das hier ist die action für die schliessende tür. Hier steht noch ein extra Reverse dabei. Das heist es nimmt die animation die es hat aber spielt sie rückwärts ab.
Sooooooo... damit währe die
ActMap.txt fertig.
Sollte jetzt so aussehen:
- Spoiler:
[Action]
Name=OpenDoor
Procedure=NONE
Length=10
Delay=1
Facet=0,50,10,16,31,32
FacetBase=1
NextAction=DoorOpen
StartCall=SoundOpenDoor
[Action]
Name=DoorOpen
Procedure=NONE
Delay=20
Facet=90,50,10,16,31,32
FacetBase=1
NextAction=CloseDoor
StartCall=OpenEntrance
EndCall=CloseEntrance
[Action]
Name=CloseDoor
Procedure=NONE
Length=10
Delay=1
Facet=0,50,10,16,31,32
FacetBase=1
NextAction=Idle
StartCall=SoundCloseDoor
Reverse=1
Speichern und schliessen.
Und das haus ist fertig!Hoffe mein tutorial hat euch gefallen und geholfen. Das ist mein erstes tutorial und ich bin offen für kritik und lob.
Viel Spass mit dem haus