Code:
                  /////////////LIST CONTRIBUTED BY NUVAL\\\\\\\\\\\\\\\\\\\\
                 //////////////THEREFORE CREDITS TO NUVAL\\\\\\\\\\\\\\\\\\\\
                ////////////////NUVAL SCRIPTING GROUP\\\\\\\\\\\\\\\\\\\\\\\\\
                //////////////////WOLFERINE/NEGLECTED/KERP\\\\\\\\\\\\\\\\\\\\\


< --Less Than
> --Greater Than
<= --Less Than or Equal To
>= --Greater Than or Equal To
== --Equal To
~= --Not Equal To
+ --Addition
- --Subtraction
* --Multiplication
/ --Division

Usage:

if(pUnit:GetHealthPct() == 50) then

//QUESTS\\
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,

Usage:

function Quest_onAccept(pQuest, event)
      ...
end
RegisterQuestEvent(ENTRYID, 1, "Quest_onAccept")

//GAMEOBJECTS\\

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,

Usage:

function GameObject_onSpawn(pGameObject, event)
      ...
end
RegisterGameObjectEvent(ENTRYID, 2, "GameObject_onSpawn")

//CREATURES\\

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,

Usage:

function Creature_OnCombat(pUnit, event, miscUnit, Misc)
Unit:SendChatMessage(11 -- LANGUAGE, 0 -- CHANNELTYPES, "Your text here")                          
end
RegisterUnitEvent(ENTRYID, 1, "Creature_OnCombat")

