Ir para conteúdo

Featured Replies

Postado
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

  • Respostas 29
  • Visualizações 1.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Maniaco, testa ai, fiz umas alterações no script do @FeeTads: local percent = 30 --- Chance de Aplicar Condition local exhaustStorage = 2353255 -- use a mesma em todos os scripts para não ter c

  • @Maniaco, tenta o seguinte, coloca essa função: doTargetCombatHealth(nil, target, COMBAT_FIREDAMAGE, -minDmg, -maxDmg, 0xFF) No lugar dessa: doCreatureAddHealth(target, -dano) E remove e

  • se vc tiver wand elemental por script no weapon, vc pode colocar um math.random(1,100) e se for < 3  seta um condition local condition = createConditionObject(CONDITION_CURSED) setConditionPara

Posted Images

Postado
  • 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
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
  • 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
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.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo