Heya peeps...
I am by no means a pro at this but thaught id share what i know in here for everyone to see.
so if any one else wants to chip in with comments or more efficient ways then feel free
and maby i can learn something aswell..
Here we will create a Simple GUI for one of my scripts.
i am using ' Visual Basic 6 Pro ' so if you can pls d/l and install the same.
ok heres the script we will be working with
Click Here To Download in full with supporting .txt files (http://hubsinc.hawkies-world.us/download.php?id=2)
unzip to your scripts directory.
Main Code.
--------------------------------------------------------
--====================================================
--=================Clock Settings=====================
BotName = "Ascii-Clock"
TimeZone = "GmT" -- Set time zone i.e gmt+1 , gmt+2 , gmt-1 , gmt-2 etc. etc.
ClockInterval = 1 -- Displays Ascii Clock every # mins in main chat
HubAddy = "******* blahh.no-ip.com ********" --Hub Addy to display in clock
HubName = "***** my hub *******" --Hub Name to display in clock
commandprefix = "+"
---- commands ------
-- !time -- display ascci clock in main chat
-- !ver -- display clock ver
function Main()
DefineVariables()
SetTimer(mins)
StartTimer()
end
function OnTimer()
ClockTimer()
end
function DataArrival(user, data)
if( strsub(data, 1, 1) == "<" ) then
local s,e,prefix,cmd = strfind(data, "%b<>%s+(%S+)(%S+)")
if prefix == commandprefix.."time" then
parceTime()
TimeToAll(fileh,fileh1,filem,filem1)
elseif prefix == commandprefix.."clockver" then
user:SendData( Version_info )
end
end
end
--------------------------------------------------------
function parceTime()
cdate = date("%x")
hoursa = date("%H")
minsa = date("%M")
hours = tonumber(hoursa)
mins = tonumber(minsa)
if hours < 10 then
fileh = "0.txt"
fileh1 = hours..".txt"
elseif hours < 20 then
firstpm = hours - 10
fileh = "1.txt"
fileh1 = firstpm..".txt"
elseif hours < 25 then
firstpm = hours - 20
fileh = "2.txt"
fileh1 = firstpm..".txt"
end
if mins < 10 then
filem = "0.txt"
filem1 = mins..".txt"
elseif mins < 20 then
firstpm = mins - 10
filem = "1.txt"
filem1 = firstpm..".txt"
elseif mins < 30 then
firstpm = mins - 20
filem = "2.txt"
filem1 = firstpm..".txt"
elseif mins < 40 then
firstpm = mins - 30
filem = "3.txt"
filem1 = firstpm..".txt"
elseif mins < 50 then
firstpm = mins - 40
filem = "4.txt"
filem1 = firstpm..".txt"
elseif mins < 60 then
firstpm = mins - 50
filem = "5.txt"
filem1 = firstpm..".txt"
elseif mins == 60 then
firstpm = mins - 60
filem = "6.txt"
filem1 = firstpm..".txt"
end
return fileh,fileh1,filem,filem1
end
function TimeToAll(fileh,fileh1,filem,filem1)
filec = "10.txt"
Tempclockfile = "\r\n\r\n ***********************************************\r\n"
Tempclockfile = Tempclockfile..""..HubName.."\r\n"
Tempclockfile = Tempclockfile.." ******************"..cdate.."******************"
local handle = openfile("asciiclock/"..fileh, "r")
if (handle ~= nil) then
local line = read(handle)
local line = " "..line
local handle1 = openfile("asciiclock/"..fileh1, "r")
local line = line..""..read(handle1)
local handle2 = openfile("asciiclock/"..filec, "r")
local line = line..""..read(handle2)
local handle3 = openfile("asciiclock/"..filem, "r")
local line = line..""..read(handle3)
local handle4 = openfile("asciiclock/"..filem1, "r")
local line = line..""..read(handle4)
while line do
Tempclockfile = Tempclockfile.."\r\n"..line
line = read(handle)
if (line ~= nil) then
line = " "..line
line = line..""..read(handle1)
line = line..""..read(handle2)
line = line..""..read(handle3)
line = line..""..read(handle4)
end
end
Tempclockfile = Tempclockfile.."\r\n ****************** "..TimeZone.." ***********************\r\n"
Tempclockfile = Tempclockfile..""..HubAddy.."\r\n"
Tempclockfile = Tempclockfile.." ************************************************\r\n"
SendToAll(BotName, Tempclockfile)
closefile(handle)
closefile(handle1)
closefile(handle2)
closefile(handle3)
closefile(handle4)
end
end
--------------------------------------------------------------------------------
--------------------------------------------------------
function ClockTimer()
parceTime()
TimeToAll(fileh,fileh1,filem,filem1)
end
--------------------------------------------------------
function DefineVariables()
Version_info = "\r\n\t\tAscii clock Ver 1.01 By ??????Hawk??????"
mins = 1000 * 60 * ClockInterval
current = date("%H:%M:%S")
end
Ok first off we need to Prepare the script to read its settings from an External file.
open Note Pad and ' CUT ' and paste this code from the script in to it......
TimeZone = "GmT"
ClockInterval = 1
HubAddy = "******* blahh.no-ip.com ********"
HubName = "***** my hub *******"
commandprefix = "+"
notice ive removed all comments from it aswell there not needed
save the file AS Settings.cfg in to your Scripts directory.
now you need to add a line of Code to the main Script to read the Settings.cfg file
Add this line to the ' function DefineVariables() ' part of the script
assert(dofile("Settings.cfg"),"settings file error")
your scripts directory should now contain:-
[asciiclock] <-- folder
AsciiClockv1.01.lua <-- Main Script
Settings.cfg <-- New config file
the main script should look like this
--====================================================
--=================Clock Settings=====================
---- commands ------
-- !time -- display ascci clock in main chat
-- !ver -- display clock ver
function Main()
DefineVariables()
SetTimer(mins)
StartTimer()
end
function OnTimer()
ClockTimer()
end
function DataArrival(user, data)
if( strsub(data, 1, 1) == "<" ) then
local s,e,prefix,cmd = strfind(data, "%b<>%s+(%S+)(%S+)")
if prefix == commandprefix.."time" then
parceTime()
TimeToAll(fileh,fileh1,filem,filem1)
elseif prefix == commandprefix.."clockver" then
user:SendData( Version_info )
end
end
end
--------------------------------------------------------
function parceTime()
cdate = date("%x")
hoursa = date("%H")
minsa = date("%M")
hours = tonumber(hoursa)
mins = tonumber(minsa)
if hours < 10 then
fileh = "0.txt"
fileh1 = hours..".txt"
elseif hours < 20 then
firstpm = hours - 10
fileh = "1.txt"
fileh1 = firstpm..".txt"
elseif hours < 25 then
firstpm = hours - 20
fileh = "2.txt"
fileh1 = firstpm..".txt"
end
if mins < 10 then
filem = "0.txt"
filem1 = mins..".txt"
elseif mins < 20 then
firstpm = mins - 10
filem = "1.txt"
filem1 = firstpm..".txt"
elseif mins < 30 then
firstpm = mins - 20
filem = "2.txt"
filem1 = firstpm..".txt"
elseif mins < 40 then
firstpm = mins - 30
filem = "3.txt"
filem1 = firstpm..".txt"
elseif mins < 50 then
firstpm = mins - 40
filem = "4.txt"
filem1 = firstpm..".txt"
elseif mins < 60 then
firstpm = mins - 50
filem = "5.txt"
filem1 = firstpm..".txt"
elseif mins == 60 then
firstpm = mins - 60
filem = "6.txt"
filem1 = firstpm..".txt"
end
return fileh,fileh1,filem,filem1
end
function TimeToAll(fileh,fileh1,filem,filem1)
filec = "10.txt"
Tempclockfile = "\r\n\r\n ***********************************************\r\n"
Tempclockfile = Tempclockfile..""..HubName.."\r\n"
Tempclockfile = Tempclockfile.." ******************"..cdate.."******************"
local handle = openfile("asciiclock/"..fileh, "r")
if (handle ~= nil) then
local line = read(handle)
local line = " "..line
local handle1 = openfile("asciiclock/"..fileh1, "r")
local line = line..""..read(handle1)
local handle2 = openfile("asciiclock/"..filec, "r")
local line = line..""..read(handle2)
local handle3 = openfile("asciiclock/"..filem, "r")
local line = line..""..read(handle3)
local handle4 = openfile("asciiclock/"..filem1, "r")
local line = line..""..read(handle4)
while line do
Tempclockfile = Tempclockfile.."\r\n"..line
line = read(handle)
if (line ~= nil) then
line = " "..line
line = line..""..read(handle1)
line = line..""..read(handle2)
line = line..""..read(handle3)
line = line..""..read(handle4)
end
end
Tempclockfile = Tempclockfile.."\r\n ****************** "..TimeZone.." ***********************\r\n"
Tempclockfile = Tempclockfile..""..HubAddy.."\r\n"
Tempclockfile = Tempclockfile.." ************************************************\r\n"
SendToAll(BotName, Tempclockfile)
closefile(handle)
closefile(handle1)
closefile(handle2)
closefile(handle3)
closefile(handle4)
end
end
--------------------------------------------------------------------------------
--------------------------------------------------------
function ClockTimer()
parceTime()
TimeToAll(fileh,fileh1,filem,filem1)
end
--------------------------------------------------------
function DefineVariables()
assert(dofile("Settings.cfg"),"settings file error")
Version_info = "\r\n\t\tAscii clock Ver 1.01 By ??????Hawk??????"
mins = 1000 * 60 * ClockInterval
current = date("%H:%M:%S")
end
And it should run ok ...
ok ill leave you all to d/l and install VB6......
Back Soon With More......................
Hi,
The GUI of my script is now avaible, hope it can help you guys one making your own. My code isn?t the best, i have learned C++ one year ago, but its a help.
Is made in C++ and programmed in Borland Builder C++.
Download HERE (http://dcportugal.com/scripts/GUI-Source.zip)
Best regards, nErBoS