Ir para conteúdo
Entre para seguir isso  
Boliinha

Aula de Movements

Recommended Posts

Boliinha    0
Boliinha

Hello~

 

eu fiz a Aula de talkactions, agora vo fazer uma de movements =D

 

function onStepIn(cid, item, pos)

ou

function onStepOut(cid, item, pos)

 

end

 

onStepIn => é quando a pessoa passar por cima do tile(chão), e acontece a açao especificada

onStepOut => é usado geralmente em scripts de Dp(Depot), quando a pessoa sai de cima do tile(chão), a ação q foi indicada no para,onStepIn,volta ao normal//a pos é pra onde vc saiu(despisou) e frompos é de onde vc veio antes de sair.(Nord q pediu tbm)

cid => é a pessoa q passou por cima (Creature)

item => é o item ou chao que o player passou por cima

pos => No onStepIn a pos é onde vc pisou e frompos é de onde vc veio antes de pisar.

No onStepOut a pos é pra onde vc saiu (despisou) e frompos é de onde vc veio antes de sair.

 

Explicaçao: Geralmente todos os scripts de movements começam assim, ou do modo abaixo \/

 

 

function onEquip(cid, item, slot)

 

end

 

onEquip => usado para itens, ao equipar o item acontecera a açao determinada. Exemplo: boh

cid => a pessoa q usou (Creature)

item => o item q está sendo usado

slot => so funciona ao colocar no lugar dos equipes.Exemplo: boh, so serve ao colocar no slot de boots

 

Exemplo.1:

 

function onStepIn(cid, item, position, fromposition)

 

pos= {x=197, y=203, z=7}

msg = "Bem-Vindo a Aula"

posplayer = getPlayerPosition(cid)

 

if item.actionid == 9992 then

doPlayerSendTextMessage(cid, 22, msg)

doSendMagicEffect(posplayer,2)

doTeleportThing(cid,pos)

doSendMagicEffect(pos,10)

end

end

 

Explicação: quando o player passa no chão,com a actionid 9992, ele será teletransportado para a posiçao especificada(pos), receberá uma mensagem(msg).

 

no movements.xml adicionará isso:

 

<movevent event="StepIn" actionid="9992" script="teleport.lua"/>

 

Exemplo.2:

 

 

function onStepIn(cid, item, position, fromPosition)

local ground = getThingfromPos({x = position.x, y = position.y, z = position.z, stackpos = 0})

local positions = {

[0] = {x = position.x, y = position.y-1, z = position.z},

[1] = {x = position.x+1, y = position.y, z = position.z},

[2] = {x = position.x, y = position.y+1, z = position.z},

[3] = {x = position.x-1, y = position.y, z = position.z},

[4] = {x = 111, y = 109, z = 7} --posição do meio de campo

}

doTeleportThing(item.uid, positions[getPlayerLookDir(cid)], FALSE)

if (ground.actionid == 2559) then

doSendAnimatedText(getPlayerPosition(cid), 'GOOOOOOLLLL)', 184)

doTeleportThing (item.uid, positions[4], FALSE)

end

end

 

 

Explicação: Quando o player passa por cima da bola ela vai andar 1 sqm a sua frente.E vai manda um animated text em cima escrito “GOOOOOOLLLL”

 

Isso ficaria no movements.xml

 

 

<movevent event="StepIn" itemid="2109" script="arquivo.lua"/>

 

 

Exemplo.3: Esse é o script do Dp(Depot)

 

 

function onStepIn(cid, item, pos)

if isPlayer(cid) then

actionid = 101

if item.actionid > 100 and item.actionid < 125 then

actionid = item.actionid

end

 

if actionid > 100 then

if (getTilePzInfo(pos) == TRUE) then

depotitems = getPlayerDepotItems(cid, actionid - 100)

 

if depotitems == 1 then

doPlayerSendTextMessage(cid, 20, 'Your depot contains 1 item.')

else

doPlayerSendTextMessage(cid, 20, 'Your depot contains '.. depotitems ..' items.')

end

end

end

end

 

if item.itemid == 446 or item.itemid == 416 or item.itemid == 3216 then

doTransformItem(item.uid, item.itemid+1)

elseif item.itemid == 426 then

doTransformItem(item.uid, 425)

end

end

 

function onStepOut(cid, item, pos)

if item.itemid == 447 or item.itemid == 417 or item.itemid == 3217 then

doTransformItem(item.uid, item.itemid-1)

elseif item.itemid == 425 then

doTransformItem(item.uid, 426)

end

end

 

 

