Todo mundo já sabe que quando queremos "colocar" algum script em creaturescripts alguns precisam ser registrado.
O registro e para que o evento inicie quando o player logar.
Mais muitas vezes o cadastramento consome linhas e tempo.
Pensando nisso desenvolvi um código para que o próprio usuário registre o evento na tag
Vamos a instalação.
Crie um arquivo lua chamado de register em lib e coloque este código:
function getEventRegisterName() local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="(.-)"') do table.insert(x, i) end return x or nil end function getEventRegisterTrueByName(name) local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="'..tostring(name)..'" register = "(.-)"') do table.insert(x, tonumber(i)) end return x[1] or nil end function registerEvents(cid) for y = 1, #getEventRegisterName() do local x = getEventRegisterName()[y] if getEventTrueRegisterByName(x) == 1 then registerCreatureEvent(cid, x) end end end
Agora vá em creaturescripts em login.lua antes do ultimo return true
Exclua todos os registro de evento:
Eles são estarão assim:
registerCreatureEvent(cid, "event")
Depois no mesmo lugar coloque isto:
registerEvents(cid)
Agora em TODAS AS SUAS TAGS isto entre name e event.
register = "1"
(Sendo que 1 e ativado e 0 Desativado)
Ela ficara assim:
<event type="joinchannel" name="mens" register = "1" event="script" value="mensagens.lua"/>
Pronto sistema instalado
Para usar e simples.
E so colocar na tag
E colocar a 1(verdadeiro ativado) ou o(false desativado)
Caramba, maneira sua função, gostei.
REP+.











info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Todo mundo já sabe que quando queremos "colocar" algum script em creaturescripts alguns precisam ser registrado.
O registro e para que o evento inicie quando o player logar.
Mais muitas vezes o cadastramento consome linhas e tempo.
Pensando nisso desenvolvi um código para que o próprio usuário registre o evento na tag
Vamos a instalação.
Crie um arquivo lua chamado de register em lib e coloque este código:
function getEventRegisterName() local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="(.-)"') do table.insert(x, i) end return x or nil end function getEventRegisterTrueByName(name) local x = {} local events = io.open("data/creaturescripts/creaturescripts.xml", "r") for i in events:read("*a"):gmatch('name="'..tostring(name)..'" register = "(.-)"') do table.insert(x, tonumber(i)) end return x[1] or nil end function registerEvents(cid) for y = 1, #getEventRegisterName() do local x = getEventRegisterName()[y] if getEventRegisterTrueByName(x) == 1 then registerCreatureEvent(cid, x) end end endAgora vá em creaturescripts em login.lua antes do ultimo return true
Exclua todos os registro de evento:
Eles são estarão assim:
registerCreatureEvent(cid, "event")
Depois no mesmo lugar coloque isto:
Agora em TODAS AS SUAS TAGS isto entre name e event.
(Sendo que 1 e ativado e 0 Desativado)
Ela ficara assim:
Pronto sistema instalado
Para usar e simples.
E so colocar na tag
E colocar a 1(verdadeiro ativado) ou o(false desativado)
Editado Dezembro 28 por caotic