tathiicarvalho 0 Postado Março 5, 2013 Share Postado Março 5, 2013 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 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 Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 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 More sharing options...
0 tathiicarvalho 0 Postado Março 5, 2013 Autor Share Postado Março 5, 2013 Olá, muito obrigada pela ajuda... Fiz tudo certinho, mais agora apareceu isso... o que faço? Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 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 More sharing options...
0 tathiicarvalho 0 Postado Março 5, 2013 Autor Share Postado Março 5, 2013 Me perdoa pelo encomodo, mais ainda não funcionou Testei com player e com o god e não consegui resultados '-' E quando edito no RME para o numero que você falou, ele muda automaticamente para outro numero, olhe... Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 Mals, é que é o máximo, rsrs. Muda a tag pra isso <action uniqueid="9904" event="script" value="alavancas.lua"/> Agora vai, só por UNIQUEID 9904 Link para o comentário Compartilhar em outros sites More sharing options...
0 tathiicarvalho 0 Postado Março 5, 2013 Autor Share Postado Março 5, 2013 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 ) Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 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 More sharing options...
0 tathiicarvalho 0 Postado Março 5, 2013 Autor Share Postado Março 5, 2013 Muito obrigada, você me ajudou muito *-*, obrigada pela paciência também rs', Beeijo. Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 Haha, não foi nadaamor. bjão ;] DÚVIDA SANADA ~~~REPORTED. Link para o comentário Compartilhar em outros sites More sharing options...
0 drakylucas 159 Postado Março 5, 2013 Share Postado Março 5, 2013 (editado) 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 Março 5, 2013 por DrakyLucas Link para o comentário Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 Cara, a dúvida já foi sanada. E o importante é funcionar não usar super functions, nem parece professional Link para o comentário Compartilhar em outros sites More sharing options...
0 drakylucas 159 Postado Março 5, 2013 Share Postado Março 5, 2013 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 More sharing options...
0 Roksas 846 Postado Março 5, 2013 Share Postado Março 5, 2013 Nens, se nunca pisou pode ser qualquer valor de storage, até 3193181348 ) Posso por o numero que quiser ali rsrs Link para o comentário Compartilhar em outros sites More sharing options...
0 drakylucas 159 Postado Março 5, 2013 Share Postado Março 5, 2013 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 More sharing options...
0 Slicer 1070 Postado Março 5, 2013 Share Postado Março 5, 2013 (editado) @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 Março 5, 2013 por Slicer Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tathiicarvalho 0
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
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
Link para o comentário
Compartilhar em outros sites
19 respostass a esta questão
Posts Recomendados