Demonbholder 420 Postado Março 8, 2011 Share Postado Março 8, 2011 (editado) Faaala galera! Esses dias um parceiro meu me deu uma idéia e pediu para que eu fizesse um script para ele, assim surgiu o script que irei postar agora. Eu coloquei o nome de Position Recorder porque o script faz jus ao nome; ele funciona da seguinte maneira: Você tem um item, no caso o 2359 e quando você clica nele, a sua posição é gravada e o item se transforma para o 2356. Ai você pode usar o 2356 que você será teleportado para a posição que você estava quando usou o primeiro item. Well, como dito no título, eu fiz duas funções para o script funcionar; claro que não era necessário, mas as funções são úteis para outras coisas também. Darei mais exemplos no final. Bom, vamos as funções: Vá em data/lib, abra o arquivo functions.lua, e cole no final dele estas duas funções: function doMarkPos(cid, posx, posy, posz) setPlayerStorageValue(cid, 19000, posx) setPlayerStorageValue(cid, 19001, posy) setPlayerStorageValue(cid, 19002, posz) end function getMarkPos(cid) return {x=getPlayerStorageValue(cid, 19000), y=getPlayerStorageValue(cid, 19001), z=getPlayerStorageValue(cid, 19002)} end Certo, agora vamos ao script do position recorder. Opção 1: Apenas vips usam, Kydrai System Vip. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if item.itemid == 2359 then if isVip(cid) == TRUE then if getMarkPos(cid).x < 1 then doMarkPos(cid, pos.x, pos.y, pos.z) doPlayerSendTextMessage(cid, 4, "Você gravou uma posição.") doTransformItem(item.uid, 2356) else doPlayerSendCancel(cid, "Você já gravou posição.") end else doPlayerSendCancel(cid, "Apenas vips podem usar este item.") end end if item.itemid == 2356 then if isVip(cid) == TRUE then if getTilePzInfo(getCreaturePosition(cid)) == TRUE then if getMarkPos(cid).x > 0 then doRemoveItem(item.uid, 1) doTeleportThing(cid, getMarkPos(cid)) doMarkPos(cid, 0, 0, 0) else doPlayerSendCancel(cid, "Você não gravou uma posição.") end else doPlayerSendCancel(cid, "Você precisa estar em área pz.") end else doPlayerSencCancel(cid, "Você não é vip.") end end end Opção 2: Apenas vips usam, Perfect Vip System. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if item.itemid == 2359 then if getPlayerStorageValue(cid, 13540) - os.time() > 0 then if getMarkPos(cid).x < 1 then doMarkPos(cid, pos.x, pos.y, pos.z) doPlayerSendTextMessage(cid, 4, "Você gravou uma posição.") doTransformItem(item.uid, 2356) else doPlayerSendCancel(cid, "Você já gravou posição.") end else doPlayerSendCancel(cid, "Apenas vips podem usar este item.") end end if item.itemid == 2356 then if getPlayerStorageValue(cid, 13540) - os.time() > 0 then if getTilePzInfo(getCreaturePosition(cid)) == TRUE then if getMarkPos(cid).x > 0 then doRemoveItem(item.uid, 1) doTeleportThing(cid, getMarkPos(cid)) doMarkPos(cid, 0, 0, 0) else doPlayerSendCancel(cid, "Você não gravou uma posição.") end else doPlayerSendCancel(cid, "Você precisa estar em área pz.") end else doPlayerSencCancel(cid, "Você não é vip.") end end end Opção 3: Qualquer um usa. function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = getCreaturePosition(cid) if item.itemid == 2359 then if getMarkPos(cid).x < 1 then doMarkPos(cid, pos.x, pos.y, pos.z) doPlayerSendTextMessage(cid, 4, "Você gravou uma posição.") doTransformItem(item.uid, 2356) else doPlayerSendCancel(cid, "Você já gravou posição.") end end if item.itemid == 2356 then if getTilePzInfo(getCreaturePosition(cid)) == TRUE then if getMarkPos(cid).x > 0 then doRemoveItem(item.uid, 1) doTeleportThing(cid, getMarkPos(cid)) doMarkPos(cid, 0, 0, 0) else doPlayerSendCancel(cid, "Você não gravou uma posição.") end else doPlayerSendCancel(cid, "Você precisa estar em área pz.") end end end Outras possibilidades para as funções adicionadas: ~Quest: Terminar a quest e ganhar acesso a um lugar especial. function onUse(cid, item) local posx, posy, posz = ???, ???, ?? if getPlayerStorageValue(cid, 13081) == -1 then doPlayerSendTextMessage(cid, 4, "Você ganhou acesso ao lugar sagrado.") setPlayerStorageValue(cid, 13081, 1) doMarkPos(cid, posx, posy, posz) doPlayerAddItem(cid, 2356, 1) else doPlayerSendCancel(cid, "Você já fez a quest") end end Lembrando que o lugar fica gravado no jogador, e não no item. Os itens usados foram 2356 e 2359, no caso; você pode troca-los se souber como. É isso, postem o que acharam, até mais. Editado Março 8, 2011 por Demonbholder Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/ Compartilhar em outros sites More sharing options...
Hudsin 48 Postado Março 8, 2011 Share Postado Março 8, 2011 Ótimo item para vips usarem =D Exemplo: 1- Você usa o item para gravá-lo na hunt. 2- Você volta a cidade e vende o loot. 3- Você usa item,em um lugar pz,e é teleportado de volta para a hunt. *--* Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1009966 Compartilhar em outros sites More sharing options...
Elkillura 8 Postado Março 8, 2011 Share Postado Março 8, 2011 Boa Leonardo, ótimo sistema, até dava REP+ mas to sem amanha te reputo. abrasss Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1009967 Compartilhar em outros sites More sharing options...
BryanModesto 8 Postado Março 8, 2011 Share Postado Março 8, 2011 Ja vi esse esquema feito em outro forum, muito show Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1009988 Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Março 8, 2011 Autor Share Postado Março 8, 2011 (editado) Não copiei de nenhum outro fórum, aliás, essa idéia era desconhecida por mim até me falarem esses dias. Espero que não esteja me acusando de rippar, porque eu fiz o script. Editado Março 8, 2011 por Demonbholder Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1009990 Compartilhar em outros sites More sharing options...
BryanModesto 8 Postado Março 8, 2011 Share Postado Março 8, 2011 Nao estou te acusando, tenho certeza que voce fez a sua propia função, o script do qual eu estou me referindo concerteza voce ja viu, é um feito pelo o RAMZA la na OtRealm. Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1010072 Compartilhar em outros sites More sharing options...
victorpuntel 7 Postado Março 8, 2011 Share Postado Março 8, 2011 Nossa, cada vez melhor ;D Tava procurando esse script esses dias, Tem um esquema parecido no Talisman Online, Parabéns, rep+ Abraços =) Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1010233 Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Março 8, 2011 Autor Share Postado Março 8, 2011 @Bryan Eu já tentei frequentar o otrealm, e nunca vi esse sistema lá. Assim como eu disse anteriormente, quem me deu essa idéia foi o Hudsin, que me pediu para fazer para ele, depois eu só ajeitei para ficar no nível necessário para postar aqui. Até então, esse sistema era desconhecido por mim. @Darkvelocity Valeu parceiro. Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1010253 Compartilhar em outros sites More sharing options...
luizribeiro 8 Postado Março 8, 2011 Share Postado Março 8, 2011 parabéns muito bom principalmente em Quest. Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1010262 Compartilhar em outros sites More sharing options...
Vodkart 1515 Postado Março 9, 2011 Share Postado Março 9, 2011 Wow demon já começando a fazer grandes functions xD parabens velho,continua assim! rep + Link para o comentário https://xtibia.com/forum/topic/152944-fun%C3%A7%C3%B5es-e-position-recorder/#findComment-1010568 Compartilhar em outros sites More sharing options...
Posts Recomendados