AB

Sistema De Nadar Quase Perfeito!

Por Abacate123, 19 de jan. de 2008 em Actions e Talkactions

otserv
tibia
script
14
5.8k
Abacate123A
19 de janeiro de 2008 às 18:09

Script feito 99% por mim

1% pela equipe aries(foi baseado no npc da versão 0.4.0)

So foi testado na versão 8.1 aries 0.4.0

o script é 90% igual ao do tibia...

so falta por um em cada borda e cair na respectiva "água" mas para isso teria de ser feito 2 scripts para cada borda...

e tambem quando você sai da água sua outfit virá a do Citizen

 

salve como nadar1.lua

-- Sistema de nadar 90% igual ao tibia Global

-- Script criado 100% por Kiko5 do Xtibia

-- Script baseado no npc de natação do aries 0.4.0

-- Script 100% funcionando, siga as instruções presentes no script para um bom funcionamento

 

 

 

function onStepIn(cid, item, pos)

 

 

if(item.actionid == 9990) then --action id

if isPlayer(cid) == 1 then

travel(cid, 1260, 942, 7) --aqui ponha as coordenadas em que o player ira aparecer(na agua)

doSetSwimEffect(cid, "Swimmer", 31536000000) --outfit apos entrar na agua

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_WATERSPLASH)

else

selfSay('Desculpe, mas voce nao podera nadar!') --messagem que ira aparecer caso não possa entrar na agua

end

end

end

somente edite a parte que está colorida

Action ID é o id que vc vai por no mapa editor(na borda da praia)

e o otro é as coordenadas para onde será teleportado

 

 

salve como nadar2.lua

-- Sistema de nadar 90% igual ao tibia Global

-- Script criado 100% por Kiko5 do Xtibia

-- Script baseado no npc de natação do aries 0.4.0

-- Script 100% funcionando, siga as instruções presentes no script para um bom funcionamento

 

 

 

function onStepIn(cid, item, pos)

 

if(item.actionid == 9991) then --action id

if isPlayer(cid) == 1 then

travel(cid, 1252, 942, 7) --aqui ponha as coordenadas em que o player ira aparecer(na terra)

doSetSwimEffect(cid, "Citizen", 10000) --outfit apos sair da agua

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_BUBBLES)

doPlayerSendTextMessage(cid,22,"Redefina seu outfit.") --mensagem que aparecerar para o player apos ele sair da agua

else

selfSay('Desculpe, mas voce não podera sair da agua!')--messagem que ira aparecer caso não possa sair da agua

end

end

end

 

 

somente edite a parte que está colorida

Action ID é o id que vc vai por no mapa editor(na água da praia onde o player nadará)

e o otro é as coordenadas para onde será teleportado

 

no arquivo \data\movements\movements.xml adicione isso

<movevent event="StepIn" actionid="9990" script="nadar1.lua" />

<movevent event="StepOut" actionid="9991" script="nadar2.lua" />

 

 

Não permito que postem em forum nenhum!!!

Editado Janeiro 20 por kiko5

hell_eyserH
19 de janeiro de 2008 às 18:26

Boa creatividade ....

 

Vou fazer os scripts aki dps vejo se ficou bom !

 

 

Cya Then !

dark ageD
19 de janeiro de 2008 às 18:40

TOPIKO

 

BOM FUNFO NO MEU LELOOOO :thumbsupsmiley:

Editado Janeiro 20 por dark age

BlastmenB
19 de janeiro de 2008 às 20:03

Pelo que eu sei de scripts, esse script vai na pasta Data/movements/scripts.

 

Essas duas linhas abaixo que peguei do tópico e postei para ajudar:

<movevent event="StepIn" actionid="9990" script="nadar1.lua" />

<movevent event="StepOut" actionid="9991" script="nadar2.lua" />

 

Vão no arquivo movements.xml que está dentro da pasta movements.

Me corrijam se eu estiver errado.

 

@Kiko5, no primeiro script nadar1.lua a actionid está 9991 igual o nadar2.lua, então no nadar1.lua não tem que ser o 9990?

Corrija, senão haverá gente com dúvida nessa parte.

 

 

Edit: aqui não deu certo e eu uso o Aries 0.4.0 [8.1].

Cya~~

Editado Janeiro 19 por Blastmen

Abacate123A
20 de janeiro de 2008 às 00:39

@Blastmen

valeu, vou corrigir agora ^^

 

Caso vc saiba fazer um script com os 2 juntos(para ficar menos arquivos) seria bom, eu pensei em pegar

if(item.actionid == 9991) then --action id

if isPlayer(cid) == 1 then

travel(cid, 1252, 942, 7) --aqui ponha as coordenadas em que o player ira aparecer(na terra)

doSetSwimEffect(cid, "Citizen", 10000) --outfit apos sair da agua

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_BUBBLES)

doPlayerSendTextMessage(cid,22,"Redefina seu outfit.") --mensagem que aparecerar para o player apos ele sair da agua

else

selfSay('Desculpe, mas voce não podera sair da agua!')--messagem que ira aparecer caso não possa sair da agua

end

end

 

e por antes do ultimo end, mas estou em duvida se irá funcionar...

 

Sim é na pasta movementes!!!

vou por la em cima para que aja menos duvidas...

Editado Janeiro 20 por kiko5

Conde SapoC
20 de janeiro de 2008 às 03:10

otimo topico

 

estou enviando dicas por PM

 

 

:XTibia_smile:

TyrandeT
20 de janeiro de 2008 às 10:05

Pessoalmente, acho que esse movement devia ser algo abstrato, que servisse para todas as ocasiões sem precisar ser editado. Tá muito bom mesmo assim :smile_positivo:

soulblasterS
20 de janeiro de 2008 às 11:12

Hiho!

 

travel()

doSetSwimEffect()

funçoes novas? se foi voce que fez, poste elas junto.

e olha, não esta nem perto da perfeição, veja no tibia como funciona (:

cada tile teleporta pra um local diferente, mas ainda sim é uma constante.

bom,

 

cya ^^

Abacate123A
20 de janeiro de 2008 às 15:51

@Soulblaster

como eu disse, no aries 0.4.0 ja vem com essas funções...

e sim é possivel fazer igualsinho ao do tibia, o Conde Sapo me deu umas dicas e vou tentar por elas no script, pois com elas ai sim ficaria 100%

 

@Conde Sapo

vlw pelas dicas

1 mês depois...
Felp321F
28 de fevereiro de 2008 às 14:38

N deu certo no meu :( o cara nao parece nadando e n se move :( pfv mme AJUDA EU KERU MT0O UM SISTEMA DE NATACAO!

1 mês depois...
guizo3G
15 de março de 2008 às 14:00

tpw

xD

que sacanagem

meu OT qndu eu entro nas bordas diz que desconhece a função "travel" <global nil function>

lol

tem como eu adicionar essa função no meu ot ou pelomenos trocar essa função por uma semelhante?

 

 

 

vlw cYa~~

TwilightT
15 de março de 2008 às 19:16
tpw

xD

que sacanagem

meu OT qndu eu entro nas bordas diz que desconhece a função "travel" <global nil function>

lol

tem como eu adicionar essa função no meu ot ou pelomenos trocar essa função por uma semelhante?

 

 

 

vlw cYa~~

 

tente trocar o "travel" por "doTeleportThing"

brunoxzyB
21 de março de 2008 às 16:50

muitoo bom so tem alguns bugzinhos mas ta bom demais ^^

4 anos depois...
09 de novembro de 2012 às 01:32

Não funfou aqui não aparece nada não da sinal alguum ... =/

 

não funfou fiz tudo certo mais acho que é por causa disso >> 1260, 942, 7) --aqui ponha as coordenadas em que o player ira aparecer(na agua)

1260, 942, 7) --aqui ponha as coordenadas em que o player ira aparecer(na terra)não sei se coloquei certo explica melhor tem que colocar todas as cordenadas que o boneco nada e as da terra explica melhor !