GA

[ Resolvido ]Tile Q Teleporta Com Monster

Por Gabrielcardozo, 24 de abr. de 2010 em Scripts

script
9
2.3k
24 de abril de 2010 às 03:46

Então Pessoal tenho um script aqui que quando o player pisa em 1 tile, ele pode ser teleportado para 8 diferentes posicoes. Isso ta funcionando perfeito se alguem quizer usar o script depois avontade.

 

Mas eu quero acrementar o meu script no qual quando o player fosse teleportado em volta dele nascesse 8 Demon isso que ta fods ... se alguem quizer me ajudar ou souber como devo fazer eu agradeço.

 

Ja tentei adicionar o "doSummonCreature("Demon",{x=0, y=0, z=0})", Mas o que ocorre com isso, quando o player é levado pra um lugar o bixo nasce em outro lugar quero que o bixo nasce para onde o player for.

 

Script Abaixo!

 

- SCRIPT BY: MARKIIN -

function onStepIn(cid, item, pos, frompos)
local posicoes = {
{x=68, y=409, z=15},
{x=118, y=409, z=15},
{x=98, y=429, z=15},
{x=68, y=439, z=15},
{x=108, y=439, z=15},
{x=88, y=449, z=15},
{x=78, y=459, z=15},
{x=108, y=459, z=15}
}
local destino = math.random(#posicoes)
doTeleportThing(cid,positions[destino], true)
doSendMagicEffect(getPlayerPosition(cid), 10)
end

KydraiK
24 de abril de 2010 às 11:56

Acho que assim da:

- SCRIPT BY: MARKIIN -

function onStepIn(cid, item, pos, frompos)
local positions = {
{x=68, y=409, z=15},
{x=118, y=409, z=15},
{x=98, y=429, z=15},
{x=68, y=439, z=15},
{x=108, y=439, z=15},
{x=88, y=449, z=15},
{x=78, y=459, z=15},
{x=108, y=459, z=15}
}
local destino = positions[math.random(#positions)]
doTeleportThing(cid, destino, true)
for i=0, 7 do
doSummonCreature("Demon", getPosByDir(destino, i))
end 
doSendMagicEffect(getPlayerPosition(cid), 10)
end

 

Se não o:

for i=0, 7 do
doSummonCreature("Demon", getPosByDir(destino, i))
end 

Pode ser substituído por:

doSummonCreature("Demon", {destino.x+1, destino.y, destino.z})
doSummonCreature("Demon", {destino.x-1, destino.y, destino.z})
doSummonCreature("Demon", {destino.x, destino.y+1, destino.z})
...

24 de abril de 2010 às 14:12

Kydrai

Então cara, testei o script aqui assim que nem ta ai.

 

 

- SCRIPT BY: MARKIIN -

function onStepIn(cid, item, pos, frompos)
local positions = {
{x=68, y=409, z=15},
{x=118, y=409, z=15},
{x=98, y=429, z=15},
{x=68, y=439, z=15},
{x=108, y=439, z=15},
{x=88, y=449, z=15},
{x=78, y=459, z=15},
{x=108, y=459, z=15}
}
local destino = positions[math.random(#positions)]
doTeleportThing(cid, destino, true)
for i=0, 7 do
doSummonCreature("Demon", getPosByDir(destino, i))
end 
doSendMagicEffect(getPlayerPosition(cid), 10)
end

 

quando eu andei no tile ele só me teleporto i deu o seguinte erro no console

 

[24/04/2010 13:59:00] data/lib/position.lua:51: attempt to index local 'pos' (a number value)
[24/04/2010 13:59:00] stack traceback:
[24/04/2010 13:59:00] 	data/lib/position.lua:51: in function 'getPosByDir'
[24/04/2010 13:59:00] 	data/movements/scripts/kingarmor/a1.lua:15: in function <data/movements/scripts/kingarmor/a1.lua:1>

 

 

ai tentei o a tag a baixo que tu postou

 

fico desse jeito

 

function onStepIn(cid, item, pos, frompos)
local positions = {
     {x=68, y=409, z=15},
     {x=118, y=409, z=15},
     {x=98, y=429, z=15},
     {x=68, y=439, z=15},
     {x=108, y=439, z=15},
     {x=88, y=449, z=15},
     {x=78, y=459, z=15},
     {x=108, y=459, z=15}
}
local destino = math.random(#positions)
        doTeleportThing(cid,positions[destino], true)
 doSummonCreature("Demon", {positions.x+1, positions.y, positions.z})
 doSummonCreature("Demon", {positions.x-1, positions.y, positions.z})
 doSummonCreature("Demon", {positions.x, positions.y+1, positions.z})
 doSendMagicEffect(getPlayerPosition(cid), 10)
 end

 

deu esse erro

 

[24/04/2010 14:05:07] data/movements/scripts/kingarmor/a1.lua:14: attempt to perform arithmetic on field 'x' (a nil value)
[24/04/2010 14:05:07] stack traceback:
[24/04/2010 14:05:07] 	data/movements/scripts/kingarmor/a1.lua:14: in function <data/movements/scripts/kingarmor/a1.lua:1>

 

se alguem souber ou que manje disso e poder me ajudar agradeço muito !

 

Bom final de semana.

duduzzD
24 de abril de 2010 às 21:28

Tente o seguinte:

 

- SCRIPT BY: MARKIIN -

function onStepIn(cid, item, pos, frompos)
local posicoes = {
{x=68, y=409, z=15},
{x=118, y=409, z=15},
{x=98, y=429, z=15},
{x=68, y=439, z=15},
{x=108, y=439, z=15},
{x=88, y=449, z=15},
{x=78, y=459, z=15},
{x=108, y=459, z=15}
}
local demon = {
{x=playerpos.x+1, y=playerpos.y, z=playerpos.z},
{x=playerpos.x-1, y=playerpos.y, z=playerpos.z},
{x=playerpos.x, y=playerpos.y+1, z=playerpos.z},
{x=playerpos.x, y=playerpos.y-1, z=playerpos.z},
{x=playerpos.x+1, y=playerpos.y+1, z=playerpos.z},
{x=playerpos.x+1, y=playerpos.y-1, z=playerpos.z},
{x=playerpos.x-1, y=playerpos.y+1, z=playerpos.z},
{x=playerpos.x-1, y=playerpos.y-1, z=playerpos.z}
}

local destino = math.random(#posicoes)
doTeleportThing(cid,positions[destino], true)
local playerpos = getCreaturePosition(cid)
doSendMagicEffect(getPlayerPosition(cid), 10)
for v=1,8 do
doSummonCreature("Demon",demon[v])
end

end

Editado Abril 24 por duduzz

KydraiK
24 de abril de 2010 às 22:29

Deu aquele segundo erro pq não coloquei x=, y=, z=.

 

@duduzz

O seu ainda tem uns erros.

 

Assim deve dá:

- SCRIPT BY: MARKIIN -

function onStepIn(cid, item, pos, frompos)
local positions = {
{x=68, y=409, z=15},
{x=118, y=409, z=15},
{x=98, y=429, z=15},
{x=68, y=439, z=15},
{x=108, y=439, z=15},
{x=88, y=449, z=15},
{x=78, y=459, z=15},
{x=108, y=459, z=15}
}
local destino = positions[math.random(#positions)]
local demons = {
{x=destino.x+1, y=destino.y, z=destino.z},
{x=destino.x-1, y=destino.y, z=destino.z},
{x=destino.x, y=destino.y+1, z=destino.z},
{x=destino.x, y=destino.y-1, z=destino.z},
{x=destino.x+1, y=destino.y+1, z=destino.z},
{x=destino.x+1, y=destino.y-1, z=destino.z},
{x=destino.x-1, y=destino.y+1, z=destino.z},
{x=destino.x-1, y=destino.y-1, z=destino.z}
}

doTeleportThing(cid, destino, true)
for i=1, #demons do
doSummonCreature("Demon", demons[i])
end 
doSendMagicEffect(getPlayerPosition(cid), 10)
return TRUE
end

Editado Abril 24 por kydrai

27 de abril de 2010 às 00:25

Vlw Kydrai funfo 100 %

Obrigadão :thumbsupsmiley:

Henrique MouraH
27 de abril de 2010 às 12:44

Resolvido!

 

Fechado.

1 ano depois...
KennyConradK
18 de janeiro de 2012 às 09:43

onde devo usar ese script em action ? e qual actionid ou uniquid eu devo usar pra esse script funcionar ?

1 mês depois...
KennyConradK
05 de fevereiro de 2012 às 16:52

Ajuda ae =(