Positioner [v1]

Roksas
Por Roksas
em Actions e Talkactions
  • 1
  • 2

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Positioner [v1]

 

Iaaaae Galera, como vão? Hoje vim lhes apresentar o meu Action. É o Positioner, oque ele faz?

  • O Positioner é um item (ID:1956 - MAPA), ao dar USE, ele grava suas coordenadas, ai você pode ir para aonde quiser. Pode até morrer, dando USE novamente, voltará para aquelas coordenadas (posição) que salvou. Legal né? Eu adaptei alguns códigos que achei para fazê-lo, vamos lá.

Vá em data/lib, abra o arquivo 050-function.lua, as vezes pode estar só com o nome function.lua. Lá, na última linha de todas, dê um enter, pule uma linha e acrescente isso:

 

function savePosition(cid)
RETORNAR = {x = getPlayerStorageValue(cid, 20000), y = getPlayerStorageValue(cid, 20001), z = getPlayerStorageValue(cid, 20002)}
local PLAYER = getPlayerGUID(cid)

addEvent(function()
	if isCreature(cid) then
		setPlayerStorageValue(PLAYER, 20003, 0)
	else
		db.executeQuery("DELETE FROM `player_storage` WHERE `key` = 20003 AND `player_id` = " .. getPlayerGUID(cid) .. ";")
	end
 end)
end

 

Essa é a nossa função para salvar a position, usei a do SkyMagnum (talkaction) e adaptei para action. No caso, vá em data/actions/scripts, copie algum arquivo dessa pasta e cole. Renomeie para positioner.lua,abra com o bloco de notas, apague oque estiver dentro e cole:

 

 

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 20003) <= 0 then
setPlayerStorageValue(cid, 20000, getCreaturePosition(cid).x)
setPlayerStorageValue(cid, 20001, getCreaturePosition(cid).y)
setPlayerStorageValue(cid, 20002, getCreaturePosition(cid).z)
doSendMagicEffect(getCreaturePosition(cid), 28)
doPlayerSendTextMessage(cid,27,"You have saved your position, use the Positoner again to be sent to the starting position.")
setPlayerStorageValue(cid, 20003, 1)
savePosition(cid)
return true
end

if getPlayerStorageValue(cid, 20003) > 0 then
doTeleportThing(cid, RETORNAR)
doSendMagicEffect(RETORNAR,28)
doSendAnimatedText(RETORNAR,"Returned!",math.random(1,255))
doPlayerSendTextMessage(cid, 27, "You returned to its initial position. To save again, simply use the Positioner.")
setPlayerStorageValue(cid, 20000, 0)
setPlayerStorageValue(cid, 20001, 0)
setPlayerStorageValue(cid, 20002, 0)
setPlayerStorageValue(cid, 20003, 0)
end						  
return true
end

 

 

Agora no arquivo actions.xml, adicione essa tag:

 

<action itemid="1956" event="script" value="positioner.lua"/>

 

No caso é o item ID 1956 que é um mapa, basta dar USE nele para salvar e dar USE novamente para retornar á position! Se quiser trocar o ID do item na tag pode, mas esse item não pode ser do tipo "Use With..."

 

 

Beeeeijo grande galera, aguardem por breves versões :)


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Faelzdanil

PokeShow World Online
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 24/05/11Posts: 391

Pode ser de muita utilidade em quest e tal...

 

Parabens ! REP++

lsr2nFa.jpg

 

dQ6yAey.png

Pm9TjMM.png

 

 

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

seria bom identizar esse codigo... o sky eh lokin kkk

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

@fael

Obrigado.

 

@Slicer

 

Oi? Como assim identizar cara?


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

assim..

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 20003) <= 0 then
  setPlayerStorageValue(cid, 20000, getCreaturePosition(cid).x)
  setPlayerStorageValue(cid, 20001, getCreaturePosition(cid).y)
  setPlayerStorageValue(cid, 20002, getCreaturePosition(cid).z)
  doSendMagicEffect(getCreaturePosition(cid), 28)
  doPlayerSendTextMessage(cid,27,"You have saved your position, use the Positoner again to be sent to the starting position.")
  setPlayerStorageValue(cid, 20003, 1)
  savePosition(cid)
return true
end

if getPlayerStorageValue(cid, 20003) > 0 then
  doTeleportThing(cid, RETORNAR)
  doSendMagicEffect(RETORNAR,28)
  doSendAnimatedText(RETORNAR,"Returned!",math.random(1,255))
  doPlayerSendTextMessage(cid, 27, "You returned to its initial position. To save again, simply use the Positioner.")
  setPlayerStorageValue(cid, 20000, 0)
  setPlayerStorageValue(cid, 20001, 0)
  setPlayerStorageValue(cid, 20002, 0)
  setPlayerStorageValue(cid, 20003, 0)
end
return true
end

 

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Ah, obrigado Slicer.

