Code:
@name EGP clock
@inputs W:wirelink
@outputs Ratio:vector2 Test Str:string
@persist Mid Min Hour Sec
@trigger
interval(500)
if(first())
{
W:egpClear()
timer("draw",500)
}
Min = time("min")
Sec = time("sec")
Hour = time("hour")
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,vec2(Mid-5,Mid-Ratio:x()-5),vec2(10,10))
W:egpBox(6,vec2(Mid-5,Mid+Ratio:x()-5),vec2(10,10))
W:egpBox(3,vec2(Mid+Ratio:y()-5,Mid-5),vec2(10,10))
W:egpBox(9,vec2(Mid-Ratio:y()-5,Mid-5),vec2(10,10))
#other
W:egpBox(1,vec2(Mid-sin(30*11)*Ratio:y()-5,Mid-cos(30*11)*Ratio:x()-5),vec2(10,10))
W:egpBox(2,vec2(Mid-sin(30*10)*Ratio:y()-5,Mid-cos(30*10)*Ratio:x()-5),vec2(10,10))
W:egpBox(11,vec2(Mid-sin(30*1)*Ratio:y()-5,Mid-cos(30*1)*Ratio:x()-5),vec2(10,10))
W:egpBox(10,vec2(Mid-sin(30*2)*Ratio:y()-5,Mid-cos(30*2)*Ratio:x()-5),vec2(10,10))
W:egpBox(4,vec2(Mid-sin(30*8)*Ratio:y()-5,Mid-cos(30*8)*Ratio:x()-5),vec2(10,10))
W:egpBox(5,vec2(Mid-sin(30*7)*Ratio:y()-5,Mid-cos(30*7)*Ratio:x()-5),vec2(10,10))
W:egpBox(8,vec2(Mid-sin(30*4)*Ratio:y()-5,Mid-cos(30*4)*Ratio:x()-5),vec2(10,10))
W:egpBox(7,vec2(Mid-sin(30*5)*Ratio:y()-5,Mid-cos(30*5)*Ratio:x()-5),vec2(10,10))
#render
timer("hands",100)#max FPs=12 D:
}
#Hour++ #for server thats GMT+0 and youyr gmt+1
#Hour=Hour%24
if(clk("hands"))
{
#hands
W:egpLine(20,vec2(Mid,Mid),vec2(Mid+1,Mid+1))#sec
W:egpLine(21,vec2(Mid,Mid),vec2(Mid+1,Mid-1))#min
W:egpLine(22,vec2(Mid,Mid),vec2(Mid-1,Mid-1))#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,vec2(Mid,Mid),vec2(100,100))
}
#clock is only 12 hours!
if(Hour>12){Test=Hour-12}else{Test=Hour}
W:egpPos(20,vec2(Mid-cos((Sec+15)*(360/60))*Ratio:y(),Mid-sin((Sec+15)*(360/60))*Ratio:x()))
W:egpPos(21,vec2(Mid-cos((Min+15)*(360/60))*Ratio:y(),Mid-sin((Min+15)*(360/60))*Ratio:x()))
W:egpPos(22,vec2(Mid-cos((Test+3)*(360/12))*Ratio:y(),Mid-sin((Test+3)*(360/12))*Ratio:x()))
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)) You will have to add color
Bookmarks