Olá, rsrs olha só o script das keys aqui funcionando direitinho.
Vai la em data/actions/keys.lua e adiciona.
REVERSE_DOORS, CHILD_DOORS = {}, {}
for k, v in pairs(DOORS) do
REVERSE_DOORS[v] = k
local tmp = getItemInfo(v)
if(tmp.transformUseTo ~= 0) then
CHILD_DOORS[tmp.transformUseTo] = k
end
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
if(item.aid > 0 and itemEx.aid > 0) then
if(isPlayerPzLocked(cid) and getTileInfo(toPosition).protection) then
doPlayerSendDefaultCancel(cid, RETURNVALUE_ACTIONNOTPERMITTEDINPROTECTIONZONE)
return true
end
local doors = DOORS[itemEx.itemid]
if(not doors) then
doors = REVERSE_DOORS[itemEx.itemid]
end
if(not doors) then
doors = CHILD_DOORS[itemEx.itemid]
end
if(doors) then
if(item.actionid ~= itemEx.actionid) then
doPlayerSendCancel(cid, "The key does not match.")
else
doTransformItem(itemEx.uid, doors)
end
return true
end
end
return false
end
Ai la em actions.xml vc add:
<!-- Keys --> <action itemid="2086-2092;10032;10091" event="script" value="other/keys.lua"/>
Script da quest da key:
function onUse(cid, item, frompos, item2, topos) if item.uid == 3000 then if getPlayerStorageValue(cid,3000) == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,'You have found a ' .. getItemNameById(2088) .. '.') key_uid = doPlayerAddItem(cid,2088,1) doItemSetActionId(key_uid,3000) setPlayerStorageValue(cid,3000,1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"You already have received your reward.") end end return 1 end
Se não funcionar a quest troca:
doItemSetActionId(key_uid,3000)
por
doSetItemActionId(key_uid,3000)
Te ajudei? Rep + *-*


info
Grupo: Campones
Registrado: 08/12/09
Posts: 76
Reputação: +27
Char no Tibia: Zoralurk
Tipo do script: Action
Protocolo (versão do Tibia): 8.4
Servidor utilizado: Tfs
Nível de experiência: ------
Adicionais/Informações: ------
Eu tenho o script de uma porta que só abre com key, ele funciona direito mas tem 1 pequeno problema
A porta fica aberta 10 segundos depois de se usar a chave nela mas se ao final dos 10 segundos tiver algo no sqm da porta
Ex: Magic Wall / Player / Summon
A porta buga e some.
Eu queria que algume colocasse no script um jeito de eliminar qualquer coisa que estiver no sqm da porta sem ser a porta ao fim dos 10 segundos, se for possível.
Tá aqui o script:
function onUse(cid, item, frompos, item2, topos) -------- Pausa -------- local pausa = 10000 -------- Cordenadas -------- local door = {x=725, y=486, z=3, stackpos=1} local ddoor = getThingfromPos(door) -------- ITEM -------- local open_door = 1226 -- Id da porta aberta local itemU = 24004 -- UniqueId local verify = 0 --- NÃO MEXA AQUI -------- PRIMEIRO SISTEMA -------- if item2.uid == itemU then if ddoor.itemid ~= verify then doTransformItem(ddoor.uid,open_door) addEvent(close,pausa,door) end else doPlayerSendCancel(cid,"This key can not be used here") end return 1 end function close(door) -------- ITEM -------- local to_close_door = 1225 -- Id da porta fechada ------- SEGUNDO SISTEMA -------- local the_close_door = getThingfromPos(door) doTransformItem(the_close_door.uid,to_close_door) end------- Edited:
Serve se a porta tiver um sistema de espera até o que a está bloqueando sair do lugar.
Fiz o topico de manhã e até agr nada...
Eu to precisando do script pra ontem...
Me ajuda ae galera =/
Editado Janeiro 7 por 139