Liste der Anhänge anzeigen (Anzahl: 4)
[EGP3] Graphical Ship Interface (GSI)
Hallo, ich melde mich nach einer sehr langen GMod pause wieder hier im Forum. Da ich sehr viel Spacebuild spiele und auch das eine und andere dafür bastel, habe ich gedacht, wieso nicht etwas veröffentlichen. Vielleicht kann es jemand anderes auch gut brauchen.
Graphical Ship Interface (GSI)
Was ist das?
Es ist ein praktisches Display, auf welchem das nötigste angezeigt wird.: z.B. den momentanen Energiestand. Des weiteren besitzt es vier Alarmstufen, wer Star Trek kennt wird es mögen.
Was sind das für vier Alarm Stufen, was passiert dabei?
Stufe 1 - Grauer Alarm (Grey Alert) bzw Silent Mode
In diesem Modus werden sämtliche Systeme abgeschaltet, darunter auch das Lebenserhaltungssystem. (Mit Vorsicht zu geniessen, Suit Dispenser benutzen)
Anhang 3546
Stufe 2 - Grüner Alarm (Green Alert)
In diesem Modus sind Schilde und Waffen inaktiv, lediglich der Transporter und die Lebenserhaltung ist aktiv.
Anhang 3547
Stufe 3 - Gelber Alarm (Yellow Alert)
In diesem Modus sind die Schilde sowie der Transporter und die Lebenserhaltung sind aktiv dafür sind die Waffen inaktiv.
Anhang 3548
Stufe 4 - Roter Alarm (Red Alert)
In diesem Modus sind Waffen, Schilde, Transporter und natürlich die Lebenserhaltung aktiv.
Anhang 3549
Was gibt es für Anzeigen?
Es gibt zwei Bereiche: Resourcen und Systeme
Angezeigt im Bereich Resourcen werden; Energiestand (Energy), Luftgehalt (Oxygen), Wasserstand (Water) sowie der Wasserstand von schwerem Wasser (H.Water)
Falls eine Resource nicht vorhanden ist, ist der Name der Resource rot. Andernfalls Grün und mit dem vorhandenen Wert.
Im Bereich; Systeme, werden der Waffenstatus, der Status der Schilde (falls der Schild aktiv ist, erscheint der aktuelle Schildstand in Prozent. Des weiteren wird der Status der Lebenserhaltung und des Transporters angezeigt.
Es gilt wie immer die Regel: Rot=Offline und Grün=Online
Wie integriere ich das System in mein Schiff?
Ganz einfach. Folgendes muss getan werden:
Spoiler:
Anleitung
- Einen EGP3 Bildschirm, welcher im Wire Menü zu finden ist spawnen.
- Den Expression 2 Chip mit dem nachfolgenden Code spawnen.
- Wirelink auf den EGP3 Bildschirm.
- Mit dem Wire Advanced Tool den "EGP [wirelink] mit dem EGP3 Bilschirm wirelinken.
Zwischenstopp, falls nun das Display auf dem Bildschirm auftauchen sollte, ist der Bildschirm korrekt verbunden. Nun weiter...
- Energy vom Expression 2 Chip zu einer Lifesupport Batterie oder Resourcecache und dann den Output "Energy" wählen.
- Water vom Expression 2 Chip zu einem Wassertank oder Resourcecache und dann mit den Output "Water" wählen.
- HvyWater vom Expression 2 Chip zu einem Heavy Water behälter oder Resourcecache und dann den Output "HvyWater" wählen.
- Oxygen vom Expression 2 Chip zu einem Oxygentank oder Resourcecache und dann den Output "Oxygen" wählen.
- Lifesupport vom Expression 2 Chip zu einem Climate Regulator oder Airexchanger, wie auch immer verbinden und den Output "Active" wählen.
- Shield vom Expression 2 Chip zu einem Stargate Shield und dann den Output "Active" wählen.
- ShieldStat vom Expression 2 Chip zum gleichen Stargate Shield und dann den Output "Strenght" wählen.
- Climate Regulator oder Air Exchanger anwählen und dann auf den Expression 2 Chip "ClimateRegulator" wählen.
Nun wären die meisten Systeme verbunden. Nun kommen die Outputs an die Reihe.
Die meisten Waffen haben auch einen "Active" oder "Activate" Input. Den verbindet ihr nun mit dem Expression 2 Chip.
- Auf die Waffe zielen z.B. das Carterspack hat Waffen, die zuerst aktiviert werden müssen, einfach darauf Zielen und dann den Input mit dem Expression 2 Chip auf "Weapons" verbinden.
- Um den Schild zu verbinden müsst ihr vom Schild "Activate" auf den Expression 2 Chip auf "Shield" und den dann verbinden.
- Wie auch immer ihr euer Transportersystem eingerichtet habt gibt es einen Output der "Transporter" heisst, falls ihr eine Idee habt wie ihr den Transporter unterbrechen bzw aktivieren/deaktivieren wollt mit einem 1 oder 0 Wert müsst ihr ihn einfach mit dem Expression 2 Chip verbinden.
- Falls ein Lichtsystem existiert kann dieses mit dem Output "R" aktiviert oder deaktiviert werden. Ich empfehle ein Wire "Light" und dann verbindet ihr "Red" mit "R" (Nur bei Rotem Alarm)
Nun sollte alles verbunden sein und damit auch Einsatzbereit.
Wie wird alles gesteuert?
Die Chatbefehle:
"Grey Alert" löst den Grauen Alarm aus.
"Green Alert" löst den Grünen Alarm aus.
"Yellow Alert" löst den Gelben Alarm aus.
"Red Alert" löst den Roten Alarm aus.
Expression 2
Spoiler:
E2
Code:
@name Ship Interface
@inputs EGP:wirelink Oxygen Energy Water HvyWater Shield Lifesupport ShieldStat
@outputs Weapons Shields Transporter R ClimateRegulator
@persist
@trigger
round(1)
EGP:egpText(1,"Graphical Ship Interface (GSI)",vec2(55,20))
EGP:egpColor(1,vec(255,255,255))
EGP:egpSize(1,30)
EGP:egpSize(1,30)
EGP:egpText(2,"Created by MaxvanHinde",vec2(55,50))
EGP:egpColor(2,vec(255,255,255))
EGP:egpSize(2,15)
#########################################################################
# ALERT ANIMATION #
#Grey Alert#
runOnChat(1)
if(owner():lastSaid() == "Grey Alert")
{
Shields=0
Weapons=0
Transporter=0
ClimateRegulator=0
EGP:egpBox(204,vec2(250,155),vec2(360,60))
EGP:egpColor(204,vec(30,30,30))
EGP:egpOrder(203,204)
EGP:egpText(203,"Grey Alert",vec2(165,140))
EGP:egpColor(203,vec(255,255,255))
EGP:egpSize(203,30)
}
#Green Alert#
runOnChat(1)
if(owner():lastSaid() == "Green Alert")
{
Shields=0
Weapons=0
Transporter=1
R=0
if(Oxygen < 250){ClimateRegulator=0} else {ClimateRegulator=1}
EGP:egpBox(204,vec2(250,155),vec2(360,60))
EGP:egpColor(204,vec(0,210,0))
EGP:egpOrder(203,204)
EGP:egpText(203,"Standby Mode",vec2(150,140))
EGP:egpColor(203,vec(255,255,255))
EGP:egpSize(203,30)
}
#Yellow Alert#
runOnChat(1)
if(owner():lastSaid() == "Yellow Alert")
{
soundPlay(1,4,"")
Shields=1
Weapons=0
Transporter=1
R=0
ClimateRegulator=1
EGP:egpBox(204,vec2(250,155),vec2(360,60))
EGP:egpColor(204,vec(245,245,0))
EGP:egpOrder(203,204)
EGP:egpText(203,"Yellow Alert",vec2(165,140))
EGP:egpColor(203,vec(255,255,255))
EGP:egpSize(203,30)
}
#Red Alert#
runOnChat(1)
if(owner():lastSaid() == "Red Alert")
{
soundPlay(1,4,"sga_midway_alarm.wav")
Shields=1
Weapons=1
Transporter=1
R=204
ClimateRegulator=1
EGP:egpBox(204,vec2(250,155),vec2(360,60))
EGP:egpColor(204,vec(204,0,0))
EGP:egpOrder(203,204)
EGP:egpText(203,"Red Alert",vec2(180,140))
EGP:egpColor(203,vec(255,255,255))
EGP:egpSize(203,30)
}
#########################################################################
# Resources Box
EGP:egpBox(205,vec2(148,400),vec2(280,200))
EGP:egpColor(205,vec(30,30,30))
# System Box
EGP:egpBox(206,vec2(400,400),vec2(210,200))
EGP:egpColor(206,vec(30,30,30))
#####################################################################
#Resources#
EGP:egpText(3,"Resources",vec2(50,265))
EGP:egpSize(3,30)
EGP:egpColor(3,vec(30,30,30))
if(Energy > 0)
{
EGP:egpText(10," Energy "+round(Energy):toString(),vec2(20,310))
EGP:egpSize(10,30)
EGP:egpColor(10,vec(0,210,0))
}
else
{
EGP:egpText(10," Energy",vec2(20,310))
EGP:egpSize(10,30)
EGP:egpColor(10,vec(255,0,0))
}
if(Oxygen > 0)
{
EGP:egpText(11," Oxygen "+round(Oxygen):toString(),vec2(20,350))
EGP:egpSize(11,30)
EGP:egpColor(11,vec(0,210,0))
}
else
{
EGP:egpText(11," Oxygen",vec2(20,350))
EGP:egpSize(11,30)
EGP:egpColor(11,vec(255,0,0))
}
if(Water > 0)
{
EGP:egpText(12," Water "+round(Water):toString(),vec2(20,390))
EGP:egpSize(12,30)
EGP:egpColor(12,vec(0,210,0))
}
else
{
EGP:egpText(12," Water",vec2(20,390))
EGP:egpSize(12,30)
EGP:egpColor(12,vec(255,0,0))
}
if(HvyWater > 0)
{
EGP:egpText(13," H-Water "+(HvyWater):toString(),vec2(20,430))
EGP:egpSize(13,30)
EGP:egpColor(13,vec(0,210,0))
}
else
{
EGP:egpText(13," H-Water",vec2(20,430))
EGP:egpSize(13,30)
EGP:egpColor(13,vec(255,0,0))
}
#####################################################################
#Systems#
EGP:egpText(4,"Systems",vec2(320,265))
EGP:egpSize(4,30)
EGP:egpColor(4,vec(30,30,30))
if(Shield==1)
{
EGP:egpText(5," Shield "+ShieldStat:toString()+"%",vec2(310,310))
EGP:egpSize(5,30)
EGP:egpColor(5,vec(0,210,0))
}
else
{
EGP:egpText(5," Shield",vec2(310,310))
EGP:egpSize(5,30)
EGP:egpColor(5,vec(255,0,0))
}
if(Weapons==1)
{
EGP:egpText(6," Weapons",vec2(310,350))
EGP:egpSize(6,30)
EGP:egpColor(6,vec(0,210,0))
}
else
{
EGP:egpText(6," Weapons",vec2(310,350))
EGP:egpSize(6,30)
EGP:egpColor(6,vec(255,0,0))
}
if(Transporter==1)
{
EGP:egpText(8," Transporter",vec2(310,390))
EGP:egpSize(8,30)
EGP:egpColor(8,vec(0,210,0))
}
else
{
EGP:egpText(8," Transporter",vec2(310,390))
EGP:egpSize(8,30)
EGP:egpColor(8,vec(255,0,0))
}
if(Lifesupport==1)
{
EGP:egpText(9," Lifesupport",vec2(310,430))
EGP:egpSize(9,30)
EGP:egpColor(9,vec(0,210,0))
}
else
{
EGP:egpText(9," Lifesupport",vec2(310,430))
EGP:egpSize(9,30)
EGP:egpColor(9,vec(255,0,0))
}
#####################################################################
Bemerkung: Auf den Bildern ist so ein hässlicher Fleck zu erkennen. Dieser ist ein Rückstand von einem experiment, bevor ich fertig wurde. In dieser Version ist er natürlich nicht vorhanden.
Desweiteren muss ich zugeben ein Anfänger in sachen Expression 2 zu sein, deshalb mag der Code ein wenig seltsam wirken und ist auch nicht wirklich Optimiert. Lag sollte es dennoch nichtg geben.
AW: [EGP3] Graphical Ship Interface (GSI)
Sieht "gut" aus ich wollte mal ein EGP Designer machen wo was besseres macht als nur "da eine Box und da ein Text und da ein Kreis"
bin aber noch nicht dazu gekommen
AW: [EGP3] Graphical Ship Interface (GSI)
Merkwürdig, nachdem ich das System in mein Schiff eingebaut hatte, hat es die soundPlay funktion gelooped ohne ein interval gesetzt zu haben.