Postado Julho 23, 2015 9 anos Tenho aqui esse script de exori vis, gostaria de ajuda para adicionar nele uma chance em porcentagem para o condition energy pegar no target. Script: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 50, 2000, -75) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Postado Julho 24, 2015 9 anos simples: 1) remove a linha que seta a condition no combat setCombatCondition(combat, condition) 2) Para verificar o target iremos utilizar uma função variantToNumber(var), dentro do callback pois o var só existe depois que executamos function onCastSpell: if isCreature(variantToNumber(var)) then 3) em seguida adicionaremos a condição ao variantToNumber(var). doAddCondition(variantToNumber(var), condition) 4) Por fim adicionarem uma porcentagem, para isso temos que gerar um numero "aleatoriamente" com a função math.random(X, Y). Ela funciona gerando um numero entre X e Y. Pra porcentagens usamos math.random(1,100) ou apenas math.random(100). Temos que checar se esse numero aleatorio é menor que uma porcentagem q escolhemos, se for ele ativa a condition. if percent > math.random(1,100) then 5) agora iremos criar no topo do script uma referência para dizer ao nosso código oque é esse percent: local percent = 30 -- chance em porcentagem de ativar nossa condition No final ficamos com: local percent = 30 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) local condition = createConditionObject(CONDITION_ENERGY) setConditionParam(condition, CONDITION_PARAM_DELAYED, 1) addDamageCondition(condition, 50, 2000, -75) function onCastSpell(cid, var) if isCreature(variantToNumber(var)) then if percent >= math.random(1,100) then doAddCondition(variantToNumber(var), condition) end end return doCombat(cid, combat, var) end Editado Julho 24, 2015 9 anos por xWhiteWolf (veja o histórico de edições) Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Julho 24, 2015 9 anos Autor Estou totalmente leigo em scrips, mas não faltou a parte da porcentagem em chance? Devo ter me explicado mal. Seria básicamente isso: a spell sempre hitaria normalmente, mas teria 50% de chance de a cada ataque adicionar a condition energy. Editado Julho 24, 2015 9 anos por Alucar (veja o histórico de edições)
Postado Julho 24, 2015 9 anos editei lá Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
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.