Ir para conteúdo
  • Cadastre-se

(Resolvido)(PEDIDO DE SCRIPT) Item que fornece uma chance do personagem realizar um ataque duplo.


Ir para solução Resolvido por Gantz,

Posts Recomendados

o script ja estava com os 100 milisegundos, não tenho culpa que não tenha noção do tempo, procure aonde esta configurado e edite você mesmo

 

Já resolvi, o estúpido.

Era só por 1000 ali onde está "100".

addEvent(doSendAnimatedText, 100, getThingPos(cid), config.message, config.color)

Resolvido, e obrigado.

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

1000 = 1 segundo, 100 milisegundos = 1/10 segundo

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@Gantz, depois de um tempinho testando a funcionalidade do seu sistema, eu percebi algo que não deveria ocorrer..

O problema é que o ataque duplo funciona até mesmo com runas, como a SD por exemplo, ai o dano fica muito apelativo. :hum:

 

Tem como você modificar o script por gentileza para que o mesmo não funcione com runas?

Seria legal também se o dano do ataque duplo lança-se o mesmo dano elemental das Wands e Rods, pois o segundo dano tá "saindo" como physical.

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

eu deixei apenas para knights, pois nao faz sentido um mago de ataque duplo na varinha, o iten que vc bota limita pra knight

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

eu deixei apenas para knights, pois nao faz sentido um mago de ataque duplo na varinha, o iten que vc bota limita pra knight

 

Essa é uma ótima ideia brother, obrigado.

Mas ainda sim eu gostaria que o efeito não funciona-se com runas, pois os paladins eu vou por pra poderem usar também, só que eles também usam SD..

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

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

Infelizmente não tem como bloquear o ataque por runas, pois a função não retornar com o que o player esta atacando, o q teria como fazer é bloquear o double hit quando o player ataca-se com o tipo DEATHDAMAGE, mais também pararia de funcionar o double caso usasse um "exori mort", ou uma simples wand que ataca com o este tipo.

 

Enquanto o dano não esta sendo igual é estranho, pois o script pega o mesmo tipo q ele esta sendo atacado para duplicar.

 

Desculpa encontrei o problema segue abaixo o script com a solução:

 

Também coloquei no script duas tabelas aonde você pode colocar quais tipos de ataque e quais vocações NÃO vão fazer parte do sistema, lembrando oq vc por la NÃO fara parte do script, as demais vocações e tipos de ataque funcionara normal

local config = {
	itemid = 2142, -- id do item
	slot = CONST_SLOT_HEAD, -- slot q precisa estar equipado
	chance = 10, -- chance de acontecer
	effect = 11, -- efeito ao acontecer
	message = "DOUBLE", -- e mensagem
	color = 120, -- cor da mensagem
	seconds = 1000, -- após quanto tempo acontecera o double hit
	ignoredElements = {COMBAT_DEATHDAMAGE}, -- tipos não aceito
	ignoredVocations = {}, -- vocações não aceitas
}

function onCombat(cid, target)
	registerCreatureEvent(target, "DoubleAttack")
        return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if type == STATSCHANGE_HEALTHLOSS and isPlayer(attacker) then
		if getPlayerSlotItem(attacker, config.slot)	then
			if getPlayerSlotItem(attacker, config.slot).itemid == config.itemid then
				if isInArray(config.ignoredElements, combat) or isInArray(config.ignoredVocations, getPlayerVocation(attacker)) then
					return true
				end
				if math.random(100) <= config.chance then
					addEvent(function()
						if isCreature(attacker) and isCreature(cid) then
							doTargetCombatHealth(attacker, cid, combat, -value, -value, config.effect)
							doSendAnimatedText(getThingPos(cid), config.message, config.color)
						end
					end, config.seconds)
				end
			end
		end
	end
	return true
end

no script esta configurado para todas vocações funcionar e somente não funcionar se o ataque for do tipo DEATHDAMAGE.

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

whatsapp-4in.png (18) 98134-9991

 

icon-skype.png [email protected]

 

Link para o post
Compartilhar em outros sites

Nesse caso, creio que "bloquear" os danos elementais seria a melhor opção.

Mas tem como bloquear os outros elementos também além do DEATH DAMAGE? Se sim, seria bom também.

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

@Gantz, ficou bem massa cara. Gostei da sua dedicação pra esse tópico.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Vocês tem certeza que o hit duplicado esta saindo?Porque eu testei o script esta perfeito,mas os hit são os mesmo no log,exemplo eu com skill 10 de arma de attack 45,dou hits de media de 12,25,35,40,dou hit de double no mesmo valor de ataque normal,não tive nenhum hit acima do que o normal,a impressão é que apenas esta fazendo os effects e a mensagem.

Baltazar ja testou? 

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

Vou testar sim, já já eu edito esse comentário.

Mais uma vez, muito obrigado @Gantz e aos demais usuários pela atenção.


EDIT: Não funcionou o script, mas também não ocorreu nenhum erro no distro. Testei o mesmo usando swords e wands só que não funfou.

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

Baltazar@ Acredito que nao funcionou porque o Gantz confundiu essa parte:

registerCreatureEvent(cid, "DoubleAttackRegister")

A função no code dele ta chamando essa:

function onCombat(cid, target)
    registerCreatureEvent(target, "DoubleAttack")
return true 
end

então troque a função do login.lua de:

registerCreatureEvent(cid, "DoubleAttackRegister")

Para:

registerCreatureEvent(cid, "DoubleAttack")

