Ir para conteúdo

Featured Replies

Postado
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....

  • Respostas 9
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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_L

  • @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 mu

Postado
  • Autor

@ahrizinhas2 :facepalm: 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! "

 

 

                                                                                                    bang.gif.bfc77cb73cf3065add6e416ceba6dc90.gif

 

 

Postado

@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 por gabriel28 (veja o histórico de edições)

  • 2 weeks later...
Postado

@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 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.

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 520.3k

Informação Importante

Confirmação de Termo