Ir para conteúdo

Carrinho De Mina


Mendez

Posts Recomendados

-------------------------------

Nome: Carrinho de Mina

Versão: 8.1

Tipo do script: Action

Servidor Testado: The Forgotten Server 0.2.9

Autor: Mustorze

-------------------------------

Esse é um script q faz vc andar num carrinho de mina, parecido com o tapete q voa e o barco q navega. =D

 

Vamos começar pelo mapa,

1º Passo :Vc tem q fazer um sistemas de trilho faça o inicio +- assim:

 

screenshot001il9.th.png

 

e o final +- assim:

 

screenshot002en2.th.png

 

 

 

2º Passo : Colocar unique id do carrinho de 9874(caso vc não mude o unique id no script), terminando de fazer os sistema de trilhos(não importa o tamanho, akeles servem so comoexemplo) e hora de começar o script

 

3º Passo : fazendo o script, vo colocar aki um exemplo e logo depois explicar ele

 

local VELO = 300

local VELO2 = 100

 

local function move6(item)

centerpos = {x=77, y=47, z=7}

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

 

playerpos1.y = playerpos1.y-2

playerpos1.z = playerpos1.z-1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move7, VELO, item)

end

 

local function move5(item)

centerpos = {x=77, y=48, z=7}

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

playerpos1.y = playerpos1.y-1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move6, VELO, item)

end

 

local function move4(item)

centerpos = {x=77, y=49, z=7}

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

doSetItemOutfit(getplayer1.uid, 7132, 6000)

playerpos1.y = playerpos1.y-1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move5, VELO, item)

end

 

local function move3(item)

centerpos = {x=76, y=49, z=7}

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

 

playerpos1.x = playerpos1.x+1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move4, VELO, item)

end

 

 

local function move2(item)

centerpos = {x=75, y=49, z=7} ---- iguais as coordenadas do "move1" so q x+1

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

 

playerpos1.x = playerpos1.x+1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move3, VELO, item)

end

 

local function move1(item)

centerpos = {x=74, y=49, z=7}

 

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

 

playerpos1.x = playerpos1.x+1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move2, VELO, item)

end

 

local function move(item)

centerpos = {x=73, y=49, z=7}

playerpos1 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=253}

getplayer1 = getThingfromPos(playerpos1)

 

playerpos1.x = playerpos1.x+1

 

doTeleportThing(getplayer1.uid, playerpos1)

addEvent(move1, VELO, item)

end

--início-------------------------------------------------------------------------------------

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

 

centerpos = {x=73, y=49, z=7}

doTeleportThing(cid, centerpos)

doSetItemOutfit(cid, 7131, 6000)

mayNotLogout(cid, 0)

mayNotMove(cid, 0)

addEvent(move, VELO, item)

mayNotLogout(cid, 1)

mayNotMove(cid, 1)

 

end

 

Bem o inicio vai ser basicamente o mesmo, so farei algumas observações

 

mayNotLogout e mayNotMove -- Tem q ter essas 2 funções no ot

 

centerpos = {x=73, y=49, z=7} -- coordenadas em que o carrinho estará

 

doSetItemOutfit(cid, 7131, 6000) -- 7131 é o id do do item q o player vai se transformar e 6000 é a duração do outfit, ou seja, vai depender do tamanho dos seus trilhos, entaum no caso vc teria q contar o tempo q o carrinho demora pra chegar no seu destino (ex:20000 são 20s e 15000 são 15s)

 

centerpos = {x=73, y=49, z=7} -- Coordenadas de onde o carrinho estará assim q ele se movimentar, como esse é o primeiro ele não se movimentou ainda portanto a primeira coordenada é a coordenada do carrinho

 

playerpos1.x = playerpos1.x+1 -- aqui é para onde o carrinho ira se movimentar, nesse caso "

playerpos1.x = playerpos1.x+1" ele vai andar para a direita, caso fosse "playerpos1.x = playerpos1.x-1" ele andaria para a eskerda, por outro lado se ele fosse pra cima seria "playerpos1.y = playerpos1.y-1", vamos usar o "move1" como exemplo, nesse caso ele usou "

playerpos1.x = playerpos1.x+1", logo no "move2" as coordenadas terao q ser iguais a do "move1" so q x+1 ja q o carrinho andou para a direita, é so olhar o padrão q dará para entender, pois esse script e bem simples se vc entender a lógica dele

 

No caso do move6, ele fez o carrinho ir pra cima e subir a escada q nem ta na imagem do inicio,tem uma escada e pro carrinho poder subir, entaum tem q ser usado 2 funções, no caso como ele keria ir pra cima e subir usou playerpos1.y = playerpos1.y-2

playerpos1.z = playerpos1.z-1

 

e por ultimo local VELO = 300

local VELO2 = 100 seria o delay ou o tempo q o carrinho demora pra anda 1 sqm, ou seja, quanto menor + rapido, mas sugiro não botar muito rápido pois pode acabar dando debug =D

 

Agora salve como "carrinhomina.lua"

 

e depois vá em actions.xml e add:

 

<action uniqueid="9874" script="carrinhomina.lua" />

 

E pra fechar com chave de ouro um video no youtube do carrinho em funcionamento =D :

 

 

http://www.youtube.com/watch?v=f9xJZH_DSR0

 

Qualquer dúvida poste aqui

Espero comentários =D

Editado por Mendez
Link para o comentário
Compartilhar em outros sites

  • 1 month later...

como eu fasso pra ter essas funções no meu OT?

 

mayNotLogout e mayNotMove -- Tem q ter essas 2 funções no ot

 

n sei se esse éo motivo

pq como faz pra virar o carrinho na curva?

Editado por GODvini
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...