E teste,para mim funcionou muito bem,mas não senti alteração na potencia dos hit em doubles,é como se fosse apenas um efeito visual e não fisico.

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

@Lyon: Mesmo assim o script não funcionou, e não ocorreu erros no distro.

 

E na verdade não é um efeito visual que ocorre, e sim um efeito físico mesmo. Pois com armas de baixo ataque é difícil perceber o segundo dano tirando algo, pois a barrinha de vida do alvo nos engana, (levando em conta se o alvo possuir um alto valor de HP).

 

Tinha uma vez quando eu estava testando o script com o meu Master Sorcerer e vi que realmente o segundo dano tira algo, pois a "sorte" de sair o ataque duplo tinha caido logo quando eu fiquei spammando exevo gran mas flam, que evidentemente essa spell desfere um dano altíssimo, aí deu pra perceber melhor.

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

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

@Lyon: Mesmo assim o script não funcionou, e não ocorreu erros no distro.

 

E na verdade não é um efeito visual que ocorre, e sim um efeito físico mesmo. Pois com armas de baixo ataque é difícil perceber o segundo dano tirando algo, pois a barrinha de vida do alvo nos engana, (levando em conta se o alvo possuir um alto valor de HP).

 

Tinha uma vez quando eu estava testando o script com o meu Master Sorcerer e vi que realmente o segundo dano tira algo, pois a "sorte" de sair o ataque duplo tinha caido logo quando eu fiquei spammando exevo gran mas flam, que evidentemente essa spell desfere um dano altíssimo, aí deu pra perceber melhor.

Como o script não esta funcionando para você,testei aqui e esta 100%,esta rodando normal e ignorando elemento death!

 

100% aprovado!

 

 

16icmtz.png

Link para o post
Compartilhar em outros sites

Você está usando esse, cara?

local config = {
	itemid = 2142, -- id do item
	slot = CONST_SLOT_HEAD, -- slot q precisa estar equipado
	chance = 10, -- chance de acontecer
	effect = 11, -- efeito ao acontecer
	message = "DOUBLE", -- e mensagem
	color = 120, -- cor da mensagem
	seconds = 1000, -- após quanto tempo acontecera o double hit
	ignoredElements = {COMBAT_DEATHDAMAGE}, -- tipos não aceito
	ignoredVocations = {}, -- vocações não aceitas
}

function onCombat(cid, target)
	registerCreatureEvent(target, "DoubleAttack")
        return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if type == STATSCHANGE_HEALTHLOSS and isPlayer(attacker) then
		if getPlayerSlotItem(attacker, config.slot)	then
			if getPlayerSlotItem(attacker, config.slot).itemid == config.itemid then
				if isInArray(config.ignoredElements, combat) or isInArray(config.ignoredVocations, getPlayerVocation(attacker)) then
					return true
				end
				if math.random(100) <= config.chance then
					addEvent(function()
						if isCreature(attacker) and isCreature(cid) then
							doTargetCombatHealth(attacker, cid, combat, -value, -value, config.effect)
							doSendAnimatedText(getThingPos(cid), config.message, config.color)
						end
					end, config.seconds)
				end
			end
		end
	end
	return true
end

Não sei o que é então..

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

Você está usando esse, cara?

local config = {
	itemid = 2142, -- id do item
	slot = CONST_SLOT_HEAD, -- slot q precisa estar equipado
	chance = 10, -- chance de acontecer
	effect = 11, -- efeito ao acontecer
	message = "DOUBLE", -- e mensagem
	color = 120, -- cor da mensagem
	seconds = 1000, -- após quanto tempo acontecera o double hit
	ignoredElements = {COMBAT_DEATHDAMAGE}, -- tipos não aceito
	ignoredVocations = {}, -- vocações não aceitas
}

function onCombat(cid, target)
	registerCreatureEvent(target, "DoubleAttack")
        return true
end

function onStatsChange(cid, attacker, type, combat, value)
	if type == STATSCHANGE_HEALTHLOSS and isPlayer(attacker) then
		if getPlayerSlotItem(attacker, config.slot)	then
			if getPlayerSlotItem(attacker, config.slot).itemid == config.itemid then
				if isInArray(config.ignoredElements, combat) or isInArray(config.ignoredVocations, getPlayerVocation(attacker)) then
					return true
				end
				if math.random(100) <= config.chance then
					addEvent(function()
						if isCreature(attacker) and isCreature(cid) then
							doTargetCombatHealth(attacker, cid, combat, -value, -value, config.effect)
							doSendAnimatedText(getThingPos(cid), config.message, config.color)
						end
					end, config.seconds)
				end
			end
		end
	end
	return true
end

Não sei o que é então..

Sim o ultimo que ele passou... Usando a distro do luanluciano 8.6 3777!

 

Usando o ancient amulet com ele configurado nos movements.xml desse modo \/

 

<movevent type="Equip" itemid="2142" slot="necklace" event="function" value="onEquipItem"/>
<movevent type="DeEquip" itemid="2142" slot="necklace" event="function" value="onDeEquipItem"/>

adicionado no creaturescripts.xml assim:

 

 
<event type="combat" name="DoubleAttackRegister" event="script" value="doubleattack.lua"/>
<event type="statschange" name="DoubleAttack" event="script" value="doubleattack.lua"/>

 e registrado no login.lua assim:

registerCreatureEvent(cid, "DoubleAttackRegister")

Tenta ae.

Link para o post
Compartilhar em outros sites

essa sua imagem é servidor de ds neh lyon?

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
  • 4 weeks 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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo