Tudo que Daniel albino postou
-
Nao consigo corrir duas calc dmg da spell
- SPells do avaOT
Alguem tem as spells base do avaOT como a a-bow nao sei se voces lembra que ela atacava um arrow ou um bolt conforme a weapon e gastava uma munição, meu eu achei muitas scrips top do @xWhiteWolf porem, tenho multa dificuldade para altrar pos nao sao skill simples como mudar calc dmg, de mag lvl para skill ou mudar alguns efeito , se alguem pode ajudar- Nao consigo corrir duas calc dmg da spell
.Qual servidor ou website você utiliza como base? Qual o motivo deste tópico? Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: Essa e a skill porem o dmg dela e calc em ml gostaria de deixar que nem o Exori (berserk) que calc skill lv local waves = 8 --- numero de vezes que vão cair as flechas local water = {490, 491, 492, 493, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625} local combat = createCombatObject() local meteor = createCombatObject() setCombatParam(meteor, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(meteor, COMBAT_PARAM_USECHARGES, TRUE) setCombatParam(meteor, COMBAT_PARAM_EFFECT, 3) setCombatFormula(meteor, COMBAT_FORMULA_LEVELSKILL, -0.8, 0, -1.8, 0) local meteor_water = createCombatObject() setCombatParam(meteor_water, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(meteor_water, COMBAT_PARAM_USECHARGES, TRUE) setCombatParam(meteor_water, COMBAT_PARAM_EFFECT, 3) setCombatFormula(meteor, COMBAT_FORMULA_LEVELMAGIC, -0.8, 0, -1.8, 0) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) local function meteorCast(p) doCombat(p.cid, p.combat, positionToVariant(p.pos)) end local function stunEffect(cid) doSendMagicEffect(getThingPos(cid), CONST_ME_STUN) end function onTargetTile(cid, pos) if (math.random(0, 6) == 6) then local ground = getThingfromPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) if (isInArray(water, ground.itemid) == TRUE) then local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_WEAPONTYPE) addEvent(meteorCast, 100, {cid = cid, pos = pos, combat = meteor_water}) else local newpos = {x = pos.x - 7, y = pos.y - 6, z = pos.z} doSendDistanceShoot(newpos, pos, CONST_ANI_WEAPONTYPE) addEvent(meteorCast, 100, {cid = cid,pos = pos, combat = meteor}) end end end setCombatCallback(combat, CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) for i = 0, waves do addEvent(function() if isCreature(cid) then doCombat(cid, combat, var) end end, 200 * i) end return true end -------------------------------------------------------------------------------------------------------------------------------- essa e a exori local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) return doCombat(cid, combat, var) end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.- Chain Lightning
Nao deu erro podem nao foi efeito local config = { effectx = 35, --- efeito de distancia effectz = 11, --- efeito ao acertar o player percent = 70, --- porcentagem de ir pra outro target apos hitar delay = 150 --- velocidade com que se move (milisegundos) } function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function doBlast(uid, target, delay, effectx, effectz, percent, min, max, type, hits, fromPos, n) if fromPos ~= nil and (fromPos.x ~= getCreaturePosition(target).x or fromPos.y ~= getCreaturePosition(target).y) then doSendDistanceShoot(fromPos, getCreaturePosition(target), effectx) fromPos = (fromPos.x ~= getCreaturePosition(target).x or fromPos.y ~= getCreaturePosition(target).y) and getCreaturePosition(target) or nil else fromPos = getCreaturePosition(target) end doTargetCombatHealth(uid, target, type, -min, -max, effectz) n = n or 1 if math.random(1, 10) <= (percent/10) then possible = {} for j = -3, 3 do for k = -3, 3 do middlePos = {x = getCreaturePosition(target).x + j, y = getCreaturePosition(target).y + k, z = getCreaturePosition(target).z, stackpos = 253} if isWalkable(middlePos, false, true, true) then creature = getTopCreature(middlePos).uid if creature > 0 then table.insert(possible, creature) end end end end target = #possible > 0 and possible[math.random(#possible)] or target end if n < hits then addEvent(function() if isCreature(uid) and isCreature(target) then doBlast(uid, target, delay, effectx, effectz, percent, min, max, type, hits, fromPos, (n + 1)) end end, delay) end return true end function onCastSpell(cid, var) local maglevel, level, mana = getPlayerMagLevel(cid), getPlayerLevel(cid), getCreatureMana(cid) local axe, sword, club, distance = getPlayerSkillLevel(cid, 3), getPlayerSkillLevel(cid, 2), getPlayerSkillLevel(cid, 1), getPlayerSkillLevel(cid, 4) local shield, health = getPlayerSkillLevel(cid, 5), getCreatureHealth(cid) local formula = { min = ((level + maglevel)/5 + axe + sword + club + shield + (mana/1000))/3, --- formula de dano minimo max = ((level + maglevel)/5 + axe + sword + club + shield + ((mana + health)/1000))/3 --- formula de dano maximo } local pos = getCreaturePosition(cid) doCreatureSay(cid, "Chain Lightning", 20, false, 0, pos) hits = math.ceil(getPlayerMagLevel(cid)/10) - (math.random(0, (math.floor(getPlayerMagLevel(cid)/10))) - 1) target = getCreatureTarget(cid) doBlast(cid, target, config.delay, config.effectx, config.effectz, config.percent, formula.min, formula.max, 2, hits, getCreaturePosition(cid), nil) return true end - SPells do avaOT
Informação Importante
Confirmação de Termo