Ir para conteúdo
  • 0

erro porta de level


luannhrj

Pergunta

Alguém pode me ajudar aqui, seguinte.. eu tenho um sistema aqui de portas por level ex: level 1500 pode passar pela porta. só que eu uso aquela porta que vc abre passa e fexa, só que qualquer um consegue abrir ela mesmo sendo level baixo. ex: eu lvl 1 abro uma porta de level 1500 , ela abre e aparece a mensagem que precisa ter level 1500 só que eu consigo abrir e passar normalmente, quando clica nela ela abre e fica aberta, só que ai quando eu abro ela e entro e depois saio dela sem clicar, ela fexa sozinha e aí ela funciona, nao consigo entrar mais e pede o level certo. mais também se eu abrir a porta ficar no meio dela e clicar pra fechar a porta buga, se transforma em outro item.. da esse erro aqui quando a porta buga nao sei se é esse arquivo aqui olha :

[Error - Action Interface] 
data/actions/scripts/transformaporta.lua:onUse
Description: 
(luaDoDecayItem) Item not found

meu arquivo transformporta.lua :

-- By:davialves ;] --
local ITEM_IDS = {
[12158] = 12160,
[12160] = 12158,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(not ITEM_IDS[item.itemid]) then
return false
end

doTransformItem(item.uid, ITEM_IDS[item.itemid])
doDecayItem(item.uid)
return true
end

e o transformporta2.lua

-- By:davialves ;] --
local ITEM_IDS = {
[12154] = 12157,
[12157] = 12154,
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
if(not ITEM_IDS[item.itemid]) then
return false
end

doTransformItem(item.uid, ITEM_IDS[item.itemid])
doDecayItem(item.uid)
return true
end 

no caso, eu uso dois tipos de portas

uma é 12154 e a outra 12158

 

e aqui tá elas na actions

<action itemid="12154" script="leveldoor.lua" />
<action itemid="12158" script="leveldoor.lua" />

e aqui o leveldoor.lua

function onStepOut(cid, item, pos)

if isPlayer(cid) == 1 then
if item.actionid < 2000 and item.actionid >= 1000 then
doorHandler:useDoor(item, getThingPos(item.uid), cid, nil, false)
end
end
return 1
end[/quotepost]

 

e o leveldoors.lua

 

-- level doors based on actionId
-- to make door for level x create door on map and set its actionid to x+1000

function onUse(cid, item, frompos, item2, topos)
reqlevel = item.actionid - 1000 -- actionids below 100 are reserved

if reqlevel > 0 then
if getPlayerLevel(cid) >= reqlevel then
pos = getPlayerPosition(cid)

if pos.x == topos.x then
if pos.y < topos.y then
pos.y = topos.y + 1
else
pos.y = topos.y - 1
end
elseif pos.y == topos.y then
if pos.x < topos.x then
pos.x = topos.x + 1
else
pos.x = topos.x - 1
end
else
doPlayerSendTextMessage(cid,22,'Stand in front of the door.')
return 1
end

doTeleportThing(cid,pos)
doSendMagicEffect(topos,12)
else
doPlayerSendTextMessage(cid,22,'You need level ' .. reqlevel .. ' to pass this door.')
end
return 1
else
return 0
end
end[/quotepost]

 

e aqui um exemplo da actionid que eu uso na porta (axo q pra porta é actionid, se tiver errado me corrigem)

barathusdoor.lua

function onUse(cid,item,frompos,item2,topos)
level = 1500
if getPlayerLevel(cid) >= level then
doTransformItem(item.uid,item.itemid+1)
doTeleportThing(cid,topos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You need level ' .. level .. ' to pass this door.')
function offWalk(cid,item,itemuid,itemaid,posx,posy,posz)
---ID do chão que fica embaixo da porta
idtile = 11906
---Não mexa aqui
posix = topos.x
posiy = topos.y
posiz = topos.z
if item == idtile and posx == posix and posy == posiy and posz == posiz then
doPlayerSendTextMessage(cid, 22, 'Parabens Você Tem Level Suficiente para passar pela porta.')
doTransformItem(item.uid,item.itemid-1)
return 1
end
end
end
end[/quotepost]
<action actionid="1189" event="script" value="barathusdoor.lua"/> 

alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

As gate of expertise tem um padrão de aid. Se você colocar aid 1001 numa delas, só pessoas acima do level 1 poderão passar. Não vai precisar fazer nenhum script. Para por level em portas (somente gate of expertise) basta por action ID 1000+level.

Lvl 50 = 1050

Lvl 100 = 1100

Lvl 1500 = 2500

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...