O

 que tava de graça, rsrs.

Não tive essa ideia de utilizar ele dentro do spoiler. Obrigado!


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

Vinc

The white fox
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/11Posts: 625Gênero: Masculino

identizar???

se quis dizer identar?

se foi sua indetação ta errada(a do rokas tbm)

 

@roksas

porra cara,porra.

como se fais uma coisa dessas

 

local PLAYER = getPlayerGUID(cid)

getPlayerGUID(PLAYER)

^w^

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Perdão, fiz meio relaxado rsrs. Obrigado por lembrar

getPlayerGUID(getPlayerGUID(cid)) lol eauuhea

 

A identação eu tinha feito certinho no NOTEPAD++ só que o

 quebrou ela ;s


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

ZeNit91

ZeNit91 "Zerons"
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 08/01/11Posts: 192Gênero: Masculino

Slicer me add no skype to querendo sua ajuda se possivel.

 

skype: alucardnit

Brincado no server ^^


MAPERS, Quem nos Somos ?
 

Somons como Deuses Criamos e colocamos kd coisa em seu lugar, construímos ilhas continentes e até um mundo inteiro, para as pessoas que o vem desfrutar de um mundo onde o objetivo é ser o melhor.



Nos não somos nd alem de pequenas pessoas que criamos grandes mundos, utilizando nossa imaginação como ponto de inicio e a inteligência como ponto final.

Oq é um mundo comprado a nossa imaginação ?

 


AAAA!!!
Não custa clicar!

962348.png

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Zerons, isso é considerado flood. Não desvie o assunto do tópico por favor. Fale isso pelo fórum Barzinho do Éks!


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

comedinhasss

Comedinha
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 08/08/07Posts: 520Gênero: MasculinoChar no Tibia: Sir Morths

Muito bom, gostei bastante da ideia.

Estava trocando umas ideias com o Roksas e vendo algumas funções até que saiu isso:

function onUse(cid, item, frompos, item2, topos)
   local pos = getCreaturePosition(cid)
   local player = getPlayerGUID(cid)
   local point = getWaypointPosition(savetp+player)
   if getPlayerStorageValue(cid, 20003) == -1 then
       doWaypointAddTemporial(savetp+player, pos)
       doSendMagicEffect(pos, 28)
       doPlayerSendTextMessage(cid,27,"You have saved your position, use the Positoner again to be sent to the starting position.")
       setPlayerStorageValue(cid, 20003, 1)
   elseif getPlayerStorageValue(cid, 20003) == 1 then
       doTeleportThing(cid, point)
       doSendMagicEffect(point,28)
       doSendAnimatedText(point,"Returned!",math.random(1,255))
       doPlayerSendTextMessage(cid, 27, "You returned to its initial position. To save again, simply use the Positioner.")
       setPlayerStorageValue(cid, 20003, -1)
   end
   return true
end

 

Alguém tem uma ideia de como melhora-lo?

Bruno de Carvalho Câmara
[email protected]<script data-cfhash='f9e31' type="text/javascript"> /* */</script> / (18) 9 9640-4544
 

 

 

 

 

 

 

 

 

 

facebook.png&key=5c75f89868a8711c49cc20315645ab5fd3ef2d384bf666dd888f1c280a6b75ed&resource=1 twitter.png&key=a62b8fde99e302436f4cc04056c02768d777c0d27d77011e8931ced8099246e6&resource=1 googleplus.png&key=f287787442661f4422363039ba86e9c578c4921ad397c8f0d88f31709d26c48a&resource=1 youtube.png&key=08e8d5ba725e0a7bfedfe6c9d413ff55e2febb19493974e3a1fd5160d3cabc9f&resource=1 skype.png&key=0aee9c9483d4f4dee341915e654aa361f40598341a31a62afec9f83a2734e0ad&resource=1 steam-icon.png&key=b869d73d6be3b894b7204e151a9582d3b2a84a5d853d940297fec82e1ae25b55&resource=1

 

 

 

 

 

 

 

 

 

 

btn_donateCC_LG.gif&key=ea1b6265cec82d379c00914ab97fd15478f9983200fa273984872388d20f0b62&resource=1 180x25-doar.gif&key=8671e0307e2a7fd446670d1b16671d35069b1c91bed3d028b8f7db698c59eac5&resource=1

 

"Pesadelos? Sonhos? Calma, é apenas eu pensando em você!"

 

wMwSJFE.png?1&key=101925b29f8396357ec8f63d177a708785a8da5f96f154f44e9a4c6599794673&resource=1

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

@bruno

interessante essa funçao... ja tinha passado o olho por ela mas nunca parei para ver oq fazia ^^

 

uma pergunta.. da onde ta vindo isso..

savetp

 

edit: essa eh minha versao ^^

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 21001) == -1 then
  local p = getThingPos(cid)
  local save_pos = "x:"..p.x..";y:"..p.y..";z:"..p.z..";"

  doPlayerSendTextMessage(cid, 27, "You have saved your position!")
  doSendMagicEffect(p, 21)

  setPlayerStorageValue(cid, 21000, save_pos)
  setPlayerStorageValue(cid, 21001, 1)  
elseif getPlayerStorageValue(cid, 21001) == 1 then
  local x,y,z = getPlayerStorageValue(cid, 21000):match("x:(.-);y:(.-);z:(.-);")  

  doTeleportThing(cid, {x=tonumber(x), y=tonumber(y), z=tonumber(z)}, false)
  doPlayerSendTextMessage(cid, 27, "You have returned to the saved position. Use this item again to save a new position!")
  doSendMagicEffect(getThingPos(cid), 21)

  setPlayerStorageValue(cid, 21000, -1)
  setPlayerStorageValue(cid, 21001, -1)
end
return true
end

 

 

no jogo WYD tem um sistema assim... soh q eh uma gema e um perg... usando a gema tu salva a pos e com o perg tu vai ate essa pos, nesse caso, a pos n reseta quando tu vai ate ela... eh um sistema bem lgl e util... ^^

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

comedinhasss

Comedinha
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 08/08/07Posts: 520Gênero: MasculinoChar no Tibia: Sir Morths

@bruno

interessante essa funçao... ja tinha passado o olho por ela mas nunca parei para ver oq fazia ^^

 

uma pergunta.. da onde ta vindo isso..

savetp

 

edit: essa eh minha versao ^^

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerStorageValue(cid, 21001) == -1 then
  local p = getThingPos(cid)
  local save_pos = "x:"..p.x..";y:"..p.y..";z:"..p.z..";"

  doPlayerSendTextMessage(cid, 27, "You have saved your position!")
  doSendMagicEffect(p, 21)

  setPlayerStorageValue(cid, 21000, save_pos)
  setPlayerStorageValue(cid, 21001, 1)  
elseif getPlayerStorageValue(cid, 21001) == 1 then
  local x,y,z = getPlayerStorageValue(cid, 21000):match("x:(.-);y:(.-);z:(.-);")  

  doTeleportThing(cid, {x=tonumber(x), y=tonumber(y), z=tonumber(z)}, false)
  doPlayerSendTextMessage(cid, 27, "You have returned to the saved position. Use this item again to save a new position!")
  doSendMagicEffect(getThingPos(cid), 21)

  setPlayerStorageValue(cid, 21000, -1)
  setPlayerStorageValue(cid, 21001, -1)
end
return true
end

 

 

no jogo WYD tem um sistema assim... soh q eh uma gema e um perg... usando a gema tu salva a pos e com o perg tu vai ate essa pos, nesse caso, a pos n reseta quando tu vai ate ela... eh um sistema bem lgl e util... ^^

 

O "savetp" e o nome que eu coloquei para a função, após ler o script eu vi que ele seria o que iria salvar, mas ainda não tenho certeza disso...

Bruno de Carvalho Câmara
[email protected]<script data-cfhash='f9e31' type="text/javascript"> /* */</script> / (18) 9 9640-4544
 

 

 

 

 

 

 

 

 

 

facebook.png&key=5c75f89868a8711c49cc20315645ab5fd3ef2d384bf666dd888f1c280a6b75ed&resource=1 twitter.png&key=a62b8fde99e302436f4cc04056c02768d777c0d27d77011e8931ced8099246e6&resource=1 googleplus.png&key=f287787442661f4422363039ba86e9c578c4921ad397c8f0d88f31709d26c48a&resource=1 youtube.png&key=08e8d5ba725e0a7bfedfe6c9d413ff55e2febb19493974e3a1fd5160d3cabc9f&resource=1 skype.png&key=0aee9c9483d4f4dee341915e654aa361f40598341a31a62afec9f83a2734e0ad&resource=1 steam-icon.png&key=b869d73d6be3b894b7204e151a9582d3b2a84a5d853d940297fec82e1ae25b55&resource=1

 

 

 

 

 

 

 

 

 

 

btn_donateCC_LG.gif&key=ea1b6265cec82d379c00914ab97fd15478f9983200fa273984872388d20f0b62&resource=1 180x25-doar.gif&key=8671e0307e2a7fd446670d1b16671d35069b1c91bed3d028b8f7db698c59eac5&resource=1

 

"Pesadelos? Sonhos? Calma, é apenas eu pensando em você!"

 

wMwSJFE.png?1&key=101925b29f8396357ec8f63d177a708785a8da5f96f154f44e9a4c6599794673&resource=1

fadkkiler

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/02/13Posts: 12Char no Tibia: Xulosdeadforbu

vo usar nas houses nas camas, quando o cara durmir ele vai dar como se fosse um "chek point" igual ao minecraft, dai quando ele entrar dinovo, se morrer vai dar returne la xD

  • 1
  • 2