Ir para conteúdo

Featured Replies

Postado

@xxgrylloxx Se é só isso que você quer alterar, basta usar essa formula:

 

function onGetFormulaValues(cid, level, skill, attack, factor)
	
min = -(level * 0.6 + skill * 1) * 1.4
max = -(level * 0.7 + skill * 1.2) * 1.6
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE,"onGetFormulaValues")

Essa é pra Kina ou pra magia de Pally que seja ataque físico, já que essa formula leva em consideração o level e a skill do personagem. Você também pode acrescentar o ataque da arma na fórmula, ficando assim: min = -(level * 0.6 + skill * 1 + attack * 1) * 1.4, por exemplo.

Ou pra Mages, magias que usam o ML,:

function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 1.2 + maglevel * 1.5) * 1.2
	max = -(level * 1.5 + maglevel * 2) * 1.6

	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

E claro que você pode alterar os valores ao seu gosto. E desse jeito da pra você saber o dano sem nem precisar ir testar em game, só usar uma calculadora pra fazer a multiplicação, que nem eu fazia quando mexia no meu Global.
Só de exemplo, essa formula que usa level e ml, é a que uso na magia Exevo mas san. Considerando um Pally de level 250 ml 25, vai tirar no mínimo 405 e no máximo 680.

  • Respostas 11
  • Visualizações 803
  • Created
  • Última resposta

Top Posters In This Topic

Postado
  • Autor
19 minutos atrás, gabriel28 disse:

@xxgrylloxx Se é só isso que você quer alterar, basta usar essa formula:

 


function onGetFormulaValues(cid, level, skill, attack, factor)
	
min = -(level * 0.6 + skill * 1) * 1.4
max = -(level * 0.7 + skill * 1.2) * 1.6
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE,"onGetFormulaValues")

Essa é pra Kina ou pra magia de Pally que seja ataque físico, já que essa formula leva em consideração o level e a skill do personagem. Você também pode acrescentar o ataque da arma na fórmula, ficando assim: min = -(level * 0.6 + skill * 1 + attack * 1) * 1.4, por exemplo.

Ou pra Mages, magias que usam o ML,:


function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 1.2 + maglevel * 1.5) * 1.2
	max = -(level * 1.5 + maglevel * 2) * 1.6

	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

E claro que você pode alterar os valores ao seu gosto. E desse jeito da pra você saber o dano sem nem precisar ir testar em game, só usar uma calculadora pra fazer a multiplicação, que nem eu fazia quando mexia no meu Global.
Só de exemplo, essa formula que usa level e ml, é a que uso na magia Exevo mas san. Considerando um Pally de level 250 ml 25, vai tirar no mínimo 405 e no máximo 680.

 

Exatamente, muito bom...
Mais isso você esta falando é dentro de qual arquivo?

Ou é algum arquivo da source? Qual?

 

Obrigado por responder!

Postado

@xxgrylloxx É noos arquivos das spells. De cada spell que você quer que use essa formula, você terá que acrescentá-la dentro do .lua da spell.

Exemplo de como fica na spell (Exevo mas san):
 

Spoiler

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 1.2 + maglevel * 1.5) * 1.2
	max = -(level * 1.5 + maglevel * 2) * 1.6

	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

 


Essa fórmula (setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.25, -30, -1.7, 0) ) que vem nas spells, você pode simplesmente apagar ou deixar em forma de comentário.

Postado
  • Autor
18 minutos atrás, gabriel28 disse:

@xxgrylloxx É noos arquivos das spells. De cada spell que você quer que use essa formula, você terá que acrescentá-la dentro do .lua da spell.

Exemplo de como fica na spell (Exevo mas san):
 

  Ocultar conteúdo


local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYAREA)
function onGetFormulaValues(cid, level, maglevel)
	min = -(level * 1.2 + maglevel * 1.5) * 1.2
	max = -(level * 1.5 + maglevel * 2) * 1.6

	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

local area = createCombatArea(AREA_CIRCLE3X3)
setCombatArea(combat, area)

function onCastSpell(cid, var)
	return doCombat(cid, combat, var)
end

 


Essa fórmula (setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.25, -30, -1.7, 0) ) que vem nas spells, você pode simplesmente apagar ou deixar em forma de comentário.

 

Sim entendi...

Se eu quiser colocar uma arma por exemplo pra usar esse tipo de formula...

Kina e Pally...

 

Kina usando uma arma de 45 de atak. por exemplo...

Skill de 100
Lv 95

Vou ter que criar um arquivo .lua la dentro de weapons... tipo como é feito com a burst_arrow.lua, poison_arrow.lua, viper_star.lua....
To tendo essa ideia, sera que vai da certo?

 

 


 

Se possível, tem alguma indicação de um TFS estável com função de enchantar itens, tipo colocar +1 +2 +3 +4 +5 nas armas...

Postado

@xxgrylloxx 
A burst arrow só tem um arquivo em weapons porque ela usa efeito em área, dai tem que fazer um arquivo lá. Mas pra uma magia que você queira pegar o valor do ataque da arma também, é só fazer como eu disse ali em cima quando mostrei as fórmulas. Criar um arquivo em weapons, só se você quiser que essa arma de Kina tenha um efeito quando atacar um player.

Eu gosto muito do TFS 0.4, o Global que mexo de vez em quando é nessa versão e tem script de enchant. Mas hoje em dia, a maioria dos Globais, se não todos, são na versão 1.0 pra cima, devido a maior possibilidade de scripts entre outras coisas. Por isso deixei o meu de lado, por já ter mexido muito, nas source inclusive, mas estar numa versão bem antiga e não atualizo ele por não manjar de scripts nessas novas versões do TFS e ter que adaptar os códigos da source, que modifiquei, pra nova versão. Por isso acabei indo pros derivados onde a 0.4 está de bom tamanho.
Se você tiver começando um projeto agora, recomendo ir pra um TFS 1.0 pra cima.

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