setpropstring <- NetProps.SetPropString.bindenv(NetProps) getpropfloat <- NetProps.GetPropFloat.bindenv(NetProps) setpropfloat <- NetProps.SetPropFloat.bindenv(NetProps) addtimeent <- Entities.FindByName(null,"addtime") if(!(::rawin("clock"))) ::clock <- "4|20|0 255 255|timerfinish1" local values = split(clock,"|") EntFireByHandle(self,"addoutput","color "+values[2],-1,null,null) ptime <- null stime <- Time()+values[0].tofloat()*60+values[1].tofloat()+1 stimeadd <- stime textcolor <- values[2] timerrelay <- values[3] AddThinkToEnt(self,"timerthink") function timerthink() { local ftime = Time() local ctime = stime-ftime local newTime = getpropfloat(addtimeent,"m_flInValue") if(newTime!=0) { if(stimeadd==stime) stimeadd+=newTime EntFireByHandle(self,"addoutput","color 0 255 0",-1,null,null) stime+=(newTime/66) if((newTime>0&&stimeadd<=stime)||(newTime<0&&stimeadd>=stime)) { stimeadd=stime setpropfloat(addtimeent,"m_flInValue",0) EntFireByHandle(self,"addoutput","color "+textcolor,-1,null,null) } } if(ctime<=0) { setpropstring(self,"m_iszScriptThinkFunction","") EntFire(timerrelay,"trigger") } local seconds = ctime%60 local o="" if(seconds<10)o="0" setpropstring(self,"m_iszMessage",format("%i:%s%i",ctime/60,o,seconds)) EntFireByHandle(self,"display","",-1,null,null) return -1 } function timerpausethink() { local pause = stime-ptime local seconds = pause%60 local o="" if(seconds<10)o="0" setpropstring(self,"m_iszMessage",format("%i:%s%i",pause/60,o,seconds)) EntFireByHandle(self,"display","",-1,null,null) return -1 } function timerpause() { if(ptime) { stime+=(Time()-ptime) stimeadd=stime ptime = null AddThinkToEnt(self,"timerthink") } else { AddThinkToEnt(self,"timerpausethink") ptime = Time() } EntFireByHandle(self,"display","",-1,null,null) }