Eu só estou fazendo uns testes apenas pra ver como eu implementaria um sistema maior. Ainda não é nada demais. Eu apenas defini uma variável em 000-constant.lua, por exemplo:
VARIAVEL_01 = 0
Em seguida, criei uma talkaction que, por exemplo, faz isso:
function onSay(cid, words, param, channel)
VARIAVEL_01 = 1
return true
end
E, por último, criei uma action para um item dessa maneira:
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(VARIAVEL_01 == 0) then
return doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "A variável está inativa.")
end
local pos = {x = 213, y = 607, z = 7}
doTeleportThing(cid, pos, true)
return true
end
Mas está sempre caindo no if. Pelo que percebi, a talkaction não tá mudando de fato o valor da variável, provavelmente criando outra com mesmo nome no escopo da função. Como eu poderia alterar o valor real?