Ir para conteúdo

Featured Replies

Postado

TFS 0.4 860

 

Salve Tk, estava procurando algum sistema parecido mas nao encontrei aqui no tk e vim pedir ajuda de vcis!

 

Bom o script funcionaria da seguinte forma!

Gostaria de que alguns itens especiais tivessem a chance de aplicar uma Condition Ex:

Item xxxx (Luva), 2% Chance de aplicar Burn On hit e o burn daria 5000 a 10k de dmg random

Item xxxx (Cajado), 2% Chance de aplicar Poison On hit e o Poinson daria 5000 a 10k de dmg random

Item xxxx (Espada), 2% Chance de aplicar Paralisy On hit

 

Condition Ficaria ativa por 15 a 20 Segundos!

E soltar  uma Magic Effect no player(Inimigo) toda vez que o 2% Conseguir aplicar a condition!



Porem no DamageCondition para o dano teria alguma forma de deixa ele Random ? Ex:

addDamageCondition(condition, , , -math.random(,10000))

E a possibilida de verificar se o target já esta com a Condition Aplicada para nao aplicar infinitamente ? 

Resolvido Por momento! Para quem quiser utilizar! Script:

Condition ENERGY.Lua

Mostrar conteúdo oculto

 

Weapons.Xml     ----- Aqui voce coloca os ids dos items que vao aplicar condition Energy

Mostrar conteúdo oculto

 

Editado por Maniaco (veja o histórico de edições)

Resolvido por Wakon

Ir para solução
  • 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
  Em 07/08/2022 em 22:06, Maniaco disse:

Gostaria de que alguns itens especiais tivessem a chance de aplicar uma Condition Ex:

 

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)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
setCombatCondition(combat, condition)

 

tipo esse condition CURSED que deixa o char levando dano de mort. caso seja default o ataque, ou seja pela source.
vc pode fazer um CreatureScripts com "onStatsChange" checando a arma do attacker, e com um math.random(1,100) de adicionar a condition

Postado
  Em 15/09/2022 em 14:54, Maniaco disse:

Eu acabei atualizando o Topico com uma solução e uma duvida nova poderia me orientar! 

a duvida seria checar se o target ja está com o condition?
creio que o mais facil seria ativar uma storage no target com pelo menos 1 minuto de CD pra n receber novamente.}
tipo: addCondition > 1 min de CD no inimigo
pq se não por mais que não coloque enquanto estiver com o condition, quando o condition acabar, ele ja pode sofrer de novo.

então creio que o mais certo seria tipo:

 

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 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 condition = createConditionObject(CONDITION_ENERGY)  ------ Aqui Voce troca qual tipo de Condition vai aplicar o item! 
setConditionParam(condition, CONDITION_PARAM_DELAYED, 10000) -- param_delayed, 10000 creio que o 10000 sã0 10 segundos, mexi aqui, mas não tenho ctz se é tempo adicionado ao target ou CD pra usar de novo, testar PF
addDamageCondition(condition, 50, 2000, -75) ------ Aqui Voce troca a Formula do Dano da Condition

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
            doAddCondition(variantToNumber(var), condition)
            doSendMagicEffect(position1, 346) 
      		setCreatureStorage(target, storage_CD, os.time() + timer)
        end
    end
    
    return doCombat(cid, combat, var)
end

 

Postado
  • Autor
  Em 15/09/2022 em 16:28, FeeTads disse:

a duvida seria checar se o target ja está com o condition?
creio que o mais facil seria ativar uma storage no target com pelo menos 1 minuto de CD pra n receber novamente.}
tipo: addCondition > 1 min de CD no inimigo
pq se não por mais que não coloque enquanto estiver com o condition, quando o condition acabar, ele ja pode sofrer de novo.

então creio que o mais certo seria tipo:

 


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 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 condition = createConditionObject(CONDITION_ENERGY)  ------ Aqui Voce troca qual tipo de Condition vai aplicar o item! 
setConditionParam(condition, CONDITION_PARAM_DELAYED, 10000) -- param_delayed, 10000 creio que o 10000 sã0 10 segundos, mexi aqui, mas não tenho ctz se é tempo adicionado ao target ou CD pra usar de novo, testar PF
addDamageCondition(condition, 50, 2000, -75) ------ Aqui Voce troca a Formula do Dano da Condition

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
            doAddCondition(variantToNumber(var), condition)
            doSendMagicEffect(position1, 346) 
      		setCreatureStorage(target, storage_CD, os.time() + timer)
        end
    end
    
    return doCombat(cid, combat, var)
end

 



Pefeito dmais unico problema que faltou foi o Damage Min- Max- Dano sofrido pela Condition!

 

addDamageCondition(condition, 50, 2000, -math.random(5000,10000))

Poderia me dar os detalhes! ou dessa forma esta correto ?

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