The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 94 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 573 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 573 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $can_access_moderationqueue - Line: 752 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 752 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 892 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined array key "avatartype" - Line: 892 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 892 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined variable $awaitingusers - Line: 34 - File: global.php(959) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/global.php(959) : eval()'d code 34 errorHandler->error
/global.php 959 eval
/showthread.php 28 require_once
Warning [2] Undefined array key "style" - Line: 1024 - File: global.php PHP 8.4.12 (Linux)
File Line Function
/global.php 1024 errorHandler->error
/showthread.php 28 require_once
Warning [2] Undefined property: MyLanguage::$lang_select_default - Line: 5327 - File: inc/functions.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions.php 5327 errorHandler->error
/global.php 1024 build_theme_select
/showthread.php 28 require_once
Warning [2] Undefined array key 1 - Line: 1474 - File: inc/functions.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions.php 1474 errorHandler->error
/inc/functions.php 1439 fetch_forum_permissions
/inc/functions.php 3077 forum_permissions
/showthread.php 661 build_forum_jump
Warning [2] Undefined variable $postsdone - Line: 906 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 906 errorHandler->error
Warning [2] Undefined array key 88615 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89778 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89771 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89816 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89820 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89834 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89835 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89836 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89841 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89842 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89843 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89844 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 89870 - Line: 912 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 912 errorHandler->error
Warning [2] Undefined array key 88615 - Line: 1643 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 1643 errorHandler->error
/showthread.php 924 buildtree
Warning [2] Undefined array key "profilefield" - Line: 6 - File: inc/functions_post.php(484) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/inc/functions_post.php(484) : eval()'d code 6 errorHandler->error
/inc/functions_post.php 484 eval
/showthread.php 925 build_postbit
Warning [2] Undefined array key "canonlyreplyownthreads" - Line: 672 - File: inc/functions_post.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions_post.php 672 errorHandler->error
/showthread.php 925 build_postbit
Warning [2] Undefined array key "showimages" - Line: 768 - File: inc/functions_post.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions_post.php 768 errorHandler->error
/showthread.php 925 build_postbit
Warning [2] Undefined array key "showvideos" - Line: 773 - File: inc/functions_post.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions_post.php 773 errorHandler->error
/showthread.php 925 build_postbit
Warning [2] Undefined array key "lua" - Line: 4315 - File: inc/functions.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions.php 4315 errorHandler->error
/inc/functions_post.php 951 get_attachment_icon
/inc/functions_post.php 790 get_post_attachments
/showthread.php 925 build_postbit
Warning [2] Trying to access array offset on null - Line: 4315 - File: inc/functions.php PHP 8.4.12 (Linux)
File Line Function
/inc/functions.php 4315 errorHandler->error
/inc/functions_post.php 951 get_attachment_icon
/inc/functions_post.php 790 get_post_attachments
/showthread.php 925 build_postbit
Warning [2] Undefined array key "invisible" - Line: 1568 - File: showthread.php PHP 8.4.12 (Linux)
File Line Function
/showthread.php 1568 errorHandler->error
Warning [2] Undefined variable $threadnotesbox - Line: 33 - File: showthread.php(1600) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 33 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined variable $multipage - Line: 36 - File: showthread.php(1600) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 36 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined variable $multipage - Line: 68 - File: showthread.php(1600) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 68 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined variable $addremovesubscription - Line: 82 - File: showthread.php(1600) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 82 errorHandler->error
/showthread.php 1600 eval
Warning [2] Undefined variable $thread_deleted - Line: 104 - File: showthread.php(1600) : eval()'d code PHP 8.4.12 (Linux)
File Line Function
/showthread.php(1600) : eval()'d code 104 errorHandler->error
/showthread.php 1600 eval




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Pure Lua 5.2 Script (May work in 5.1, untested)
#1
Hello, all! I'm new here. I decided it would benefit the community if I shared programming/scripting knowledge, and thus, this is now open source.

This is a simple OOP library I made, called weaverOOP. It's unfinished, but the basic code is here.

[lua]wO={}
wO.global={}
wO.global.clone=function(self) local cloneObj={} for i,v in pairs(self) do cloneObj[i]=v end return cloneObj end
wO.global.isA=function(self, arg)
if self.className==arg then
return true
elseif self.className~="base" then
if wO.classes[self.extends]:isA(arg) then
return true
end
else
return false
end
end
wO.global.className="base"

wO.classes={base=wO.global}

function wO.newClass(a, ...)
arg={...}
b=(arg[1] or {})
b.className=a
b.name=a.."Obj"
if #arg==2 then
b.mt={__index=wO.classes[arg[2]]}
b.extends=arg[2]
else
b.mt={__index=wO.classes["base"]}
b.extends="base"
end
b.mt.__tostring=function(a) return "Class "..a end
b.mt.__call=function(self) return wO.newObj(self.className) end
setmetatable(b, b.mt)
b.mt=nil
wO.classes[a]=b
end

function wO.newObj(a, ...)
arg={...}
local o=(arg[1] or {})
local mt={__index=wO.classes[a]}
mt.__tostring=function(a) return "Object "..o.name..", a "..o.className end
setmetatable(o, mt)
return o
end

setmetatable(_G,{__index=function(_,a) return (a=="newClass" and wO.newClass or (a=="newObj" and wO.newObj or (wO.classes[a] or nil))) end}) --Ugly piece of code.

--Example begins here.

newClass("class",{x=0,y=0})
local t=class()
print(class.x,class.y)
newClass("class2",{z=15},"class")
local t=class2()
print(t.x,t.y,t.z)
[/lua]

API for those to lazy to read my 46 line code:

wO.newClass(string className,table class,[string extends])
creates a class called "classNameHere" where it's simply that table. It'll inherit all the things from the class called extends. (With no extends argument, it uses the global class)

wO.newObj(string className,[table objectValues])
Creates an object of className, with the values of objectValues. (Defaults to {} if not supplied) (deprecated as of 0.1.2)

className([table objectValues])

Equivalent to wO.newObj("className",[table objectValues]). Make sure the metatable of _G has not been changed by another script, this will error it.

Global methods and properties:

obj:isA(string className)

Checks if object obj is or extends an object of className.

obj:clone()

Returns an exact copy of object obj.

obj.name

Specific name of an object, not of much use as of now.

obj.className

The class name of an object, used in global functions and various other items.


Attached Files
.lua   wO.lua (Size: 1.19 KB / Downloads: 14)
Reply


Messages In This Thread
Pure Lua 5.2 Script (May work in 5.1, untested) - by BrandonFireflower - 09-08-2012, 03:51 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)