Postado Agosto 17, 2018 6 anos 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 Janeiro 27, 2019 6 anos por diarmaint (veja o histórico de edições)
Postado Janeiro 27, 2019 6 anos 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 Janeiro 28, 2019 6 anos Autor Não pensei em fazer com uma weapon, valeu pela ideia. Preciso usar em uma magia, "o kina só consegue usar o exori apenas se tiver com 30 de sword", sacou ?
Postado Janeiro 28, 2019 6 anos 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.