Postado Setembro 18, 2022 2 anos 5 horas atrás, Maniaco disse: Sim, no caso o dele da um CW para aplicar novamente! o meu não checa o condition, pq como falei, tem como aplicar condition energy/fire/poison por runa, ai o cara nunca vai levar o condition da arma, por isso eh mais facil substituir por storage que assim ele sempre vai tomar o condition. tenta assim: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(cid, target) if isCreature(target) and isCreature(cid) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doTargetCombatHealth(target, cid, COMBAT_ENERGYDAMAGE, -dano, -dano, 255) --source function de combat if tempo_de_condition > 0 then --tempo de condition no cabeçalho addEvent(apply_condition, 1000, target) --addEvent de 1s que chama novamente a função tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return true -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(target, storage_CD, os.time() + timer) apply_condition(cid, target) end end return doCombat(cid, combat, var) end caso não de certo, vou arrumar pra fazer com AddHealth ou AddMana no negativo, testa e ve se funciona mano pls
Postado Setembro 19, 2022 2 anos Autor 6 horas atrás, FeeTads disse: o meu não checa o condition, pq como falei, tem como aplicar condition energy/fire/poison por runa, ai o cara nunca vai levar o condition da arma, por isso eh mais facil substituir por storage que assim ele sempre vai tomar o condition. tenta assim: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(cid, target) if isCreature(target) and isCreature(cid) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doTargetCombatHealth(target, cid, COMBAT_ENERGYDAMAGE, -dano, -dano, 255) --source function de combat if tempo_de_condition > 0 then --tempo de condition no cabeçalho addEvent(apply_condition, 1000, target) --addEvent de 1s que chama novamente a função tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return true -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(target, storage_CD, os.time() + timer) apply_condition(cid, target) end end return doCombat(cid, combat, var) end caso não de certo, vou arrumar pra fazer com AddHealth ou AddMana no negativo, testa e ve se funciona mano pls Nao esta dando erro na distro porem quando eu ataco o alvo e aplico a condition ele para de dar dano! por um tempo e depois volta a dar dano porem a condition nao da dano apenas o hit normal do item!
Postado Setembro 19, 2022 2 anos 18 horas atrás, Maniaco disse: Nao esta dando erro na distro porem quando eu ataco o alvo e aplico a condition ele para de dar dano! por um tempo e depois volta a dar dano porem a condition nao da dano apenas o hit normal do item! tenta assim então: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(cid, target) if isCreature(target) and isCreature(cid) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doTargetCombatHealth(target, cid, COMBAT_ENERGYDAMAGE, -dano, -dano, 255) --source function de combat if tempo_de_condition > 0 then --tempo de condition no cabeçalho tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem addEvent(apply_condition, 1000, cid, target) --addEvent de 1s que chama novamente a função end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return doCombat(cid, combat, var) -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(target, storage_CD, os.time() + timer) apply_condition(cid, target) end end return doCombat(cid, combat, var) end
Postado Setembro 19, 2022 2 anos Autor 57 minutos atrás, FeeTads disse: tenta assim então: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(cid, target) if isCreature(target) and isCreature(cid) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doTargetCombatHealth(target, cid, COMBAT_ENERGYDAMAGE, -dano, -dano, 255) --source function de combat if tempo_de_condition > 0 then --tempo de condition no cabeçalho tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem addEvent(apply_condition, 1000, cid, target) --addEvent de 1s que chama novamente a função end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(target, storage_CD) - os.time() > 0 then return doCombat(cid, combat, var) -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(target, storage_CD, os.time() + timer) apply_condition(cid, target) end end return doCombat(cid, combat, var) end Ele esta causando dano normal e aplicando a condition e o EXAUST porem nao esta dando o dano da condition! em Criaturas! Agora o teste no playerXplayer ele auto se aplicou a condition em quanto hitava! e so deu o dano 1 vez! Sem Erros na Distro!
Postado Setembro 20, 2022 2 anos 19 horas atrás, Maniaco disse: Agora o teste no playerXplayer ele auto se aplicou a condition em quanto hitava! e so deu o dano 1 vez! é imaginei kkkkkkkk, não aplica em monster por causa do check de storage, vou arrumar: local percent = 30 --- Chance de Aplicar Condition local storage_CD = 2353255 --storage, se não souber não mexer local timer = 60 --timer em segundos pra aplicar o condition novamente local tempo_de_condition = 20 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) local function apply_condition(target) if isCreature(target) then --caso o target morra, acaba o condition dano = math.ceil(math.random(5000,10000)) --dano entre 5-10k doCreatureAddHealth(target, -dano) doSendAnimatedText(getCreaturePos(target), "-"..dano, 180) if tempo_de_condition > 0 then --tempo de condition no cabeçalho tempo_de_condition = tempo_de_condition - 1 -- diminui 1 na contagem addEvent(apply_condition, 1000, target) --addEvent de 1s que chama novamente a função end end return true end function onUseWeapon(cid, var) local target = getCreatureTarget(cid) if getPlayerStorageValue(cid, storage_CD) - os.time() > 0 then return doCombat(cid, combat, var) -- não precisa nada dentro desse IF pq se não iria flodar a tela do player end local position1 = getThingPosition(target) if isCreature(variantToNumber(var)) then -- isCreature = TODAS as criaturas > isPlayer > somente em player > isMonster somente em mmonster if percent >= math.random(1,100) then doSendMagicEffect(position1, 346) setPlayerStorageValue(cid, storage_CD, os.time() + timer) apply_condition(target) end end return doCombat(cid, combat, var) end teste e ve se funciona
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.