Code: Select all
function arguments expected near ')'
Code: Select all
registerTimer("update", 100, char:update);
registerTimer("update", 100, self:update);
Code: Select all
Non-function type passed to registerTimer() where afunction is expected
Code: Select all
function arguments expected near ')'
Code: Select all
registerTimer("update", 100, char:update);
registerTimer("update", 100, self:update);
Code: Select all
Non-function type passed to registerTimer() where afunction is expected
Code: Select all
SomeClass = { };
SomeClass.__index = SomeClass;
function SomeClass.create(_something)
local tmp = { };
setmetatable(tmp, SomeClass);
tmp._something = _something;
return tmp;
end
function SomeClass:someFunction()
printf("This is a test.\n");
end
function main()
local myClass = SomeClass.create(1);
registerTimer("test", secondsToTimer(1), myClass.someFunction);
while(true) do
yrest(10);
end
end
startMacro(main);
Code: Select all
SomeClass = class();
function SomeClass:test()
printf("Hello\n");
end
function main()
local myClass = class(SomeClass);
registerTimer("test", secondsToTimer(1), myClass.test);
while(true) do
yrest(10);
end
end
startMacro(main);
Code: Select all
attempt to index 'self' a nil value
Code: Select all
Character = class(function(obj,proc)
obj.proc = proc;
obj:init();
end
)
function Character:init()
character_ptr = 0x081CBEC;
hp_max_offset = 304;
mp_max_offset = 312;
sp_max_offset = 320;
self.hp_max = memoryReadIntPtr(self.proc, character_ptr, hp_max_offset);
self.mp_max = memoryReadIntPtr(self.proc, character_ptr, mp_max_offset);
self.sp_max = memoryReadIntPtr(self.proc, character_ptr, sp_max_offset);
end
function Character:update()
character_ptr = 0x081CBEC;
hp_offset = 300;
mp_offset = 308;
sp_offset = 316;
pos_x = 16;
pos_y = 20;
pos_z = 24;
pos_rot_x = 28;
pos_rot_y = 36;
targetid_addr = 0x006C7BC4; -- short, 65535 if none selected
self.hp = memoryReadIntPtr(self.proc, character_ptr, hp_offset);
self.mp = memoryReadIntPtr(self.proc, character_ptr, mp_offset);
self.sp = memoryReadIntPtr(self.proc, character_ptr, sp_offset);
self.x = memoryReadFloatPtr(self.proc, character_ptr, pos_x);
self.y = memoryReadFloatPtr(self.proc, character_ptr, pos_y);
self.z = memoryReadFloatPtr(self.proc, character_ptr, pos_z);
self.rot_x = memoryReadFloatPtr(self.proc, character_ptr, pos_rot_x);
self.rot_y = memoryReadFloatPtr(self.proc, character_ptr, pos_rot_y);
printf("x="..self.rot_x.."\n");
printf("y="..self.rot_y.."\n");
end
Code: Select all
include( "class_character.lua" );
startKey = key.VK_INSERT;
stopKey = key.VK_DELETE;
function main()
proc = openProcess(findProcessByExe("game.exe"));
win = findWindow("Shaiya");
attach(win);
setPriority(PRIORITY_HIGH);
--instantiate new character class
local myChar = class( Character );
--registerTimer("update", 100, myChar.update);
while( true ) do
myChar.update();
yrest(500);
end
end
startMacro(main);
Code: Select all
myChar.update();
Code: Select all
startKey = key.VK_INSERT;
stopKey = key.VK_DELETE;
SomeClass = class();
function SomeClass:test()
self.name = 'Cow';
printf("Hello I am "..self.name.."\n");
end
function main()
local myClass = class(SomeClass);
--myClass:test();
registerTimer("test", secondsToTimer(1), myClass.test);
while(true) do
yrest(10);
end
end
startMacro(main);
Code: Select all
registerTimer("test", secondsToTimer(1), function () myClass:func() end);
Forgot to respond to this before. This is correct. Better than I could have stated, myself. As a work-around, you can pass 'self' into the function by yourself with the updated lib.lua. For example:I think this is because using self:some_function(), is actually just syntactic sugar for my_class.some_function(self), and the registerTimer function does not allow the passing of arguments. Elverion can u comfirm if this is correct??
Code: Select all
Character = class();
function Character:init()
self.HP = 100; -- initialize HP
end
function main()
local myCharacter = class(Character);
registerTimer("testing", secondsToTimer(1), myCharacter.init, myCharacter);
end
Code: Select all
Character = class();
function Character:setName(name)
self.name = name;
end
function Character:func(text)
printf("Hello %s, my name is %s\n", text, self.name);
end
function main()
local myClass = class(Character);
myClass:setName("Bob");
registerTimer("test", secondsToTimer(1), myClass.func, myClass, "Sally");
while(true) do
yrest(10);
end
end
startMacro(main);
Code: Select all
function timed(a)
printf("A: %d\n", a);
end
function main()
local num = 12;
registerTimer("timed", secondsToTimer(1), timed, num);
while(1) do
yrest(100);
num = num + 1;
end
end
startMacro(main);
Users browsing this forum: No registered users and 30 guests