Newyears script
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

Newyears script

Started by enema, 01 October, 2004, 09:15:22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

enema

Hi, this script have some mayor errors in it, hope you can fix it, i now i cant. It suposed to countdown. But it is showing something like this -   Time left till new year: -275 Day's, 14 Hours, 16 Minutes, 34 Seconds. Hours, minutes and seconds are counted correctly, but days arent. It doesnt count down but up from last newyear. and day count is negative...

heres the bot itself, maybe some one could fix it till christmas :)

------------------------------------------------------------------------------ 
------- countdown bot by plop ------- 
------- original julian day made by tezlo ------- 
------- modifyd by chilla 2 also handle hours, mins, seconds ------- 
------------------------------------------------------------------------------ 

------------------------------------------------------------------------------ 
------- THE TEXT FILE LOADS ON BOT START ------- 
------------------------------------------------------------------------------ 
------- this may sound weird but this 2 make sure it shows on time, ------- 
------- as i allready seen some big ascii's come by ------- 
------------------------------------------------------------------------------ 


------------------------------------------------------------------------------ 
Bot = "newyear" 
--This the date the timer has 2 stop @ midnight 
-- year (2 numbers), month, day 
SylYear,SylMonth,SylDay = 03,12,31 
-- this is the file 2 be shown 
file = "happynewyear.txt" 
------------------------------------------------------------------------------ 


------------------------------------------------------------------------------ 
function OnTimer() 
if last == 0 then 
SendToAll(Bot, TimeLeft()) 
Sync() 
elseif last == 1 then 
SendAscii() -- send the msg 
StopTimer() -- kill the timer 
end 
end 
------------------------------------------------------------------------------ 
function jdatehms(d, m, y,ho,mi,se) 
local a, b, c = 0, 0, 0 
if m <= 2 then 
y = y - 1 
m = m + 12 
end 
if (y*10000 + m*100 + d) >= 15821015 then 
a = floor(y/100) 
b = 2 - a + floor(a/4) 
end 
if y <= 0 then c = 0.75 end 
return floor(365.25*y - c) + floor(30.6001*(m+1) + d + 1720994 + b),ho*3600+mi*60+se 
end 
------------------------------------------------------------------------------ 
function TimeLeft()
local curday,cursec = jdatehms(tonumber(date("%d")),tonumber(date("%m")),tonumber(date("%y")),tonumber(date("%H")),tonumber(date("%M")),tonumber(date("%S"))) 
local sylday,sylsec = jdatehms(SylDay,SylMonth,SylYear,24,0,0) 
local tmp = sylsec-cursec 
local hours, minutes,seconds = floor(mod(tmp/3600, 60)), floor(mod(tmp/60, 60)), floor(mod(tmp/1, 60)) 
return ("Time left till new year: "..sylday-curday.." Day's, "..hours.." Hours, "..minutes.." Minutes, "..seconds.." Seconds") 
end 
------------------------------------------------------------------------------ 
function ShowAscii() 
text ="\r\n\r\n" 
readfrom(file) 
while 1 do 
local line = read() 
if line == nil then 
readfrom() 
break 
end 
text = text..line.."\r\n" 
end 
end 
------------------------------------------------------------------------------ 
function SendAscii() 
SendToAll(Bot, text.." |") 
SendToAll(Bot, "happy new year 2 everybody from all the guy's/girls/bot's from the lua forum|") 
end 
------------------------------------------------------------------------------ 
function DataArrival(user, data) 
if( strsub(data, 1, 1) == "<" ) then 
data=strsub(data,1,strlen(data)-1) 
s,e,cmd = strfind(data,"%b<>%s+(%S+)") 
if cmd == "!daysleft" then 
user:SendData(Bot, TimeLeft().."|") 
return 1 
end 
end 
end 
------------------------------------------------------------------------------ 
function NewUserConnected(user) 
user:SendData(Bot, TimeLeft().."|") 
end 
------------------------------------------------------------------------------ 
function OpConnected(user) 
user:SendData(Bot, TimeLeft().."|") 
end 
------------------------------------------------------------------------------ 
function Main() 
SetTimer(100 * 1000) 
StartTimer() 
SendToAll(Bot, TimeLeft().."|") 
Sync() 
ShowAscii() 
last = 0 
end 
------------------------------------------------------------------------------ 
function Sync() 
local curday,cursec = jdatehms(tonumber(date("%d")),tonumber(date("%m")),tonumber(date("%y")),tonumber(date("%H")),tonumber(date("%M")),tonumber(date("%S"))) 
local sylday,sylsec = jdatehms(SylDay,SylMonth,SylYear,24,0,0) 
local tmp = sylsec-cursec 
local hours, minutes,seconds = floor(mod(tmp/3600, 60)), floor(mod(tmp/60, 60)), floor(mod(tmp/1, 60)) 
local day = sylday-curday 
if day ~= 0 then 
adjust = (floor(mod(minutes, 60))*60)+seconds 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(3600 * 1000) 
end 
else 
if tmp > 3600 then --- every hours a msg 
adjust = (floor(mod(minutes, 60))*60)+seconds 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(3600 * 1000) 
end 
elseif tmp > 900 then -- every 15 mins a msg 
adjust = (floor(mod(minutes, 15))*60)+seconds 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(900 * 1000) 
end 
elseif tmp > 300 then -- every 5 mins a msg 
adjust = (floor(mod(minutes, 5))*60)+seconds 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(300 * 1000) 
end 
elseif tmp > 60 then -- every min a msg 
adjust = (floor(mod(minutes, 1))*60)+seconds 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(60 * 1000) 
end 
elseif tmp > 15 then -- every 15 secs a msg 
adjust = floor(mod(seconds, 15)) 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(15 * 1000) 
end 
elseif tmp > 10 then -- every 10 secs a msg 
adjust = floor(mod(seconds, 10)) 
if adjust ~= 0 then 
SetTimer(adjust * 1000) 
else 
SetTimer(5 * 1000) 
end 
elseif tmp > 1 then 
SetTimer(1 * 1000) 
else 
last = 1 
SetTimer(1 * 1000) 
end 
end 
end  

plop

logical.
SylYear,SylMonth,SylDay = 03,12,31
your counting back from 31 - 12 - 2003.

plop
http://www.plop.nl lua scripts/howto\'s.
http://www.thegoldenangel.net
http://www.vikingshub.com
http://www.lua.org

>>----> he who fights hatred with hatred, drives the spreading of hatred <----<<

enema

How I hate when i try everything... possible and unpossible... smart and dumb stuff... and the answer seems to be so simple :D

SMF spam blocked by CleanTalk