[Language ID
0 = Universal
1 = Orcish
2 = Darnassian
3 = Tauron
6 = Dwarfs
7 = Common
8 = Demonic
9 = Titans
13 = Gnomish
14 = Troll language
33 = Gutterspeak
35 = Draenei

[ChannelTypes
  CHAT_MSG_ADDON                                    = -1
    CHAT_MSG_SYSTEM                                 = 0    -- 28   CHAT_MSG_SYSTEM                
    CHAT_MSG_SAY                                    = 1
    CHAT_MSG_PARTY                                    = 2
    CHAT_MSG_RAID                                    = 3
    CHAT_MSG_GUILD                                    = 4
    CHAT_MSG_OFFICER                                = 5
    CHAT_MSG_YELL                                    = 6
    CHAT_MSG_WHISPER                                = 7
    CHAT_MSG_WHISPER_MOB                            = 8-- CHAT_MSG_WHISPER_INFORM
    CHAT_MSG_WHISPER_INFORM                            = 9-- CHAT_MSG_REPLY
    CHAT_MSG_EMOTE                                    = 10
    CHAT_MSG_TEXT_EMOTE                                = 11
    CHAT_MSG_MONSTER_SAY                            = 12
    CHAT_MSG_MONSTER_PARTY                            = 13
    CHAT_MSG_MONSTER_YELL                            = 14
    CHAT_MSG_MONSTER_WHISPER                        = 15
    CHAT_MSG_MONSTER_EMOTE                            = 16
    CHAT_MSG_CHANNEL                                = 17
    CHAT_MSG_CHANNEL_JOIN                            = 18
    CHAT_MSG_CHANNEL_LEAVE                            = 19
    CHAT_MSG_CHANNEL_LIST                            = 20
    CHAT_MSG_CHANNEL_NOTICE                            = 21
    CHAT_MSG_CHANNEL_NOTICE_USER                    = 22
    CHAT_MSG_AFK                                    = 23
    CHAT_MSG_DND                                    = 24
    CHAT_MSG_IGNORED                                = 25
    CHAT_MSG_SKILL                                    = 26
    CHAT_MSG_LOOT                                    = 27
    CHAT_MSG_MONEY                                  = 28
    CHAT_MSG_OPENING                                = 29
    CHAT_MSG_TRADESKILLS                            = 30
    CHAT_MSG_PET_INFO                               = 31
    CHAT_MSG_COMBAT_MISC_INFO                       = 32
    CHAT_MSG_COMBAT_XP_GAIN                         = 33
    CHAT_MSG_COMBAT_HONOR_GAIN                      = 34
    CHAT_MSG_COMBAT_FACTION_CHANGE                  = 35
    CHAT_MSG_BG_EVENT_NEUTRAL                        = 36
    CHAT_MSG_BG_EVENT_ALLIANCE                        = 37
    CHAT_MSG_BG_EVENT_HORDE                            = 38
    CHAT_MSG_RAID_LEADER                            = 39
    CHAT_MSG_RAID_WARNING                            = 40
    CHAT_MSG_RAID_WARNING_WIDESCREEN                = 41
    CHAT_MSG_RAID_BOSS_EMOTE                        = 42
    CHAT_MSG_FILTERED                                = 43
    CHAT_MSG_BATTLEGROUND                            = 44
    CHAT_MSG_BATTLEGROUND_LEADER                    = 45
    CHAT_MSG_RESTRICTED                                = 46
    CHAT_MSG_ACHIEVEMENT                            = 48
    CHAT_MSG_GUILD_ACHIEVEMENT                        = 49

//SERVER HOOKS\\

FUNCTION NAME |||||||||||||||||||||||||||||||||||||||||| ID TO REGISTER
OnNewCharacter(event, event, pPlayer, name, race, class) 1
        OnKillPlayer(event, pPlayer, pVictim) 2
        OnFirstEnterWorld(event, pPlayer) 3
        OnEnterWorld(event, pPlayer) 4
        OnGuildJoin(event, pPlayer, guildName) 5
        OnDeath(event, pPlayer) 6 
        OnRepop(event, pPlayer) 7
        OnEmote(event, pPlayer, pUnit, emoteId) 8
        OnEnterCombat(event, pPlayer, pTarget) 9 
        OnCastSpell(event, pPlayer, spellId) 10
        OnTick(event) 11
        OnLogoutRequest(event, pPlayer) 12
        OnLogout(event, pPlayer) 13
        OnQuestAccept(event, pPlayer, pQuestGiver, questId) 14
        OnZone(event, pPlayer, zoneId) 15
        OnChat(event, pPlayer, message, type, language) 16
        OnLoot(event, pPlayer, money, itemId) 17
        OnGuildCreate(event, pLeader, guildName) 18
        OnEnterWorld2(event, pPlayer) 19
        OnCharacterCreate(event, pPlayer) 20
        OnQuestCancelled(event, pPlayer, questId) 21
        OnQuestFinished(event, pPlayer, pQuestGiver, questId) 22
        OnHonorableKill(event, pPlayer, pKilled) 23
        OnArenaFinish(event, pPlayer, victory, rated) 24
        OnObjectLoot(event, pPlayer, pTarget, money, itemId) 25
        OnAreaTrigger(event, pPlayer, areaTriggerId) 26
        OnPostLevelUp(event, pPlayer) 27
        OnPreUnitDie(event, killer, victim) 28
        OnAdvanceSkillLine(event, pPlayer, skillId, current) 29

Usage:

function Player_OnKillPlayer(event, pPlayer, pVictim)
      ...
end

RegisterServerHook(2, "Player_OnKillPlayer")

//GOSSIPS\\ 

GOSSIP_ICON_GOSSIP_NORMAL               = 0,
        GOSSIP_ICON_GOSSIP_VENDOR               = 1,
        GOSSIP_ICON_GOSSIP_FLIGHT               = 2,
        GOSSIP_ICON_GOSSIP_TRAINER              = 3,
        GOSSIP_ICON_GOSSIP_ENGINEER1    = 4,
        GOSSIP_ICON_GOSSIP_ENGINEER2    = 5,
        GOSSIP_ICON_GOSSIP_AUCTION              = 6,
        GOSSIP_ICON_GOSSIP_EXTRA                = 7,
        GOSSIP_ICON_GOSSIP_TABARD               = 8,
        GOSSIP_ICON_GOSSIP_ARENA                = 9,
        GOSSIP_ICON_GOSSIP_COIN                 = 9,

GOSSIP_EVENT_ON_TALK                    = 1,
GOSSIP_EVENT_ON_SELECT_OPTION   = 2,
GOSSIP_EVENT_ON_END             = 3

Usage:
function Blabla_OnGossipTalk(pUnit, Event, player)
   pUnit:GossipCreateMenu(1, player, 0)
   pUnit:GossipMenuAddItem([color=red]2, "Flight Path", 1, 0)
   ...
end

RegisterGossipEvent(NPC_ID, 1, "Blabla_OnGossipTalk")

//SETUINT32VALUE\\

Unit:SetUInt32Value(58, 26) change the 26 to one of the numbers below


0 -- Selectable, attackable.
2 -- Client won't let you attack the mob
4 -- Makes players & NPCs attackable/unattackable
256 -- Changes attackable status
13 -- Sets PVP Flag
14 -- Silenced
15 -- Dead
17 -- Alive
18 -- Pacified
19 -- Stunned
20 -- Sets Combat Flag
21 -- Sets the same flag as mounted on a taxi (Can't cast spells)
22 -- Disarmed
23 -- Confused
24 -- Fleeing/Fear
25 -- Makes players & NPCs attackable/unattackable
26 -- Unselectable
27 -- Skinnable
30 -- Feign Death

//REGISTER EVENTS\\

RegisterServerHook(event,FunctionName)*
   RegisterTimedEvent(FunctionName, delay, repeats)*
   RegisterUnitEvent(NPC_Id, Event, FunctionName)
   RegisterQuestEvent(Quest_Id, Event, FunctionName)
   RegisterGameObjectEvent(GameObject_Id, Event, FunctionName)
   RegisterUnitGossipEvent(NPC_Id, Event, FunctionName)
   RegisterItemGossipEvent(Item_Id, Event, FunctionName)
   RegisterGOGossipEvent(GameObject_Id, Event, FunctionName)
Credits to
Arcemu Wiki
Nuval Lua scripting group:
Wolferine
Kerp
Neglected