Ir para conteúdo
  • 0

[ Resolvido ]Tile Q Teleporta Com Monster


Gabrielcardozo

Pergunta

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

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

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})
...

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 por duduzz
Link para o comentário
Compartilhar em outros sites

  • 0

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 por kydrai
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...