Postado Fevereiro 3, 2014 11 anos 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 Fevereiro 3, 2014 11 anos por Versteckt (veja o histórico de edições)
Postado Fevereiro 3, 2014 11 anos 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) QuoteVocê pode usar outra chave se quiserVermelho 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á usarVerde Coordenadas X, Y & Z do local que a porta que sera aberta com a chave ficará.Cinza Unique ID que sera usado na PortaO 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. 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: Quando eu tento com a chave: 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). Att. João Pedro Veja! [Edron] Rotworm Cave [Zao] Killer Caiman Hunt [Liberty Bay] Zombies Achievements fáceis de conseguir [Ankramun] Terramite Cave
Postado Março 13, 2014 11 anos eu testqi aqui mais só quer quando agente bota 2vez o script no servidor ta bug na porta
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.