Postado Novembro 1, 2018 6 anos Preciso de ajuda para arrumar o hit das minhas wands, elas não estão seguindo as ordem que eu configurei, segue os scripts abaixo. Elas estão hitando menos do que o normal. Inicial Staff Spoiler weapons.xml <wand id="7424" level="8" mana="20" min="550" max="600" type="holy" event="script" value="vip2.lua"> <!-- vip2 --> <vocation id="1"/> <vocation id="2"/> <vocation id="5" showInDescription="0"/> <vocation id="6" showInDescription="0"/> </wand> weapons/scripts/vip2.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 51) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_CAKE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -450, 0, -500) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end items.xml <item id="7424" article="a" name="Inicial Staff"> <attribute key="weight" value="2300" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="holy" /> <attribute key="range" value="6" /> </item> Wand Of Baiak Spoiler weapons.xml <wand id="2184" level="180" mana="15" min="600" max="620" type="holy" event="function" value="default"> <!-- Wand of Baiak --> <vocation id="1"/> <vocation id="5" showInDescription="0"/> <vocation id="2"/> <vocation id="6" showInDescription="0"/> </wand> items.xml <item id="2184" article="a" name="wand of baiak"> <attribute key="weight" value="2300" /> <attribute key="weaponType" value="wand" /> <attribute key="shootType" value="death" /> <attribute key="range" value="6" /> </item> Assault Staff Spoiler weapons.xml <wand id="12655" range="8" lvl="8" mana="10" enabled="1" exhaustion="0" script="donatestaff.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5" showInDescription="0"/> <vocation id="6" showInDescription="0"/> </wand> weapons/scripts/donatestaff.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 31) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 30) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 0, -650, 0, -700) function onUseWeapon(cid, var) return doCombat(cid, combat, var) end items.xml <item id="12655" article="a" name="assault staff"> <attribute key="weight" value="2300" /> <attribute key="weaponType" value="wand" /> <attribute key="range" value="6" /> </item> Donate Mage Staff Spoiler weapons.xml <wand id="12661" level="8" mana="20" event="script" value="elemental_wand.lua"> <!-- Super New Staff --> <vocation id="1"/> <vocation id="2"/> <vocation id="5" showInDescription="0"/> <vocation id="6" showInDescription="0"/> </wand> weapons/scripts/elemental_wand.lua local combat_types = { [1] = {cond = CONDITION_FREEZING, effect = CONST_ME_ICEATTACK, anim = CONST_ANI_ICE, damage = COMBAT_ICEDAMAGE}, [2] = {cond = CONDITION_FIRE, effect = CONST_ME_FIREATTACK, anim = CONST_ANI_FIRE, damage = COMBAT_FIREDAMAGE}, [3] = {cond = CONDITION_POISON, effect = CONST_ME_SMALLPLANTS, anim = CONST_ANI_EARTH, damage = COMBAT_EARTHDAMAGE}, [4] = {cond = CONDITION_ENERGY, effect = CONST_ME_ENERGYHIT, anim = CONST_ANI_ENERGY, damage = COMBAT_ENERGYDAMAGE}, [5] = {effect = CONST_ME_HOLYDAMAGE, anim = CONST_ANI_HOLY, damage = COMBAT_HOLYDAMAGE}, [6] = {cond = CONDITION_CURSED, effect = CONST_ME_MORTAREA, anim = CONST_ANI_SUDDENDEATH, damage = COMBAT_DEATHDAMAGE}, default = {damage = COMBAT_PHYSICALDAMAGE}, } local config = { storage = 101010, block_armor = true, condition_rounds = 0, condition_value = 0, condition_time = 2000, } for key, combat in pairs(combat_types) do combat.object = createCombatObject() setCombatParam(combat.object, COMBAT_PARAM_TYPE, combat.damage or COMBAT_PHYSICALDAMAGE) setCombatParam(combat.object, COMBAT_PARAM_EFFECT, combat.effect or CONST_ME_NONE) setCombatParam(combat.object, COMBAT_PARAM_DISTANCEEFFECT, combat.anim or CONST_ANI_NONE) setCombatParam(combat.object, COMBAT_PARAM_BLOCKARMOR, config.block_armor and 1 or 0) setCombatFormula(combat.object, COMBAT_FORMULA_LEVELMAGIC, 0, -750, 0, -850) if combat.cond then local condition = createConditionObject(combat.cond) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, config.condition_rounds, config.condition_time, config.condition_value) setCombatCondition(combat.object, condition) end end local function find_combat(id) return combat_types[id] or false end function onUseWeapon(cid, var) local combat = find_combat(getCreatureStorage(cid, config.storage)) if not combat then if getDistanceBetween(getThingPosition(cid), getThingPosition(var.number)) > 1 then return false end combat = combat_types.default end return doCombat(cid, combat.object, var) end items.xml <item id="12661" article="a" name="donate mage staff"> <attribute key="weight" value="2300" /> <attribute key="description" value="Use o comando !wand help para mais informacoes." /> <attribute key="weaponType" value="wand"/> <attribute key="range" value="8" /> </item> Meu Curso sobre Programação para OTServer Programando OTServer Peça o seu script! Entre agora mesmo no grupo Developing Conteúdos: Spoiler • Cidade [8.60] • Cave de Boss • Widget Gesior • Autoloot 100% • [Old Client] Como Hookar Dll • Configurando VPS Windowns • [Solução] Código Caracteres Especiais Discord: Belmont#7352 Não esqueça do REP+
Postado Novembro 2, 2018 6 anos @Phineasz Aqui o Daniel tem uma explicação muito boa para essa questão de formula com base no ML e que pode te auxiliar: Mas, eu particularmente, gostaria de deixar uma sugestão para você que é de usar em wand o hit minimo e maximo, principalmente na donate. Colocar algo com base no ml pode causar "mal-estar" entre os compradores pelo fato de eles terem pago o mesmo valor no item e obter a desvantagem de baterem menos por conta de ml/lvl, sem contar que facilita sua vida também em alguma ocasião em que você queira alterar. Editado Novembro 2, 2018 6 anos por DdJs (veja o histórico de edições)
Postado Novembro 2, 2018 6 anos Autor 6 horas atrás, victor4312 disse: em player vai sempre hitar menos sim, eu sei, mais praticamente todas elas estão batendo o mesmo nos jogadores, agora nos bichos elas batem normalmente, seguindo as configurações. @DdJs Obrigado pelo tópico, vou dar uma olhadinha pra ver se eu consigo arrumar. Meu Curso sobre Programação para OTServer Programando OTServer Peça o seu script! Entre agora mesmo no grupo Developing Conteúdos: Spoiler • Cidade [8.60] • Cave de Boss • Widget Gesior • Autoloot 100% • [Old Client] Como Hookar Dll • Configurando VPS Windowns • [Solução] Código Caracteres Especiais Discord: Belmont#7352 Não esqueça do REP+
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.