Ir para conteúdo

Teleporte ~


salvatore

Posts Recomendados

Hail Xtibianos,

 

Neste tutorial irei explicar como você podera criar um lugar que quando o player der use na fonte de energia ele volte para a posição que ele salvo... Vou explicar...

 

Quando o player der use no "ponto de retorno" ira aparecer uma msg assim:

 

§Salvo§. Ele recebera uma Fonte de Energia vazia ( fontedemagiavaziaby6ki4.png ), para ele se teleporta de volta para o lugar aonde ele salvo ele presisara de uma fonte de energia cheia, que sera conseguido quando ele dizer a palavra magia "pokos" , quando ele dizer essas palavras metade da mana dele sera enviada para a fonte de magia, que se transformara em uma Fonte de magia cheia ( fontecheiahb4ou5.png )

 

Mas nem tudo é tão bom, quando você der use para ser teleportado podem acontecer 5 situações:

 

Você pode ser teleportado:

Mensagem que aparece: Você foi teleportado

 

Oque acontecera: Você sera teleportado

'

Pode ocorrer um vazamento:

Mensagem que aparece: Ouve um vazamento de magia na fonte, tente novamente

 

Oque acontecera: Nada acontecerá, apenas a fonte de magia ficara vazia novamente, e você ira presisar enche ela novamente

'

A fonte de magia pode se romper:

Mensagem que aparece: A fonte de magia se rompeu

 

Oque acontecera: O player perdera a fonte de magia, podera perde entre 100 e 500 de hp, e a posição salva será perdida

'

Podera acontecer algum erro:

Mensagem que aparece: Aconteceu algum erro na hora de teleporta, mas você foi teleportado

 

Oque acontecera: O player sera teleportado e perdera um pouco de Hp

'

Podera acontecer algum erro grave:

Mensagem que aparece: Ocorreu um erro grave na fonte de magia, mas você foi teleportado

 

Oque acontecera: O player sera teleportado e perdera todo sua mana e ficara com apenas 1 de Hp

 

| CRIANDO OS PONTOS DE RETORNO |

 

Antes de começar, crie pontos onde o player ira salvar sua posição, para fazer isso coloque um objeto, como por exemplo aquelas estatuas de anjo que geralmente se encontra nos templos, apos escolher uma estatua, ou qualquer outro objeto que não se mova adicione nele 1 ActionId ( aqui no script eu irei usar o ActionId 7005 )

 

| Fazendo o script da palavra magica |

 

Va na pasta do seu ot e va até data/talkactions/scripts, copie qualquer arquivo de la e renomei para telepo.lua, apague tudo que estiver la dentro e cole isso:

 

function onSay(cid, words, param)

 

estatua = getPlayerStorageValue(cid,9001)

magic = getPlayerStorageValue(cid,9000)

mana = getPlayerMana(cid)

 

if estatua == 1 then

if magic == -1 then

if getPlayerItemCount(cid,4863) > 0 then

if mana > 1 then

 

iten = getPlayerPosition(cid)

 

ob = doPlayerAddItem(cid,4864,1)

doSetItemActionId(ob,7006)

doSetItemSpecialDescription(ob,"Fonte de magia cheia")

doPlayerAddMana(cid,-mana/2)

doPlayerRemoveItem(cid,4863,1)

doPlayerSay(cid,'pokos',16)

doPlayerSendTextMessage(cid, 24,'Você Carregou a fonte de magia')

doSendMagicEffect(iten,29)

doSendMagicEffect(iten,17)

setPlayerStorageValue(cid,9000,1)

 

else

doPlayerSendTextMessage(cid, 21,'Você não tem mana suficiente para carregar a fonte de magia')

 

end

else

doPlayerSendTextMessage(cid, 21,'Você presisa de uma fonte de magia vazia')

 

end

else

doPlayerSendTextMessage(cid, 21,'Você ja encheu com magia')

 

end

 

else

doPlayerSay(cid,'pokos',1)

end

end

 

Explicando:

 

7006 --> Coloque aqui um ActionId que não esteja em uso ainda

 

| Fazendo o script do Teleport |

 

Abra a pasta do seu ot e va até data/actions/scripts, copie qualquer arquivo de la e renomei para telep.lua, apague tudo que estiver la dentro e cole isso:

 

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

 

estatua = getPlayerStorageValue(cid,9001)

 

if item.actionid == 7005 then

if estatua == -1 then

 

tele = getPlayerPosition(cid)

ob = doPlayerAddItem(cid,4863,1)

doSetItemActionId(ob,7007)

doSetItemSpecialDescription(ob,"Fonte de magia vazia")

doSendAnimatedText(tele,'Salvo',215)

doSendAnimatedText(tele,'§ ---- §',200)

setPlayerStorageValue(cid,9001,1)

 

else

doPlayerSendTextMessage(cid, 24,'Você ja tem uma posição salva')

 

end

end

 

pos = getPlayerPosition(cid)

rand = math.random(1, 5)

hp = math.random(100, 500)

mana = getPlayerMana(cid)

hp1 = getPlayerHealth(cid)

 

if item.actionid == 7007 then

doPlayerSendTextMessage(cid, 24,'Para você ser teleportado, você presisa carregar isto com magia')

end

 

if item.actionid == 7006 then

if rand == 1 then

 

setPlayerStorageValue(cid,9001,-1)

setPlayerStorageValue(cid,9000,-1)

doSendMagicEffect(topos,2)

doRemoveItem(item.uid,1)

doTeleportThing(cid,tele)

doSendMagicEffect(tele,10)

doPlayerSendTextMessage(cid, 24,'Você foi teleportado')

 

elseif rand == 2 then

 

setPlayerStorageValue(cid,9000,-1)

doSendMagicEffect(topos,2)

doRemoveItem(item.uid,1)

ob = doPlayerAddItem(cid,4863,1)

doSetItemActionId(ob,7007)

 

doSetItemSpecialDescription(ob,"Fonte de magia vazia")

doPlayerSendTextMessage(cid, 24,'Ouve um vazamento de magia na fonte, tente novamente')

 

elseif rand == 3 then

 

setPlayerStorageValue(cid,9001,-1)

setPlayerStorageValue(cid,9000,-1)

doSendAnimatedText(pos, hp, 180)

doSendMagicEffect(pos,13)

doPlayerAddHealth(cid,-hp)

doSendMagicEffect(topos,2)

doRemoveItem(item.uid,1)

doPlayerSendTextMessage(cid, 24,'A fonte de magia se rompeu')

 

 

elseif rand == 4 then

 

setPlayerStorageValue(cid,9001,-1)

setPlayerStorageValue(cid,9000,-1)

doSendMagicEffect(topos,2)

doRemoveItem(item.uid,1)

doTeleportThing(cid,tele)

doSendAnimatedText(tele, hp/2, 180)

doSendMagicEffect(tele,10)

doPlayerAddHealth(cid,-hp/2)

doPlayerSendTextMessage(cid, 24,'Aconteceu algum erro na hora de teleporta, mas você foi teleportado')

 

elseif rand == 5 then

 

setPlayerStorageValue(cid,9001,-1)

setPlayerStorageValue(cid,9000,-1)

doSendMagicEffect(topos,2)

doRemoveItem(item.uid,1)

doTeleportThing(cid,tele)

doSendAnimatedText(tele, hp1-1, 180)

doSendMagicEffect(tele,10)

doPlayerAddMana(cid,-mana)

doPlayerAddHealth(cid,(-hp1)+1)

doPlayerSendTextMessage(cid, 24,'Ocorreu um erro grave na fonte de magia, mas você foi teleportado')

 

end

 

end

end

 

Explicando:

 

7005 --> Coloque o ActionId que você colocou nos pontos de retorno

 

7007 --> Coloque aqui outro ActionId que ainda não esteja em uso

 

7006 --> Coloque aqui o ActionId que nós colocamos no script da palavra magica, que aqui no caso foi 7006

 

100 --> Aqui é o minimo de hp que ira tirar do player em caso de erro

 

500 --> Aqui é o maximo de hp que ira tirar do player

 

| Adicionando as Tags |

 

Abra a pasta do seu ot e va em data/actions/ e abra o arquivo actions.xml e adicione isso:

 

<action actionid="7007" script="telep.lua" />

<action actionid="7006" script="telep.lua" />

<action actionid="7005" script="telep.lua" />

 

Explicando:

 

Em Azul --> São os ActionIds que nos usamos nos 2 scripts

'

telep.lua --> Nome do arquivo que nos criamos (o script do teleporte)

 

 

agora abra a pasta do seu ot e va em data/talkactions/ e abra o arquivo talkactions.xml e adicione isso:

 

<talkaction words="pokos" script="telepo.lua" />

 

telepo.lua --> Nome do script que nos criamos (o script da palavra magica)

 

-> Mais um tutorial termina por aqui, dê sugestoes, duvidas, ideias e etc.. até mais! <-

 

Créditos: D@rK

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...