[LUA] ACDB superboss

Results 1 to 2 of 2
  1. #1
    Enthusiast lilnate22 is offline
    MemberRank
    Jul 2007 Join Date
    46Posts

    [LUA] ACDB superboss

    its a super boss on my server...thought might as well release it :)
    its not THE best coding ever...but gets the job done
    i also looked over some scripts to 2x check my LUA skill, so you might find some similarity (since the only way i learn, is by looking at others)

    Code:
    --Coded by Lilnate22 of ACDB @ www.ac-db.info---
    --ill probably be seeing this one else where...by some one else...
    
    --[[ NATE the TRANQUIL
    Attacks
    Spawns creatures
    Attacks
    Spawns Creatures
    Despawns, then spawns Vile ]]
    --attacks
    
    function tnatespit(Unit)
    Unit:SendChatMessage(11,0,"I Spit on your STUPID attempts!")
    if Unit:GetHealthPct()>80 then
    Unit:CastSpell(38739)
    
    else 
    Unit:CastSpell(24839)
    end
    end
    
    function tnatevines(Unit)
    Unit:CastSpell(35244)
    Unit:SendChatMessage(11,0,"Sit donwn mortal!")
    end
    
    function tnateangry (Unit)
    Unit:CastSpell(22924)
    Unit:PlaySoundToSet(11165)
    end
    ---end attack
    
    --spawn help
    function tnatespawnhelp(Unit, event)
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-20
                y=y+40
                Unit:SpawnCreature(70030, x, y, z, o, 17, 20000);
                x=x+20
                y=y-33
                Unit:SpawnCreature(70030,x,y,z,o,17,20000);
                Unit:SendChatMessage(11,0,"Say hello to my little friends")
    end 
                
    function tnate_change(Unit,event)
    if Unit:GetHealthPct() < 50 then
    Unit:SetModel(13170)
    Unit:PlaySoundToSet(11163)
    
    end
    end
    --kil target
    function tnate_kill(Unit,Event)
    Unit:PlaySoundToSet(11164)
    Unit:SendChatMessage(11,0,"Damn im good!")
    end
    --kil
    
    
    --main
    function tnate_oncombat(Unit,event)
    Unit:SendChatMessage(12,0,"HA HA HA...your no match for me!")
    Unit:RegisterEvent("tnatespit",12000,0)
    Unit:RegisterEvent("tnatevines",40000,0)--35244
    Unit:RegisterEvent("tnatespawnhelp",20000,0) 
    Unit:RegisterEvent("tnate_change",1500,0)
    Unit:RegisterEvent("tnateangry",50000,0)--22924
    end
    --leave
    function tnate_leavecombat(Unit,event)
    Unit:RemoveEvents()
    end
    --dead
    function tnate_died(Unit,event)
    x = Unit:GetX()
                y = Unit:GetY()
                z = Unit:GetZ()
                o = Unit:GetO()
                
                
                Unit:SpawnCreature(60039, x, y, z, o, 17, 0);
                Unit:Despawn(1,0)
    Unit:RemoveEvents()
    end
    
    
    --registration------------------------------------------------------------------------------
    RegisterUnitEvent(60038,1,"tnate_oncombat")
    RegisterUnitEvent(60038,4,"tnate_died")
    RegisterUnitEvent(60038,2,"tnate_leavecombat")
    RegisterUnitEvent(60038,3,"tnate_kill")
    -----------------------------------------------------------------------------------------------
    
    --[[NATE THE VILE
    attack (20 secs)
    spawn caster (20 secs)
    spawn melee (20 secs)
    ]]
    --attacks----------------------------------
    function vnate_attack (Unit)--
    Unit:CastSpell(24857)
    local chater=math.random(1,4)
    if (chatter==1)then
    Unit:SendChatMessage(11,0,"How dare you!")
    elseif (chatter==2)then
    Unit:SendChatMessage(11,0,"Begone! your no match for me!")
    elseif (chatter==3)then
    Unit:SendChatMessage(11,0,"Muahaha your no match for me!")
    end
    end --
    function vnate_attack2(Unit,event)--
    Unit:CastSpell(35927)
    end--
    function vnate_attack3(Unit,event)--
    Unit:FullCastSpell(25679)
    Unit:SendChatMessage(11,0,"KABOOM!")
    end--
    function vnate_aldead (pUnit, Event)--
    if pUnit:GetHealthPct() < 5 then
        pUnit:FullCastSpellOnTarget(5, pUnit:GetRandomPlayer(1))
    end
    end--
    -----------------------------------------------------------------
    ---Talk---
    function vnate_talk(Unit,event)
    local talker=math.random(1,10)
    if (talker==1) then
    Unit:SendChatMessage(11,0,"WoW...your pitty attempts make me laugh...")
    elseif(talker==2)then
    Unit:SendChatMessage(11,0,"WoW...this is rather....fun...")
    elseif (talker==3) then
    Unit:SendChatMessage(11,0,"are we done yet?")
    elseif (talker==4)then
    Unit:SendChatMessage(11,0,"did you have enough....")
    elseif (talker==5)then
    Unit:SendChatMessage(11,0,"did you have enough....yet?")
    elseif (talker==6)then
    Unit:SendChatMessage(12,0,"HAHAHA wow....")
    elseif (talker==7)then
    Unit:SendChatMessage(11,0,"WoW...just...wow")
    elseif(talker>8)then
    Unit:SendChatMessage(11,0,"This is getting rather....boring")
    end
    end
    -------------------------------------
    
    function vnate_spawn_caster(Unit,event)
    Unit:SendChatMessage(11,0,"Minions! to me! aid me in war!")
    vx = Unit:GetX();
                vy = Unit:GetY();
                vz = Unit:GetZ();
                vo = Unit:GetO();
                vx=x+3
                vy=y-5
                Unit:SpawnCreature(70006, vx, vy, vz, vo, 17, 0);
    end 
    
    function vnate_spawn_melee(Unit,event)
    Unit:SendChatMessage(11,0,"Minions! come to me!")
    x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-30
                y=y+10
                Unit:SpawnCreature(70007, x, y, z, o, 17, 0);
    end
    --main
    function vnate_oncombat(Unit,Event)
    Unit:SendChatMessage(12,0," So, you have defeated two sides of me....now its the 3rd!")
    Unit:RegisterEvent("vnate_spawn_melee", 20000,0)
    Unit:RegisterEvent("vnate_spawn_caster", 40000,0)
    Unit:RegisterEvent("vnate_attack",6000,0)
    Unit:RegisterEvent("vnate_attack2",5000,0)
    Unit:RegisterEvent("vnate_attack3",7000,0)
    Unit:RegisterEvent("vnate_talk",4000,0)
    Unit:RegisterEvent("vnate_aldead",4000,0)
    end
    --leave
    function vnate_leavecombat(Unit)
    Unit:SendChatMessage(12,0,"Come back mortal!")
    Unit:RemoveEvents()
    end
    --dead
    function vnate_died(Unit,event)
    Unit:SendChatMessage (12,0,"you think this is it?")
    Unit:SendChatMessage(11,0,"Minions! come to me!")
    x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-3
                y=y+5
                Unit:SpawnCreature(60040, x, y, z, o, 17, 0);
                Unit:Despawn(1,0)
                
    end
    
    --Register--------------------------------------------------------------------------
    RegisterUnitEvent(60039,1,"vnate_oncombat")
    RegisterUnitEvent(60039,4,"vnate_died")
    RegisterUnitEvent(60039,2,"vnate_leavecombat")
    --------------------------------------------------------------------------------------
    
    
    
    --[[ NATE THE MASTER 
    TALK
    ATTACK
    SUMMON FIDO
    SUMMON  NINJA
    KILLON TARGET
    DEATH=SPAWN TRUE FACE
    ]]--
    
    --tALK
    function mnate_talk(Unit, event)
    local mtalk=math.random(1,4)
    if (mtalk==1)then
    Unit:SendChatMessage(11,0,"Well..this is rather boring")
    elseif (mtalk==2)then
    Unit:SendChatMessage(11,0,"your still trying?")
    elseif (mtalk==3)then
    Unit:SendChatMessage(11,0,"Oh my...i think im about to win")
    elseif (mtalk==4)then
    Unit:SendChatMessage(11,0,"Ahh yes..i lvoe when im right")
    end
    end
    -------
    --Attack--
    function mnate_attack(Unit,event)
        local mattack=math.random(1,10)
        if (mattack==1)then
            Unit:PlaySoundToSet(11180)
            Unit:SendChatMessage(12,0,"Ice, Ice , Baby")
            Unit:CastSpell(11)
        elseif (mattack==2) then
            local mattack2=math.random(1,4)
            if (mattack2==2) then
            Unit:CastSpell(31422)
            Unit:SendMessage(12,0,"FREEZE! its hammer time!")
            elseif (mattack2==3)then
            Unit:CastSpell(39835)
            end
            elseif (mattack==3)then
            Unit:PlaySoundToSet(11179)
            Unit:FullCastSpellOnTarget(5, Unit:GetRandomPlayer(0))
            Unit:CastSpellOnTarget(43140)
            elseif (mattack==4)then
                Unit:PlaySoundToSet(11178)
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-3
                y=y+20
                Unit:SpawnCreature(70008, x, y, z, o, 17, 0);
                Unit:SendChatMessage(12,0,"you guys feel free to jump in anytime")
            elseif (mattack==4)then
                Unit:SendChatMessage(11,0,"OH RIGHT! who ordered some woop ass?")
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-15
                y=y+20
                Unit:SpawnCreature(123455, x, y, z, o, 17, 2000);
                Unit:CastSpell(29963)
            elseif (mattack==5)then
                Unit:SendChatMessage(11,0, "well i need some mana...but you guys will love this!")
                Unit:PlaySoundToSet(11175)
                Unit:CastSpell(228)
            elseif (mattack==6)then
                local pt=math.random(1,4)
                    if (pt==1)then
                    pet=70008
                    elseif (pt==2) then
                    pet=70009
                    elseif(pt==3)then
                    pet=70010
                    elseif(pt==4)then
                    pet=70011
                    end
                Unit:PlaySoundToSet(11178)
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-30
                y=y+5
                Unit:SpawnCreature(pet, x, y, z, o, 17, 0);
            elseif(mattack>=7)then
                Unit:CastSpell(47071)
                
        end
    end 
    ------------
    function mnate_kill(Unit,event)
    Unit:PlaySoundToSet(11183)
    Unit:SendChatMessage(11,0,"whos bad? WHO IS BAD?!who? thats right! me bad!")
    end
    function mnate_leave(Unit,event)
    Unit:RemoveEvents()
    end
    
    function mnate_died(Unit,event)
         x = Unit:GetX();
         y = Unit:GetY();
         z = Unit:GetZ();
         o = Unit:GetO();
         x=x-3
        y=y+5
        Unit:SpawnCreature(60037, x, y, z, o, 17, 0);
        Unit:Despawn(1,0)
        Unit:RemoveEvents()
    end
    
    
    function mnate_combat(Unit,Event)
    Unit:RegisterEvent("mnate_attack",6000,0)
    Unit:RegisterEvent("mnate_talk",16000,0)
    end
    --registration
    --RegisterUnitEvent(60040,1,"mnate_talk")
    RegisterUnitEvent(60040,1,"mnate_combat")
    RegisterUnitEvent(60040,2,"mnate_leave")
    RegisterUnitEvent(60040,4,"mnate_died")
                
    
    --[[;;::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;:"""""""TRUE FACE OF NATE..the last stage 
    ;;;;;;;;;;;;;;;;;;""""""""""";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"""""""""m;;;;;;;;;;;;;;;;;;;;;;]]            
                
    
                
    function nateattack(Unit,Event)
    attack=math.random(1,7)
    if(attack==1)then
    Unit:CastSpell(30404)
    elseif(attack==2)then
    Unit:CastSpell(28900)
    elseif(attack==3)then
    Unit:CastSpell(33132)
    elseif(attack==4)then
    Unit:CastSpell(33080)
    elseif(attack==5)then
    Unit:CastSpell(41159)
    elseif(attack==6)then
    Unit:CastSpell(27237)
    elseif(attack==7)then
    test1=math.random(1,5)
    if(test1==3)then
    Unit:CastSpell(24437)
    end
    end
    end    
                
                
    
    function helpinghand(Unit,Event)
    pct=math.random(1,4)
        if(pct==1)then
        local helper=math.random(1,4)
        if (helper==1)then
        help=60040
        elseif (helper==2)then
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-20
                y=y+10
                local sum=math.random(1,2)
                if (sum==2)then
                Unit:SpawnCreature(help, x, y, z, o, 17, 10000);
                end
          end
          
          
    else
    local pt2=math.random(1,4)
                    if (pt2==1)then
                    pet2=70008
                    elseif (pt==2) then
                    pet2=70009
                    elseif(pt2==3)then
                    pet2=70010
                    elseif(p2t==4)then
                    pet2=70011
                    end
                Unit:PlaySoundToSet(11178)
                x = Unit:GetX();
                y = Unit:GetY();
                z = Unit:GetZ();
                o = Unit:GetO();
                x=x-30
                y=y+20
        
    end
    
    function NateFla_OnCombat(Unit, Event)
        Unit:SendChatMessage (11, 0, "I..will..CRUSH YOU!")
        Unit:RegisterEvent("helpinghand",10000,0)
        Unit:RegisterEvent("nateattack",6000,0)
        Unit:PlaySoundToSet(11432)
        
    end
    
    
    function NateFlame_OnLeaveCombat(Unit)
        Unit:RemoveEvents()
            
    end
    
    function NateFla_OnKilledTarget(Unit)
        Unit:RemoveEvents()
    end
    
    function NateFla_OnDied(Unit)
        Unit:SendChatMessage(12, 0, "Now What do i do?!?")
    Unit:PlaySoundToSet(11421)
        Unit:RemoveEvents()
            
    end
    
    --register--
    RegisterUnitEvent(60037, 1, "NateFla_OnCombat")
    RegisterUnitEvent(60037, 2, "NateFla_OnLeaveCombat")
    RegisterUnitEvent(60037, 3, "NateFla_OnKilledTarget")
    RegisterUnitEvent(60037, 4, "NateFla_OnDied")
    needed NPCs (sql..make em):
    bosses:60040,60037,60038,60039

    other NPCs:70008-70011,70005-70007


    visit ACDB if you need any help /suggestions/comments/blah blah blah


  2. #2
    Member Dragunovzsz is offline
    MemberRank
    Mar 2008 Join Date
    85Posts

    Re: [LUA] ACDB superboss

    Thanks man,

    Will spawn it right at my server now :P,

    Lets see if my players like it.



    p.s i also check at others scripts to learn.(also guides from Equillbrium)



Advertisement