Postado Agosto 8, 2017 7 anos Bom dia amigos do TK, queria um script que fizesse a seguinte ação. Quando o player usasse a chave na porta ambas com a action id únicas, ao invés da porta abrir e se destrancar normalmente, o player seria teleportado para o outro lado da porta. E também uma forma de criar uma chest que daria essa chave já com a action id. Desde já agradeço a todos!
Postado Agosto 10, 2017 7 anos Baú para pegar a chave pegarkey.lua local id, door_aid = 1111, XXXX -- id da chave, actionid_da_porta function onUse(cid, item, fromPosition, itemEx, toPosition) local key = doPlayerAddItem(cid, id, 1) doItemSetAttribute(key, "aid", door_aid) doCreatureSay(cid, "You have received your key.", TALKTYPE_ORANGE_1) end <action actionid="ACTION_ID_DO_BAÚ" script="pegarkey.lua" /> portatp.lua local new_pos = {x=1, y = 1, z=1} function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == itemEx.actionid and itemEx.itemid ~= item.itemid then doTeleportThing(cid, new_pos) doSendMagicEffect(new_pos, CONST_ME_TELEPORT) end end <action actionid="ACTIONID_DAPORTA" script="portatp.lua" /> Contato: Email: [email protected] Discord: Dwarfer#2715
Postado Agosto 10, 2017 7 anos Autor @Dwarfer O teleporte da porta não funcionou, ela continua abrindo normal, e a chest pode ser usada infinitas vezes. Se não for incomodo gostaria também que a chave quando usada de volta teleportaria o player pro lado anterior. vou dar um exemplo para ficar mais claro. Ex: player usa a chave e é teleportado pra dentro da cave, e pra sair ele usa a chave de volta na porta e é teleportado pra fora da cave. Agradeço sua ajuda já amigo.
Postado Agosto 10, 2017 7 anos @Hunterii Se você tiver configurado corretamente, o script funcionará. Testei aqui agora e funcionou. A chest pode ser usada infinita vezes porque você não disse que não poderia, eu não sei o que você tá tentando fazer, então tente explicar mais detalhadamente. chest: local id, door_aid = 1111, 2222 -- id da chave, aid da porta function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 11672) > 0 then return doCreatureSay(cid, "Your chest is empty.", TALKTYPE_ORANGE_1) end local key = doPlayerAddItem(cid, id, 1) setPlayerStorageValue(cid, 11672, 1) doItemSetAttribute(key, "aid", door_aid) doCreatureSay(cid, "You have received your key.", TALKTYPE_ORANGE_1) return true end porta (com alteração pedida): Spoiler local id = 1111 -- id da porta function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == itemEx.actionid and itemEx.itemid ~= item.itemid then addEvent(passDoor,1,cid,id) end return true end function passDoor(cid, id) local p, lp = getPlayerPosition(cid),getPlayerLookPos(cid) local direction = getDirectionTo(p, lp) local g = getTileItemById(lp, id) if g.uid > 0 then doTeleportThing(cid, lp) doMoveCreature(cid, direction) doSendMagicEffect(p, CONST_ME_TELEPORT) else return doPlayerSendCancel(cid, "You are not in front of the door.") end end Editado Agosto 11, 2017 7 anos por Dwarfer (veja o histórico de edições) Contato: Email: [email protected] Discord: Dwarfer#2715
Postado Agosto 10, 2017 7 anos testa assim porta script : Spoiler config = { item = 2160, -- Id Do Item quantidade = 1, -- Quantidade Do Item } function onUse(cid, item, fromPosition, itemEx, toPosition) if doPlayerRemoveItem(cid, config.item, config.quantidade) == TRUE then doTeleportThing(cid, fromPosition) return true end end
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.