Recent posts - Page 7
 

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

Recent posts

#61
Conversion Requests / Command Px
Last post by Massi - 11 June, 2021, 10:30:03
Please, convert in Lua 5.3.4 for Ptokax 0.5.2.2 thanks  :)


--[[ PxCommands 1.1f Lite Ed. LUA 5.1 [Strict] [API 2] By Mutor 03/07/06 40% less calories than the standard edition :P -Sends inbuilt PtokaX user commands (per profile permissions) -Allows for default custom / commands -Allows for raw commands for ops +Changes from 1.1 Standard Edition 08/08/07 -Removed LUA version checking, converted for LUA 5.1 only. -Removed PxUtilities dependency and associated functions. +Profile commands sent in specific [editable] order. +Added profiles 4 - 6 for use with AIO scripts ~Changed timer function, garbage collection. ~Changed status message format and method ~Moved config table to a local variable. +Changes from 1.1 Lite Ed. 08/08/07 -Removed Bot registration & related info. -Removed most anything not required for basic function +All commands written to external files, one per profile. +File read and sent to user at connect +Command functions Default, Raw & Prof nil after 1st run +This method offers a savings of ~20Kb memory usage +Changes from 1.1b Lite Ed.. 09/14/07 ~Rewritten for the new PtokaX API [0.3.06d +] +Changes from 1.1c Lite Ed.. 11/17/07 -Removed Core.GetUserAllData in UserConnected, no longer req'd. +Added user message to data string *Optimizations suggestions by PPK: ~Changed SendToNick to SendToUser, all data sent together +Changes from 1.1d Lite Ed.. 04/26/08 +Added custom user commands. +Changes from 1.1f Lite Ed.. 01/11/09 ~Update for profile permission changes in PxLua API [version 0.4.1.2 and later] ]]-- local CmdCfg = { --Command Menu Name ["" = Hub Name] Menu = "", --Bot Name ["" = Hub Bot] Bot = "", -- Clear the Hub/User menu first, before new commands set is sent at login? true/false -- Avoids duplicate menus. ***If enabled, load this script before other command scripts ClearMenu = true, --Send raw commands to operators? true/false SendRaw = true, } -- Custom profile level for Custom Commands local CustomLevel = {[-1] = 1,[0] = 5,[1] = 4,[2] = 3,[3] = 2,} -- Add your own custom commands -- Set first value as minimum profile level from CustomLevel table, second as typical User Command, ending in || CustomCmds = { --{#,"$UserCommand 1 1 Menu\\SubMenu\\Command Description$<%[mynick]> +command %[line:arg]||"} {1,"$UserCommand 1 3 Menu\\SubMenu\\Common Knowledge$<%[mynick]> Mutor is dead sexy!||"}, } OnStartup = function() Set=function(a,v,h)--(arg,val,hub) if a == "" then if h then return SetMan.GetString(v) else return v end else return a end end CmdCfg.Bot = Set(CmdCfg.Bot,21,true) CmdCfg.Menu = Set(CmdCfg.Menu,0,true) CmdCfg.Path = Core.GetPtokaXPath().."scripts/" local t,x = ProfMan.GetProfiles(),DefaultCmds(-1) for i,v in ipairs(t) do local p = i-1 local Commands = DefaultCmds(p) if CmdCfg.SendRaw and ProfMan.GetProfile(p).tProfilePermissions.bIsOP then local Raw = RawCmds(p) if Raw then Commands = Commands..Raw end end Commands = Commands..ProfCmds(p) local f,e = io.open(CmdCfg.Path..p..".uc","wb") f:write("return "..string.format("%q",Commands)) f:flush() f:close() end local f,e = io.open(CmdCfg.Path.."-1.uc","wb") f:write("return "..string.format("%q",x)) f:flush() f:close() DefaultCmds,RawCmds,ProfCmds = nil,nil,nil end UserConnected = function(user) if loadfile(CmdCfg.Path..tostring(user.iProfile)..".uc") then local x,count = dofile(CmdCfg.Path..tostring(user.iProfile)..".uc") if x then _,count = x:gsub("||","%1") end if x then _,count = x:gsub("UserCommand","%1") end if count and count > 0 then if CmdCfg.ClearMenu then x = "$UserCommand 255 3 "..CmdCfg.Menu.."||"..x end local HubApp,HubVer,Prof = "PtokaX", Core.Version,"Unregistered User" if user.iProfile ~= -1 then Prof = ProfMan.GetProfile(user.iProfile).sProfileName end x = x.."<"..CmdCfg.Bot.."> Welcome "..user.sNick..", [ ".. tostring(count).." ] "..Prof.."'s "..HubApp.." "..HubVer.." commands enabled. Right ".. "click hub tab or user list for menu.|" local lvl = CustomLevel[user.iProfile] for i,v in ipairs(CustomCmds) do if lvl and lvl >= v[1] then x = x..v[2] end end Core.SendToUser(user,x) end end end RegConnected,OpConnected = UserConnected,UserConnected DefaultCmds = function(idx) local str,pfx,menu = "",SetMan.GetString(29):sub(1,1) or "+",CmdCfg.Menu --//-- Add your custom/default commands here --//-- Index = { --//-- [0] = {[-1]=1,[0]=1,[1]=1,[2]=1,[3]=1}, --//-- [#] = {"command", "args", "Command Description", "Submenu", *Context}, --//-- }, --//-- --//-- Key [0] contains idx profiles, use =1 to enable that profile, =0 to disable --//-- *Context --//-- 1=Hub Menu 2=User Menu 3=Hub/User Menu 4 = File[Search] 5 = Hub/File 6 = User/File 7 = Hub/User/File local Default = { [1] = { [0] = {[-1]=true,[0]=true,[1]=true,[2]=true,[3]=1}, [1] = {"help", "", "Get Command Help", "General",3,}, }, [2] = { [0] = {[-1]=false,[0]=true,[1]=true,[2]=true,[3]=true,}, [1] = {"passwd", " %[line:New Password]", "Change Your Password", "General",3}, }, [3] = { [0] = {[-1]=true,[0]=true,[1]=true,[2]=true,[3]=true,}, [1] = {"myip", "", "Display Your IP Address", "General",3}, }, [4] = { [0] = {[-1]=false,[0]=true,[1]=true,[2]=true,[3]=true,}, [1] = {"me", " %[line:Say What?]", "Speak In The Third Person", "General",3}, }, [5] = { [0] = {[-1]=true,[0]=true,[1]=true,[2]=true,[3]=true,}, [1] = {"stats", "", "Get Hub Statistics", "General",3}, }, [6] = { [0] = {[-1]=true,[0]=true,[1]=true,[2]=true,[3]=true,}, [1] = {"memstats", "", "Get Hub Memory Statistics", "General",3}, }, } for i,v in ipairs(Default) do if v[0][idx]then for a,b in ipairs(v) do if a > 0 then str = str.."$UserCommand 1 "..b[5].." "..menu.."\\"..b[4].."\\".. b[3].." $<%[mynick]> "..pfx..b[1]..b[2].."||" end end end end return str end --There is not a whole lot of need for this but I was bored --Note: Badly formed raw commands will disconnect your from hub --These commands offered as examples, check your hub settings before use RawCmds = function(idx) local str,menu,rda,srda = "",CmdCfg.Menu, SetMan.GetString(6) or " %[line:Redirect To? (Address:Port)]", SetMan.GetString(12) or " %[line:Redirect Bad Share To? (Address:Port)]" local RawCommands = { [1] = { [1] = {"$$To:"," %[nick] From: %[mynick] $<%[mynick]> %[line:Message (Select Nicks First)]", "Selective Private Message","Messages",2}, }, [2] = { [1] = {"$$OpForceMove", " $Who:%[line:Victim Nick]$Where:"..rda.. "$Msg:%[line:Reason]", "Redirect To Default", "User Admin",1}, [2] = {"$$OpForceMove", " $Who:%[nick]$Where:"..rda.. "$Msg:%[line:Reason]", "Redirect To Default", "User Admin",2}, [3] = {"$$OpForceMove", " $Who:%[line:Victim Nick]$Where:"..srda.. "$Msg:%[line:Reason]", "Redirect Bad Share", "User Admin",1}, [4] = {"$$OpForceMove", " $Who:%[nick]$Where:"..srda.. "$Msg:%[line:Reason]", "Redirect Bad Share", "User Admin",2}, }, [3] = { [1] = {"$$Quit"," %[mynick]","Disconnect From Hub","Hub Admin",2}, }, [4] = { [1] = {"$$Close"," %[line:Close Who?]","Close User","User Admin",1}, [2] = {"$$Close"," %[nick]","Close User","User Admin",2}, }, [5] = { [1] = {"$$To:"," %[line:Nick] From: %[mynick] $<%[mynick]> You are being kicked.||<%[mynick]> is kicking %[line:Nick]||$Kick %[line:Nick]","Kick User","Raw Cmds",1}, [2] = {"$$To:"," %[nick] From: %[mynick] $<%[mynick]> You are being kicked.||<%[mynick]> is kicking %[nick]||$Kick %[nick]","Kick User","Raw Cmds",2}, }, } for i,v in ipairs(RawCommands) do for a,b in ipairs(v) do str = str.."$UserCommand 1 "..b[5].." "..menu.."\\".. b[4].."\\"..b[3]..b[1]..b[2].."||" end end return str end ProfCmds = function(idx) local str,pfx,menu,perms = "",SetMan.GetString(29):sub(1,1) or "+",CmdCfg.Menu,ProfMan.GetProfile(idx).tProfilePermissions --Format change here, don't edit the first [1] key/value pair of each command or script will fail -- You may however, edit entries after [1] if you'd like local Commands = { [1] = { [1] = {bTempUnban = 0}, [2] = {"tempunban", " %[line:Nick Or IP To unban]", "Temp Unban Nick/IP", "Ban Admin",3}, }, [2] = { [1] = {bGetInfo = 0}, [2] = {"getinfo", " %[nick]", "Get User Info", "User Info",2}, }, [3] = { [1] = {bGag = 0}, [2] = {"gag", " %[line:Nick To Gag]", "The User Can't Post To Mainchat Anymore", "User Admin",1}, [3] = {"gag", " %[nick]", "The User Can't Post To Mainchat Anymore", "User Admin",2}, [4] = {"ungag", " %[line:Nick To Ungag]", "The User Can Post To Mainchat Again", "User Admin",1}, [5] = {"ungag", " %[nick]", "The User Can Post To Mainchat Again", "User Admin",2} }, [4] = { [1] = {bGetBans = 0}, [2] = {"getbans", "", "Display Bans", "Ban Admin",3}, [3] = {"getpermbans", "", "Display Permanent Bans", "Ban Admin",3}, [4] = {"gettempbans", "", "Display Temporary Bans", "Ban Admin",3}, [5] = {"checknickban", " %[line:Check This Nick]", "Check Nick For Ban", "Ban Admin",3}, [6] = {"checkipban", " %[line:Check This IP]", "Check IP For Ban", "Ban Admin",3}, }, [5] = { [1] = {bMassMsg = 0}, [2] = {"massmsg", " %[line:Mass Message For Users]", "Send A Private Message To All Users", "Messages",3}, [3] = {"opmassmsg", " %[line:Mass Message For Ops]", "Send A Private Message To All Ops", "Messages",3}, }, [6] = { [1] = {bClearRangeTempBans = 0}, [2] = {"clrrangetempbans", "", "Clear Temporary Range Bans", "Range Ban Admin",3}, }, [7] = { [1] = {bRangeUnban = 0}, [2] = {"rangeunban", " %[line:Start Of IP Range] %[line:End Of IP Range]", "Unban An IP Range", "Range Ban Admin",3}, }, [8] = { [1] = {bTopic = 0}, [2] = {"topic", " %[line:Topic (off = Clear Topic)]", "Set/Change/Clear Hub Topic", "Hub Admin",3}, }, [9] = {--m=Mins, h=Hours, d=Days, w=Weeks, M=Months, Y=Years. [1] = {bTempBan = 0}, [2] = {"tempban", " %[nick] %[line:Time To Ban] %[line:Reason For Ban]", "Temp Ban User", "Ban Admin",2}, [3] = {"nicktempban", " %[nick] %[line:Time To Ban] %[line:Reason For Ban]", "Temp Ban Nick", "Ban Admin",2}, [4] = {"tempbanip", " %[ip] %[line:Time To Ban] %[line:Reason For Ban]", "Temp Ban IP", "Ban Admin",2}, [5] = {"fulltempban", " %[nick] %[line:Time To Ban] %[line:Reason For Ban]", "Full Temp Ban Nick", "Ban Admin",2}, [6] = {"fulltempbanip", " %[ip] %[line:Time To Ban] %[line:Reason For Ban]", "Full Temp Ban IP", "Ban Admin",2}, }, [10] = { [1] = {bKick = 0}, [2] = {"$$Kick", " %[line:Nick To Kick]", "Kick User", "User Admin",1}, [3] = {"$$Kick", " %[nick]", "Kick User", "User Admin",2}, }, [11] = { [1] = {bRestartScripts = 0}, [2] = {"getscripts", "", "Display Current Script & Status", "Hub Admin",3}, [3] = {"restartscripts", "", "Restart All Scripts", "Hub Admin",3}, [4] = {"startscript", " %[line:Script Filename]", "Start Specified Script", "Hub Admin",3}, [5] = {"stopscript", " %[line:Script Filename]", "Stop Specified Script", "Hub Admin",3}, [6] = {"restartscript", " %[line:Script Filename]", "Restart Specified Script", "Hub Admin",3}, }, [12] = { [1] = {bRangeTempBan = 0}, [2] = {"rangetempban", " %[line:Start Of IP Range] %[line:End Of IP Range] %[line:Time For Ban] %[line:Reason For Ban]", "Temporary Ban An IP Range", "Range Ban Admin",3}, [3] = {"fullrangetempban", " %[line:Start Of IP Range] %[line:End Of IP Range] %[line:Time For Ban] %[line:Reason For Ban]", "Full Temporary Ban An IP Range", "Range Ban Admin",3}, }, [13] = { [1] = {bTempOP = 0}, [2] = {"op", " %[line:Nick]", "Grant Temporary Op Status To User For One Session", "Registration",1}, [3] = {"op", " %[nick]", "Give Temporary Op Status To User For One Session", "Registration",2}, }, [14] = { [1] = {bAddRegUser = 0}, [2] = {"addreguser", " %[line: Nick To Register] %[line:Password For Nick] %[line:Profile (Reg/VIP/Operator/Master)]", "Register A User", "Registration",1}, [3] = {"addreguser", " %[nick] %[line:Password For Nick] %[line:Profile (Reg/VIP/Operator/Master)]", "Register A User", "Registration",2}, }, [15] = { [1] = {bUnban = 0}, [2] = {"unban", " %[line:Nick or IP to Unban]", "Unban Nick/IP", "Ban Admin",3}, [3] = {"permunban", " %[line:Nick or IP to Unban]", "Perm Unban Nick/IP", "Ban Admin",3}, }, [16] = { [1] = {bClrPermBan = 0}, [2] = {"clrpermbans", "", "Clear Permanent Bans", "Ban Admin",3}, }, [17] = { [1] = {bRangeTempUnban = 0}, [2] = {"rangetempunban", " %[line:Start Of IP Range] %[line:End Of IP Range] %[line:Time For Ban] %[line:Reason For Ban]", "Unban Temporary IP Range Ban", "Range Ban Admin",3}, }, [18] = { [1] = {bDelRegUser = 0}, [2] = {"delreguser", " %[line:Nick To Delete]", "Delete A User From Registry", "Registration",1}, [3] = {"delreguser", " %[nick]", "Delete A User From Registry", "Registration",2}, }, [19] = { [1] = {bClearRangePermBans = 0}, [2] = {"clrrangepermbans", "", "Clear Permanent Range Bans", "Range Ban Admin",3}, }, [20] = { [1] = {bRefreshTxt = 0}, [2] = {"reloadtxt", "", "Reload Textfiles", "Hub Admin",3}, }, [21] = { [1] = {bRangeBan = 0}, [2] = {"rangeban", " %[line:Start Of IP Range] %[line:End Of IP Range] %[line:Reason For Ban]", "Permanently Ban An IP Range", "Range Ban Admin",3}, [3] = {"fullrangeban", " %[line:Start Of IP Range] %[line:End Of IP Range] %[line:Reason For Ban]", "Permanently Ban An IP Range", "Range Ban Admin",3}, }, [22] = { [1] = {bGetRangeBans = 0}, [2] = {"getrangebans", "", "Display Banned IP Ranges", "Range Ban Admin",3}, [3] = {"getrangepermbans", "", "Display Permanently Banned IP Ranges", "Range Ban Admin",3}, [4] = {"getrangetempbans", "", "Display Temporarily Banned IP Ranges", "Range Ban Admin",3}, [5] = {"checkrangeban", " %[line:Start Of IP Range] %[line:End Of IP Range]", "Check Bans For This IP Range", "Range Ban Admin",3}, }, [23] = { [1] = {bDrop = 0}, [2] = {"drop", " %[line:Nick To Drop] %[line:Reason For Drop]", "Silent Kick With Tempban", "User Admin",1}, [3] = {"drop", " %[nick] %[line:Reason For Drop]", "Silent Kick With Tempban", "User Admin",2}, }, [24] = { [1] = {bBan = 0}, [2] = {"ban", " %[nick] %[line:Reason For Ban]", "Ban By Nickname", "User Admin",1}, [3] = {"ban", " %[line:Nick To Ban] %[line:Reason For Ban]", "Ban By Nickname", "User Admin",2}, [4] = {"nickban", " %[line:Nick To Ban] %[line:Reason For Ban]", "Ban Nickname", "User Admin",1}, [5] = {"nickban", " %[nick] %[line:Reason For Ban]", "Ban Nickname", "User Admin",2}, [6] = {"banip", " %[line:Ban This IP] %[line:Reason For Ban]", "Ban IP Address", "User Admin",1}, [7] = {"banip", " %[ip] %[line:Reason For Ban]", "Ban IP Address", "User Admin",2}, [8] = {"fullbanip"," %[line:Ban This IP] %[line:Reason For Ban]", "FullBan IP Address", "User Admin",1}, [9] = {"fullbanip"," %[ip] %[line:Reason For Ban]", "FullBan IP Address", "User Admin",2}, }, [25] = { [1] = {bRestartHub = 0}, [2] = {"restart", "", "Restart The Hub", "Hub Admin",3}, }, [26] = { [1] = {bClrTempBan = 0}, [2] = {"clrtempbans", "", "Clear Temporary Bans", "Ban Admin",3}, }, } for i,v in ipairs(Commands) do local t = {} for key,val in pairs(v[1]) do if perms[key] then t = v end end if next(t) then for a,b in ipairs(t) do if a > 1 then local uc,pre,p = "$UserCommand 1 "," $<%[mynick]> "..pfx,"||" if i == 10 then pre = "" end str = str..uc..b[5].." "..menu.."\\"..b[4].."\\"..b[3]..pre..b[1]..b[2]..p end end end end return str end


Best Regards,
Massimiliano
#62
Support / Problem installing PtokaX on W...
Last post by HerzeleidMeister - 27 May, 2021, 12:37:20
Hello, I just recently downloaded the software to install and run on my Windows 10 desktop. I downloaded the 0.5.2.2 with Lua 5.3.4 and SQLite Win64 GUI package. I got the following error when trying to install it:

'ptokax' is not recognized as an internal or external command, operable program or batch file.
#63
Finished Scripts / Re: Timed hub time/date
Last post by Cêñoßy†ê - 10 May, 2021, 07:30:49
Code  above updated with small fix

v2.1.1 by Cêñoßy†ê 10.05.2021
   -- fixed function check(what) to detect correct dates
#64
Finished Scripts / Timed hub time/date
Last post by Cêñoßy†ê - 09 May, 2021, 16:14:39
--[[
				Just a simple one  
			Gives local date and time info in main, on a settable interval.
			Name: Date_Time lua 5.1.3 for Px 0.4.0 and up.
			Made by [NL]Daddy-Bear™ April 2-2008.
	
			v2 by Cêñoßy†ê 28.07.2020
				-- removed bot registration (uses now main bot name)
				-- updated timer
				-- small cosmetic changes
			v2.1 by Cêñoßy†ê 09.05.2021
				-- added option to choose how month is shown (txt/number)
				-- added option to choose 24h or 12h clock
				-- changed message to easyer to modify
				more info about os.date --> https://www.lua.org/pil/22.1.html
			v2.1.1 by Cêñoßy†ê 10.05.2021
				-- fixed function check(what) to detect correct dates
			v2.1.2 by Cêñoßy†ê 28.06.2021
				-- fixed correct date and time (got stucked to script start time)
				¨˜"°º•¨˜"°º• Lets enjoy our Hobby •º°"˜•º°"˜
--]]

clock_type = 24												-- Do we use 24h or 12h clock
show_month = "txt"											-- How we show month (txt/number)
interval = 60												-- Interval Date and Time info is giffen in main in Min
main = "\n\t\t\t\t\tø¤*°'°*¤ø Date and Time ø¤*°'°*¤ø\n\n"	-- Topic string
borders = "ø¤*°'°*¤ø"										-- String as up/down borders
times = 13													-- How often we repeat the string borders

-- DONT TOUCH UNDER THIS LINE --

function check(what)-- we add data to month/date if number used
	if what == (01 or 21 or 31) then
		x = " st."
	elseif what == (02 or 22) then
		x = " nd."
	elseif what == (03 or 23) then
		x = " rd."
	else
		x = " th."
	end
	return x
end

function check_time()-- we check the time for 12/24 hour clock
	if clock_type == 24 then
		curtime = os.date("%X")
	else
		curtime = os.date("%I:%M:%S").." "..os.date("%p")
	end
	return curtime
end

function check_month()-- we check the month if number/txt used
	if show_month == "txt" then
		curmonth = os.date("%B")
	else
		curmonth = os.date("%m")..check(os.date("%m"))
	end
	return curmonth
end

function OnStartup()
	tmr = TmrMan.AddTimer(interval*60000)
end

function OnTimer(tmr)	
	local msg = main
	msg = msg.."\t"..string.rep(borders,times).."\n"
	msg = msg.."\t\tThe Local Date and Time here: "..os.date("%A").." the "..os.date("%d")..check(os.date("%d")).." of "..check_month().." on the Year "..os.date("%Y").." Time is: "..check_time().."\n"
	msg = msg.."\t"..string.rep(borders,times).."\n"
	Core.SendToAll("<"..SetMan.GetString(SetMan.tStrings.HubBotNick).."> "..msg.."")
	collectgarbage()
	io.flush()
end
#65
News / PtokaX websites were restored ...
Last post by PPK - 18 April, 2021, 20:50:13
On 10 march 2021 OVH datacentre located in Strasbourg France burned. Everything was destroyed including server with PtokaX websites and servers with backups. It took more than month on OVH side to restore my service on new server without any data.
PtokaX websites were restored from my local backup. But looks like one piece of puzzle is broken. Recent dump with PtokaX forum database on my local machine is some way corrupted. It looks like it was not downloaded completely and i didn't noticed that.
For now is PtokaX forum restored from older backup and i will investigate possibility to restore something from latest one. If this will be not possible i will try to post atleast lost topics.
#66
FAQ section / Re: Ptokax hub 0.4.1.2
Last post by the-master - 04 September, 2017, 15:40:51
She's Blonde  :D
#67
FAQ section / Re: Ptokax hub 0.4.1.2
Last post by bastya_elvtars - 30 August, 2017, 17:06:25
Should run alright on Win10, if it does not, you can always try compatibility mode. By the way, why are you using such an old version?
#68
FAQ section / Ptokax hub 0.4.1.2
Last post by Annie - 27 August, 2017, 17:44:54
I am running Ptokax dc hub 0.4.1.2  and I have updated to windows 10 on a new computer.  Can this hub run on windows 10?.
#69
FreshStuff3 / FreshStuff3 5.0.2 released wit...
Last post by bastya_elvtars - 24 June, 2017, 21:45:18
After a long wait, 5.0.2 is here: https://bitbucket.org/freshstuff3/freshstuff3/downloads/5.0.2.zip

Just extract over the previous install (if you have one), nothing will be overwritten. Compatible with PXLUA 5.1 as well as 5.3.
Version 5.5 is in the works, there are features being actively implemented.

Here is the changelog. More updates later, stay tuned!

Quoteadded: LoadCfg() config loader function
   - checks for config files and if missing creates a default one
   - makes upgrading easier
   - every module can load its own config easier
   - you can now instal FreshStuff3 over your current install.
changed: Lua 5.3 compatibility (also compatible with 5.1)
   - removed deprecated functions or worked them around
   - reworked for new module system
   - Windows: changed for the "universal" LFS.dll (included)
changed: removed ***s form SendOut()s
added: directories 'lib' and 'data' with readmes
   (kinda forced as mercurial does not handle empty dirs,
   makes future upgrading/deployment easier)
#70
Offtopic / Re: catching up
Last post by bastya_elvtars - 24 June, 2017, 00:10:05
just got back to my code :)
SMF spam blocked by CleanTalk