Postado Dezembro 17, 2018 6 anos TFS 1.2+ Base: OTX (3.10) Boa tarde galera, eu gostaria de ajuda com um script que adiciona uma porcentagem de dano adicional nas magias caso o player seja vip.Exemplo: Exori Min recebe 25% a mais de dano caso o player seja vip (Como mostra a foto abaixo) Ou Exori gran ico 15% e assim por diante. O sistema de vip que utilizo é esse, se alguém conseguir me dar alguma dica ou uma base pra iniciar agradeceria bastante, e se por acaso conseguir o script, farei um post descente disponibilizando pra todos aqui no tibia king, com os devidos creditos
Postado Dezembro 18, 2018 6 anos Em 17/12/2018 em 16:13, FaaSouzax disse: TFS 1.2+ Base: OTX (3.10) Boa tarde galera, eu gostaria de ajuda com um script que adiciona uma porcentagem de dano adicional nas magias caso o player seja vip.Exemplo: Exori Min recebe 25% a mais de dano caso o player seja vip (Como mostra a foto abaixo) Ou Exori gran ico 15% e assim por diante. O sistema de vip que utilizo é esse, se alguém conseguir me dar alguma dica ou uma base pra iniciar agradeceria bastante, e se por acaso conseguir o script, farei um post descente disponibilizando pra todos aqui no tibia king, com os devidos creditos Você pode fazer um creatrescripts (um pouco mais complicado) ou apenas criar uma Combat novo para cada magia, segue o script abaixo de exemplo Exori Hur, Exemplo 1: local combatfree = createCombatObject() setCombatParam(combatfree, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatfree, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combatfree, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatParam(combatfree, COMBAT_PARAM_USECHARGES, true) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal / 3 + levelTotal), -(skillTotal + levelTotal) end setCombatCallback(combatfree, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") local combatdonate = createCombatObject() setCombatParam(combatdonate, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combatdonate, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combatdonate, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WEAPONTYPE) setCombatParam(combatdonate, COMBAT_PARAM_USECHARGES, true) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 local min = (25*(skillTotal / 3 + levelTotal)/100) local max = (25*(skillTotal + levelTotal)/100) return -min, -max end setCombatCallback(combatdonate, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) local player = Player(cid) if not player then return true end if player:isVip() then doCombat(cid, combatdonate, var) else doCombat(cid, combatfree, var) end return true end
Postado Dezembro 20, 2018 6 anos Autor @Joaovettor dei uma testada aqui man, em questão a mudança de dano free e vip alterou sim, mas a vip caiu o dano kkkk, mas muito bom que funcionou agradeço muito, e colocar a percentagem que alterou aparecendo junto complica muito, mesmo que for manual eu ir alterando spell por spell
Postado Dezembro 20, 2018 6 anos 3 horas atrás, FaaSouzax disse: @Joaovettor dei uma testada aqui man, em questão a mudança de dano free e vip alterou sim, mas a vip caiu o dano kkkk, mas muito bom que funcionou agradeço muito, e colocar a percentagem que alterou aparecendo junto complica muito, mesmo que for manual eu ir alterando spell por spell O Dano donate é esse V function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 local min = (25*(skillTotal / 3 + levelTotal)/100) local max = (25*(skillTotal + levelTotal)/100) return -min, -max end setCombatCallback(combatdonate, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") Nem eu entendo essa formula, então pra simplificar seria melhor essa abaixo V function onGetFormulaValues(cid, level, skill) local skl = (100*skill/100) -- Checa 100% do skill do Player (se você tiver 100 de sword, vai ser 100) local lvl = (100*lvl/100) -- Aqui checa seu 100% do seu Level (se você for Level 300, vai ser 300) local total = lvl + skl -- Aqui soma as variáveis acima (300+100=400) local max = (25*total/100) + total -- Aqui checa o total que seria 400, ou seja, 25% de 400 será 100 + total (400) return -max, -max -- Aqui é O Dano que causará, será -500 end setCombatCallback(combatdonate, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues")
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.