SK
creatureevent

[SIMPLE] Anti-attack yourself

Por Skymagnum, 08 de abr. de 2013 em Globalevents e Spells

script
6
1.3k
SkymagnumS
08 de abril de 2013 às 14:54

É simples só serve para monstros não atacarem eles mesmo em alguns server's eles roubam a exp, há casos também de magias bugadas que os próprios jogadores se atacam.

 

 

/data/creaturescripts/scripts/ crie um arquivo renomeie para antiAtk:

 

 

function onStatsChange(cid, attacker, type, combat, value)
if type == STATSCHANGE_HEALTHLOSS then
if attacker == cid then
  return false
end
end
return true
end

 

creaturescripts.xml

 

<event type="statschange" name="antiAtk" event="script" value="antiAtk.lua"/>

 

Tem que registar no xml dos monstros.

 

@Tinha esquecido disso dalvo valeu.

Editado Abril 8 por Skymagnum

RoksasR
08 de abril de 2013 às 15:10

Muito bom mesmo cara, é extremamente simples e lógico, da pra usar isso também em Spells bugadas que os players se atacam, obrigado por trazer o conteúdo para o Éks :)

 

 

~~

OBS: Arrume o code do registercreature...

dalvorsnD
08 de abril de 2013 às 15:44

Tem duas falhas nesse script que vão impossibilitar que ele funcione adequadamente e que não bugue o jogo.

 

Primeiro é que pra uma criatura usar uma creature script, ela tem que ser registrada nela. E monstro não executam login, logo eles nunca vão receber o registro como tu está fazendo.

 

O segundo é que você não dá return true no script, logo o retorno passa a ser nil, isso causa o cancelamento do dano para todas as criaturas que usam do evento.

 

A dica é a seguinte: use a creaturescript onCreatureApper para registrar nos monstros a onStatsChange, e apos o bloco do if do seu script, antes do end, dê return true.

 

#edit

Pensando melhor, não adianta usar onCreatureApper, o unico jeito mesmo é registrar no xml dos monstros.

Editado Abril 8 por dalvorsn

SkyLighS
08 de abril de 2013 às 22:18

O Código em code tinha bugado estava com letras em negrito com pelo script quase todo editei ele pra você .

drakylucasD
08 de abril de 2013 às 22:46

ja pensou na possibilidade de eu usar exura?

 

script totalmente fail... o exura não funciona mais depois disso ^^

você nao verificou nem se é stats_healthloss ¬¬

VincV
09 de abril de 2013 às 11:33

esqueceu do utamo vita(perde mana ao inves de hp)

Editado Abril 18 por lordbug99