Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : EGP: Life Support System



Mitsuma
13.03.2010, 19:28
http://www.abload.de/img/sb_twinsuns_fixed0087to0f.png

Funktionen & Besonderheiten:
Anzeigen von LS-Systemen und Ressourcen Advanced & Simple Mode Erweiterbar dank Variablen Nur ein Knopf, EGP-Screen und E2 Einfach in ein Raumschiff oder Station einbaubar. Per Knopfdruck/Input ist das wechseln zwischen Advanced und Simple Mode möglich. Simple Mode: Nur das Nötigste. Advanced Mode: Alle 6 Ressoucen Ist eine Ressource nicht verbunden, so wird ihr Balken und die zusammenhängenden Systeme nicht angezeigt.


Details & Anderes:
Lagfrei und kein FPS-Verlust Ca. 61 EGP-Elemente Max. 210ops (Schwankt zwischen 70 bis 210ops) 260Zeilen E2-Code Benutzerfreundlich Je nach Füllmenge ändert sich die Farbe Bild links: Advanced Mode Bild rechts oben: Simple Mode Das Bild unten rechts ist eine ältere Version, zeigt aber wie es aussieht wenn ein System an aktiv ist.[Da waren es grad alle.]




Release v1:

Inputs:
EGP [WIRELINK] = Verbindung zum EGP Screen[Sollte Quadratisch sein] EN = Energy OX =Oxygen WA = Water NI = Nitrogen HY Hydrogen CO = Carbon Dioxide **max ist immer das Maximum an Ressource AirCo = Oxygen Compressor AirEx = Air Exchanger HeEx = (Heat) Temperatur Exchanger WaPu = Water Pump NiCo = Nitrogen Compressor HyCo = Hydrogen Compressor CoCo = CO2 Compressor Butten = Knopf zum Wechseln (Simple/Advanced) [Muss TOGGLE sein]

Anleitung:
Es geht auch mitn Ressource Cache
Spawn einen EPG-Screen. Spawnt das Expression2. Input EGP [WIRELINK] an den EGP Screen. Button an einen Knopf[TOGGLE] oder einen anderen Input. Die anderen Inputs an den jeweiligen Storage. Beispiel: [EN] kommt an die Batterie[Output: Storage] und ENmax an die Batterie[Output: Max Storage] Die Inputs für die Compressoren kommen an den [ON] Output der jeweiligen Geräte. Das Gleiche mit den Exchanger.

Bei Fragen schreibt einfach oder PM an mich.
btw.: Nichts gegen den Code sagen, dass ist das erste Mal das ich mit EGP arbeite.
Es können viele Verbesserungen gemacht werden, viele werd ich auch noch machen, deswegen bitte ich euch das E2 nicht woanders zu
veröffentlichen.
[Nicht ohne meine Einwilligung.]

Wichtig: Ihr müsst "sbox_maxwire_egp_elements 70" vorher in die Console eingeben, da das Limit bei 40 Standart ist.

So hatte es heute früh um halb 11 angefangen:
http://www.abload.de/img/unbenannt-1irg7.jpg

1mannlan
13.03.2010, 19:42
Ich muss sagen, alle Achtung!
Das ganze sieht ja mal zu genial aus, nicht diese billigen Ressourcenscreens die man eh kaum ablesen kann :).
Freu mich aufs release!
Ich biete mich als Betatester an :P.

Mitsuma
13.03.2010, 19:45
Es ist Final, hat keine Bugs oder ähnliches.
Version1 sozusagen.

In den nächsten Versionen werde ich vllt. nochmal was ändern/hinzufügen etc.)
(Untere Hälfte "switchbar" machen. oder anderes)

Mal schauen ob ich nicht doch meinen Code reinstelle.

isch
13.03.2010, 19:46
Ich kann mich der Meinung von 1mannlan nur anschließen! Sieht einfach nur super aus. Alles schön Übersichtlich und ja einfach Genial. :D


Ich biete mich als Betatester an :P.
Ich auch. :gmod:

Mitsuma
13.03.2010, 20:07
Hab die Version1 veröffentlicht.
Viel Spaß.

Shox
13.03.2010, 22:25
lol,das sieht ja mal hammer aus.
Können ja irgendwann mal evtl ein Projekt zusammen machen
Lg Shox

Nemek
16.03.2010, 14:31
Hallo habe das Life Support System mal getestet und mir ist aufgefallen das der FusionReactor nicht dabei ist und steam fehlt auch oder habe ich beides übersehen ansonsten geil

Mitsuma
16.03.2010, 15:30
Wie gesagt, es ist so schon fertig. Aber auch nur Version 1.
Wenn ich Lust haben mach ich noch dran weiter, und füg weitere Sachen hinzu.

Garfield
16.03.2010, 15:58
öhm ne frage dazu ist das mit dem eingeben von "sbox_maxwire_egp_elements 70" ne einmalige sache oder muss man das jedesmal machen ? ansonsten super arbeit sieht man mal wieder mit den richtigen leuten kommt auch was gutes raus

Benny003
16.03.2010, 16:01
Mitsuma das soll nicht dein ernst sein das das dein erstes mal ist das du nen EGP machst oder?
Das Teil ist nämlich genial.

Mitsuma
16.03.2010, 16:09
Mitsuma das soll nicht dein ernst sein, dass das dein erstes mal ist das du nen EGP machst oder?
Das Teil ist nämlich genial.


Doch mein erstes E2 mit EGP. :gmod:

1mannlan
17.03.2010, 12:50
Hm... den EGP screen kannte ich noch garnicht, ist der vllt neu oder mir einfach nie aufgefallen?
So schwer siehts net aus, muss ich auchmal probiern .P:

Mitsuma
17.03.2010, 13:23
Schwer ist es auch garnicht, wenn man weiß was man machen will.
EGP ist in Unofficial Wire Extras dabei.
Zur Zeit wird auch an EGP2 gearbeitet, welches die nächsten Tage im Unofficial Wire Extras Paket zu finden sein wird.
(Ersetzt dann EGP1)

WireMod.com-Thread:
http://www.wiremod.com/forum/wiremod-addons/18128-new-egp-thread.html

"]-----------DOCUMENTATION---------------
EGP Documentation.

What is EGP?
EGP is an entity screen to be used with e2.

What can EGP do?
EGP can draw lines shapes and text.

How do I wire egp?
Simply wirelink it to an e2 chip.

What is an element?
An element is something your drawing like a box or a line or some text.
Each element has an index. (Just like holos.)
There is a server cvar that limits how many elements an egp can have.
"sbox_maxwire_egp_elements"
max elements default is 40.

What elements can I draw?
There are a few:
Box
Boxoutline
Line
Text
Circle
CircleSpecial.

WTF is a circle special?
It?s a normal circle that has had its draw information changed.
You can change the numsides to 3 and get a triangle.
You can set the start and end angles (between 0 - 7) to make semi circles.

What?s the max fps of EGP?
That depends, its actually 12 FPS.
BUT the more elements you have waiting to draw the lower the fps.

What?s the screen size?
512 by 512

THAT SUCKS?
narp what realy sucks is LAGGGGGGGGGGGG!
And this way we don't get lag.

Ok so what e2 functions do I use?
Look at the function list.

Basics.
When you create or edit or remove an element on the egp you?re changing the element cache.
The egpDraw() function will then process the element cache on the screen, this is why you call this last.
egpClear() will totally clear the cache.
Note: egpDraw() does not clear the cache, so you only have to create an element once.
If you create 2 elements at the same index the one you created last will be the one EGP draws.
ALWAYS USE EGP DRAW LAST!
Also you can write several elements to the EGP over several executions before calling egpDraw().

------------FUNCTION LIST----------------
XWL:egpClear -> Clears the cache.
XWL:egpDraw() -> Draws the cache onto the screen. (Returns 1 if successful 0 if not.)
XWL:egpRemove(idx) -> Removes element on next draw.
XWL:egpCanDraw() -> returns 1 if the EGP can draw on that exicution, 0 if not.)
XWL:egpDrawMaterials() Update the screen textures only. *OFFICAL EGP SVN ONLY!
Box -> draw a 4 sided box.
XWL:egpBox(idx,posX,posY,SizeX,SizeY,R,G,B,A)
XWL:egpBox(idx,vec2 pos,vec2 size,vec4 color)
XWL:egpBox(idx,vec2 pos,vec2 size,vec color,A)
XWL:egpAngle(idx,ang) -> Only works on box elements.

Boxoutline - > draw a 4 sided box with an outline.
XWL:egpBoxoutline(idx,posX,posY,SizeX,SizeY,R,G,B, A)
XWL:egpBoxoutline(idx,vec2 pos,vec2 size,vec4 col)
XWL:egpBoxoutline(idx,vec2 pos,vec2 size,vec col,A)

Line -> draw a line between 2 points.
XWL:egpLine(idx,X1,Y1,X2,Y2,R,G,B,A)
XWL:egpLine(idx,vec2 pos1,vec2 pos2,vec4 col)
XWL:egpLine(idx,vec2 pos,vec2 pos2,vec col,A)

Text -> write text.
XWL:egpText(idx,string text,vec2 pos,vec color,A)
XWL:egpText(idx,string text,vec2 pos,vec4 color)
XWL:egpText(idx,string text,pos1X,pos1Y,R,G,B,A)
XWL:egpTextLayout(id,string,vec2 pos,vec2 size, vec4 color) -> SUPPORTS \n and wraps text.
XWL:egpSetText(idx,string text)
XWL:egpSetFont(idx,font,size)
XWL:egpFontAlign(idx,x,y) -> veticle and horizontal alignment (0/1/2)

Triangle -> draw a triangle made up of 3 points.
XWL:egpTriangle(idx,X1,Y1,X2,Y2,X3,Y3,R,G,B,A)
XWL:egpTriangle(idx,vec2 Pos1,vec2 pos2,vec2 pos3,vec color,A)
XWL:egpTriangle(idx,vec2 Pos1,vec2 pos2,vec2 pos3,vec4 color)

Circle -> draw a circle.
XWL:egpCircle(idx,posX,posY,SizeX,SizeY,R,G,B,A)
XWL:egpCircle(idx,vec2 pos,vec2 size,vec4 col)
XWL:egpCircle(idx,vec2 pos,vec2 size,vec col,A)

Special Circle functions:
These will make the circles change shape rotation (etc).
XWL:egpCircleStart(idx,N) -> set the start angle (0-7).
XWL:egpCircleEnd(idx,N -> set the end angle (0-7).
XWL:egpCirclePoints(idx,vec2) -> start/end angles.
XWL:egpCirclePoints(idx,start,end) -> start/end angles.
XWL:egpCircleSides(idx,N) -> set the amount of sides the shape has (3-64).

Polys:
XWL:egpPoly(idx,array) -> creates a poly based on an array of 2d and 4d vectors.
XWL:egpPoly(idx,array,vec4 color) -> creates a poly based on a list of 2d and 4d vectors.
XWL:egpPoly(idx,array,vec color,alpha) -> creates a poly based on a list of 2d and 4d vectors.

Other:
XWL:egpMaterial(idx,material)
XWL:egpMaterialFromScreen(N,XWL/E) which takes the material from a GPULib RT screen (EGP, GPU, digital screen, console screen, text screen, oscilloscope)
XWL:egpPos(idx,posX,posY)
XWL:egpPos1(idx,posX,posY)
XWL:egpPos2(idx,posX,posY)
XWL:egpSize(idx,posX,posY)

XWL:egpPos(idx,vec2 pos)
XWL:egpPos1(idx,vec2 pos)
XWL:egpPos2(idx,vec2 pos)
XWL:egpSize(idx,vec2 pos)

Fonts:
coolvetica
arial
lucida console
trebuchet
courier new
times new roman
und/oder:
http://wiki.garrysmod.com/?title=Wired_Graphics_Processor
Ist neuer, aber nicht ganz so einleuchtend wie die alte Dokumentation.

Pixel aka Chris
17.03.2010, 15:14
EGP2 war schon im UWSVN drin, war aber total verbuggt und nicht mit EGP1 E2s kompatibel.

Meine erste EGP-E2 war im Retro-Stil, mit grüner Schrift und schwarzem Hintergrund, auch für LS3. War btw. auch meine erste E2, also divided by 0 and stuff...

Ontopic:
Der ist genial, vorallem die Option für Advanced und so. Und er sieht toll aus :up:

Mitsuma
30.03.2010, 16:57
Schlechte Nachricht:
EGP wird bald entfernt werden.


18:28 - Goluch| EGP will be removed soo: spread the word im officaly homless no pc no internet no home
18:28 - Goluch| EGP will be removed soo: i dont even have a suitcase
18:28 - Goluch| EGP will be removed soo: bye

Hidden Evil
30.03.2010, 17:58
Na toll, gerade jetzt wo ich an einem EGP-Projekt sitze und so gut wie fertig bin :evil:

A.I.
30.03.2010, 20:58
Schlechte Nachricht:
EGP wird bald entfernt werden.

Hab jetzt die Version 1 erfolgreich aus SVN extrahiert.

@Hidden:
Könntest ja die EGP selber weiterentwickeln. ;)

Mitsuma
01.04.2010, 16:20
Für die Atmospheric Probe.

http://www.abload.de/img/sb_astria_beta010003245z.jpg

Pixel aka Chris
01.04.2010, 17:29
Ist das jetz Denglish? :D
Vacuum
Druck
Temperatur
Temperatur
Gravity

Mach doch alles Deutsch oder alles Englisch. D:
Vacuum
Pressure
Temperature
Temperature
Gravity

Ansonsten ist's toll, schön schlicht.

Mitsuma
01.04.2010, 19:45
Hatte zwischendurch ne Pause gemacht.
:D

Llapp
17.04.2010, 10:34
irgendwie habe ich ein kleines problem, ich hab das nach anleitung gemacht aber auf dem egp screen seh ich keine veränderung. kann mir einer sagen was ich vergessen haben könnte? hier mal ein bild

http://i588.photobucket.com/albums/ss325/Llapp/gm_flatgrass0000.jpg

Mitsuma
19.04.2010, 21:03
Ganzen Code bitte.

Ich arbeite an einer neuen Version des ganzem.
Noch stark WIP:
http://www.abload.de/img/gm_ps_hugeflatconstructauf.jpg
Soll vor allem gut aussehen. :gmod:
Edit:
Update:
http://www.abload.de/img/gm_ps_hugeflatconstruchynf.jpg

Llapp
20.04.2010, 20:40
ich hab deine datei von seite 1 gedownloadet -> egp_sb_final.txt . der einzige fehler in der datei war, dass du am ende eine "}" vergessen hattest. wenn ich dann den l2 chip mit einen egp screen wrielinke, passiert nichts, es bleibt weiterhin egp auf dem screen.

Mitsuma
21.04.2010, 22:00
Neue WIP-Bilder:
http://www.abload.de/img/gm_ps_hugeflatconstrucve14.jpg
http://www.abload.de/img/gm_ps_hugeflatconstruclfyu.jpg

Für v2 hab ich schon was geplant:
Besseres Design Übersichtlicheres Design Verschiedene Farben Verschiedene Versionen [LITE/FULL/SENSOR] Optimierter Code Inkl. Wirelink

