Ir para conteúdo

[8.1]carrinho De Mina 2.0


Mock

Posts Recomendados

Contando a historia e o seguinte...

eu tava no em outro forum sem nd p faze "vagabundando" ai vi um script de carrinho de mina vi o video dele e do montanha russa system. ai eu vi OMG vo pro isso no meu e apenas tirei os comandos Maynotlogout e Maynotmove pq meu server n tem isso. ai eu peguei e fiz um trilho q dava 1 volta na minha cidade.

quando fui testar...

Omg Desastre! eu pensei q era so colocar os triolhos la e pronto. eu nen tinha olhado o script quando eu vi eu percebi que quanto maior o trilho maior o script. eu pensava q por o script ser grande o carrinho apenas seguia o trilho mas voçê deve definir o trilho no script. Bom ai como eu sou um NERD AOTA (N.A) Fiz um sistem q poucos servers possuem um PARECIDO.

O script consta nisso:

ao inves de ter que fazer um pedaço de script p cada sqm eu fiz e configurar o script p ele indentificar os sqms em volta do player ou seja voçê poe o trilho que o carrinho segue > (meu sript inteligente)

 

Vamo para oq interessa

1º voçê deve definir o lugar onde o player vai começar a andar ou seja o inicil do trilho: la ponha uma alavanca um carrinho oq vc quiser com UniqueID: 7132

ai la no actions.xml ponha essa tag la:

 

<action uniqueid="7132" script="minas.lua" />

se caso o uniqueid esteje sendo usado ponha outro qualquer.

Bom crie um aqruivo chamado minas.lua e ponha isso dentro dele:

 

-- Carrinho de mina system 2.0 By mock :D --
velocidade = 450
pessoass = 1
local function move(paramis)


local npos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7122 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x+1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else
local npos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7124 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x+1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else
local npos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7121 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y+1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else

local npos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7121 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y-1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else

local npos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7122 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x-1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else
local npos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7126 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y+1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else
local npos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7125 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x-1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else
local npos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7124 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y-1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else
local npos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7123 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x-1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else

local npos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7125 and getplayer.actionid ~= 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y+1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else
local npos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7126 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x+1, y=centerpos.y, z=centerpos.z})
centerpos = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7131, 6000)
else
local npos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z, stackpos=1}
local getplayer = getThingfromPos(npos)
if getplayer.itemid == 7123 and getplayer.actionid == 100 then
doTeleportThing(paramis.cida, {x=centerpos.x, y=centerpos.y-1, z=centerpos.z})
centerpos = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z}
addEvent(move,  velocidade, paramis)
doSetItemOutfit(paramis.cida, 7132, 6000)
else
doSetItemOutfit(paramis.cida, 7131, 1)
pessoass = 1

end
end
end
end
end
end
end
end
end
end
end
end
end




function onUse(cid, item, frompos, item2, topos)
if pessoass == 1 then
local paramis = {cida = cid, poina = topos}
centerpos = topos
doTeleportThing(cid, centerpos)
doSetItemOutfit(cid, 7131, 1000)
addEvent(move,  400, paramis)
pessoass = 2
else
doSendAnimatedText(topos, "PERA!", TEXTCOLOR_BLUE)
doPlayerSendCancel(cid,'Desculpe está sendo usado.')
end
end

 

Bom todo bom scripter vai saber q o script funciona mas pode ser melhorado ainda pq eu puis mto if e end XD mas oq importa n e o script ficar bonito e sim funcionar.

Em fim feito isso apenas fassa seu trilho e seje feliz

 

mintira! tem mais coisa mwhahaha!

Bom a posição central e difinida da posição do item no qual vc deu use no script n e presiso mudar nada mas tem umas coisas que voçÊ e obrigado a saber.

Esse script alem de poderozo pode desencadear alguns loops em seu server se for mau usado portanto cuidado ao usa-lo.

bom como ha poucos ids de tilho e n foram feitos para ser usado p isso no qual esta sendo eu tive q adcionar umas coisas.

o tilho na horizontal sem action id empurra o carrinho para >> e com action id 100 joga o carrinho para la << ou seja se vc por um sqm com action id e o outro sem em uma reta o loop sera infinito ou seja o player nuca ira apra de se locomover para la > e para ca <.

Uma desvantagem desse para o original é que o original pode ir varios players de uma vez esse não pois se um player estiver na usando e outro entra ele volta pro inicil e fica os 2 sendo teleprotados atre o final pode ate dar debug nos 2.

a vantagem é q vc n presisa por 1 pedaço do scirpt p cada trilho:

Bom para ensinar a voçês como usar os trilhos veja a SS abaixo:

trilhos.GIF

Aqui mostra os trilhos que com ou sem action id a direção que eles vão levar o player.

outra coisa que limita o script e que o trilho fica na Stackpos 2

voçe pode jogar oque quiser no trilho que não atraplaa o trilho pode ate passar pela lava por sqm que n podem ser andandos etc mas lembre-se:

Aquelas bordinhas q ficam em cima do chao como a grass ou aeia ate borda de agua ficam na stack pos 2 e consequentemente o trilho fica na 3.

então ao caqrrinho encontrar uma borda ele ira parar pq ele indentificou uma Borda no stack pos 2 e não um trilho. então por onde o tilho passar não ponha bordas no memso SQM

outra coisa importante e oque esta na SS abaixo:

poden.gif

Os trilhos que são paralelos devem ter 1 sqm de separação entre eles. e aquels outros id de burificações o script n da eles como trilhos e o trem vai parar na frente dele. se o trem ver que no proximo sqm n tem trilho ele para.

e caso um trilho por ventura encoste em outro paralelo pode iniciar um loop que o carrinho fique dando voltas em circulos.

Bom e o seguitne Se gostaram doem ot$ ou comenten se n gostaram doem asism msmo

Flws!!!!

ps: Fiz justamente p posta aqui pq eu sou daqueles que faz scripts legais e n tem medo de posta-los

Edited

Esqueci como poe

tipo faz o tilho de boa so que no INICIL dele vc poe um vagaozinho pode tae ser uma alavanca pedra ou qualquer coisa contanto que fique em cima do trilho e tenha o unique id.

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

  • 2 weeks later...

:smile_positivo: muito bom gostei :smile_positivo:

 

mas

 

ta com um enorme problema , se você deslogar quando estiver no carrinho começa a buga tudo e o serve fica lag

 

mas fora isso muito bom :positive:

Link para o comentário
Compartilhar em outros sites

  • 8 months later...
  • 1 month later...
×
×
  • Criar Novo...