Ir para conteúdo
  • Cadastre-se

Função que identifica posição do Target.


Posts Recomendados

Fiz uma magia onde o attacker se teleporta em 4 posições em volta de seu target, mas até onde consegui desenvolver, ele se teleporta em volta de si mesmo com a função 'getCreaturePosition(cid)'.

 

Ja tentei outras funções e o script nem é executado.

 

Aqui está a parte do script onde identifica a posição do target, e designia as posições onde quem ataca, é teleportado:

local ppos = onTargetTile(cid, pos)
local from = {x=ppos.x, y=ppos.y, z=ppos.z}
local posr1 = {x=ppos.x-1, y=ppos.y-1, z=ppos.z}
local posr2 = {x=ppos.x+1, y=ppos.y-1, z=ppos.z}
local posr3 = {x=ppos.x+1, y=ppos.y+1, z=ppos.z}
local posr4 = {x=ppos.x-1, y=ppos.y+1, z=ppos.z}

E aqui é UMA das funções que executa estas posições, no caso a primeira:

function walk1(cid)
if isInArea(onTargetTile(cid, pos), from, from) then
doTeleportThing(cid, posr1) then
doCombat(cid, combat, var)
end
end

Queria que a magia localizasse a posição do target. Mas creio que esta função que usei esteja errada.

 

REP+ Pra solução do meu problema.

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

local target = getCreatureTarget(cid)

Utilize de complemento com a do Nogard.
(A não ser se for alguma outra function que não precise dar valor ao target.. Tipo creaturescript)

Editado por lucasromero (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Lucas, como disse no inicio do tópico, é uma magia. Ja utilizei seu metódo e não funcionou anteriormente.

 

Nogard, já tentei esta função, mas a coloquei novamente pra te mostrar os erros que ocorrem.

Coloquei assim:

local ppos = getCreaturePosition(target)
local from = {x=ppos.x, y=ppos.y, z=ppos.z}     <---- LINHA 24 DO ERRO
local posr1 = {x=ppos.x-1, y=ppos.y-1, z=pops.z}
local posr2 = {x=ppos.x+1, y=ppos.y-1, z=ppos.z}
local posr3 = {x=ppos.x+1, y=ppos.y+1, z=ppos.z}
local posr4 = {x=ppos.x-1, y=ppos.y+1, z=ppos.z}

E na hora de teleportar o attacker:

function walk1(cid)
if isInArea(getCreaturePosition(target), posr1, posr1) then
doTeleportThing(cid, posr2) <------ LINHA 32 DO ERRO
doCombat(cid, combat, var)
end
end

Aparecem os seguintes erros:

[16:49:03.448] [Error - Spell Interface]
[16:49:03.448] data/spells/scripts/attack/magia nova.lua
[16:49:03.448] Description:
[16:49:03.448] (luaGetThingPosition) Thing not found
[Error - Spell Interface]
[16:49:03.448] data/spells/scripts/attack/magia nova.lua
[16:49:03.448] Description:
[16:49:03.448] data/spells/scripts/attack/magia nova.lua:24: attempt to index local 'ppos' (a boolean value)
[16:49:03.448] [Warning - Event::loadScript] Cannot load script (data/spells/scripts/attack/magia nova.lua)
[16:49:03.448] data/spells/scripts/attack/magia nova.lua:32: unexpected symbol near 'then'
Creio que ficaria mais fácil se eu postasse o script inteiro, mas é uma magia que criei, e não queria divulga-la no momento.
 
Está ai os erros, se puderem me ajudar, REP+.

 

Editado por VictorTasquin (veja o histórico de edições)

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo