Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Testado : ✔️

OTX - 0.3.6 / 8.54

 

Salve galera, bom depois de algum tempo e com ajuda de alguns amigos, consegui trazer para vocês essa função, eu sei que já tem alguns tópicos referente ao assunto, porém sempre com problemas ou nunca explicado de uma forma simples e objetiva.

 

Para começar vamos ao código

 

Função

function onGetFormulaValues(cid, level, skill, attack, factor)
    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)
	 local lvl_skill2 = getPlayerSkillLevel(cid, SKILL_FIST)
    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3
    return -min, -max
end

setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

Bom essa função vai calcular o level, skill para dar o dano da spell.

 

Mas vamos a algumas observações e informações sobre ela.

 

Primeiramente você pode configurar ela para calcular mais de uma skill no caso da função acima esta calculando a club e fist

 

Para adicionar ou remover skills a ser calculada você vai remover ou adicionar essa linha

    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)

Depois de adicionar ou remover você vai editar essa linha

    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3

Então esta calculando o level a skill club e a skill fist mas tanto pode remover a skill fist ou adicionar outra skill ficando assim

 

Removido

    local min = (level * 3 + lvl_skill * 5) * 3 
    local max = (level * 3 + lvl_skill * 5) * 3

Adicionado para calcular e somar mais de uma skill para dar o dano ou seja

 

    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3

Assim vai calcular e somar as skills então se tiver 50 de club vai dar um dano se tiver 50 de fist vai somar com a club e o dano vai ser maior e por ai vai com isso da para criar diversos quesitos de rpg por exemplo mestre das armas o jogador treina todas as skills de tipos de armas e a spell vai dar mais dano por conta disso

 

!! ATENÇÃO !!

Para o script poder fazer todo esse calculo o jogador precisa estar usando uma arma que upe skill ou seja se ele estiver usando club ele vai calcular a skill do jogador se ele não estiver usando nada nas mãos vai calcular o fist dependendo disso vai afetar no dano que a skill pode dar

 

Bom é isso espero que vocês gostem, Não esqueça de deixar o feedback se gostou, se foi útil etc...

 

Créditos:

@Dwarfer

@lordzetros

 

  • 2 weeks later...
  • Respostas 10
  • Visualizações 3.2k
  • Created
  • Última resposta

Top Posters In This Topic

Postado
Em 09/03/2019 em 18:48, Brunds disse:

Testado : ✔️

OTX - 0.3.6 / 8.54

 

Salve galera, bom depois de algum tempo e com ajuda de alguns amigos, consegui trazer para vocês essa função, eu sei que já tem alguns tópicos referente ao assunto, porém sempre com problemas ou nunca explicado de uma forma simples e objetiva.

 

Para começar vamos ao código

 

Função


function onGetFormulaValues(cid, level, skill, attack, factor)
    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)
	 local lvl_skill2 = getPlayerSkillLevel(cid, SKILL_FIST)
    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3
    return -min, -max
end

setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

Bom essa função vai calcular o level, skill para dar o dano da spell.

 

Mas vamos a algumas observações e informações sobre ela.

 

Primeiramente você pode configurar ela para calcular mais de uma skill no caso da função acima esta calculando a club e fist

 

Para adicionar ou remover skills a ser calculada você vai remover ou adicionar essa linha


    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)

Depois de adicionar ou remover você vai editar essa linha


    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3

Então esta calculando o level a skill club e a skill fist mas tanto pode remover a skill fist ou adicionar outra skill ficando assim

 

Removido


    local min = (level * 3 + lvl_skill * 5) * 3 
    local max = (level * 3 + lvl_skill * 5) * 3

Adicionado para calcular e somar mais de uma skill para dar o dano ou seja

 


    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3

Assim vai calcular e somar as skills então se tiver 50 de club vai dar um dano se tiver 50 de fist vai somar com a club e o dano vai ser maior e por ai vai com isso da para criar diversos quesitos de rpg por exemplo mestre das armas o jogador treina todas as skills de tipos de armas e a spell vai dar mais dano por conta disso

 

!! ATENÇÃO !!

Para o script poder fazer todo esse calculo o jogador precisa estar usando uma arma que upe skill ou seja se ele estiver usando club ele vai calcular a skill do jogador se ele não estiver usando nada nas mãos vai calcular o fist dependendo disso vai afetar no dano que a skill pode dar

 

