^ That shows the original Alliance intro.



For both scripts combined into one:

Code:
local PlayerA
local NPC_SPAWNER_A
local NPC_SPAWNER_B

local PlayerB
local NPC_A
local NPC_B
local Count = 0

function NPCGIA_GJOEAOJG_HXOJ(pUnit, Event)
    NPC_SPAWNER_A = pUnit
end

RegisterUnitEvent(99955, 18, "NPCGIA_GJOEAOJG_HXOJ")

function NPCGIA_GJOEAOJG_HXOJ_Z(pUnit, Event)
    NPC_SPAWNER_B = pUnit
end

RegisterUnitEvent(99954, 18, "NPCGIA_GJOEAOJG_HXOJ_Z")

function GHOUL_SPAWNED_CARION(pUnit, Event)
    NPC_A = pUnit
end

RegisterUnitEvent(26515, 18, "GHOUL_SPAWNED_CARION")

function NECROMANCER_MASTER_SPAWN(pUnit, Event)
    NPC_B = pUnit
end

RegisterUnitEvent(232771, 18, "NECROMANCER_MASTER_SPAWN")

function zzz_OnFirstEnterWorld(event, pPlayer)
    local race = pPlayer:GetPlayerRace() -- We get the race of the person that we shall use
    if race == 1 or race == 3 or race == 4 or race == 7 or race == 11 then -- THIS IS THE ALLIANCE RACES, change to what you want.
        if PlayerA == nil then
        pPlayer:CastSpell(50010) -- Visual
        pPlayer:CastSpell(53658) -- Visual
        pPlayer:SetPlayerLock(1) -- Stop him moving
        pPlayer:MovePlayerTo(pPlayer:GetX(),pPlayer:GetY(),pPlayer:GetZ()+0.1, pPlayer:GetO(), 12288) -- Move him slightly to play client side effects and shizzle
        pPlayer:CastSpell(50010) -- More visuals
        pPlayer:CastSpell(28330) -- More visuals
        pPlayer:CastSpell(53658) -- More visuals
        PlayerA = pPlayer -- Here we tell the script we are now using a player
        RegisterTimedEvent("TesttestTesttestTest_zzogje", 4000, 1) -- players cant register events so we use a world event
        RegisterTimedEvent("TesttestTesttestTest_zzogje_z", 500, 2) -- See above
        end
    else
        if PlayerB == nil then        -- Horde
        pPlayer:SetPlayerLock(1)
        pPlayer:CastSpell(46940) -- Bleed
        pPlayer:SetStandState(7)
        PlayerB = pPlayer
        RegisterTimedEvent("GHOUL_PLAY_EMOTE", 1000, 1)
        RegisterTimedEvent("GHOUL_PLAY_EMOTE_STOP", 5000, 1)
        end
    end
end

function GHOUL_PLAY_EMOTE(pUnit, Event)
    NPC_A:Emote(398, 10000)
    NPC_B:SetNPCFlags(1)
    --PlayerB:CastSpell(57626) -- Feign Death
end

function GHOUL_PLAY_EMOTE_STOP(pUnit, Event)
    NPC_B:SendChatMessage(12,0,"What have you found ghoul?")
    NPC_B:MoveTo(-6431, -2047, 260.5, 2.605783)
    NPC_B:RegisterEvent("Hangon_A_Moment_nubcake", 4700, 1)
end

function Hangon_A_Moment_nubcake(pUnit, Event)
    NPC_B:SendChatMessage(12,0,"Ah.. I should be able to save this creature.")
    NPC_B:Emote(1, 4000)
    PlayerB:SetStandState(0)
    NPC_B:RegisterEvent("Hangon_A_Moment_nubcake_z", 4500, 1)
end

function Hangon_A_Moment_nubcake_z(pUnit, Event)
    NPC_B:ChannelSpell(57797, PlayerB)
    PlayerB:SetStandState(0)
    NPC_B:RegisterEvent("Hangon_A_Moment_nubcake_zz", 6000, 1)
end

function Hangon_A_Moment_nubcake_zz(pUnit, Event)
    NPC_B:StopChannel()
    PlayerB:SetStandState(0)
    NPC_B:SendChatMessage(12,0,"Your fine. Get up, you look pathetic... Come on, try and move!")
    PlayerB:SendBroadcastMessage("Hint: Try to move left or right to stand up.")
    PlayerB:SendAreaTriggerMessage("Hint: Try to move left or right to stand up.")
    PlayerB:SetPlayerLock(0)
    PlayerB:RemoveAura(46940) -- Bleed
    PlayerB:CastSpell(61126)
    NPC_B:RegisterEvent("Hangon_A_Moment_nubcake_zzz", 3000, 1)
end

function Hangon_A_Moment_nubcake_zzz(pUnit, Event)
    PlayerB = nil
    NPC_B:SetNPCFlags(2)
    NPC_B:ReturnToSpawnPoint()
end

-- Below is alliance shit

function TesttestTesttestTest_zzogje_z(pUnit, Event)
    PlayerA:CastSpell(53658) -- Some random visual because moving them is buggy and disables it
end

function TesttestTesttestTest_zzogje(pUnit, Event)
    --[[if NPC_SPAWNER_A == nil then -- if 1 is nil
    NPC_SPAWNER_A = PlayerA:GetCreatureNearestCoords(-8399, -2772.4, 194.8, 99955)
        if NPC_SPAWNER_A == nil then -- still nil reset
        PlayerA:RemoveAura(53658)
        playerA:RemoveAura(28330)
        PlayerA = nil
        else -- otherwise we have value
            if NPC_SPAWNER_B == nil then -- if 2 is nil
            PlayerA:GetCreatureNearestCoords(-8402, -2765.85, 195, 99954)
                if NPC_SPAWNER_B == nil then -- still nil
                PlayerA:RemoveAura(53658)
                playerA:RemoveAura(28330)
                PlayerA = nil
                else -- otherwise
                NPC_SPAWNER_A:SendChatMessage(12,0,"We got another live one!") -- ok, our first npc is doing something
                NPC_SPAWNER_A:ChannelSpell(51361, PlayerA) -- Visual
                NPC_SPAWNER_B:ChannelSpell(51361, PlayerA) -- Visual
                NPC_SPAWNER_A:RegisterEvent("SayHelloToMyLittleFriend_Z_z_Z", 5000, 1) -- now we can use the npc to control the event rather than the idiotic world event
                end
            else
            NPC_SPAWNER_A:SendChatMessage(12,0,"We got another live one!") -- ok, our first npc is doing something
            NPC_SPAWNER_A:ChannelSpell(51361, PlayerA) -- Visual
            NPC_SPAWNER_B:ChannelSpell(51361, PlayerA) -- Visual
            NPC_SPAWNER_A:RegisterEvent("SayHelloToMyLittleFriend_Z_z_Z", 5000, 1) -- now we can use the npc to control the event rather than the idiotic world event            
            end
        end
    else
        if NPC_SPAWNER_B == nil then -- if 2 is nil
        PlayerA:GetCreatureNearestCoords(-8402, -2765.85, 195, 99954)
            if NPC_SPAWNER_B == nil then -- still nil
            PlayerA:RemoveAura(53658)
            playerA:RemoveAura(28330)
            PlayerA = nil
            else -- otherwise
            NPC_SPAWNER_A:SendChatMessage(12,0,"We got another live one!") -- ok, our first npc is doing something
            NPC_SPAWNER_A:ChannelSpell(51361, PlayerA) -- Visual
            NPC_SPAWNER_B:ChannelSpell(51361, PlayerA) -- Visual
            NPC_SPAWNER_A:RegisterEvent("SayHelloToMyLittleFriend_Z_z_Z", 5000, 1) -- now we can use the npc to control the event rather than the idiotic world event
            end
        else
        ]]
        -- All of the above code was me trying to debug what I found out to be Tikki's idiotic copy + paste on spawn functions >_< RRAGGEEEEE
        NPC_SPAWNER_A:SendChatMessage(12,0,"We got another live one!") -- ok, our first npc is doing something
        NPC_SPAWNER_A:ChannelSpell(51361, PlayerA) -- Visual
        NPC_SPAWNER_B:ChannelSpell(51361, PlayerA) -- Visual
        NPC_SPAWNER_A:RegisterEvent("SayHelloToMyLittleFriend_Z_z_Z", 5000, 1) -- now we can use the npc to control the event rather than the idiotic world event        
        --end
    --end
end

RegisterServerHook(3, "zzz_OnFirstEnterWorld") -- Register the on first enter world

function SayHelloToMyLittleFriend_Z_z_Z(pUnit, Event)
    local Name = PlayerA:GetName() -- Get his name
    NPC_SPAWNER_B:SendChatMessage(12, 0, "Woah, are you alright "..Name.."? Your lucky to be alive! Here let me give you a hand.") -- Send a message including his name
    NPC_SPAWNER_A:RegisterEvent("CastReviveVisualThingyTeheTeheTehe", 4000, 1) -- next event
end

function CastReviveVisualThingyTeheTeheTehe(pUnit, Event)
    NPC_SPAWNER_A:StopChannel() -- stop it
    NPC_SPAWNER_B:StopChannel() -- stop it
    NPC_SPAWNER_B:FullCastSpellOnTarget(37755, PlayerA) -- ress visual
    NPC_SPAWNER_A:FullCastSpellOnTarget(37755, PlayerA) -- ress visual
    NPC_SPAWNER_A:RegisterEvent("LetPlayerMoveaogyaohea", 2400, 1) -- reset player
end

function LetPlayerMoveaogyaohea(pUnit, Event)
    PlayerA:SetPlayerLock(0) -- let the player move
    PlayerA:CastSpell(21074) -- ress visual
    PlayerA:RemoveAura(50010) -- delete visual
    PlayerA:RemoveAura(28330) -- delete visual
    PlayerA:RemoveAura(53658) -- delete visual
    NPC_SPAWNER_A:SendChatMessage(12, 0, "There we go! You should go see if you can help around the camp now.") -- ohai a message
    NPC_SPAWNER_A:RegisterEvent("MassDespawnAndResetoajphae", 1000, 1) -- reset event
end

function MassDespawnAndResetoajphae(pUnit, Event)
    PlayerA = nil -- All we need to do is say that the slot for a creating character is nil again
end