Boliinha 0 #1 Posted October 12, 2008 (edited) 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. Edited October 19, 2008 by Boliinha Share this post Link to post
Nord 2 #2 Posted October 12, 2008 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!! Share this post Link to post
Boliinha 0 #3 Posted October 12, 2008 @Nord Já modifiquei ali como vc pediu Share this post Link to post
NoWay 0 #4 Posted October 12, 2008 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! Share this post Link to post
joaovitor31 0 #5 Posted October 13, 2008 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 Share this post Link to post
joaovitor31 0 #6 Posted October 13, 2008 Doem-Me Ot$ E Faca 1 Nb Feliz ___________________ ~.~ApRoVaDo ~.~ Share this post Link to post
Smile0 0 #7 Posted October 19, 2008 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 Share this post Link to post
Boliinha 0 #8 Posted October 19, 2008 @Smile0 ajeitei la ve se entende melhor Share this post Link to post
Kal'Torak 0 #9 Posted October 19, 2008 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 Share this post Link to post
Attux 0 #10 Posted October 24, 2008 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 Share this post Link to post
Gpwjhlkdcf 21 #11 Posted October 25, 2008 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. Share this post Link to post
kleiton00 0 #13 Posted November 8, 2008 como fasso para faser uma magia que empurre? se souber mim ajuda plz ^^ Share this post Link to post
hagrifield 0 #14 Posted December 10, 2008 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! Share this post Link to post
Guilherme Mapper 0 #16 Posted May 1, 2009 Bem legal, Pergunta vc e scripter? Share this post Link to post