Ir para conteúdo

Posts Recomendados

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:

Editado por Forcera
Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/
Compartilhar em outros sites

  • Respostas 36
  • Created
  • Última resposta

Top Posters In This Topic

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

Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/#findComment-465147
Compartilhar em outros sites

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.

Editado por Nostradamus
Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/#findComment-465307
Compartilhar em outros sites

@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:

Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/#findComment-466350
Compartilhar em outros sites

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!

Editado por morgado4ever
Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/#findComment-466841
Compartilhar em outros sites

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

Link para o comentário
https://xtibia.com/forum/topic/74893-natacao-perfeita/#findComment-467760
Compartilhar em outros sites


×
×
  • Criar Novo...