Explicação: quando o player pisar no tile(chão) com id 101,vai checar uns comandos de action q n vou explicar(onStepIn),e vai aparecer uma mensagem dizendo quantos itens vc tem (“Your depot contains 1 item.”) e quando vc sair o tile voltará ao normal e seu depot vai “fexar”(onStepOut).

 

O tutorial fica por aki,Espero ter ajudado vcs

Flw’s ai

Credits: 98% by me

2% pro evolutions pelo script de footbal.

Editado por Boliinha

Compartilhar este post


Link para o post
Nord    2
Nord

Tutorial bem explicado, mas da uma complementada sobre o pos.

No onStepIn a pos é onde vc pisou e frompos é de onde vc veio antes de pisar.

No onStepOut a pos é pra onde vc saiu(despisou) e frompos é de onde vc veio antes de sair.

Outro script útil para tornar um tile não andável é o walkback na pasta movements do TFS.

 

Aprovado!!

Compartilhar este post


Link para o post
Boliinha    0
Boliinha

@Nord

Já modifiquei ali como vc pediu

Compartilhar este post


Link para o post
NoWay    0
NoWay

Achei bem legal, com exemplos e cores para facilitar (só não gostei do verde muito claro no começo, mas está bem formatado).

Nunca fui bem chegado nessas coisas, mas deu pra entender.

Parabéns!

Compartilhar este post


Link para o post
joaovitor31    0
joaovitor31

function onStepIn(cid, item, position, fromposition)

+++++

Corrigindo Troque a Posicao para ond kiser

pos= {x=197, y=203, z=7}

msg = "Bem-Vindo a Aula"

posplayer = getPlayerPosition(cid)

 

if item.actionid == 9992 then

doPlayerSendTextMessage(cid, 22, msg)

doSendMagicEffect(posplayer,2)

doTeleportThing(cid,pos)

doSendMagicEffect(pos,10)

end

end

Compartilhar este post


Link para o post
joaovitor31    0
joaovitor31

Doem-Me Ot$ E Faca 1 Nb Feliz

___________________

 

~.~ApRoVaDo ~.~

Compartilhar este post


Link para o post
Smile0    0
Smile0

pos => é a posição do item ou do player(n me lembro)

 

Achei que você estava pra explicar.. mais tudo bem.. da pra enteder alguma coisa..

 

Flw

Compartilhar este post


Link para o post
Boliinha    0
Boliinha

@Smile0

ajeitei la ve se entende melhor

Compartilhar este post


Link para o post
Kal'Torak    0
Kal'Torak

Uma aula simples, porém muito útil!

Alias com essa função da pra fazer uma infinidades de coisas é só ter criatividade e saber fazer é claro...

 

E só explicando:

No StepIn a pos é o local onde você pisa para acontecer a ação

No StepOut a pos é o local aonde você sai do piso para fazer a ação

o frompos como dito é o local da onde você estava nos dois tipos

Compartilhar este post


Link para o post
Attux    0
Attux

Se Alguem Suber Como Programar Server is Saving Do Global Sertinho Automatico Me Add Msn [email protected] quero pega ese script e por no meu mapa global!! Akele Auto Save Do Global Tipo Asim Server is saving game in 10 minutes. Please come back in few minutes. <<< ese ae Me Ajudem AE!!! Versao 8.22

Compartilhar este post


Link para o post
Gpwjhlkdcf    21
Gpwjhlkdcf

Bom tutorial. O tipo de script que eu mais tinha dúvidas era de Movements, agora já sei mexer com ele também =D.

Vai ajudar bastante gente e está muito bem formatado.

Compartilhar este post


Link para o post
Lord.maagnus    0
Lord.maagnus

What is the scriipt ? ;x

Compartilhar este post


Link para o post
kleiton00    0
kleiton00

como fasso para faser uma magia que empurre?

 

se souber mim ajuda plz ^^

Compartilhar este post


Link para o post
hagrifield    0
hagrifield

Boa tuto kra, estava precisando desse aí também, porque eu estou mexendo com uma coisa em que eu não sabia que ficava no movements, então você me mostrou isso e estou feliz =D!

Eu começei não faz nem uma semana e já estou sabendo mexer nas scripts =)!

Até mais!

Compartilhar este post


Link para o post
joaovitor31    0
joaovitor31

vdd so artruma aleww

Compartilhar este post


Link para o post
Guilherme Mapper    0
Guilherme Mapper

Bem legal, Pergunta vc e scripter?

Compartilhar este post


Link para o post
VanessaAduartel    0
VanessaAduartel

OtimaaaH aula =D

obrigadaa

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×