15
pedido

Teleportar Pra Tile Livre

Por 1579091, 14 de jul. de 2012 em Scripts

8
1.1k
15790911
14 de julho de 2012 às 12:52

Bom, gostaria de um action que quando puxasse a alavanca, ele se teleportaria pra um SQM livre dentre todos que estao neste raio de posiçoes, não sei se tem q passar posição por posição ou se também da pra faze uma area:

 

Extremidade Noroeste: x:32523 y: 32205 z: 7 (< /\)

Extrenudade Nordeste: x: 32547 y: 32205 z: 7 (/\ >)

Extremidade Sudoeste: x: 32523 y: 32222 z: 7 (< \/)

Extremidade Sudeste:x:32546 y: 32222 z: 7 (\/ >) (não sei se tem q passar os quatro cantos da tela, se precisar eu mando...)

 

Pode fazer tp ou alavanca, e venha em forma de action pra colocar la no rme a action... VLWW

LeoxtibiaL
14 de julho de 2012 às 19:19

Em data/actions/scripts crie um arquivo.lua e cole isto dentro:

 

local function isWalkable(position, cid)
    position.stackpos = 0
    if getTileThingByPos(position).uid ~= 0 then
		    local tile = getTileInfo(position)
		    if tile.protection == false and tile.house == false and getTopCreature(position).uid == 0 and doTileQueryAdd(cid, position) == RETURNVALUE_NOERROR then
				    return true
		    end
    end
    return false
end

function onUse(cid, item, fromPosition, itemEx, toPosition, position)

local fromPosition,toPosition = {x = 32523, y = 32205, z = 7},{x = 32546, y = 32222, z = 7} -- começo e final da ára
for x = fromPosition.x, toPosition.x do
for y = fromPosition.y, toPosition.y  do
local pos = {x=x, y=y, z=fromPosition.z}
if isWalkable(pos, cid) then
doTeleportThing(cid, pos)
end
end
end
return true
end

 

Em actions.xml cole a tag: <action actionid="XXXX" script="NOMEDOSEUARQUIVO.lua"/>

Em XXXX você coloca o actionid que pos na alavanca. Confira se as posições estão certas, a primeira é a do canto superior esquerdo e a segunda do canto inferior direito. Vlw, espero ter ajudado.

15790911
15 de julho de 2012 às 14:00

Po, funfo ta até legal, mais sempre debuga... tipo eu clico, tomo um debug e qndo volto to la nos treiner.... se souber pq da isso, seria útil, mais ja vai o rep pelo script :))

LeoxtibiaL
15 de julho de 2012 às 14:02

Testei aqui daí funcionou certinho =S Dá algum erro quando isso ocorre?

15790911
15 de julho de 2012 às 14:09

Tipo, teleporta mais no mesmo instante toma um debug?? oque seria? o nome do config, o numero da action?? oq??

LeoxtibiaL
15 de julho de 2012 às 14:18

Acho que isso pode dar quando tiver com muitos tiles livres na área... Tenta deixar só alguns e vê se continua o erro.

Editado Julho 15 por Leoxtibia

15790911
15 de julho de 2012 às 14:44

Boa, vlww! você sabe quantos sqms pode por em cada script? tipo pra que nao tome debug...

Editado Julho 15 por GuizitoG

LeoxtibiaL
15 de julho de 2012 às 15:15

Não, isso aí só testando mesmo ^^