Looking for someone skilled in E2 EGP

First of all I’d like to apologize if this is in the wrong section, I didn’t know if I should put this in Gmod Disscusion or in Help & Support.

I’m looking for someone to make an e2 for a dashboard on my car. I am not skilled at all with egp stuff.
I have a mock up of what I would want it to look like

http://img534.imageshack.us/img534/6209/speedometer.png

These are the following which would have variable inputs:
-Ride Height would be an external input ranging from 30-40
-Transmission type would be an external value ranging from 0-1


0 displays Auto
1 displays Manual

-The 0 in the middle would receive an external value ranging from 0-7, each of them displaying a different character (The same characters will be displayed no matter the transmission type, eg:no PRND1 for when in auto and the following for manual)


0 displays P
1 displays R
2 displays N
3 displays 2
4 displays 3
5 displays 4
6 displays 5
7 displays 6

-The RPM counter would receive an external variable input from an ACF engine ranging from 0-8000
-The MPH counter could either receive an external input from a speedometer, or it could receive an internal value from the e2 chip itself, no preference

Anyone that could do even a section of this dash I would be grateful for

http://img9.imageshack.us/img9/2714/2013020500002.jpg

So I’ve managed to learn a bit of egp and made the basic layout of the dashboard with working
-Transmission type
-Gear
-RPM red line indicator
-Text for MPH and RPM

I still have no idea how to make the tick marks, the tick mark numbers, and the needle angle calculations


@name First Speedo
@inputs S:wirelink RPM MPH Gear Trans
@persist 
#use sprops 18x18
#Made by Matresyoyo
#MPH face and needle
    S:egpCircle(1,vec2(128,128),vec2(128,128))
        S:egpColor(1,vec(255,255,255))
    S:egpCircle(2,vec2(128,128),vec2(4,4))
        S:egpColor(2,vec(0,0,0))
    S:egpBox(3,vec2(73,128),vec2(110,4))
        S:egpColor(3,vec(255,0,0))

#RPM face and needle
    S:egpCircle(4,vec2(384,128),vec2(128,128))
        S:egpColor(4,vec(255,255,255))
    S:egpCircle(5,vec2(384,128),vec2(4,4))
        S:egpColor(5,vec(0,0,0))
    S:egpBox(6,vec2(329,128),vec2(110,4))
        S:egpColor(6,vec(255,0,0))

#MPH text
    S:egpTextLayout(7,(toString(round(floor(MPH)))+" MPH"),vec2(90,200),vec2(128,128))
        S:egpSize(7,32)
        S:egpColor(7,vec(0,0,0))

#RPM text
    S:egpTextLayout(8,(toString(round(floor(RPM)))+" RPM"),vec2(350,167),vec2(128,128))
        S:egpSize(8,32)  
        S:egpColor(8,vec(0,0,0))

#Gear text
if(Gear==0){S:egpText(9,"P",vec2(236,205))}
if(Gear==1){S:egpText(9,"R",vec2(236,205))}
if(Gear==2){S:egpText(9,"N",vec2(236,205))}
if(Gear==3){S:egpText(9,"1",vec2(236,205))}
if(Gear==4){S:egpText(9,"2",vec2(236,205))}
if(Gear==5){S:egpText(9,"3",vec2(236,205))}
if(Gear==6){S:egpText(9,"4",vec2(236,205))}
if(Gear==7){S:egpText(9,"5",vec2(236,205))}
        S:egpSize(9,64)
        S:egpColor(9,vec(255,128,0))

#Transmisson Type
if(Trans==0){S:egpText(10,"Manual",vec2(218,8))}
if(Trans==1){S:egpText(10,"Auto",vec2(232,8))}
        S:egpSize(10,25)
        S:egpColor(10,vec(255,128,0))
    
#RPM indicator
    S:egpCircle(11,vec2(256,58),vec2(10,10))
if(RPM>5000){S:egpColor(11,vec(255,0,0))}else{S:egpColor(11,vec(0,0,0))}

#MPH needle angles





#RPM needle angels


It currently runs at 800 ops so if anyone can also bring that down that would be great

It takes some math, There’s already a good tutorial on making one on the wiki
http://wiki.wiremod.com/wiki/Expression2_Graphics_Processor:Examples

Is there any guide on what the code for tickmarks is and how to change it and stuff, everyone always just links to that wiki page which tells people to google guides on it(There aren’t any on that subject).
I’m trying to understand the coding of the tickmarks on one of them but its just spaghetti

Well… If you cant understand the math on the wiki page then ask your teacher :V

…Look at the code again and tell me what you dont understand exactly, Don’t look at the whole code and be like “Damn! Too big for me!”

Well I have the needle parented to the middle axis dot, and I know that the angle of the dot has to be n/n + mph, its applying it is where I get lost.

Also with the tick marks I understood that every % of the circle if makes a defined line and number, but it modifying and changing it is also where I get lost.

most recent code


@name First Speedo
@inputs S:wirelink RPM MPH Gear Trans Height
@persist AxisM AxisR
#use sprops 18x18
#Made by Matresyoyo
#MPH face and needle

    
    S:egpCircle(1,vec2(128,128),vec2(128,128))
        S:egpColor(1,vec(255,255,255))
    S:egpCircle(2,vec2(128,128),vec2(5,5))
        AxisM=2
        S:egpColor(2,vec(0,0,0))
    S:egpBox(3,vec2(-40,0),vec2(110,4))
        S:egpColor(3,vec(255,0,0))
        S:egpParent(3,2)

#RPM face and needle
    S:egpCircle(4,vec2(384,128),vec2(128,128))
        S:egpColor(4,vec(255,255,255))
    S:egpCircle(5,vec2(384,128),vec2(5,5))
            AxisR=5
            S:egpColor(5,vec(0,0,0))
    S:egpBox(6,vec2(-40,0),vec2(110,4))
        S:egpColor(6,vec(255,0,0))
        S:egpParent(6,5)

#MPH text
    S:egpTextLayout(7,(toString(round(floor(MPH)))+" MPH"),vec2(90,200),vec2(128,128))
        S:egpSize(7,32)
        S:egpColor(7,vec(0,0,0))

#RPM text
    S:egpTextLayout(8,(toString(round(floor(RPM)))+" RPM"),vec2(350,167),vec2(128,128))
        S:egpSize(8,32)  
        S:egpColor(8,vec(0,0,0))
    
#Height text
    S:egpTextLayout(12,("Ride Height "+(toString(round(floor(Height))))),vec2(210,8),vec2(128,128))
        S:egpSize(12,16)  
        S:egpColor(12,vec(255,128,0))


#Gear text
if(Gear==0){S:egpText(9,"P",vec2(236,205))}
if(Gear==1){S:egpText(9,"R",vec2(236,205))}
if(Gear==2){S:egpText(9,"N",vec2(236,205))}
if(Gear==3){S:egpText(9,"1",vec2(236,205))}
if(Gear==4){S:egpText(9,"2",vec2(236,205))}
if(Gear==5){S:egpText(9,"3",vec2(236,205))}
if(Gear==6){S:egpText(9,"4",vec2(236,205))}
if(Gear==7){S:egpText(9,"5",vec2(236,205))}
        S:egpSize(9,64)
        S:egpColor(9,vec(255,128,0))

#Transmisson Type
if(Trans==0){S:egpText(10,"Manual",vec2(233,32))}
if(Trans==1){S:egpText(10,"Auto",vec2(240,32))}
        S:egpSize(10,16)
        S:egpColor(10,vec(255,128,0))
    
#RPM indicator
    S:egpCircle(11,vec2(256,60),vec2(10,10))
if(RPM>5000){S:egpColor(11,vec(255,0,0))}else{S:egpColor(11,vec(0,0,0))}



You really should be creating egp objects inside your if( first() ) block, then setting the text/position/rotation on an object as needed. Tickmarks can be created with a little bit of simple trig.

You really should be asking on the Wiremod forums instead of on facepunch. You will get more help and your problem would most likely have been solved by now.