Code:
enum QuestEvents
{
QUEST_EVENT_ON_ACCEPT = 1,
QUEST_EVENT_ON_COMPLETE = 2,
QUEST_EVENT_ON_CANCEL = 3,
QUEST_EVENT_GAMEOBJECT_ACTIVATE = 4,
QUEST_EVENT_ON_CREATURE_KILL = 5,
QUEST_EVENT_ON_EXPLORE_AREA = 6,
QUEST_EVENT_ON_PLAYER_ITEMPICKUP = 7,
QUEST_EVENT_COUNT,
};
enum CreatureEvents
{
CREATURE_EVENT_ON_ENTER_COMBAT = 1,
CREATURE_EVENT_ON_LEAVE_COMBAT = 2,
CREATURE_EVENT_ON_TARGET_DIED = 3,
CREATURE_EVENT_ON_DIED = 4,
CREATURE_EVENT_ON_TARGET_PARRIED = 5,
CREATURE_EVENT_ON_TARGET_DODGED = 6,
CREATURE_EVENT_ON_TARGET_BLOCKED = 7,
CREATURE_EVENT_ON_TARGET_CRIT_HIT = 8,
CREATURE_EVENT_ON_PARRY = 9,
CREATURE_EVENT_ON_DODGED = 10,
CREATURE_EVENT_ON_BLOCKED = 11,
CREATURE_EVENT_ON_CRIT_HIT = 12,
CREATURE_EVENT_ON_HIT = 13,
CREATURE_EVENT_ON_ASSIST_TARGET_DIED = 14,
CREATURE_EVENT_ON_FEAR = 15,
CREATURE_EVENT_ON_FLEE = 16,
CREATURE_EVENT_ON_CALL_FOR_HELP = 17,
CREATURE_EVENT_ON_LOAD = 18,
CREATURE_EVENT_ON_REACH_WP = 19,
CREATURE_EVENT_ON_LOOT_TAKEN = 20,
CREATURE_EVENT_ON_AIUPDATE = 21,
CREATURE_EVENT_ON_EMOTE = 22,
CREATURE_EVENT_COUNT,
};
enum GameObjectEvents
{
GAMEOBJECT_EVENT_ON_CREATE = 1,
GAMEOBJECT_EVENT_ON_SPAWN = 2,
GAMEOBJECT_EVENT_ON_LOOT_TAKEN = 3,
GAMEOBJECT_EVENT_ON_USE = 4,
GAMEOBJECT_EVENT_AIUPDATE = 5,
GAMEOBJECT_EVENT_ON_DESPAWN = 6,
GAMEOBJECT_EVENT_COUNT,
};
enum PlayerObjectEvents
{
PLAYEROBJECT_EVENT_DEALDAMAGE = 1,
PLAYEROBJECT_EVENT_COUNT,
};
enum GossipEvents
{
GOSSIP_EVENT_ON_TALK = 1,
GOSSIP_EVENT_ON_SELECT_OPTION = 2,
GOSSIP_EVENT_ON_END = 3,
GOSSIP_EVENT_COUNT,
};
enum RandomFlags
{
RANDOM_ANY = 0,
RANDOM_IN_SHORTRANGE = 1,
RANDOM_IN_MIDRANGE = 2,
RANDOM_IN_LONGRANGE = 3,
RANDOM_WITH_MANA = 4,
RANDOM_WITH_RAGE = 5,
RANDOM_WITH_ENERGY = 6,
RANDOM_NOT_MAINTANK = 7,
RANDOM_COUNT,
Code:
function OnSpawnWeCheckForPlayer(pUnit, Event)
pUnit:RegisterEvent("OnPlayerComesClose", 1000, 0)
end
function OnPlayerComesClose(pUnit, Event)
local TargeTwo = pUnit:GetClosestPlayer()
local DistancTwo = pUnit:GetDistance(TargeTwo)
if DistancTwo < 10 then -- if player is less than 10 distance (measurements are weird)
pUnit:RemoveEvents()
else
pUnit:FullCastSpellOnTarget(48135, TargeTwo) -- do this if he is more than 10 distance
end
end
RegisterUnitEvent(npcid, 18, "OnSpawnWeCheckForPlayer")