Ir para conteúdo

Dive System [8.54+]


Saymon14

Posts Recomendados

Bom ontem a noite em quanto eu tava cagando tive a idéia do DIVE SYSTEM que é o player chegar em uma area com Agua (Walkable) e falar o comando !dive e ser teletransportado para dentro do Mar...

 

CREDITOS: modifiquei o Fly system do usuario Forcera... Link Original: CLIKE AKI

 

 

Bom primeira coisa a fazer criar uma area com agua (Walkable) no Floor '7' e criar uma area Underwater no Floor '14', Depois adicione os seguintes Scripts na Pasta \data\talkactions\scripts

 

COMANDO: !DIVE

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos = {x=flypos.x, y=flypos.y, z=flypos.z + 7} 
pos = getCreaturePosition(cid)

if pos.z == 7 then
if doTeleportThing(cid, npos) then 
doSendMagicEffect(npos, 14)
else
return 0
end
end
return TRUE
end

 

Esse comando faz voce ir para o fundo do Mar

 

COMANDO: !BACK

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos2 = getPlayerMasterPos(cid)
poszao = {x=flypos.x, y=flypos.y, z=flypos.z - 7}
pos = getCreaturePosition(cid)

if pos.z == 14 then
doTeleportThing(cid, poszao)
doSendMagicEffect(poszao, 14)
end
end

 

Esse comando faz voce voltar para o Floor 7

 

TAGS:

 

	<talkaction words="!dive" event="script" value="dive.lua"/>
<talkaction words="!back" event="script" value="backdive.lua"/>  

 

SS 01(Em cima da Agua Walkable):

 

dive1.JPG

 

SS 02 (Fundo do Mar):

 

dive2.JPG

 

Bom Esse Script nao precisa de Outfit propio pois no Tibia Global nao se usa outfit no fundo do mar (colocar o outfit do Swimmer nao presta porque nao combina com a agua)

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

fikaria melhor assim o comando !dive:

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos = {x=flypos.x - 7, y=flypos.y - 7, z=flypos.z + 7} 
pos = getCreaturePosition(cid)

if pos.z == 7 then
if doTeleportThing(cid, npos) then 
doSendMagicEffect(npos, 14)
else
return 0
end
end
return TRUE
end

 

e o !back ficaria melhor assim :

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos2 = getPlayerMasterPos(cid)
poszao = {x=flypos.x + 7, y=flypos.y + 7, z=flypos.z - 7}
pos = getCreaturePosition(cid)

if pos.z == 14 then
doTeleportThing(cid, poszao)
doSendMagicEffect(poszao, 14)
end
end

 

pq na hora de subir o cara iria aparecer como se ele só tivesse subido , mas permanecido no mesmo lugar e na hora de voltar ele voltaria ao title q ele "acredita q está em cima "

Link para o comentário
Compartilhar em outros sites

fikaria melhor assim o comando !dive:

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos = {x=flypos.x - 7, y=flypos.y - 7, z=flypos.z + 7} 
pos = getCreaturePosition(cid)

if pos.z == 7 then
if doTeleportThing(cid, npos) then 
doSendMagicEffect(npos, 14)
else
return 0
end
end
return TRUE
end

 

e o !back ficaria melhor assim :

function onSay(cid, words, param, channel)

flypos = getCreaturePosition(cid)
npos2 = getPlayerMasterPos(cid)
poszao = {x=flypos.x + 7, y=flypos.y + 7, z=flypos.z - 7}
pos = getCreaturePosition(cid)

if pos.z == 14 then
doTeleportThing(cid, poszao)
doSendMagicEffect(poszao, 14)
end
end

 

pq na hora de subir o cara iria aparecer como se ele só tivesse subido , mas permanecido no mesmo lugar e na hora de voltar ele voltaria ao title q ele "acredita q está em cima "

 

Acontece é o contrario que voce falou, porque usando seu Script ele nao vai sair no mesmo tile que ele estava no Floor 14, eu testei aqui ele ta aparecendo em cima de arvores, do jeito que eu deixei ta melhor

 

Espero que nao se importe :blush:

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

  • 2 weeks later...
  • 9 months later...
  • 2 years later...
×
×
  • Criar Novo...