Ir para conteúdo
  • Cadastre-se

(Resolvido)[ juda ] Dano Da Wand Por Magic Level


Ir para solução Resolvido por Reds,

Posts Recomendados

bo noite TK 

gostaria da ajuda de vcs mais uma vez ...

agora é com esse script gostaria de colocar ele pra hitar por skill no caso MAgic LEvel

local combat_types = {
	[1] = {cond = CONDITION_FREEZING, effect = CONST_ME_ICEATTACK, anim = CONST_ANI_ICE, damage = COMBAT_ICEDAMAGE},
	[2] = {cond = CONDITION_FIRE, effect = CONST_ME_FIREATTACK, anim = CONST_ANI_FIRE, damage = COMBAT_FIREDAMAGE},
	[3] = {cond = CONDITION_POISON, effect = CONST_ME_SMALLPLANTS, anim = CONST_ANI_EARTH, damage = COMBAT_EARTHDAMAGE},
	[4] = {cond = CONDITION_ENERGY, effect = CONST_ME_ENERGYHIT, anim = CONST_ANI_ENERGY, damage = COMBAT_ENERGYDAMAGE},
	[5] = {effect = CONST_ME_HOLYDAMAGE, anim = CONST_ANI_HOLY, damage = COMBAT_HOLYDAMAGE},
	[6] = {cond = CONDITION_CURSED, effect = CONST_ME_MORTAREA, anim = CONST_ANI_SUDDENDEATH, damage = COMBAT_DEATHDAMAGE},

	default = {damage = COMBAT_PHYSICALDAMAGE},
}

local config = {
	storage = 303030,
	block_armor = true,
	condition_rounds = 0,
	condition_value = 0,
	condition_time = 2000,
}

for key, combat in pairs(combat_types) do
	combat.object = createCombatObject()

	setCombatParam(combat.object, COMBAT_PARAM_TYPE, combat.damage or COMBAT_PHYSICALDAMAGE)
	setCombatParam(combat.object, COMBAT_PARAM_EFFECT, combat.effect or CONST_ME_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_DISTANCEEFFECT, combat.anim or CONST_ANI_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_BLOCKARMOR, config.block_armor and 1 or 0)

	setCombatFormula(combat.object, COMBAT_FORMULA_LEVELMAGIC, 0, -28900, 0, -32900)

	if combat.cond then
		local condition = createConditionObject(combat.cond)
		setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
		addDamageCondition(condition, config.condition_rounds, config.condition_time, config.condition_value)
		setCombatCondition(combat.object, condition)
	end
end

local function find_combat(id)
	return combat_types[id] or false
end

function onUseWeapon(cid, var)
	local combat = find_combat(getCreatureStorage(cid, config.storage))

	if not combat then
		if getDistanceBetween(getThingPosition(cid), getThingPosition(var.number)) > 1 then
			return false
		end

		combat = combat_types.default
	end

	return doCombat(cid, combat.object, var)
end

sei que vao dizer que ja tem desse script no tk mas nao tem dessa que muda o elemento

 

ate tenteo add essas funçoes mas deu errado

 

function onGetFormulaValues(cid, level, maglevel)
min = -((level*0.2) + ((maglevel*20)*1.1))
max = -((level*0.2) + ((maglevel*20)*1.4))
return min, max
end

se alguem puder ajudar eu agradeço muito..  +REP

Editado por mullino (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
local combat_types = {
	[1] = {cond = CONDITION_FREEZING, effect = CONST_ME_ICEATTACK, anim = CONST_ANI_ICE, damage = COMBAT_ICEDAMAGE},
	[2] = {cond = CONDITION_FIRE, effect = CONST_ME_FIREATTACK, anim = CONST_ANI_FIRE, damage = COMBAT_FIREDAMAGE},
	[3] = {cond = CONDITION_POISON, effect = CONST_ME_SMALLPLANTS, anim = CONST_ANI_EARTH, damage = COMBAT_EARTHDAMAGE},
	[4] = {cond = CONDITION_ENERGY, effect = CONST_ME_ENERGYHIT, anim = CONST_ANI_ENERGY, damage = COMBAT_ENERGYDAMAGE},
	[5] = {effect = CONST_ME_HOLYDAMAGE, anim = CONST_ANI_HOLY, damage = COMBAT_HOLYDAMAGE},
	[6] = {cond = CONDITION_CURSED, effect = CONST_ME_MORTAREA, anim = CONST_ANI_SUDDENDEATH, damage = COMBAT_DEATHDAMAGE},

	default = {damage = COMBAT_PHYSICALDAMAGE},
}

local config = {
	storage = 303030,
	block_armor = true,
	condition_rounds = 0,
	condition_value = 0,
	condition_time = 2000,
}

for key, combat in pairs(combat_types) do
	combat.object = createCombatObject()

	setCombatParam(combat.object, COMBAT_PARAM_TYPE, combat.damage or COMBAT_PHYSICALDAMAGE)
	setCombatParam(combat.object, COMBAT_PARAM_EFFECT, combat.effect or CONST_ME_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_DISTANCEEFFECT, combat.anim or CONST_ANI_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_BLOCKARMOR, config.block_armor and 1 or 0)                    

	function onGetFormulaValues(cid, level, maglevel)
        min = -(100 * maglevel)
        max = -(240 * maglevel)
        return min, max
        end

       setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

	if combat.cond then
		local condition = createConditionObject(combat.cond)
		setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
		addDamageCondition(condition, config.condition_rounds, config.condition_time, config.condition_value)
		setCombatCondition(combat.object, condition)
	end
end

local function find_combat(id)
	return combat_types[id] or false
end

function onUseWeapon(cid, var)
	local combat = find_combat(getCreatureStorage(cid, config.storage))

	if not combat then
		if getDistanceBetween(getThingPosition(cid), getThingPosition(var.number)) > 1 then
			return false
		end

		combat = combat_types.default
	end

	return doCombat(cid, combat.object, var)
end

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
3 minutos atrás, Reds disse:

function onGetFormulaValues(cid, level, maglevel) min = -(100 * maglevel) max = -(240 * maglevel) return min, max end

@Reds Obrigado Pela ajuda Mano de coraçao mesmo

mas ai é nessa parte que configuro quanto ela vai hitar por level ou magic

?

Link para o post
Compartilhar em outros sites

exatamente, ali você pode configurar como você quiser

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
23 minutos atrás, Reds disse:

local combat_types = {
	[1] = {cond = CONDITION_FREEZING, effect = CONST_ME_ICEATTACK, anim = CONST_ANI_ICE, damage = COMBAT_ICEDAMAGE},
	[2] = {cond = CONDITION_FIRE, effect = CONST_ME_FIREATTACK, anim = CONST_ANI_FIRE, damage = COMBAT_FIREDAMAGE},
	[3] = {cond = CONDITION_POISON, effect = CONST_ME_SMALLPLANTS, anim = CONST_ANI_EARTH, damage = COMBAT_EARTHDAMAGE},
	[4] = {cond = CONDITION_ENERGY, effect = CONST_ME_ENERGYHIT, anim = CONST_ANI_ENERGY, damage = COMBAT_ENERGYDAMAGE},
	[5] = {effect = CONST_ME_HOLYDAMAGE, anim = CONST_ANI_HOLY, damage = COMBAT_HOLYDAMAGE},
	[6] = {cond = CONDITION_CURSED, effect = CONST_ME_MORTAREA, anim = CONST_ANI_SUDDENDEATH, damage = COMBAT_DEATHDAMAGE},

	default = {damage = COMBAT_PHYSICALDAMAGE},
}

local config = {
	storage = 303030,
	block_armor = true,
	condition_rounds = 0,
	condition_value = 0,
	condition_time = 2000,
}

for key, combat in pairs(combat_types) do
	combat.object = createCombatObject()

	setCombatParam(combat.object, COMBAT_PARAM_TYPE, combat.damage or COMBAT_PHYSICALDAMAGE)
	setCombatParam(combat.object, COMBAT_PARAM_EFFECT, combat.effect or CONST_ME_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_DISTANCEEFFECT, combat.anim or CONST_ANI_NONE)
	setCombatParam(combat.object, COMBAT_PARAM_BLOCKARMOR, config.block_armor and 1 or 0)                    

	function onGetFormulaValues(cid, level, maglevel)
        min = -(100 * maglevel)
        max = -(240 * maglevel)
        return min, max
        end

       setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

	if combat.cond then
		local condition = createConditionObject(combat.cond)
		setConditionParam(condition, CONDITION_PARAM_DELAYED, 1)
		addDamageCondition(condition, config.condition_rounds, config.condition_time, config.condition_value)
		setCombatCondition(combat.object, condition)
	end
end

local function find_combat(id)
	return combat_types[id] or false
end

function onUseWeapon(cid, var)
	local combat = find_combat(getCreatureStorage(cid, config.storage))

	if not combat then
		if getDistanceBetween(getThingPosition(cid), getThingPosition(var.number)) > 1 then
			return false
		end

		combat = combat_types.default
	end

	return doCombat(cid, combat.object, var)
end

 

@Reds Ai MAno O Efeito sai normal mas nao Da Dano nenhum

 

Link para o post
Compartilhar em outros sites

que erro deu? qual tfs é isso?

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
1 minuto atrás, Reds disse:

que erro deu? qual tfs é isso?

 

The globalstyller.com Version: (0.1.X.SERIES - -)
version 4.8.4 

nao deu erro nenhum, so nao da dano .

ela sai o efeito normal atacando o player ou o monstro mas nao tira dano nenhum. 

 

Link para o post
Compartilhar em outros sites

coloca no lugar de:

setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

isso:

setCombatCallback(combat.object, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
12 minutos atrás, Reds disse:

coloca no lugar de:


setCombatCallback(combat, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

isso:


setCombatCallback(combat.object, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues")

 

agora deu vamo testar

ja voltou reputando e marcando melhor resposta

mas des de ja muito obrigado manooo

 

47 minutos atrás, mullino disse:

min = -(100 * maglevel) max = -(240 * maglevel) return min, max end

para almentar o dano a cada magic level eu abaixo ou almento esses numeros?

 

Link para o post
Compartilhar em outros sites

posso aproveitar o topico para perguntar como eu deixo o ataque 'default' para aumentar o dano da sword ou glove dependendo do level e skill??

 

tipo tenho uma sword, e no items.xml está

<item id="7900" article="a" name="Katana">
		<attribute key="weight" value="1020"/>
		<attribute key="defense" value="10"/>
		<attribute key="attack" value="10"/>
		<attribute key="weaponType" value="sword"/>
	</item>

só que, estou com um char level 600 skill 120 e ele está hitando de 18 a 149, as vezes chegando até 248.

no weapons.xml não tem ela...

eu preciso declarar ela puxando um lua com COMBAT_FORMULA_SKILL 

assim:

 

<melee id="7900" level="75" unproperly="1" event="script" value="katana.lua">

 

ou tem alguma forma de aplicar uma formula para o default que pegue o level e skill do personagem e de um dano minimo e maximo baseado no atq da sword ou glove, sem ter que puxar um script formula?

pq apararentemente esse default nao está puxando o atq da sword, pq todas estao dando o mesmo dano, quando estao setadas para default.

 

assim:

<melee id="7900 level="20" unproperly="1" event="function" value="default">
	</melee>

 

 

 

 

 

 

 

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

AJfwFit.png&key=fe4d679c24a3f021c13992ab

Link para o post
Compartilhar em outros sites
23 minutos atrás, mullino disse:

agora deu vamo testar

ja voltou reputando e marcando melhor resposta

mas des de ja muito obrigado manooo

 

para almentar o dano a cada magic level eu abaixo ou almento esses numeros?

 

 

min = -(100 * maglevel) max = -(240 * maglevel) return min, max end

o ataque varia entre 100 * ml e 240 * ml

se o ml for 10 o ataque vai variar entre 1000 e 2400

se você trocar o 100 por 150, vai variar entre 1500 e 2400.. 

3 minutos atrás, joaovitorbk9 disse:

posso aproveitar o topico para perguntar como eu deixo o ataque 'default' para aumentar o dano da sword ou glove dependendo do level e skill??

 

tipo tenho uma sword, e no items.xml está


<item id="7900" article="a" name="Katana">
		<attribute key="weight" value="1020"/>
		<attribute key="defense" value="10"/>
		<attribute key="attack" value="10"/>
		<attribute key="weaponType" value="sword"/>
	</item>

só que, estou com um char level 600 skill 120 e ele está hitando de 18 a 149, as vezes chegando até 248.

no weapons.xml não tem ela...

eu preciso declarar ela puxando um lua com COMBAT_FORMULA_SKILL 

assim:

 


<melee id="7900" level="75" unproperly="1" event="script" value="katana.lua">

 

ou tem alguma forma de aplicar uma formula para o default que pegue o level e skill do personagem e de um dano minimo e maximo sem ter que puxar um script formula?

pq apararentemente esse default nao está puxando o atq da sword, pq todas estao dando o mesmo dano, quando estao setadas para default.

 

assim:


<melee id="7900 level="20" unproperly="1" event="function" value="default">
	</melee>

 

 

 

 

 

 

 

 

para criar isso, você precisa utilizar um weapons.xml e customizar para cada arma que você quiser, o bom é que você tem controle 100% do dano, efeitos e etc.. quando você define no weapons.xml o ataque definido em items.xml não é utilizado..

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
5 minutos atrás, Reds disse:

min = -(100 * maglevel) max = -(240 * maglevel) return min, max end

o ataque varia entre 100 * ml e 240 * ml

se o ml for 10 o ataque vai variar entre 1000 e 2400

se você trocar o 100 por 150, vai variar entre 1500 e 2400..

obrigamo mano funcionou perfeitamente

vc é 10 mano

+ Rep

Link para o post
Compartilhar em outros sites
9 minutos atrás, Reds disse:

min = -(100 * maglevel) max = -(240 * maglevel) return min, max end

o ataque varia entre 100 * ml e 240 * ml

se o ml for 10 o ataque vai variar entre 1000 e 2400

se você trocar o 100 por 150, vai variar entre 1500 e 2400.. 

para criar isso, você precisa utilizar um weapons.xml e customizar para cada arma que você quiser, o bom é que você tem controle 100% do dano, efeitos e etc.. quando você define no weapons.xml o ataque definido em items.xml não é utilizado..

 

@Reds o default nao pega o skill do char né? 

beleza então o negocio e fazer um script pra cada arma, assim realmente tenho controle total dela. Obrigado

AJfwFit.png&key=fe4d679c24a3f021c13992ab

Link para o post
Compartilhar em outros sites
1 minuto atrás, joaovitorbk9 disse:

@Reds o default nao pega o skill do char né? 

beleza então o negocio e fazer um script pra cada arma, assim realmente tenho controle total dela. Obrigado

 

ele usa, mas não sei exatamente como é o cálculo.. mas realmente, armas configuradas por script é muito melhor

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
40 minutos atrás, Reds disse:

ele usa, mas não sei exatamente como é o cálculo.. mas realmente, armas configuradas por script é muito melhor

 

sim, me tira mais uma duvida se vc souber? @Reds

 

pra que serve esse parâmetro: 

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_BLOCKSHIELD, 1)

 

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

AJfwFit.png&key=fe4d679c24a3f021c13992ab

Link para o post
Compartilhar em outros sites

ele usa as defesas do alvo para calcular, mas não sei se funciona para fórmulas de min/max, teria que testar

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

Link para o post
Compartilhar em outros sites
  • 9 months later...

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo