Ir para conteúdo

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

Featured Replies

Postado

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)

  • Respostas 38
  • Visualizações 1.8k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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 DEA

  • tags no creaturescripts.xml: <event type="combat" name="DoubleAttackRegister" event="script" value="doubleattack.lua"/> <event type="statschange" name="DoubleAttack" event="script" value="d

  • atualizado

Postado

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)

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