Postado Março 20, 2019 6 anos .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 Março 21, 2019 6 anos 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 Março 22, 2019 6 anos Autor testei, não rodou, ainda alterei a linha if (isCreature(cid) then para if (isCreature(cid)) then e mesmo assim continua dando erro nessa linha do codigo
Postado Março 22, 2019 6 anos 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.