Ir para conteúdo

Featured Replies

Postado

Preciso que o dano dessa spell seja de acordo com a skill sword, não com o ML.

(Quanto mais skill sword maior o dano da spell.)

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 9)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 3)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.8, 0, -0.9, 0)


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

end 

 

Editado por diarmaint (veja o histórico de edições)

Resolvido por .Smile

Ir para solução
Postado

Aqui está o código:

Acesse a pasta do seu servidor em data/weapons/scripts/ copie um arquivo que tem lá, renomeie para specialweapon.lua

Adicione isso dentro do arquivo:

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 3) -- DISTANCE EFFECT QUE VAI SAIR AO ATACAR 
setCombatParam(combat, COMBAT_PARAM_EFFECT, 3) -- EFEIT OQUE VAI SAIR AO ATACAR
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0)

function onGetFormulaValues(cid, level)
local skill = getPlayerSkill(cid, 2) -- "2" é o ID DA SKILL
local min = -((level*skill*10)+2500) -- O DANO MINIMO DA ARMA É O LEVEL DO JOGADOR * A SKILL DO JOGADOR * 10 + 2500
local max = -((level*skill*10)+5000) -- O DANO MINIMO DA ARMA É O LEVEL DO JOGADOR * A SKILL DO JOGADOR * 10 + 5000
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

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

Acesse a pasta do seu servidor em data/weapons, acesse o arquivo weapons.xml e adicione essa tag

    <melee id="IDDAARMA" unproperly="1"  event="script" value="special_weapon.lua"/>

 

Qualquer dúvida só falar eu deixei o código com tags explicando oque cada coisa faz, enfim.

Postado
  • Solução

Ops :S acabei me confundindo, testa ai.

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_POISONDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 9)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 3)

function onGetFormulaValues(cid, level)
local skill = getPlayerSkill(cid, 2) -- "2" é o ID DA SKILL
local min = -((level*skill*10)+2500) -- O DANO MINIMO DA ARMA É O LEVEL DO JOGADOR * A SKILL DO JOGADOR * 10 + 2500
local max = -((level*skill*10)+5000) -- O DANO MINIMO DA ARMA É O LEVEL DO JOGADOR * A SKILL DO JOGADOR * 10 + 5000
	return min, max
end

setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")

function onCastSpell(cid, var)
	local skillmin = 30 -- MINIMO DE SKILL PRA LANÇAR A MAGIA
	if getPlayerSkillLevel(cid, skill) < skillmin then
		return doPlayerSendCancel(cid, "You must have at least ".. skillmin .." of sword skill to use this spell.")
    end
	return doCombat(cid, combat, var)
end

 

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

Informação Importante

Confirmação de Termo