Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 8.6

 

Qual o motivo deste tópico? dúvida

 

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

Criei uma Spell que da dano por um pequeno tempo após soltar (mais de um dano), porém percebi que se o player soltar a spell e morrer em seguida, ele buga o server já que os comandos getPlayerSkillLevel(param.cid, 0) e getPlayerLevel(param.cid) deixam de reconhecer a skill e level de quem soltou, logo gostaria de saber se existe um meio de armazenar esses valores e quando der o callback da spell ele utilizar os valores resgatados uma unica vez, para nao bugar o server?

 

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

local combat = createCombatObject()

arr = {
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function spellCallback(param)
local skill = getPlayerSkillLevel(param.cid, 0)
local level = getPlayerLevel(param.cid)
local minimo = (skill + level)/2
local maximo = skill + level
    if param.count > 0 or math.random(0, 1) == 1 then
        doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER)
        doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA)
    end

    if(param.count < 1) then
        doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER)
        doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA)
        param.count = param.count + 1
        addEvent(spellCallback, math.random(100, 2000), param)
        
    end
end

function onTargetTile(cid, pos)
    local param = {}
    param.cid = cid
    param.pos = pos
    param.count = 0
    spellCallback(param)
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

 

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

 

Postado
local combat = createCombatObject()

arr = {
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 3, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
{1, 1, 1, 1, 1, 1, 1},
}

local area = createCombatArea(arr)
setCombatArea(combat, area)

function spellCallback(param)
if (isCreature(cid) then
  local skill = getPlayerSkillLevel(param.cid, 0)
  local level = getPlayerLevel(param.cid)
  local minimo = (skill + level)/2
  local maximo = skill + level
      if param.count > 0 or math.random(0, 1) == 1 then
          doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER)
          doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA)
      end

      if(param.count < 1) then
          doSendMagicEffect(param.pos, CONST_ME_GROUNDSHAKER)
          doAreaCombatHealth(param.cid, COMBAT_PHYSICALDAMAGE, param.pos, 0, -minimo, -maximo, CONST_ME_HITAREA)
          param.count = param.count + 1
          addEvent(spellCallback, math.random(100, 2000), param)

      end
  end
end

function onTargetTile(cid, pos)
    local param = {}
    param.cid = cid
    param.pos = pos
    param.count = 0
    spellCallback(param)
end

setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile")

function onCastSpell(cid, var)
    return doCombat(cid, combat, var)
end

Testa ai

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Postado

opa, troca cid para param.cid

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo