Ir para conteúdo

[movement] - Piso Com Storage Values.


Myself

Posts Recomendados

Olá pessoal, gostaria que os bons scripters do fórum me dessem uma mãozinha.

 

Trabalho com um OT 8.1 XML, Aries 0.4.0. Estou tendo problemas com minha PoI quest, pois criei o sistema de tronos igual do Tibia Global, no qual tem que se passar por 5 tronos antes de poder ir para a last room.

 

Bom, eu criei um movement no qual checa se o player tem as 5 storage values (dos 5 tronos) e, se o player tiver, ele pode passar pro outro lado do tile. Só que ele não está passando, mesmo tendo todos. Alguém poderia me ajudar?

 

poifinal.lua

function onStepIn(cid, item, pos)

 

-- teleports config

teleport1 ={x=278, y=33, z=11}

teleport2 ={x=278, y=35, z=11}

 

if isPlayer(cid) then

 

if item.actionid == 22222 then

 

if getPlayerStorageValue(cid,10001) == 1 and getPlayerStorageValue(cid,10002) == 1 and getPlayerStorageValue(cid,10003) == 1 and getPlayerStorageValue(cid,10004) == 1 and getPlayerStorageValue(cid,10005) == 1 then

doTeleportThing(cid,teleport1)

doCreatureSay(cid, "Congratulations! You did all the seals and now you are able to pass and get your reward.", TALKTYPE_ORANGE_1)

else

doTeleportThing(cid,teleport2)

doPlayerSendCancel(cid,"You need to complete all seals to pass.")

 

 

end

end

end

end

 

As storage values estão certas, não está dando erro no console, nem nada. Ele só não passa pro outro lado, e sempre da a mensagem de que precisa completar todos os seals. E sim, no tile que quero que funcione o movement eu coloquei a ActionID 22222.

 

~

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

So um erro q vc fez simples

 

function onStepIn(cid, item, pos)

local storage1 = 
local storage2 =
local storage3 =
local storage4 =
local storage5 =

-- teleports config
local teleport1 ={x=278, y=33, z=11}
local teleport2 ={x=278, y=35, z=11}

if item.actionid == 22222 then
	if getPlayerStorageValue(cid,storage1) == 1 and getPlayerStorageValue(cid,storage2) == 1 and getPlayerStorageValue(cid,storage3) == 1 and getPlayerStorageValue(cid,storage4) == 1 and getPlayerStorageValue(cid,storage5) == 1 then
		doTeleportThing(cid,teleport1)
		doCreatureSay(cid, "Congratulations! You did all the seals and now you are able to pass and get your reward.", TALKTYPE_ORANGE_1)
	else
		doTeleportThing(cid,teleport2)
		doPlayerSendCancel(cid,"You need to complete all seals to pass.")
	end
end
end

 

Adicione os storages nessas variaveis storage1, storage2 e talz

 

Se sanou sua duvida reporte o topico como Dúvida Sanada

Link para o comentário
Compartilhar em outros sites

@tibia~

Cara, o que você fez não mudou em nada o script, só em vez de adicionar logo o getPlayerStorageValue, adicionou uma variável antes com o número do getPlayerStorage~...

 

@topic

Cheque se os valores quando você completa um seal é 1 mesmo, testa este script aqui para ver se o valor no storage 10001 é 1 mesmo:

 

function onStepIn(cid, item, pos)

 

doCreatureSay(cid, "Storage 10001 = ".. getPlayerStorageValue(cid,10001).."", TALKTYPE_ORANGE_1)

end

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...
Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...