Ir para conteúdo

[Encerrado] Ajuda Com Portão De Quest


xarmax

Posts Recomendados

eu fiz uma Quest, e gostaria de ajuda com um script. Coloquei um portão na entrada da Quest e queria um script para colocar nele, seria mais ou menos assim:

1º=Ao clicar no portão aparece uma mensagem dizendo que só pode atravessar quem tiver level 100+ e entregar 3 itens diferentes;

2º=caso o player não tenha level suficiente ou falta algum dos itens ele não consegue passar;

3º= já se tiver com todos o requisitos prontos ele pode atravessar o portão e concluir a Quest.

 

depois que o player consegue entrar na Quest , ele poderá voltar nela SEM precisar entregar os itens novamente.

 

é isso, já procurei varias vezes num achei nada parecido, se alguém souber como fazer ficarei agradecido!

Link para o comentário
Compartilhar em outros sites

function onUse(cid, item)

local posEntrada = {x = x , y = y, = z = z}
local posSaida = {x = x , y = y, = z = z}
local itemNeed = {{2160, 10}, {2150, 5}}
local levelNeed = 100

if getPlayerStorageValue(cid, STORAGE_QUEST) > 0 then
return doTeleportThing(cid, posSaida, true)
end
if getPlayerLevel(cid) < levelNeed then
return doPlayerSendCancel(cid, "You need a min level " .. levelNeed .. " to enter here.")
end

for _, t in pairs(itemNeed) do
if getPlayerItemCount(cid, t[1]) >= t[2] then
doTeleportThing(cid, posEntrada)
addEvent(doTeleportThing, 5 * 1000, cid, posSaida, true)
else
doPlayerSendTextMessage(cid, 26, "You don't have the necessary items.")
end
end
return true
end

 

em STORAGE_QUEST você coloca a mesma storage do baú.

só não vai fazer merda :S

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

onde eu criou este script? no actions..movementes?? devo colocar alguma tag action.xml se caso for nessa pasta?

 

outra duvida ( o player depois q entrar vai poder sair e entrar outras vezes sem precisar entregar os itens novamente?

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

editei o script, coloquei no data/actions/script e deu este erro:

 

[23/10/2012 10:17:25] [Error - LuaScriptInterface::loadFile] data/actions/scripts/portao.lua:3: unexpected symbol near '='

[23/10/2012 10:17:25] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/portao.lua)

[23/10/2012 10:17:25] data/actions/scripts/portao.lua:3: unexpected symbol near '='

 

 

script editado:

 

function onUse(cid, item)

 

local posEntrada = {x = 2396 , y = 771, = z = 8}

local posSaida = {x = 2396 , y = 771, = z = 8}

local itemNeed = {{12159, 2}, {11447, 8}}

local levelNeed = 100

 

if getPlayerStorageValue(cid, 1201) > 0 then

return doTeleportThing(cid, posSaida, true)

end

if getPlayerLevel(cid) < levelNeed then

return doPlayerSendCancel(cid, "You need a min level " .. levelNeed .. " to enter here.")

end

 

for _, t in pairs(itemNeed) do

if getPlayerItemCount(cid, t[1]) >= t[2] then

doTeleportThing(cid, posEntrada)

addEvent(doTeleportThing, 5 * 1000, cid, posSaida, true)

else

doPlayerSendTextMessage(cid, 26, "You don't have the necessary items.")

end

end

return true

end

 

 

tag no actions.xml:

 

<action actionid="1201" event="script" value="portao.lua"/>

 

 

coloquei o actionid no portão e não funcionou, onde esta o erro??

Link para o comentário
Compartilhar em outros sites

local posSaida = {x = 2396 , y = 771, = z = 8} <<<errado

local posSaida = {x = 2396 , y = 771, z = 8} <<<correto

viu como eh facil, só ler o erro pra corrigir..

Link para o comentário
Compartilhar em outros sites

vlw GOD Gniu, não tinah observado isso, o erro do serv saiu, mas ao clicar no portão não acontece nada e aparece isso:

 

[23/10/2012 11:18:29] [Error - Action Interface]

[23/10/2012 11:18:29] data/actions/scripts/portao.lua:onUse

[23/10/2012 11:18:29] Description:

[23/10/2012 11:18:29] data/actions/scripts/portao.lua:8: attempt to compare number with string

[23/10/2012 11:18:29] stack traceback:

[23/10/2012 11:18:29] data/actions/scripts/portao.lua:8: in function <data/actions/scripts/portao.lua:1>

 

Link para o comentário
Compartilhar em outros sites

tenta mudarm essa linha

 

if getPlayerStorageValue(cid, 1201) > 0 then

return doTeleportThing(cid, posSaida, true)

end

por

if getPlayerStorageValue(cid, 1201) > 0 then

doTeleportThing(cid, posSaida, true)

return true

end

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

Cleberadm, vlw pela ajuda, o script ta quase la no que eu tava querendo....so ta faltando:

 

 

1º retirar os itens depois que passa pelo portão;

2º sair pelo mesmo portão sem precisar entregar os itens novamente ( por enquanto so to conseguindo entrar por ele) e finalmente

3º quem já entregou os itens, poderá entrar e sair pelo portão sem precisar entregar os itens de novo.

 

obrigado a todos que colaboraram ate agora :)

Link para o comentário
Compartilhar em outros sites

Cleberadm, eu tava testando, quando clico no portão sou teleportado normalmente pra dentro da quest e meus itens são retirados..( ate ae tudo ok), quando eu tento sair pelo mesmo portão, não consigo e aparece a msg: "You don't have the necessary items." E fico preso na sala :/

Link para o comentário
Compartilhar em outros sites

script >portao.lua

 

function onUse(cid, item)

 

local posEntrada = {x = 2396, y = 771, z = 8}

local posSaida = {x = 2396 , y = 771, z = 8}

local itemNeed = {{12159, 2}, {11447, 8}}

local levelNeed = 100

 

if getPlayerStorageValue(cid, 5557) > 0 then

doTeleportThing(cid, posSaida, true)

return true

end

if getPlayerLevel(cid) < levelNeed then

return doPlayerSendCancel(cid, "You need a min level " .. levelNeed .. " to enter here.")

end

 

for _, t in pairs(itemNeed) do

if getPlayerItemCount(cid, t[1]) >= t[2] then

doPlayerRemoveItem(cid, t[1], t[2])

doTeleportThing(cid, posEntrada)

addEvent(doTeleportThing, 5 * 1000, cid, posSaida, true)

else

doPlayerSendTextMessage(cid, 26, "You don't have the necessary items.")

end

end

return true

end

 

 

action.xml tag:

<action actionid="5557" event="script" value="portao.lua"/>

 

consigo entrar normalmente, os itens são retirados como esperado, mas não consigo sair da sala pelo mesmo portão e ainda pede os itens novamente!

 

++ resp se conseguir resolver :)

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

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