Ir para conteúdo
  • Cadastre-se

(Resolvido)[LUA] Precisa de um item "x" pra abrir a porta.


Ir para solução Resolvido por Jpeedro,

Posts Recomendados

Bom estou tentando fazer um script pra que o player precise desse item pra abrir a porta, eu tentei montar um mas não sou nem um pouco scripter ou muito menos sei como isso funciona 

apenas estou dando meus primeiros passos mas vamos la:

 

Eu tentei criar o script e ficou assim:

function onUse(cid, item, fromPosition, itemEx, toPosition)
        local toPos = {x = fromPosition.x, y = fromPosition.y -2, z = fromPosition.z}
        if getPlayerItemById(cid, deepSearch, 2159) == 0 then
                return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "This door seems to be sealed against unwanted intruders.")
        end
                if getPlayerItemById(cid, deepSearch, 2159) == 1 then
                        if item.itemid == 2159 then return false end
                doTeleportThing(cid, toPosition, TRUE)
        else
                doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You may pass.")
        end
end

Mas não ta funcionando bem =/.. Alguem pode me ajuda ?

 

Vlw =D!

 

Obs: eu não gostaria que  esse item sumisse, apenas possa entrar quem o possua...

Editado por Versteckt (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

1º vá em seuOT/data/actions/scripts (copie qualquer arquivo, cole-o e renomeie para chave.xml) e cole isto dentro:

 

Citar

[--- Porta Temporizada by Runando/Belianmort ---]
function onUse(cid, item, frompos, item2, topos)

-------- Pausa --------

local pausa = 10000 -------- Cordenadas --------

local door = {x=410, y=387, z=7, stackpos=1} 
local ddoor = getThingfromPos(door) 

-------- ITEM --------

local open_door = 5136 

local itemU = 24000 

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 = 5135 

------- SEGUNDO SISTEMA --------

local the_close_door = getThingfromPos(door)
doTransformItem(the_close_door.uid,to_close_door)
end

depois vá em seuOT/data/actions/actions.xml e adicione esta TAG:

Citar

<action itemid="2089" script="chave.lua" />

Explicação:
PINK (ID DA CHAVE QUE SERA USADA) 
Quote

Você pode usar outra chave se quiser

Vermelho Tempo que a porta ficara aberta EX: 1000 = 1 segundo (aqui no caso seria 10 segundos, entao ta 10000.
Azul ID da porta aberta que voce ira usar.
Roxo ID da porta fechada que voce irá usar
Verde Coordenadas X, Y & Z do local que a porta que sera aberta com a chave ficará.
Cinza Unique ID que sera usado na Porta

O tutorial original esta assim, mas você vai seguir o tutorial, e na hora que terminar, vai notar que a porta vai poder ser aberta com ou sem a chave. Eu bolei um geito bobo, mas útil de resolver.

Faça o seguinte: pelo map editor, vá nas propriedades da porta que quer que seja aberta apenas pela chave e coloque um Action ID qualquer, não importa se você vai lembrar ou não, a função dele é apenas impedir que a porta seja aberta. Mas o Unique ID faz permitir que a chave a abra.
 

ks12a.jpg

Você também não consiguirá fechar a porta, mas isto não é um problema, pois o script permite apenas que ela fique aberta por um certo período de tempo...
 

O meu ficou assim:

1yr3gh.jpg

2gwwe8w.jpg

Quando eu tento com a chave:


2lmks91.jpg


Isso ai, espero que gostem. Testei e não tive problemas.

Lembrando que fico apenas com 1% dos créditos: por ter resolvido o pequeno problema e por ter revivido o tópico hehe.

E o resto dos créditos vão para o allex9213 por ter feito o tutorial.
 

 

Créditos: allex9213 por ter feito o tutorial (ele é de outro fórum).

             Killua por resolver o problema da porta (também de outro fórum).

Link para o post
Compartilhar em outros sites
  • 1 month later...

eu testqi aqui mais só quer quando agente bota 2vez o script no servidor ta bug na porta 

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo