[8.1]carrinho De Mina 2.0

Mock
Por Mock
em Actions e Talkactions

Mock

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 06/11/07Posts: 39Char no Tibia: degarox strain

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.

 

wink.gif

 



fanmock.png

Dedim

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/11/07Posts: 5

: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:

OriKun

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/04/08Posts: 18

AUP:

Basta colocar o tile especial ANTI-LOGIN,nos trilhos ^^

Até mais.

World of Solh- ATS
"Seu destino começa aqui."

World of Solh (Incentivo XTibia)
Comunidade Orkut

Equipe SolOTeam

Pretoponce

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 30/01/08Posts: 5Char no Tibia: God Preto

itendi nada kkkk o meu fico bugado sai rapidao e ainda anda pra onde kise ;@



gustavocordeiro

Sei Lah
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 24/09/07Posts: 103Char no Tibia: Kirack Tyril

Legal gostei, e funciona para todas versões?? :smile_positivo:



OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo

~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º

Se eu lutar, lute ao meu lado
Se eu morrer, morra junto a mim
Se eu correr, corra que fudeu tudo...

~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º ~º

OoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOoOo





~>ExORi OT SeRv =D

Kakareco

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/09Posts: 31

NEM FUNCIONA. O UNICO QUE FUNCIONA E O DO COLEX ¬¬

~Retired~

juanbrando

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/06/09Posts: 60

POoo Fi Axei Massa Mais AKi Num funfo Poir Causa Da Versao Mais Amei !!! :party:

greenpro.jpg

 

 

Sou Fan Desse leke:

fanq.gif