Bom é isso espero que vocês gostem, Não esqueça de deixar o feedback se gostou, se foi útil etc...

 

Créditos:

@Dwarfer

@lordzetros

 

 

Pega tfs 0.4 8.60 não? ;-;

Postado
Em 09/03/2019 em 18:48, Brunds disse:

Testado : ✔️

OTX - 0.3.6 / 8.54

 

Salve galera, bom depois de algum tempo e com ajuda de alguns amigos, consegui trazer para vocês essa função, eu sei que já tem alguns tópicos referente ao assunto, porém sempre com problemas ou nunca explicado de uma forma simples e objetiva.

 

Para começar vamos ao código

 

Função


function onGetFormulaValues(cid, level, skill, attack, factor)
    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)
	 local lvl_skill2 = getPlayerSkillLevel(cid, SKILL_FIST)
    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3
    return -min, -max
end

setCombatCallback(combat1, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

Bom essa função vai calcular o level, skill para dar o dano da spell.

 

Mas vamos a algumas observações e informações sobre ela.

 

Primeiramente você pode configurar ela para calcular mais de uma skill no caso da função acima esta calculando a club e fist

 

Para adicionar ou remover skills a ser calculada você vai remover ou adicionar essa linha


    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)

Depois de adicionar ou remover você vai editar essa linha


    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3

Então esta calculando o level a skill club e a skill fist mas tanto pode remover a skill fist ou adicionar outra skill ficando assim

 

Removido


    local min = (level * 3 + lvl_skill * 5) * 3 
    local max = (level * 3 + lvl_skill * 5) * 3

Adicionado para calcular e somar mais de uma skill para dar o dano ou seja

 


    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5 + lvl_skill3 * 5 + lvl_skill4 * 5) * 3

Assim vai calcular e somar as skills então se tiver 50 de club vai dar um dano se tiver 50 de fist vai somar com a club e o dano vai ser maior e por ai vai com isso da para criar diversos quesitos de rpg por exemplo mestre das armas o jogador treina todas as skills de tipos de armas e a spell vai dar mais dano por conta disso

 

!! ATENÇÃO !!

Para o script poder fazer todo esse calculo o jogador precisa estar usando uma arma que upe skill ou seja se ele estiver usando club ele vai calcular a skill do jogador se ele não estiver usando nada nas mãos vai calcular o fist dependendo disso vai afetar no dano que a skill pode dar

 

Bom é isso espero que vocês gostem, Não esqueça de deixar o feedback se gostou, se foi útil etc...

 

Créditos:

@Dwarfer

@lordzetros

 

 

Tenho uma duvida
Como eu adaptaria esse script abaixo, para funcionar com essa função ? , não da error na distro mas não da dano algum.
Uso Tfs 0.4


Script modificada :
 

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.8, 1, -65.2, 1)

function onGetFormulaValues(cid, level, skill, attack, factor)
    local lvl_skill = getPlayerSkillLevel(cid, SKILL_CLUB)
     local lvl_skill2 = getPlayerSkillLevel(cid, SKILL_FIST)
    local min = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3 
    local max = (level * 3 + lvl_skill * 5 + lvl_skill2 * 5) * 3
    return -min, -max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
function onCastSpell(cid, var)
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+0, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
local position2 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
local pos = getCreaturePosition(cid)
doSendMagicEffect(position1, 150)
doSendMagicEffect(position2, 49)
return doCombat(cid, combat, var)
end


Script original :
 

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -60.8, 1, -65.2, 1)

function onCastSpell(cid, var)
local waittime = 0.8 -- Tempo de exhaustion
local storage = 115818

if exhaustion.check(cid, storage) then
    doPlayerSendChannelMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde ".. exhaustion.get(cid, storage) .. " segundos para usar o jutsu novamente.", TALKTYPE_CHANNEL_O, CHANNEL_COOLDOWNS)
return false
end
local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+0, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
local position2 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+0, z=getThingPosition(getCreatureTarget(cid)).z}
local pos = getCreaturePosition(cid)
doSendMagicEffect(position1, 150)
doSendMagicEffect(position2, 49)
exhaustion.set(cid, storage, waittime)
return doCombat(cid, combat, var)
end
 

 

Editado por Christinacsa (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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo