Ir para conteúdo
  • Cadastre-se

(Resolvido)Chance de aplicar Condition no Inimigo com item!


Ir para solução Resolvido por Wakon,

Posts Recomendados

15 horas atrás, Toruk disse:

Tenta usar o script assim. Eu fiz o exemplo de uma condition de fire. 

 

Eu não mexo muito com tfs 0.X por ser meio limitado, mas acho que vai dar certo assim. Se tiver algum erro só falar

 


local percent = 30  --- Chance de Aplicar Condition

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
	if not isCreature(variantToNumber(var)) or hasCondition(var) == true or (math.random(1,100) > percent) then
		return false
	end
	return doCombat(cid, combat, var)
end

 


A função CastSpell (Seria so derecionada para Spells correto ?,  Pois estou tentando utilizar o item para aplicar a condition!

function onCastSpell(cid, var)
Link para o post
Compartilhar em outros sites
  • Respostas 29
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

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 conditions do mesmo estilo aplicando ao mesmo tempo ou use diferentes storages em cada script para permitir várias conditions diferentes no mesmo target, e cuidado para n usar em outros sistemas para n causar interferência. local ticks = 20 -- quantidade de vezes que vai aplicar a condition local tic

@Maniaco, tenta o seguinte, coloca essa função: doTargetCombatHealth(nil, target, COMBAT_FIREDAMAGE, -minDmg, -maxDmg, 0xFF) No lugar dessa: doCreatureAddHealth(target, -dano) E remove essas linhas: local dano = math.ceil(math.random(minDmg, maxDmg)) doSendAnimatedText(getCreaturePos(target), "-"..dano, 180) Ai pra trocar o tipo é só alterar no lugar de COMBAT_FIREDAMAGE, geralmente você encontra os tipos em data/lib/000-constant.lua.

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 mat

Posted Images

Basta mudar para o tipo de função que você desejar, indiferente. Pode usar action, creaturescripts, onuseweapon, etc.

 

Oque vai causar a condition é o "return doCombat(cid, combat, var)".

 

Link para o post
Compartilhar em outros sites
4 minutos atrás, Toruk disse:

Basta mudar para o tipo de função que você desejar, indiferente. Pode usar action, creaturescripts, onuseweapon, etc.

 

Oque vai causar a condition é o "return doCombat(cid, combat, var)".

 

Sim, Estou ciente, porem Gostaria de que o Script do @FeeTads Funcionasse porque ele checa se o player já esta com a condition para nao aplicar infinitamente!

Link para o post
Compartilhar em outros sites

LOL. Você pensa que ele a aquele "script" está fazendo alguma checagem de condition.

 

Como deu pra ver nesse seu comentário, vc não se deu ao trabalho de ler o script dele e muito menos o meu, pra ver qual está fazendo checagem ou não ...

 

Btw, boa sorte com o script que faz checagem do além.

 

Link para o post
Compartilhar em outros sites
10 minutos atrás, Toruk disse:

LOL. Você pensa que ele a aquele "script" está fazendo alguma checagem de condition.

 

Como deu pra ver nesse seu comentário, vc não se deu ao trabalho de ler o script dele e muito menos o meu, pra ver qual está fazendo checagem ou não ...

 

Btw, boa sorte com o script que faz checagem do além.

 

Sim, no caso o dele da um CW para aplicar novamente!

O seu perdão eu realmente só olhei por cima!

17 horas atrás, Toruk disse:

Tenta usar o script assim. Eu fiz o exemplo de uma condition de fire. 

 

Eu não mexo muito com tfs 0.X por ser meio limitado, mas acho que vai dar certo assim. Se tiver algum erro só falar

 



local percent = 30  --- Chance de Aplicar Condition

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE)

local condition = createConditionObject(CONDITION_FIRE)
setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
addDamageCondition(condition, 1, 3000, -math.random(5000,10000))
setCombatCondition(combat, condition)

function onCastSpell(cid, var)
	if not isCreature(variantToNumber(var)) or hasCondition(var) == true or (math.random(1,100) > percent) then
		return false
	end
	return doCombat(cid, combat, var)
end

 

Teria como colcoar para soltar Magic Effect apos aplicar a condition ?

Esta retornando o erro: [12:21:28.823] [Error - Weapon Interface]
[12:21:28.824] data/weapons/scripts/condition.lua:onUseWeapon
[12:21:28.825] Description:
[12:21:28.825] (luaGetCreatureCondition) Creature not found

Quando aplica a condition o personagem para de bater! ate acabar a condition! 

Editado por Maniaco (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96844
    Tópicos
    519600
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo