Natacao Perfeita!

Forcera
em Actions e Talkactions

Forcera

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/12/06Posts: 28Char no Tibia: Tiddox

Isso mesmo! sistema de natacao. Vi um aqui no Forum, mais ele quando saia da agua ficava com outfit de Citizen.

Mais esse voce voltara para o outfit anterior

 

PS: Tirei esse script de um outro forum. mais estava tudo errado. pois o player conseguia ficar nadando pelo server todo :boos:

Vamos la!?

 

data\movements\movements.xml - Add isso la dentro:

<movevent event="StepIn" actionid="3333" script="swimm.lua"/>

 

data\movements\scripts - cria um arquivo la dentro chamado "swimm.lua" e insira isso dentro:

 

function onStepIn(cid, item, position, fromPosition)

swimvalue = 3330 --storagevalue to check

diveroutfit = { lookType = 267, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }

 

standardoutfit = { lookType = getPlayerStorageValue(cid, 3331), lookHead = getPlayerStorageValue(cid, 3332), lookBody =

 

getPlayerStorageValue(cid, 3333), lookLegs = getPlayerStorageValue(cid, 3334), lookFeet = getPlayerStorageValue(cid, 3335), lookAddons =

 

getPlayerStorageValue(cid, 3336) }

isswimming = getPlayerStorageValue(cid, swimvalue)

if isPlayer(cid) then

if (isswimming == -1) or (isswimming == 2) then

pozycja = {x = 124, y = 58, z= 7}

if item.itemid == 4632 then

pos = {x = position.x, y = position.y - 2, z = position.z}

elseif item.itemid == 4633 then

pos = {x = position.x - 2, y = position.y, z = position.z}

elseif item.itemid == 4634 then

pos = {x = position.x, y = position.y + 2, z = position.z}

elseif item.itemid == 4635 then

pos = {x = position.x + 2, y = position.y, z = position.z}

elseif item.itemid == 4636 then

pos = {x = position.x + 2, y = position.y + 2, z = position.z}

elseif item.itemid == 4637 then

pos = {x = position.x - 2, y = position.y + 2, z = position.z}

elseif item.itemid == 4638 then

pos = {x = position.x + 2, y = position.y - 2, z = position.z}

elseif item.itemid == 4639 then

pos = {x = position.x - 2, y = position.y - 2, z = position.z}

elseif item.itemid == 4640 then

pos = {x = position.x + 2, y = position.y + 2, z = position.z}

elseif item.itemid == 4641 then

pos = {x = position.x - 2, y = position.y + 2, z = position.z}

elseif item.itemid == 4642 then

pos = {x = position.x + 2, y = position.y - 2, z = position.z}

elseif item.itemid == 4643 then

pos = {x = position.x - 2, y = position.y - 2, z = position.z}

end

setPlayerStorageValue(cid, 3331, getCreatureOutfit(cid).lookType)

setPlayerStorageValue(cid, 3332, getCreatureOutfit(cid).lookHead)

setPlayerStorageValue(cid, 3333, getCreatureOutfit(cid).lookBody)

setPlayerStorageValue(cid, 3334, getCreatureOutfit(cid).lookLegs)

setPlayerStorageValue(cid, 3335, getCreatureOutfit(cid).lookFeet)

setPlayerStorageValue(cid, 3336, getCreatureOutfit(cid).lookAddons)

setPlayerStorageValue(cid, swimvalue, 1)

doSetCreatureOutfit(cid, diveroutfit, 60000)

 

if item.actionid == 3333 then

player1pos = {x = position.x + 2, y = position.y + 2, z = position.z}

player1 = getThingfromPos(player1pos)

doTeleportThing(cid, player1pos)

doSendMagicEffect(player1pos, CONST_ME_WATERSPLASH)

end

end

if isswimming == 1 then

if item.itemid == 4632 then

dir = 2

elseif item.itemid == 4633 then

dir = 1

elseif item.itemid == 4634 then

dir = 0

elseif item.itemid == 4635 then

dir = 3

elseif item.itemid == 4636 then

dir = 3

elseif item.itemid == 4637 then

dir = 1

elseif item.itemid == 4638 then

dir = 3

elseif item.itemid == 4639 then

dir = 2

elseif item.itemid == 4640 then

dir = 3

elseif item.itemid == 4641 then

dir = 1

elseif item.itemid == 4642 then

dir = 3

elseif item.itemid == 4643 then

dir = 1

end

doSetCreatureOutfit(cid, standardoutfit, 1)

doMoveCreature(cid, dir)

setPlayerStorageValue(cid, swimvalue, 2)

end

end

return TRUE

end

 

if item.actionid == 3333: ActionID do tile que o player vai pisar para pular no lago/praia/piscina etc....

player1pos = {x = position.x + 2, y = position.y + 2, z = position.z}: Para onde o player ira para ao pisar no Tile com o ActionID

 

x + 2 e y + 2 Quantos pos ira pular para que nao tenha players "nadando" em grama .

por exemplo: faz de conta que o player tem que pisar no pos "1000 1000 7" se vc colocar X+2 ele vai se teleportar para o tile "1002 1000 7"

 

 

--->>NA AGUA COLOCAR ID 4620. Senao o player nao conseguira se mover :secret:

 

Com sua experiencia e criatividade! pode ate fazer um trampulim que nem eu! =D

 

Espero que tenho gostado!

:hi:

-xGuii

-Lil_Killa

-Forcera

Home

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/12/07Posts: 6

Cara me explica melhor isso aki

 

 

if item.actionid == 3333: ActionID do tile que o player vai pisar para pular no lago/praia/piscina etc....

player1pos = {x = position.x + 2, y = position.y + 2, z = position.z}: Para onde o player ira para ao pisar no Tile com o ActionID

 

x + 2 e y + 2 Quantos pos ira pular para que nao tenha players "nadando" em grama .

por exemplo: faz de conta que o player tem que pisar no pos "1000 1000 7" se vc colocar X+2 ele vai se teleportar para o tile "1002 1000 7"

 

 

--->>NA AGUA COLOCAR ID 4620. Senao o player nao conseguira se mover

Forcera

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/12/06Posts: 28Char no Tibia: Tiddox

Desculpa meu amigo, mais nao tem nada mais para explicar....

pra fazer/editar uma script dessas se precisa um minimo de experiencia em Scripts.

-xGuii

-Lil_Killa

-Forcera

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Além de estar faltando os créditos o título está incorreto, para algo estar perfeito o código também deve estar impecável, o que não é o caso.

 

E já que você acha ter tal "mínimo conhecimento de script possível", aprenda a edentar e usar TABs nos códigos, para mostrar isso, caso contrário, seja humilde e ajude sem humilhar as pessoas, pois você não tem cacife para isso.

[twitter]ThomazYuji[/twitter]

gabrielbrr

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/01/08Posts: 6Char no Tibia: Furias

Cara onde que eu almento o tempo para nada pq mais ou menos 2 a 5 minutos acaba e aparece o char emcima da agua

Home

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/12/07Posts: 6

Forcera eu so bem experiente em scripst mas você não sobe explicar bem pois estava codes fora de seus campos , por isso que pedi uma explicação.

 

Espero que você melhore o poste. :smile_positivo:

Heeeman

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 06/10/05Posts: 3

é...

explica direito akela parte cra...

n entendi tb...

tentei de tudo

butei o id da agua..

eu entro e talz

mas n consigo me locomover na agua!

e agora...

~~GM Waleker~~

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/01/07Posts: 736

O que leva a natação do tibia ser inperfeita?

DeadKennedy

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 03/06/07Posts: 150

@Waleker

Se está se referindo ao post do Nostradamus, ele nao falou da natasção,

e sim do Script.

 

@Post

Bem confuso... alem de que "pozycja = {x = 124, y = 58, z= 7}" está boiando ali...

Sem função nenhuma, sem nenhum uso posterior.

 

:hi:

morgado4ever

Eu sou o Kazz! ;)
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 20/10/06Posts: 164Char no Tibia: Kazz Kzupzarski

Vc retirou do OTLand e não tinha nem tem nenhum erro, vc apenas teria que colocar o piso 4620 ate onde vc ker que ele ande, então manera ai pq eu sei que isso ai é Ctrl+C e Ctrl+V!

 

-- EDIT --

pozycja = {x = 124, y = 58, z= 7} era pra o lugar onde o corpo iria caso o player morre-se, mas não deu certo e o dono do script o abandonou, pois se um corpo morre no tile 4620 (Agua que pode anda em cima) o OT buga e cai!

tibiasoul2.png

Divulgue o servidor, utilize este banner em sua assinatura.

 

WalkAlone Project

Alternative Tibia Server

O N L I N E

 

[ http://WalkAlone.servegame.Com ]

ONLINE! 24 HORAS! 8.70!

 

Nos contate agora mesmo:

tibiasoul@msn.com

_ferrari_

avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 27/12/06Posts: 202

O certo é por protection zone na água para impedir players de morrer.

Objetivos:
50 posts [x]
100 posts[x]
200 posts[x]
500 posts[x]
"Um post em um fórum deve como uma saia. Longa o suficiente para cobrir o assunto, porém curta o suficiente para manter as coisas interessantes"
Gosta de mim? Foi com minha cara? Quer me matar? Use:

Twilight

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/08/07Posts: 29

existe uma borda de areia nova q a cip fez especialmente pra essas areas de nataçao...tente colocar q quando o player pise nesses novos tiles ele entra na agua 1 sqm na frente...e quanda pisar novamente ele sair da agua...:p

Obscuro

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 01/11/07Posts: 9Char no Tibia: Anjo Darck

Botei aki e funfo perfeito, mais eu mudei algumas coisas como CONST_ME_WATERSPLASH q aki fico estranho mais o script funfo legal gostei.

Usuário Banido
Motivo: Vírus