Weitere Infos zu LITE/FULL und SENSOR-Version wird es demnächst geben.
(Es werden aber einzelne E2's.)

Der Release wird in einem neuen Thread erfolgen, hier werde ich aber weiter WIP-Bilder reinstellen.
(Dabei werden die alten in Spoiler gepackt.)

TheModMaster
02.05.2010, 20:43
Mir fällt gerade auf, dass wenn ich deinen EPG im MP benutze spamt es mir die Netgraph anzeige voll. Trotzdem, gute Arbeit!

Mitsuma
02.05.2010, 20:45
Das erste war nicht so optimiert.
Und mittlerweile ist es veraltet, deswegen sollte man es nicht mehr verwenden.

Mitsuma
17.05.2010, 10:33
Ich überlege grad was ich als "Rahmen" nehmen soll.

Nr.1:
http://www.abload.de/img/gm_construct00023bag.jpg
http://www.abload.de/img/gm_construct0003uyni.jpg

oder

Nr.2:
http://www.abload.de/img/gm_construct0001yykb.jpg

oder das Alte.
(Siehe weiter oben)

oder alle, bzw. 3 verschiedene Versionen.

Burst-Angel
19.08.2010, 00:19
hab mir das mal gedownloadet der spuckt mir immer ein fehler aus ichschreib den mal
No such function: wirelink:egpLine(normal, vector2, vector2, vector, normal) at line 58, char 9

wenn ich den teil lösche geht er weiter zum nächsten und so weiter und so fort naja ich hoffe mir kann jemand erklären was ich amchen muss denn das ist nicht nur bei dem bei anderen EXP2 mit EGP auch

Mitsuma
19.08.2010, 08:22
Das EGP ist schon alt, seit dem ist schon EGP2 draußen, sogar EGP3.
Seit EGP2 werden als Werte, nach dem Index, keine Normalen mehr gelesen.
Alles als vec2/vec und vec4, wenn ich Zeit habe fix ich das inner Freistunden die ich nacher habe.

Burst-Angel
19.08.2010, 15:15
ja aber ich habe auch einen code der mit vec vec2 und vec 4 gemacht wurde hier


@name Miner monitoring screen
@inputs [Resources Tib]:wirelink Laser
@outputs
@persist Egp:wirelink
@trigger
interval(100)



Energy=floor(Resources["Energy",normal]/Resources["Max Energy",normal]*490)
Oxygen=floor(Resources["Oxygen",normal]/Resources["Max Oxygen",normal]*490)

Ore=floor(Tib["Tiberium",normal]/Tib["Max Tiberium",normal]*490)

Minutes = floor(((Tib["Max Tiberium",normal]-Tib["Tiberium",normal])/2400)/60)
Seconds = floor(((Tib["Max Tiberium",normal]-Tib["Tiberium",normal])/2400)%60)



if(first()){
entity():isWeldedTo():makeWirelink()
Egp=entity():isWeldedTo():getWirelink()

}

Egp:egpClear()

Egp:egpBox(1,vec2(10,10),vec2(492,50),vec4(50,50,2 55,255))
Egp:egpText(2,"Miner Monitoring Screen",vec2(25,12),vec4(255,255,255,255))
Egp:egpFont(2,"coolvetica",50)

Egp:egpBoxOutline(3,vec2(10,80),vec2(492,40),vec4( 255,255,255,255))
Egp:egpBox(4,vec2(11,81),vec2(Energy,38),vec4(255, 100,0,255))
Egp:egpText(5,"Energy: "+round(Energy/4.9)+"%",vec2(20,85),vec4(255,255,255,255))
Egp:egpFont(5,"coolvetica",30)

Egp:egpBoxOutline(6,vec2(10,130),vec2(492,40),vec4 (255,255,255,255))
Egp:egpBox(7,vec2(11,131),vec2(Oxygen,38),vec4(255 ,100,0,255))
Egp:egpText(8,"Oxygen: "+round(Oxygen/4.9)+"%",vec2(20,135),vec4(255,255,255,255))
Egp:egpFont(8,"coolvetica",30)

Egp:egpBoxOutline(9,vec2(10,180),vec2(492,40),vec4 (255,255,255,255))
Egp:egpBox(10,vec2(11,181),vec2(Ore,38),vec4(255,1 00,0,255))
Egp:egpText(11,"Tib: "+round(Ore/4.9)+"%",vec2(20,185),vec4(255,255,255,255))
Egp:egpFont(11,"coolvetica",30)

Egp:egpBoxOutline(12,vec2(10,230),vec2(492,40),vec 4(255,255,255,255))
Egp:egpBox(13,vec2(11,231),vec2(Laser*4.9,38),vec4 (255,100,0,255))
Egp:egpText(14,"Tib left in crystal: "+round(Laser)+"%",vec2(20,235),vec4(255,255,255,255))
Egp:egpFont(14,"coolvetica",30)

Egp:egpText(15,"Time till tib is full: "+Minutes+":"+Seconds,vec2(15,280),vec4(255,255,255,255))
Egp:egpFont(15,"coolvetica",40)

Egp:egpText(16,"Made by: |LW| Pyro",vec2(10,480),vec4(255,255,255,255))

Egp:egpDraw()



Aber da zeigt er mir genau das gleiche an!

Würde ja gerne selber eins schreiben.
Aber ich finde einfach keine TuT´ s dazu , oder wenigstens einen code der funtzt um wenigstens ansatz weiße verstehen zu können wie das geht!
Vlt kann mir ja einer von euch mal erklären wie das gehen soll

P.s. genau den code den ich gepostet habe um den gehts haupsächlich da der für Spaceage ist.
Aber ich würde mir lieber selber eins machen aber wie gesagt ohne ansatz weiße etwas zu haben um den code zu verstehen gehts net bei mir hab schon zum getestet und so aber geht nix.

MFG Rakye und schon mal danke im vorraus

Mitsuma
19.08.2010, 15:18
1. Der Wirelink ist ein Output.
2. wo hast du XML:egpDraw() ?

Burst-Angel
19.08.2010, 17:11
1 das is net mein code den habe ich gefunden auf der space age seite
und 2 die funktion gibts nicht ,des wegen hatte ich die schon raus geschmissen
Aber dennoch selbst wenn ich den wirelink zu einem Output mache zeigt er mir den gleichen fehler an.

hmm wenn du zeit und lust hast können war uns ja auch im Ts 3 oder Skype mal unter halten .


---------- Beitrag hinzugefügt um 17:11 ---------- Vorheriger Beitrag war um 15:48 ----------

also es geht aber er zeigt nichts an auf dem egp ka wieso


EGP v3 http://divranspack.googlecode.com/svn/trunk/ divranspack/EGP v3 beta

problem hat sich erledigt

SpawnAuer
20.01.2011, 20:50
funktioniert bei mir nicht es kommt immer eine fehler meldung irgent was mit no such funktion wirelink ........... line 58 ...

kann ich das irgentwie fixen?

Edit: ok es läuft jetzt musst nur den code an EGPv3 anpassen.:D

vielen dank für das e2