MA

Sled System Tutorial... Bye Albert José

Por MarcolinoGOD, 13 de abr. de 2008 em Actions e Talkactions

otserv
tibia
script
15
2.8k
MarcolinoGODM
13 de abril de 2008 às 12:11

Olá pessoal! A pouco tempo atras eu baixei um ot que veio com um arquivo chamado sled nos movements ai fiquei

que nem loco tentando de tudo para faze-lo funcionar! E não foi que eu consegui; e estou aqui para dividir esta bela action com vocês!

 

Psº:Eu não sei quem fez o script porque não tem nada falando no mesmo!

 

Vamos trabalhar: :weight_lift:

Primeiro copie e renomeie um arquivo na pasta movements/scripts

para "sled"; agora cole isto la dentro:

function addSled(params)
local startpos = params.startpos
local spawnDelay = params.spawnDelay

local speed = 250 --The speed in miliseconds before the sled moves 1 tile

local pos = params.pos
local cid = params.cid

-- Dont edit any of the following unless you know what your doing
local groundpos = {x=pos.x, y=pos.y, z=pos.z, stackpos=0}
local ground = getThingfromPos(groundpos)

pos1 = {x=pos.x, y=pos.y, z=pos.z, stackpos=1}
pos2 = {x=pos.x, y=pos.y+2, z=pos.z, stackpos=1}
pos3 = {x=pos.x, y=pos.y+3, z=pos.z, stackpos=1}
pos4 = {x=pos.x, y=pos.y+5, z=pos.z, stackpos=1}
item1 = getThingfromPos(pos1)
item2 = getThingfromPos(pos2)
item3 = getThingfromPos(pos3)
item4 = getThingfromPos(pos4)

newpos = {x=pos.x, y=pos.y+1, z=pos.z}

if ground.actionid == 9001 then
	spawnparams = {startpos = startpos, pos = pos}
	addEvent(spawnSled,spawnDelay*1000,spawnparams)
	setPlayerStorageValue(cid,9006,-1)
else
	doRemoveItem(item1.uid,1)
	doRemoveItem(item2.uid,1)
	doRemoveItem(item3.uid,1)
	doRemoveItem(item4.uid,1)

	newpos1 = {x=newpos.x, y=newpos.y, z=newpos.z}
	newpos2 = {x=newpos.x, y=newpos.y+2, z=newpos.z}
	newpos3 = {x=newpos.x, y=newpos.y+3, z=newpos.z}
	newpos4 = {x=newpos.x, y=newpos.y+5, z=newpos.z}
	doCreateItem(7266,1,newpos1)
	doCreateItem(7268,1,newpos2)
	doCreateItem(7269,1,newpos3)
	doCreateItem(7270,1,newpos4)

	doTeleportThing(cid, newpos)

	newparams = {pos = newpos, cid = cid, startpos = startpos, spawnDelay = 10}
	addEvent(addSled,speed,newparams)
end
end

function spawnSled(params)
local startpos = params.startpos
local pos = params.pos
pos1 = {x=startpos.x, y=startpos.y, z=startpos.z}
pos2 = {x=startpos.x, y=startpos.y+2, z=startpos.z}
pos3 = {x=startpos.x, y=startpos.y+3, z=startpos.z}
pos4 = {x=startpos.x, y=startpos.y+5, z=startpos.z}
doCreateItem(7266,1,pos1)
doCreateItem(7268,1,pos2)
doCreateItem(7269,1,pos3)
doCreateItem(7270,1,pos4)

pos1 = {x=pos.x, y=pos.y, z=pos.z, stackpos=1}
pos2 = {x=pos.x, y=pos.y+2, z=pos.z, stackpos=1}
pos3 = {x=pos.x, y=pos.y+3, z=pos.z, stackpos=1}
pos4 = {x=pos.x, y=pos.y+5, z=pos.z, stackpos=1}
item1 = getThingfromPos(pos1)
item2 = getThingfromPos(pos2)
item3 = getThingfromPos(pos3)
item4 = getThingfromPos(pos4)
doRemoveItem(item1.uid,1)
doRemoveItem(item2.uid,1)
doRemoveItem(item3.uid,1)
doRemoveItem(item4.uid,1)

ppos1 = {x=startpos.x, y=startpos.y, z=startpos.z, stackpos=253}
ppos2 = {x=startpos.x, y=startpos.y+2, z=startpos.z, stackpos=253}
ppos3 = {x=startpos.x, y=startpos.y+3, z=startpos.z, stackpos=253}
ppos4 = {x=startpos.x, y=startpos.y+5, z=startpos.z, stackpos=253}
player1 = getThingfromPos(ppos1)
player2 = getThingfromPos(ppos2)
player3 = getThingfromPos(ppos3)
player4 = getThingfromPos(ppos4)

nppos1 = {x=startpos.x+1, y=startpos.y, z=startpos.z}
nppos2 = {x=startpos.x+1, y=startpos.y+2, z=startpos.z}
nppos3 = {x=startpos.x+1, y=startpos.y+3, z=startpos.z}
nppos4 = {x=startpos.x+1, y=startpos.y+5, z=startpos.z}
if player1.itemid > 0 then
	doTeleportThing(player1.uid, nppos1)
end
if player2.itemid > 0 then
	doTeleportThing(player2.uid, nppos2)
end
if player3.itemid > 0 then
	doTeleportThing(player3.uid, nppos3)
end
if player4.itemid > 0 then
	doTeleportThing(player4.uid, nppos4)
end
end

function onStepIn(cid, item, pos)
if isPlayer(cid) == 1 then
	isMoving = getPlayerStorageValue(cid,9006)
	if item.itemid == 7266 and isMoving == -1 then
		params = {cid = cid, pos = pos, startpos = pos, spawnDelay = 10}
		addEvent(addSled, 100, params)
		setPlayerStorageValue(cid,9006,1)
	end
end
end

Depois adicione essa tag no arquivo "movements.xml" que se situa na pasta "data/movements":

<movevent event="StepIn" itemid="7266" script="sled.lua"/>

 

Agora eu vou explicar como configurar seu sled:

 

1º Passo: Crie o treno com os seguintes comandos:

.Sled aqui: id 7266

.Pula esse Sqm

.Husky 1: id 7268

.Husky 2: id 7271

.Pula esse Sqm

.Husky 3: id 7270

Se você não intendeu nada olha na foto abaixo:

Ss003.png

Ps¹: Ele só anda em linha reta para o sul! Você tera que certificar que o caminho

dele até o fim (Ja vou explicar) estara livre de qualquer item!

 

É hora de botar um ponto final na rota dele senão ele não para mais... :nuts:

 

Escolha a parada do seu sled e lembre-se que tem que ser reto e para o sul e alem disto

precisa ter 5 sqms livres de qualquer obstrução e adicione a action id:"9001" no mesmo;

Se você não intendeu essa tambem veja na foto abaixo:

Ss006.png

 

Obrigado a todos que comentarem e espero que façam bom proveito desta action!!! :rolleyes:

Não esqueça de deixar um comentario bem animador. :secret:

 

Ps²: Esta action só funciona em servers 8.0 para cima! Eu só testei no Aries 4.5...

Qualquer duvida me mande um Mp!

Editado Abril 13 por Albert José

TprocheiraT
13 de abril de 2008 às 12:32

Wow, achei legal esse sled. Eu já vi com tapetes mágicos e uma vez com barcos, mas com sled é a primeira vez Oo.

Parabéns!

FogoF
13 de abril de 2008 às 12:44

Então cara, eu fiz tudo corretamente aqui e deu o seguinte erro..

"..:: Loading movements.xml...Warning: [Event::loadScript] Can not load script. data/movements/scripts/sled.lua:49: '<eof>' expected near 'end' [done]..."

 

Espero que consiga arrumar..

Att,

Fogo.

Editado Abril 13 por Fogo

MarcolinoGODM
13 de abril de 2008 às 13:12

@Fogo

Qual a versão e o distro que você usou a action?

Eu só testei no Aries 4.5!

13 de abril de 2008 às 13:18

uma duvida, isso vai levar os players tbm? ou so vai mover o sled?

MaNeRiNhUM
13 de abril de 2008 às 13:21

@Nandu Minerim

Creio que está linha responda sua pergunta:

doTeleportThing(cid, newpos)

Caso não entenda, sim

Bye

13 de abril de 2008 às 13:29
doTeleportThing(cid, newpos)

entao seria somente a sled, nao o player junto ¬¬

MarcolinoGODM
13 de abril de 2008 às 13:44

Nandu Minerim

Claro que levara o prayer junto!

Pode testar... Ja Ja eu posto um video!

FogoF
13 de abril de 2008 às 14:02

//Albert José.

 

Eu baixei a nova versão do aires,por que eu usava a antiga, fiz tudo corretamente denovo mas deu o mesmo erro.. Será que pode postar o video de como fazer?

 

 

Att,

Fogo.

MarcolinoGODM
13 de abril de 2008 às 14:13

@Fogo

Se você seguir os passos corretamente

meu amigo ai não tem erro! Se você não conseguir

fale comigo pelo msn que eu te ajudo:

albertiger2@hotmail.com

2 semanas depois...
rocketsR
20 de abril de 2008 às 16:56

Vlw mto bom

Parabens

2 meses depois...
DragonlordXD
12 de junho de 2008 às 16:27

Muito bom funciono muito bem aqui no meu e o meu eh 8.1

SmokeRZsS
12 de junho de 2008 às 17:22

Noss sled, nunca tinha visto, ja tinha visto tapete voador mais sled não, parabéns pelo seu trabalho..

1 mês depois...
MarcolinoGODM
03 de julho de 2008 às 13:57

Tava um tempo parado mas to voltando aos poucos!

To desenvolvendo outra versão que funcione em todos servidores...

Em breve postarei aqui;

 

Obrigado pelos coments!

2 semanas depois...
ChAiNC
11 de julho de 2008 às 11:57

muito bom.. to te add no msn.. preciso falar com vc a respeito