Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name Lap Timer 2 by Extra Mental
- @inputs Player:entity
- @outputs Time TopTime LastTime NextName Name:string
- @persist [E O]:entity
- @persist R:ranger
- @persist Trigger Width Active CanTrigger GraceTime First
- interval(1)
- runOnChat(1)
- if(first()){
- Width = 500
- GraceTime = 5 #Seconds before it can stop timing
- #----------------
- E = entity()
- O = owner()
- holoCreate(1)
- holoModel(1,"hq_sphere")
- holoAlpha(1,50)
- CanTrigger = 1
- First = 1
- }
- if(duped() | dupefinished()){reset()}
- rangerFilter(E)
- R = rangerOffset(E:pos(), E:toWorld(vec(0,0,Width)))
- holoPos(1,R:position())
- Name = Player:name()
- if(R:entity():isValid() & (R:entity():owner() == Player | R:entity() == Player)){
- Trigger = 1
- }else{
- Trigger = 0
- }
- if(Trigger & $Trigger & CanTrigger){
- Active = 1
- CanTrigger = 0
- timer("trigger",GraceTime*1000)
- if(First){
- print("Timer Active.")
- First = 0
- }else{
- print("Lap Time: " +round(Time,2))
- concmd("say Lap Time: " +round(Time,2)+ " seconds." )
- LastTime = Time
- if(Time < TopTime){TopTime = Time}
- if(TopTime == 0){TopTime = Time}
- Time = 0
- }
- }
- if(Active){
- Time += 0.01
- print(_HUD_PRINTCENTER, "Time: " + round(Time,2))
- }
- if(clk("trigger")){
- CanTrigger = 1
- }
- if(chatClk(O) & lastSaid():lower() == "!reset"){
- Active = 0
- Time = 0
- TopTime = 0
- LastTime = 0
- First = 1
- }
- if(chatClk(O) & lastSaid():lower() == "!stop"){
- Active = 0
- Time = 0
- First = 1
- }
- if(chatClk(O) & lastSaid():lower() == "!next"){
- NextName = 1
- }else{
- NextName = 0
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement