ArcEmu: Need Help With Adding A Spell To Player Who Kills A Mob (lua) - ArcEmu

Jump to content

Toggle shoutbox Lastest Announcements

dfighter  : (07 December 2014 - 12:06 PM) Arcemu is in hibernation mode, please read http://arcemu.org/fo...showtopic=26903
dfighter  : (01 January 2013 - 05:56 PM) Arcemu wishes you all a happy new year!
Hasbro  : (12 September 2012 - 10:01 AM) Please excuse our outage from the web! Our web host had a major malfunction!
dfighter  : (01 September 2012 - 04:05 PM) Since the spam bots just don't want to stop, I've enabled admin verification when registering.
dfighter  : (23 January 2012 - 09:56 PM) Please note that from now on you will need to confirm your email on the wiki in order to edit it!
Hasbro  : (31 December 2011 - 12:50 PM) Happy New Years all!
Navid  : (26 December 2011 - 04:09 AM) Merry Christmas !!!!!! Happy holidays all :)
WAmadeus  : (24 December 2011 - 03:54 PM) Merry Christmas to all!
dfighter  : (24 December 2011 - 11:05 AM) The Arcemu team wishes y'all a Merry Christmukkah!
Hasbro  : (05 October 2011 - 12:53 PM) Looking for web designers for upcoming web related project. If you're interested in designing user interfaces contact me
dfighter  : (02 September 2011 - 03:47 PM) So who here wants vehicles in Arcemu? :P http://arcemu.org/fo...showtopic=25440
Hasbro  : (14 August 2011 - 03:25 PM) Join us on irc, grab an irc client and connect to irc.freenode.net join channel #arcemu /server irc.freenode.net:6667 /join #arcemu
jackpoz  : (03 August 2011 - 05:33 AM) to all Lua Engine (old one) users: please check http://arcemu.org/fo...showtopic=25274
Hasbro  : (20 May 2011 - 05:27 PM) Looking for people experienced with CMake configuration and setup! Contact me asap
Hasbro  : (15 May 2011 - 05:03 PM) ArcEmu is recruiting C++ programmers, contact Hasbro if interested.
paroxysm  : (03 May 2011 - 06:26 PM) Updated luabridge gossip example to describe the whole gossip creation process rather than just how to create menu. Gossip tutorial
paroxysm  : (23 April 2011 - 11:35 AM) Lua writers can refer to the Luabridge Tutorials section in the Wiki to learn how to write gossip code correctly.
Hasbro  : (20 April 2011 - 05:22 PM) Thank you for your continuous contribution of bug reports, we are working on them.
Hasbro  : (17 April 2011 - 03:20 AM) Please consider donating to support our bills. Donations can be sent using PayPal to donations@arcemu.org - Thank you for your support.
paroxysm  : (10 April 2011 - 12:43 AM) Refer to the Luabridge Tutorials section in the Wiki to learn the new syntax of luabridge.
Resize Shouts Area

Page 1 of 1

Need Help With Adding A Spell To Player Who Kills A Mob (lua)

#1 User is offline   perserver 

  • Newbie
  • Group: Members
  • Posts: 7
  • Joined: 21-March 09

Posted 22 March 2013 - 03:47 PM

Have been trying to add a buff to a player who kills a mob, but I have encountered some problems.

i started out with the simple:

function X_OnDied(Unit, Event)
local target = Unit:GetInRangePlayers()
Unit:CastSpell(35336, target)

Problem with this is that the spell in some instances get resisted, something that i do not want.

I was thinking about using the:

function X_OnDied(Unit, Event, Player)
Player:AddAura()

but im getting problems with that aswell, anyone know hos to fix this and/or do it the most efficient way.

best regards
0

#2 User is offline   Satanail 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 150
  • Joined: 11-March 12
  • Gender:Male
  • Location:Absurdistan
  • Server OS:Windows

Posted 22 March 2013 - 05:16 PM

This specific spell is AOE, there is no need to be any target in order to be cast. You can simply go with pUnit:CastSpell(35336). It shouldn't be resisted by the player this way and the debuff should be added to any hostile to the npc target within 6 yards of it.
0

#3 User is offline   perserver 

  • Newbie
  • Group: Members
  • Posts: 7
  • Joined: 21-March 09

Posted 23 March 2013 - 10:45 AM

First and foremost, thank you a lot for the help.

The CastSpell works but what i have found is the problem is the way magical resistance works. I have not really made a huge study but im pretty sure the core work from the data that a higher level opponent has easier to resist the spells a lower level npc cast. This means that if the player is in the same levelrange as the mob the script works fine (except for the fact that when I use CastSpell i cannot remove the buff, (since its considered a forced debuff..?) something that should be done when its supposed to be a beneficial spell right?) but if im a higher level than the npc the spell is usually resisted.

Thats why i started to try to use AddAura since that is impossible to "resist". Do you have any potential solution to solve it?


regards,
0

#4 User is offline   Satanail 

  • Enthusiast
  • PipPipPip
  • Group: Members
  • Posts: 150
  • Joined: 11-March 12
  • Gender:Male
  • Location:Absurdistan
  • Server OS:Windows

Posted 23 March 2013 - 04:36 PM

Hm... the only solution in your case might be a high level trigger npc that gets summoned for a very short time and casts the spell. You will need one custom npc with invisible display id and a small script such as this:
local NPC_TEST = 69 -- The npc id that you kill in order to get the debuff.
local NPC_TRIGGER = 50000 -- Trigger npc id (high level npc that casts the debuff)
local UNIT_FLAG_NOT_SELECTABLE = 26

function TestOnDie(pUnit, event)
local X = pUnit:GetX()
local Y = pUnit:GetY()
local Z = pUnit:GetZ()
local O = pUnit:GetO()
PerformIngameSpawn(1, NPC_TRIGGER, pUnit:GetMapId(), X, Y, Z, O, 14, 0, 0, 0, 0, 0, 0)
end

function OnLoad(pUnit, event)
pUnit:SetUInt32Value(59, UNIT_FLAG_NOT_SELECTABLE)
pUnit:CastSpell(35336)
pUnit:Despawn(10,0)
end

RegisterUnitEvent(NPC_TRIGGER,18,OnLoad)
RegisterUnitEvent(NPC_TEST,4,TestOnDie)

When you kill the npc (in my case npc id 69 - level 1-2 beast), it summons the custom spell caster npc with id 50000. That npc is high level (say 83) and is not selectable due to "pUnit:SetUInt32Value(59, UNIT_FLAG_NOT_SELECTABLE)". It only stays summoned for 10ms and casts the debuff spell. I am not sure weather debuffs like this one are supposed to resist on high levels, but sine this is the case, i can't think of any other solution.
0

Share this topic:


Page 1 of 1


Fast Reply

  

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users