Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • 2 weeks later...
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? ;-;

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link para o post
Compartilhar em outros sites

@ITALOx testa acredito que sim

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
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)

Meu Servidor Minecraft : Ip - Skylowcraft.minecraftbr.net:25585 = Servidor 24hrs Sem Lag , Sem Hackers (1.7.2) Servidor De Fullpvp e Survival - Vamos Colocar Minigames!.

Link para o post
Compartilhar em outros sites

@Christinacsa 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
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 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

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
3 horas atrás, Brunds disse:

@Christinacsa 


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
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 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

 

 

Ainda não tá dano, dano algum será que é por conta do meu skill?

Meu Servidor Minecraft : Ip - Skylowcraft.minecraftbr.net:25585 = Servidor 24hrs Sem Lag , Sem Hackers (1.7.2) Servidor De Fullpvp e Survival - Vamos Colocar Minigames!.

Link para o post
Compartilhar em outros sites

@Christinacsa cara procura vê se a formula e essa mesmo eu testei em 0.3.6 a 0.4 pode ser diferente eu só coloquei a forma correta no script agora procure para ver se a 0.4 tem alguma coisa de diferente em relação a formula

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
44 minutos atrás, Brunds disse:

@Christinacsa cara procura vê se a formula e essa mesmo eu testei em 0.3.6 a 0.4 pode ser diferente eu só coloquei a forma correta no script agora procure para ver se a 0.4 tem alguma coisa de diferente em relação a formula

 

ok

Meu Servidor Minecraft : Ip - Skylowcraft.minecraftbr.net:25585 = Servidor 24hrs Sem Lag , Sem Hackers (1.7.2) Servidor De Fullpvp e Survival - Vamos Colocar Minigames!.

Link para o post
Compartilhar em outros sites

@Christinacsa 
Tenta com a formula desse jeito:

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

 

Link para o post
Compartilhar em outros sites
5 horas atrás, gabriel28 disse:

@Christinacsa 
Tenta com a formula desse jeito:


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

 

 

ainda continua sem da error algum mas não da hit no monstro

Meu Servidor Minecraft : Ip - Skylowcraft.minecraftbr.net:25585 = Servidor 24hrs Sem Lag , Sem Hackers (1.7.2) Servidor De Fullpvp e Survival - Vamos Colocar Minigames!.

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo