Postado Fevereiro 2, 2018 7 anos 1 minuto atrás, ahrizinhas2 disse: @Hokograma Mostrar conteúdo oculto local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -30.3, 2, -40.3, 2) 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) local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) local poss = getCreaturePosition(cid) local function Flame_Shoot() if isCreature(cid) then for i=1, 4 do local pos = {x=poss.x+5, y=poss.y-5, z=poss.z} local pos2 = {x=poss.x+(math.random(-3,3)), y=poss.y+(math.random(-3,3)), z=poss.z} local pos3 = {x=poss.x+(math.random(-4,4))+1, y=poss.y+(math.random(-4,4))+1, z=poss.z} doSendMagicEffect(pos3, 466) end end return TRUE end local parameters = {cid = cid, var = var} addEvent(Flame_Shoot, 200) addEvent(Flame_Shoot, 400) addEvent(Flame_Shoot, 600) addEvent(Flame_Shoot, 800) addEvent(Flame_Shoot, 1000) addEvent(Flame_Shoot, 1200) addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell1, 500, parameters) addEvent(onCastSpell1, 600, parameters) addEvent(onCastSpell1, 700, parameters) addEvent(onCastSpell1, 800, parameters) addEvent(onCastSpell1, 900, parameters) return TRUE end Como voce pode ver nessa parte e assim (dano min, Multiplicador/level, Dano max, multiplicador/ml) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -30.3, 2, -40.3,2) -30.3-dano minimo 2-Multiplicador level -40.3-dano maximo 2-multiplicador magic level cara se vc colocar os números ao contrario e bem capaz de um jutso/skill ficar muito forte quando o player pegar um certo level! sempre funfo pra mim assim cara expliquei errado malz..... mas entao o dano passara por causa do multiplicador ele vai multiplicar o dano da spell x o multiplicador exemplo... setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -30.3, 2, -40.3, 2) ai fica -30.2x2= 60,4 ou seja toda vez qe ele upar de level ele vai aumentar o dano da spell em 60 do magic level -40.3x2=-80,66 ou seja toda vez qe ele upar de magic level ele vai aumentar o dano da spell em 80,66 mas dae vc pode aumentar o multiplicador por magic level e dificultar um pouco o up do tal saca?! Projects are being developed....
Postado Fevereiro 2, 2018 7 anos Autor @ahrizinhas2 puta negocio chato kkkk, acho que vo tira o magic level, e lvl do player , só colocar um dmg min e max na spell que ganho + kkk @gabriel28 Acho que nao entendi direito. function onGetFormulaValues(cid, level, maglevel) min = -(level * 0.5 + maglevel * 0.7) * 1 max = -(level * 0.6 + maglevel * 0.8) * 1.1 return min, max end setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") level do tester =605 x magic lvl= 9 605 x 9+0.5= 5747,5 5747,5 x 0.7= 4023,25 -- nao sei como foi dar esse numero, fis pela calculadora ._. 4023,25x1=4023? Projeto Nto Myth " Eu to disposto a lutar e que se foda todo mundo que duvida que eu vou tocar o terror na porra toda! "
Postado Fevereiro 2, 2018 7 anos @Hokograma po mano com um pouco de dedicação se consegue kkk Projects are being developed....
Postado Fevereiro 2, 2018 7 anos @Hokograma De exemplo vou usar os dados que você mandou: Dano mínimo: (605 * 0.5 + 9 * 0.7) * 1 = 308,8 Primeiro vai multiplicar o lvl pela constante depois vai somar com o resultado do ML multiplicado pela constante, depois vai pegar o resultado disso, e multiplicar pela contante que está fora das (). Editado Fevereiro 2, 2018 7 anos por gabriel28 (veja o histórico de edições)
Postado Fevereiro 14, 2018 7 anos @Hokograma , a verdade é que a forma como você lê isso vai depender do código base que você utilizou na source. Supondo que seja o padrão, a leitura é feita desta forma: Vou chamar esses 4 termos aí dentro dos parênteses de "a", "b", "c" e "d" a = multiplicador mínimo da fórmula base de dano mágico b = constante adicionada ao dano mínimo c = multiplicador máximo da fórmula base de dano mágico d = constante adicionada ao dano máximo Lembrando que o dano vai variar entre "min" e "max". Traduzindo: se eu coloco (-2, -15, -3, - 60) O dano será algo entre a fórmula base de dano mágico multiplicado por 2, e mais 15. Já o dano máximo será a fórmula base de dano mágico multiplicado por 3 e mais 60. Obs1: lembrando que se for para cura, utilizamos números positivos. No caso de magias de ataque, como queremos dano, os números são negativos. Obs2: essa "fórmula base" determinada na source sobre a qual aplicaremos esses novos parâmetros também pode ser alterada nesse parêntese. A fórmula original eu não me lembro de cabeça, mas é algo como level/5 (tanto para dano mínimo quanto máximo) + maglevel*um multiplicador para mínimo e outro para máximo que eu não me lembro agora. Resumindo, naquele parênteses você pode colocar os termos "e", "f", "g" e "h", cada um deles significando: e = número pelo qual o level será dividido e adicionado ao dano mínimo f = número pelo qual o level será dividido e adicionado ao dano máximo g = multiplicador do magic level a ser adicionado no dano mínimo h = multiplicador do magic level a ser adicionado no dano máximo Traduzindo: se eu coloco (-2, -15, -3, -60, 5, 5, 0.8, 1.8) O dano será: mínimo: -2 * (level/5 + magiclevel*0.8) - 15 máximo: -3 * (level/5 + magiclevel*1.8) - 60 Se um player Level 50, magiclevel 50 utilizar a magia, teremos: mínimo: -2 * (50/5 + 50*0.8) - 15 -> -115 máximo: -3 * (50/5 + 50*1.8) - 60 -> -360 Essa magia faria um dano entre 115 e 360. E POR FIM, se você quiser sobrescrever todas essas fórmulas, você pode criar uma função própria na sua spell para determinar seu próprio dano. Exemplo: Spoiler function getDmg(cid, level, skill) min = - level*0.5 + maglevel*3 + 20 max = - level+0.8 + maglevel*5 + 40 return min, max end Depois basta setar esse CombatCallback conforme o nome que você deu para a função. Ex: Quote setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg") Editado Fevereiro 14, 2018 7 anos por Tadelho (veja o histórico de edições)
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.