Code:
@name EGP clock by Unsmart v3
@inputs W:wirelink
@outputs Ratio:vector2 Min Hour Sec
@persist Mid
@trigger
interval(500)
if(first())
{
W:egpClear()
timer("draw",500)
}
if(clk("draw"))
{
#base
#edit me
RatioReal=vec2(1,1)
RatioReal=clamp(RatioReal,vec2(0.1,0.1),vec2(1.2,1.2))
Size=220
Size=clamp(Size,10,220)
Ratio=RatioReal*Size
Mid=256
#dont edit me below
#base 4 digits
W:egpBox(12,Mid-5,Mid-Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(6,Mid-5,Mid+Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(3,Mid+Ratio:y()-5,Mid-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(9,Mid-Ratio:y()-5,Mid-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
#other
W:egpBox(1,Mid-sin(30*11)*Ratio:y()-5,Mid-cos(30*11)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(2,Mid-sin(30*10)*Ratio:y()-5,Mid-cos(30*10)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(11,Mid-sin(30*1)*Ratio:y()-5,Mid-cos(30*1)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(10,Mid-sin(30*2)*Ratio:y()-5,Mid-cos(30*2)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(4,Mid-sin(30*8)*Ratio:y()-5,Mid-cos(30*8)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(5,Mid-sin(30*7)*Ratio:y()-5,Mid-cos(30*7)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(8,Mid-sin(30*4)*Ratio:y()-5,Mid-cos(30*4)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
W:egpBox(7,Mid-sin(30*5)*Ratio:y()-5,Mid-cos(30*5)*Ratio:x()-5,10,10,randint(0,255),randint(0,255),randint(0,255),255)
#render
W:egpDraw()
timer("hands",100)#max FPs=12 D:
}
Min=time("min")
Hour=time("hour")
Sec=time("sec")
#Hour++ #for server thats GMT+0 and your gmt+1
#Hour=Hour%24
if(clk("hands"))
{
#hands
W:egpLine(20,Mid,Mid,Mid+1,Mid+1,255,255,255,255)#sec
W:egpLine(21,Mid,Mid,Mid+1,Mid-1,0,255,255,255)#min
W:egpLine(22,Mid,Mid,Mid-1,Mid-1,255,255,0,255)#hour
#digital timed
Str=""
if((Hour+""):length()==1){Str+="0"+Hour+":"}else{Str+=""+Hour+":"}
if((Min+""):length()==1){Str+="0"+Min+":"}else{Str+=""+Min+":"}
if((Sec+""):length()==1){Str+="0"+Sec}else{Str+=""+Sec}
W:egpText(23,Str,vec2(Mid-50,Mid+50),vec(255,0,0),255)
#circle
#W:egpCircle(-1,Mid,Mid,100,100,255,255,255,255)
W:egpDraw()
}
#clock is only 12 hours!
if(Hour>12){Test=Hour-12}else{AmPm=Hour}
W:egpPos2(20,Mid-cos((Sec+15)*(360/60))*Ratio:y(),Mid-sin((Sec+15)*(360/60))*Ratio:x())
W:egpPos2(21,Mid-cos((Min+15)*(360/60))*(Ratio:y()-(Ratio:y()/7)),Mid-sin((Min+15)*(360/60))*(Ratio:x()-(Ratio:x()/7)))
W:egpPos2(22,Mid-cos((AmPm+3+(Min/60))*(360/12))*(Ratio:y()-(Ratio:y()/3)),Mid-sin((AmPm+3+(Min/60))*(360/12))*(Ratio:x()-(Ratio:x()/3)))
Str=""
if((Hour+""):length()==1){Str+="0"+Hour+":"}else{Str+=""+Hour+":"}
if((Min+""):length()==1){Str+="0"+Min+":"}else{Str+=""+Min+":"}
if((Sec+""):length()==1){Str+="0"+Sec}else{Str+=""+Sec}
W:egpText(23,Str,vec2(Mid-50,Mid+50),vec(255,0,0),255)
W:egpDraw()
Bookmarks