Ir para conteúdo
  • 0

URGENTE! Dúvida em alavanca+item= teleport


tathiicarvalho

Pergunta

Olá, já vi muitos posts sobre esse assunto, testei e não está dando certo...

O que gostaria de fazer é o seguinte:

Uma missão de itens, onde tem um determinado lugar que você tem de por 1 item, e mover a alavanca para se teletransportar para determinado lugar.

Queria um passo-a-passo, pois sou nova e estou criando meu OTSERVER, ficaria feliz se algum de vocês me ajudasse ><

 

Aqui tem uma foto de como eu fiz, por favor me ajudem D:

 

O ID do item que quero por é : 9004

aonde eu tenho que estar para mover a alavanca é : [X: 178] [Y: 66] [Z: 4].

lugar para onde quero ser teletransportada é : [X: 180] [Y: 64] [Z: 4].

 

Desde já agradeço

post-365680-0-46602600-1362499317.jpg

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Em data/actions/scripts, crei um arquivo chamado alavancas.lua e adicione:

 

 

function onUse(cid, item, frompos, item2, topos)

local positem = {x = 177, y = 66, z = 4, stackpos = 255}

local vaza = getTileItemById(positem, 9004)

local poshere = {x = 178, y = 66, z = 4}

local teleport = {x = 180, y = 64, z = 4}

if getCreaturePosition(cid) == poshere then

doRemoveItem(vaza.uid,1)

doTeleportThing(cid,teleport)

else

doPlayerSendTextMessage(cid,22,"Você deve se posicionar ao lado da alavanca, e coloque o Item Scroll na mesa!")

end

return true

end

 

 

Em actions.xml adicione essa tag:

 

    <action uniqueid=90049" event="script" value="alavancas.lua"/>

 

E no RME, adicione unique ID 90049 na alavnca, bjs :))

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpa, erro meu hehe. É no actions.xml, troca a tag que eu postei por:

 

   <action uniqueid="90049" event="script" value="alavancas.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

Mals, é que é o máximo, rsrs. Muda a tag pra isso :D

 

<action uniqueid="9904" event="script" value="alavancas.lua"/>

Agora vai, só por UNIQUEID 9904

Link para o comentário
Compartilhar em outros sites

  • 0

Nossa, não sei se eu sou burra ou se é dificil mesmo KKKKKKKKKKKKKKKKK,

Coloquei o iten do lado e movi a alavanca, mais ela nao virou e não me teleportou pra lugar algum, mais apareceu a mensagem ^^...

Testei com o god e player, olha só ( Desculpa de novo USHAUUSH )

post-365680-0-15117400-1362503802.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

Ok, vamos tentar de outra forma, troca o script por:

 

 

function onUse(cid, item, frompos, item2, topos)

local positem = {x = 177, y = 66, z = 4, stackpos = 255}

local vaza = getTileItemById(positem, 9004)

local poshere = {x = 178, y = 66, z = 4}

local teleport = {x = 180, y = 64, z = 4}

if getPlayerStorageValue(cid,49139) ~= 1 then

doRemoveItem(vaza.uid,1)

doTeleportThing(cid,teleport)

elseif getPlayerStorageValue(cide,49139) == 1 then

doPlayerSendTextMessage(cid,22,"Você deve se posicionar ao lado da alavanca, e coloque o Item Scroll na mesa!")

end

return true

end

 

 

Agora em movements/scripts, crie um arquivo chamado steplever.lua e adicione;

 

 

function onStepIn(cid, item, pos)

setPlayerStorageValue(cid,49139,2)

return true

end

 

function onStepOut(cid, item, pos)

setPlayerStorageValue(cid,49139,1)

return true

end

 

 

E em movements.xml essa tag:

 

    <movevent type="StepIn" actionid="49139" event="script" value="steplever.lua"/>
   <movevent type="StepOut" actionid="49139" event="script" value="steplever.lua"/> 

 

AGORA NO RME, COLOQUE O ""ACTIONID"" 49139, NO PISO QUE TEM QUE ESTAR PRA PUXAR ALAVANCA ;D

Link para o comentário
Compartilhar em outros sites

  • 0

Roksas, vc ta um pouco mal treinado em lua eu acho...

 

onde você esta usando a storage? kkk

esse script da pra ficar muito menor =p

 

function onUse(cid, item, frompos, item2, topos)

local config = {

posItem = {x = 177, y = 66, z = 4, stackpos = 255},

idItem = 9004,

posUse = {x = 178, y = 66, z = 4},

posTo = {x = 180, y = 64, z = 4},

}

if getTileItemById(config.posItem,config.idItem).uid > 0 and getCreaturePosition(cid) == config.posUse then

doRemoveItem(getTileItemById(config.posItem,config.idItem).uid,1)

doTeleportThing(cid,config.posTo)

else

return doPlayerSendTextMessage(cid,22,"Fique no lugar certo e coloque o item no local indicado!")

end

return true

end

 

O outro nao está nem verificando a posiçao do player.. esse ta melhorzinho eu acho.. teste ai..

 

 

EDIT: só pra lembrar, nao precisa de movements, você só ta fazendo gasto maior de memoria oO

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

  • 0

só uma dica.. do seu jeito ainda nao está funcional kkk

 

if getPlayerStorageValue(cid,49139) ~= 1 then

 

se a pessoa nunca pisou no piso antes, a storage vai estar -1, entao ele nao verificaria a posição do msmo jeito... =p.. isso só funcionaria pra qm ja foi na quest antes kk...

 

sua logica até ta certa, só é questao de treino.. kk

Link para o comentário
Compartilhar em outros sites

  • 0

Nens, se nunca pisou pode ser qualquer valor de storage, até 3193181348 :))

Posso por o numero que quiser ali rsrs

 

Você nao está entendendo kkk

o valor padrão de todas as storages, de 00001 até 65545 é -1 (1 negativo)

vc ta verificando se ela é diferente de 1, ela vai ser diferente de 1, entao a pessoa nao vai precisar estar no lugar correto para usar a alavanca, ela só vai ser igual a 1 se em algum momento na vida do jogador ele pisou no tile e dps saiu dele (o stepOut q ta deixando 1)...

enfim vo para de discutir.. boa sorte ao usuario q for utilizar os scripts, escolha ai o que achar melhor para você.

Link para o comentário
Compartilhar em outros sites

  • 0

@draky

if getTileItemById(config.posItem.config.idItem).uid > 0 and getCreaturePosition(cid) == config.posUse then
doRemoveItem(getTileItemById(config.posItem.config.idItem).uid,1)

n era pra ter ',' ali no meio? '--'

 

@rok

alias, achu q tu tem q começar a olhar o lugar q o topico ta antes de responder... achu q ja eh a 10x q te flo isso...

 

E tb, tu pode pensar q gastar um pouco mais de memoria n eh nd... e para servs simples nao eh ms.. agora pega um serv como a PXG por exemplo... qnt menos recursos cada script utilizar melhor eh ^^

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

×
×
  • Criar Novo...