Ir para conteúdo
  • Cadastre-se

(Resolvido)Spell - docreaturesetmove


Ir para solução Resolvido por elielder,

Posts Recomendados

.Qual servidor ou website você utiliza como base? 

8.60 otx 2xseries

Qual o motivo deste tópico? 

estou usando essa trap. Quando eu uso não deixar o alvo se mexer corretamente, mas tambem o target nao toma dano, "fica imortal" como eu arrumo isso? é bug na distro?

 

 

Spoiler

 

Você tem o código disponível? Se tiver publique-o aqui: 


 function onCastSpell(cid, var)

local waittime = 45 -- Tempo de exhaustion em segundos
local storage = 5890 -- Storage de Spell, nunca usar a mesma em outra spell, a menos que não queira usar duas spell juntas!

if exhaustion.check(cid, storage) then
doPlayerSendCancel(cid, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar a spell novamente.")
return false
end 

local target = getCreatureTarget(cid)
local targetpos = getCreaturePosition(target)
local efepos = {x=targetpos.x, y=targetpos.y, z=targetpos.z}
if not isPlayer(target) then
doPlayerSendCancel(cid, "Você só pode usar essa técnica em Players.")
return false
end

local tempo = 5 -- 5 Segundos, que é o tempo que o player vai ficar paralizado
doCreatureSetNoMove(target, true)
addEvent(doCreatureSetNoMove, tempo*1000, target, false)
doSendMagicEffect(efepos, 221) -- Efeito do mokuton prision
exhaustion.set(cid, storage, waittime)
return true
end


 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Link para o post
Compartilhar em outros sites
  • Solução
2 minutos atrás, So volto tarde disse:

erro na distro?

tenta mudar a storage para ver se não está pegando alguma storage já em uso

ja descobri que é bug na distro otx 2.12, agora to tentando descobrir como arrumar

Resolvi o problema, pra quem estiver o mesmo erro va em combat.cpp


 

Spoiler

troque isso:
if(attacker->getNoMove() || target->getNoMove() || attacker->hasFlag(PlayerFlag_CannotAttackPlayer))
 return true;

por isso:
if(attacker->hasFlag(PlayerFlag_CannotAttackPlayer))
 return true;

 


 

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