I have a lua database type running but it's not for public yet, still to much work to put in it.@Evil Hero ofc following this logic we could get rid of SQL and use lua tables as db instead, since sql is limiting us to do funny things like
Code:Account = { [name] = "str" ... } if os.time() == 123456789 then Account = { [name] = "rts" ... }
example of usage (same as scripts/example.lua)
Code:
-- default callbacks
local onEquip = function(player, item, slot)
return true
end
local onDeEquip = function(player, item, slot)
return true
end
-- Test Action Script
local action = Action()
function action.onUse(player, item, ...)
item:transform(item:getId() == 1945 and item:getId() + 1 or item:getId() - 1)
return true
end
action:aid(2000)
action:register()
--
-- Test Talkaction Script
local talk = TalkAction("!test")
function talk.onSay(player, words, param)
print("test ".. param)
return false
end
talk:separator(" ")
talk:register()
--
-- Test MoveEvent onEquip Script without actual lua function just default callback
local equip = MoveEvent()
equip.onEquip = onEquip -- setting it the default callback
equip:itemId(2400)
equip:slot("shield")
equip:level(100)
equip:magicLevel(50)
equip:register()
--
-- Test MoveEvent onDeEquip Script without actual lua function just default callback
local equip = MoveEvent()
equip.onDeEquip = onDeEquip
equip:itemId(2400)
equip:register()
--
-- Test MoveEvent onStepIn Script
local step = MoveEvent()
function step.onStepIn(creature, item, pos, fromPosition)
print(creature:getName(), pos.x, pos.y, pos.z)
return true
end
step:itemId(413)
step:register()
-- Test CreatureEvent onTextEdit Script
local textedit = CreatureEvent("text")
function textedit.onTextEdit(player, item, text)
print(item:getId(), text)
return true
end
textedit:register()
--
-- Test CreatureEvent onLogin Script
local login = CreatureEvent("test")
function login.onLogin(player)
local item = Game.createItem(1945, 1, player:getPosition())
item:setActionId(2000)
player:registerEvent("text")
return true
end
login:register()
--