-------------------------------
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:
e o final +- assim:
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 = 300local 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