Ir para conteúdo

Portas Não Abrem? Venha Aqui Ver Como Arruma! Deixe Todas Elas Funcioando 100%


alissonlinneker

Posts Recomendados

Bem pessoal, vocês ja tentaram usar por exemplo a porta 8544 e ela não abre e não sabe porque?

 

Pois bem, isso é apenas a falta de uma action da porta....

Lembrando que aqui mostrarei como se arruma este erro com a porta 8544, e com base nos exemplos, vocês poderam arrumar as outras portas (quanho houver erro)

 

Percebi este erro no Thyrania, espero que na proxima versão (5.0?) este erro esteja arrumado.

 

Então vamos la..

 

Primeiramente iremos pegar a porta de ID 8544 e a de 8546 como referências.



8544: 8544closeqb9.gif

8546: 8546openoq4.gif

 

Abra o arquivo actions.xml dentro da pasta data/actions e adicione a seguinte linha:

 

<action fromid="8544" toid="8546" script="other/doors.lua"/>

 

8544 - É a porta no estado padrão dela, que no caso fechada.

8546 - É a porta aberta

 

Como funciona?

 

Simples, esta linha exemplificadamente, pega a porta padrão 8544 (fechada), e quando alguem der um USE sobre ela, atomaticamente ela ira se tranformar na porta aberta desta mesma posição, ou seja, a porta 8546

 

Resultado:



anijc4.gif

 

 

Agora aqui para vocês todas as portas deste estilo:

 

<action fromid="8544" toid="8546" script="other/doors.lua"/> --- A porta 8544 tranforma-se na porta 8546

<action fromid="8463" toid="8543" script="other/doors.lua"/> --- A porta 8463 tranforma-se na porta 8543

<action fromid="8545" toid="8546" script="other/doors.lua"/> --- A porta 8545 tranforma-se na porta 8546

<action fromid="8549" toid="8550" script="other/doors.lua"/> --- A porta 8549 tranforma-se na porta 8550

<action fromid="8547" toid="8548" script="other/doors.lua"/> --- A porta 8547 tranforma-se na porta 8548

 

Não são exatamente todas, mais são as principais...agora é com vocês!

 

 

Agora, se o seu servidor não possui o arquivo doors.lua dentro da pasta data/actions/other, lá vai a dica:

 

Crie um arquivo com o nome doors.lua dentro da pasta data/actions/other (como no caso você não possui a pasta other crie-a dentro da pasta data/actions)

Em seguida adicione o script abaixo no doors.lua:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if isInArray(questDoors, item.itemid) == TRUE then

if getPlayerStorageValue(cid, item.actionid) ~= -1 then

doTransformItem(item.uid, item.itemid + 1)

doTeleportThing(cid, toPosition, TRUE)

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")

end

return TRUE

elseif isInArray(levelDoors, item.itemid) == TRUE then

if item.actionid > 0 and getPlayerLevel(cid) >= item.actionid - 1000 then

doTransformItem(item.uid, item.itemid + 1)

doTeleportThing(cid, toPosition, TRUE)

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")

end

return TRUE

elseif isInArray(keys, item.itemid) == TRUE then

if itemEx.actionid > 0 then

if item.actionid == itemEx.actionid then

if doors[itemEx.itemid] ~= nil then

doTransformItem(itemEx.uid, doors[itemEx.itemid])

return TRUE

end

end

doPlayerSendCancel(cid, "The key does not match.")

return TRUE

end

return FALSE

elseif isInArray(horizontalOpenDoors, item.itemid) == TRUE then

local newPosition = toPosition

newPosition.y = newPosition.y + 1

local doorPosition = fromPosition

doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE

local doorCreature = getThingfromPos(doorPosition)

if doorCreature.itemid ~= 0 then

if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then

doPlayerSendCancel(cid, "Sorry, not possible.")

else

doTeleportThing(doorCreature.uid, newPosition, TRUE)

end

else

doTransformItem(item.uid, item.itemid - 1)

end

return TRUE

elseif isInArray(verticalOpenDoors, item.itemid) == TRUE then

local newPosition = toPosition

newPosition.x = newPosition.x + 1

local doorPosition = fromPosition

doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE

local doorCreature = getThingfromPos(doorPosition)

if doorCreature.itemid ~= 0 then

if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then

doPlayerSendCancel(cid, "Sorry, not possible.")

else

doTeleportThing(doorCreature.uid, newPosition, TRUE)

end

else

doTransformItem(item.uid, item.itemid - 1)

end

return TRUE

elseif doors[item.itemid] ~= nil then

if item.actionid == 0 then

doTransformItem(item.uid, doors[item.itemid])

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.")

end

return TRUE

end

return FALSE

end

 

Legenda:

*FronID: DoID

*ToID: ParaID

 

 

Créditos: 100% AlissonLinneker :hehe:

Editado por AlissonLinneker
Link para o comentário
Compartilhar em outros sites

Perfeito.

Tenhu um server, as portas dos trainers era asim,

Mas nem abriam, agora ta abrindo, valeu :yipi:

 

Achei q num ia sair nenhum comentario...

aushau

 

 

=]

mais deu para arrumar neh?

pois é...

os novos ots do 8.22 em frente, algumas postas não estão com as devidas actions...

mais agora com o script ta tudo ok

 

...

Link para o comentário
Compartilhar em outros sites

Infelizmente pode não dar certo em varios Otservers que não tem a porta colocada no Global do servidor!

Se quiser ter uma ideia maior do que estou falando procure por meu topico sobre o mesmo assunto nesta mesma sessão...

 

Sem mais.

Link para o comentário
Compartilhar em outros sites

^^

no mais mesmo é pro tyrania q ta com esse problema,

ou ate mesmo pra ot 8.31 q tem porta nova e n tem suas respectivas funções.

 

No mais, acho q funciona perfeitamente,

a porta vai ter sua função declarada no action.xml com seu respectivo script.

 

n depende de mais nada, apenas que seja um server 8.22+ (eu acho) e que tenho o script correto, que foi o que divulguei aqui...

=D

Link para o comentário
Compartilhar em outros sites

  • 3 years later...

Puts, vlw por postar bro.. tava procurando um tutorial igual pra dar jeito nas portas novas do update 8.6 (Razachai) As portas verdes que fica na lizard city e as vermelhas que fica nos draken Abbomination, Elite + warmaster n se abriam =/ ou ficava fechada ou aberta.. como eu n saiba. criei uma city com essas portas kkk deu fail total.. vou testar seu tutorial aqui e ver se da jeito u.u obg desde já

 

 

 

Your's: Ewerton Silva

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...