Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Eai galera, sei que ando meio ausente mas hoje vim trazer um script que fiz pra um amigo via skype, fiz em uns 15 minutos e gostei de como ficou então vim compartilhar com vcs.
Trata-se de um exori vis com chance de errar o alvo e acertar os sqms em volta dele com uma % definida.

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)


function onCastSpell(cid, var)
	local attackPos = getCreaturePosition(variantToNumber(var))
	if math.random(100) <= 20 then -- esse 20 eh a chance de errar
		repeat
			newx = math.random(-1, 1) -- esse -1 e 1 eh os sqms que podem cair em x
			newy = math.random(-1, 1) -- esse -1 e 1 eh os sqms que podem cair em y
		until (newx ~= 0 or newy ~= 0)
		attackPos = {x = attackPos.x + newx, y = attackPos.y + newy, z = attackPos.z}
	end
	
	doCombat(cid, combat, {
			pos = attackPos,
			type = 2
		})
return true
end



 

<instant name="Energy Strike" words="exori vis2" lvl="12" mana="20" prem="1" range="4" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script" value="especiais/exoriviscomerro.lua">
	<vocation id="1"/>
	<vocation id="2"/>
	<vocation id="5"/>
	<vocation id="6"/>
</instant>

Ela só vai funcionar com target mas assim dá pra vc usar a criatividade e fazer uma spell mais forte que o normal só que com chance de errar e atacar uma pessoa/monstro do lado, até porque os magos não tem nada no tibia que faça eles errarem dano e essa é uma das magias iniciais então faz sentido que ele não acerte o golpe sempre.

Espero que gostem e usem o código como fonte de estudo pra criar outras magias fodas haha, abraços do lobo

Obs: uma edição que seria legal vcs fazerem seria a chance de errar ser proporcional ao ml e "experiencia" (vulgo level). 

Aqui tem uma pequena imagem de eu usando a spell e errando o target.

PoUF8JZ.png

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)

  • Respostas 5
  • Visualizações 1.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • tinha esquecido de anular uma coisinha, agr tá feito

  • Bruno Minervino
    Bruno Minervino

    Gostei da ideia, e proponho um desafio hehe, Coloque uma opção para escolher entre a chance de errar ser randômica ou depender do ml (quanto mais ml, menos o player erra).   Att

Postado
  • Autor

tinha esquecido de anular uma coisinha, agr tá feito

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1)

local rand = true -- deve ser randomica a chance? true/false

function onCastSpell(cid, var)
	local attackPos = getCreaturePosition(variantToNumber(var))
	if (rand and math.random(100) <= 20) or ((not rand) and math.random(100) <= (50 - getPlayerMagLevel(cid))) then
		repeat
			newx = math.random(-1, 1) -- esse -1 e 1 eh os sqms que podem cair em x
			newy = math.random(-1, 1) -- esse -1 e 1 eh os sqms que podem cair em y
		until (newx ~= 0 or newy ~= 0)
		attackPos = {x = attackPos.x + newx, y = attackPos.y + newy, z = attackPos.z}
	end
	
	doCombat(cid, combat, {
			pos = attackPos,
			type = 2
		})
return true
end

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

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)

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

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