TI

Sistema De Mergulhar

Por tibiaa4e, 03 de dez. de 2006 em Actions e Talkactions

script
59
13.4k
tibiaa4eT
03 de dezembro de 2006 às 18:47

no otfans axei um sistem de qdo se da use na borda o player é teleportado pra um andar abaixo comos e fosse mergulhar :D

 

creditos:kupi

 

uw1.png

 

e faz uma area assim embaxo ou maior

 

uw2.png

 

 

script é assim

underwater.lua

--Sistema de Underwater Automatico--

--Este sistema hace que un jugador pueda entrar en el agua namas que usando bordes de playa o bordes de rio--

 

 

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

    npos = {x=frompos.x, y=frompos.y, z=frompos.z}

 

--lados izq, der, arr, abj de los bordes de playa y rio--   

 

if item.itemid == 4634 or item.itemid == 4646 then

     npos.y = npos.y + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4632 or item.itemid == 4644 then

     npos.y = npos.y - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4635 or item.itemid == 4645 then

     npos.x = npos.x + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4647 or item.itemid == 4633 then

     npos.x = npos.x - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

 

--esquinas convexas--

 

    elseif item.itemid == 4655 or item.itemid == 4640 then

     npos.x = npos.x + 1

     npos.y = npos.y + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4654 or item.itemid == 4641 then

     npos.x = npos.x - 1

     npos.y = npos.y + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4652 or item.itemid == 4643 then

     npos.x = npos.x - 1

     npos.y = npos.y - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4653 or item.itemid == 4642 then

     npos.x = npos.x + 1

     npos.y = npos.y - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

 

--esquinas concavas--

 

    elseif item.itemid == 4636 or item.itemid == 4651 then

     npos.x = npos.x + 1

     npos.y = npos.y + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4650 or item.itemid == 4637 then

     npos.x = npos.x - 1

     npos.y = npos.y + 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4648 or item.itemid == 4639 then

     npos.x = npos.x - 1

     npos.y = npos.y - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

    elseif item.itemid == 4649 or item.itemid == 4638 then

     npos.x = npos.x + 1

     npos.y = npos.y - 1

     npos.z = npos.z + 1

     doTeleportThing(cid,npos)

 

--en excepcion, si es otro item no especificado lo que sucederia. En este caso solo bajaria el piso sin mover hacia ningun lado--

 

    else

     npos.z = npos.z - 1

     doTeleportThing(cid,npos)

    end

 

    return 1

   end

 

e em actions.xml

<!-- Sistem Underwater -->

 

<action itemid="4646" script="underwater.lua" />

<action itemid="4634" script="underwater.lua" />

<action itemid="4632" script="underwater.lua" />

<action itemid="4644" script="underwater.lua" />

<action itemid="4635" script="underwater.lua" />

<action itemid="4645" script="underwater.lua" />

<action itemid="4647" script="underwater.lua" />

<action itemid="4633" script="underwater.lua" />

<action itemid="4655" script="underwater.lua" />

<action itemid="4640" script="underwater.lua" />

<action itemid="4654" script="underwater.lua" />

<action itemid="4641" script="underwater.lua" />

<action itemid="4652" script="underwater.lua" />

<action itemid="4643" script="underwater.lua" />

<action itemid="4653" script="underwater.lua" />

<action itemid="4642" script="underwater.lua" />

<action itemid="4636" script="underwater.lua" />

<action itemid="4650" script="underwater.lua" />

<action itemid="4651" script="underwater.lua" />

<action itemid="4637" script="underwater.lua" />

<action itemid="4648" script="underwater.lua" />

<action itemid="4639" script="underwater.lua" />

<action itemid="4649" script="underwater.lua" />

<action itemid="4638" script="underwater.lua" />

 

uw3.png

 

naum testei pq eu uso outro sistema :p

 

comentem

 

flws :hi:

Editado Dezembro 3 por tibiaa4e

Gm DuduG
03 de dezembro de 2006 às 19:07

não entendi

buster287B
03 de dezembro de 2006 às 19:25

:nuts: Orra cara muito loko isso, é melhor q ter q por barco ou teleprote para ir debaixo d'agua. vlw kra!

 

Mas tipo vc falo q usa um otro sistema?

Fla como ele é ou qual a diferença

Conde do Monte CristoC
03 de dezembro de 2006 às 19:36

Que irado! Parabéns.

tibiaa4eT
03 de dezembro de 2006 às 20:06

Ele é + rl

só ainda naum ta funfando

qdo o player anda no tile da agua (especial)

da o efeito de agua e o player é teleportado pro andar da agua

+ rl

qdo eu termina ele posto aki

 

flws :hi:

GM MatthorG
03 de dezembro de 2006 às 20:58

ond coloka o underwater.lua????

RiCk.xDR
03 de dezembro de 2006 às 22:01

Action muito interessante pelo geito no Revenger terá =], parabens por trazer pra gente aqui.

 

//RiCk.xD

03 de dezembro de 2006 às 22:19

Parabens, obrigado por traze-la pro xtibia!

04 de dezembro de 2006 às 05:30

Se não der bug aqui quando o jogador der "use" em borda que não tenha passagem embaixo, perfeito.

lobiilecterL
06 de dezembro de 2006 às 13:08

ow tibiaa4e... eu tava pensando... tipo.. pra não ficar toda borda fazendo isso... vc podia por pra verificar o chão que estaria abaixo da borda (tipo.. se tivesse uma cave q passasse por baixo da borda acidentalmente o player iria pra ela... e isso eu axo q não eh legal)...

intaum podia antes de teletransportar o player verificar se era lugar pra mergulhar tipo... tu podia especificar alguns pisos que ficariam no lugar que o cara mergulharia e antes de mandar o cara a borda verificaria se o local era ou não pra mergulho.. ta ligado? assim resolve o problema q o sky hunter botou

tibiaa4eT
06 de dezembro de 2006 às 16:57
ow tibiaa4e... eu tava pensando... tipo.. pra não ficar toda borda fazendo isso... vc podia por pra verificar o chão que estaria abaixo da borda (tipo.. se tivesse uma cave q passasse por baixo da borda acidentalmente o player iria pra ela... e isso eu axo q não eh legal)...

intaum podia antes de teletransportar o player verificar se era lugar pra mergulhar tipo... tu podia especificar alguns pisos que ficariam no lugar que o cara mergulharia e antes de mandar o cara a borda verificaria se o local era ou não pra mergulho.. ta ligado? assim resolve o problema q o sky hunter botou

 

 

teria q fazer um sistema de actionid

e to sem tempo ...

se alguem fizer eu posto como alternativa

 

flws :hi:

lobiilecterL
06 de dezembro de 2006 às 17:29
teria q fazer um sistema de actionid

e to sem tempo ...

se alguem fizer eu posto como alternativa

 

flws  :hi:

 

não pow... tipo... na action num dis a posição destino...

eh só colocar no destino 'stackpos = 0' e por tile = getThingFromPos("destino") e depois verificar se tem o tile de mergulho tipo...

if tile.uid == "tile de mergulho" then

mergulha

end

YukazyczY
07 de dezembro de 2006 às 10:03

#topic,

 

Muito bom, ajuda muitos servers, baseado no RPG.

 

Tutorial aprovado

 

 

//Yuka~

 

:hi:

ademirA
08 de dezembro de 2006 às 01:12

Muito loco isso, eu fiz em 7.6 e funcionou :blink:

 

brigadão, isso ajudou bastante :D

KesleyK
08 de dezembro de 2006 às 01:23

Óiiiaaa...mtuuu Shoowww esse Sistemaaa aii \o\

 

Gostei ;D