More Effecient Spawning

Julian4life

New Member
Reaction score
7
Hey guys!

I've been working on some spawns on my latest map, and because there is a massive amount of spawn points, (31 points to be exact, and 14 of these points will be for 10 separate players)... So I wanted to know if i could make a trigger that has one unit spawned in... say... 16 different regions at a designated time.

Heres what i have currently (A part of it):

Low Spawn
Events
Map initialization
Conditions
Actions
Wait 60.00 seconds
For each (Integer A) from 1 to 15, do (Actions)
Loop - Actions
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn1 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn2 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn3 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn4 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn5 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn6 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn7 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn8 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn9 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn10 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn11 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn12 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn13 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn14 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn15 <gen>) facing Default building facing degrees
Unit - Create 1 Ghoul for Player 12 (Brown) at (Center of LowCreepSpawn16 <gen>) facing Default building facing degrees
Wait 5.00 seconds

It would be hell to write that another 14 times (and change player to 1, 2, 3... 10).

Thanks for any assisstance and:

+REP rewarded
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
You could always create an array of rects, and loop through the indexes. And/Or, you could loop through players who have shared spawn points with a Player group.

Or you could just say to yourself "I know it will take forever, but it's worth it." Similar to what I did in my Forest CTF map (JASS):

JASS:
    //01
        //NW
            set rr[1].n[1] = gg_rct_NW_Flag
            set rr[1].ncount = 1
            set rr[1].mncount = 1
        //SE
            set rr[1].s[1] = gg_rct_NW_SmDelt_Main
            set rr[1].s[2] = gg_rct_N_Side2Loop
            set rr[1].scount = 2
            set rr[1].mscount = 0
    //02
        //NW
            set rr[2].n[1] = gg_rct_NW_Flag
            set rr[2].ncount = 1
            set rr[2].mncount = 1
        //SE
            set rr[2].s[1] = gg_rct_NW_Main
            set rr[2].s[2] = gg_rct_N_Fire
            set rr[2].s[3] = gg_rct_NW_Nat_Bridge_Loop_W
            set rr[2].scount = 3
            set rr[2].mscount = 3
    //03
        //NW
            set rr[3].n[1] = gg_rct_SE_Right_Split
            set rr[3].n[2] = gg_rct_SE_Left_Split
            set rr[3].ncount = 2
            set rr[3].mncount = 0
        //SE
            set rr[3].s[1] = gg_rct_SE_Flag
            set rr[3].scount = 1
            set rr[3].mscount = 1
    //04
        //NW
            set rr[4].n[1] = gg_rct_SE_Main
            set rr[4].n[2] = gg_rct_SE_Loop_E
            set rr[4].n[3] = gg_rct_SE_Loop_W
            set rr[4].ncount = 3
            set rr[4].mncount = 3
        //SE
            set rr[4].s[1] = gg_rct_SE_Flag
            set rr[4].scount = 1
            set rr[4].mscount = 1
    //05
        //NW
            set rr[5].n[1] = gg_rct_NW_Nat_Bridge_Loop_W
            set rr[5].n[2] = gg_rct_NW_Main
            set rr[5].ncount = 2
            set rr[5].mncount = 1
        //SE
            set rr[5].s[1] = gg_rct_Mid_SmDelt_Bridge_Tree
            set rr[5].scount = 1
            set rr[5].mscount = 1
    //06
        //NW
            set rr[6].n[1] = gg_rct_NW_Main_Top
            set rr[6].n[2] = gg_rct_NW_SmDelt_Main
            set rr[6].ncount = 2
            set rr[6].mncount = 1
        //SE
            set rr[6].s[1] = gg_rct_W_Bridges
            set rr[6].s[2] = gg_rct_NW_SmDelt_Main
            set rr[6].scount = 2
            set rr[6].mscount = 1
    //07
        //NW
            set rr[7].n[1] = gg_rct_NW_Main_Top
            set rr[7].n[2] = gg_rct_N_Side2Loop
            set rr[7].ncount = 2
            set rr[7].mncount = 1
        //SE
            set rr[7].s[1] = gg_rct_N_Br_Bridge
            set rr[7].s[2] = gg_rct_N_Side2Loop
            set rr[7].scount = 2
            set rr[7].mscount = 1
    //08
        //NW
            set rr[8].n[1] = gg_rct_N_Fire
            set rr[8].ncount = 1
            set rr[8].mncount = 1
        //SE
            set rr[8].s[1] = gg_rct_SE_Loop_E
            set rr[8].s[2] = gg_rct_Mid_Delta
            set rr[8].scount = 2
            set rr[8].mscount = 2
    //09
        //NW
            set rr[9].n[1] = gg_rct_SE_Left_Split
            set rr[9].n[2] = gg_rct_S_Tree
            set rr[9].ncount = 2
            set rr[9].mncount = 2
        //SE
            set rr[9].s[1] = gg_rct_SE_Main_Bot
            set rr[9].s[2] = gg_rct_SE_Left_Split
            set rr[9].scount = 2
            set rr[9].mscount = 1
    //10
        //NW
            set rr[10].n[1] = gg_rct_E_Tree
            set rr[10].n[2] = gg_rct_SE_Main
            set rr[10].ncount = 2
            set rr[10].mncount = 1
        //SE
            set rr[10].s[1] = gg_rct_SE_Main
            set rr[10].s[2] = gg_rct_SE_Loop_W
            set rr[10].scount = 2
            set rr[10].mscount = 1
    //11
        //NW
            set rr[11].n[1] = gg_rct_Mid_Delta
            set rr[11].n[2] = gg_rct_SE_Loop_E
            set rr[11].ncount = 2
            set rr[11].mncount = 1
        //SE
            set rr[11].s[1] = gg_rct_SE_Main
            set rr[11].s[2] = gg_rct_SE_Loop_E
            set rr[11].scount = 2
            set rr[11].mscount = 1
    //12
        //NW
            set rr[12].n[1] = gg_rct_N_Br_Bridge
            set rr[12].n[2] = gg_rct_SE_Right_Split
            set rr[12].ncount = 2
            set rr[12].mncount = 1
        //SE
            set rr[12].s[1] = gg_rct_SE_Main_Bot
            set rr[12].s[2] = gg_rct_SE_Right_Split
            set rr[12].scount = 2
            set rr[12].mscount = 1
    //13
        //NW
            set rr[13].n[1] = gg_rct_N_Bridge_Delta
            set rr[13].n[2] = gg_rct_N_Br_Bridge
            set rr[13].ncount = 2
            set rr[13].mncount = 2
        //SE
            set rr[13].s[1] = gg_rct_SE_Right_Split
            set rr[13].s[2] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[13].scount = 2
            set rr[13].mscount = 2
    //14
        //NW
            set rr[14].n[1] = gg_rct_Mid_Delta
            set rr[14].n[2] = gg_rct_Mid_Bridge_Tree
            set rr[14].n[3] = gg_rct_Mid_SmDelt_Bridge_Tree
            set rr[14].ncount = 3
            set rr[14].mncount = 3
        //SE
            set rr[14].s[1] = gg_rct_E_Tree
            set rr[14].s[2] = gg_rct_S_Tree
            set rr[14].scount = 2
            set rr[14].mscount = 2
    //15
        //NW
            set rr[15].n[1] = gg_rct_N_Bridge_Delta
            set rr[15].n[2] = gg_rct_Mid_SmDelt_Bridge_Tree
            set rr[15].ncount = 2
            set rr[15].mncount = 1
        //SE
            set rr[15].s[1] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[15].s[2] = gg_rct_Mid_SmDelt_Bridge_Tree
            set rr[15].scount = 2
            set rr[15].mscount = 1
    //16
        //NW
            set rr[16].n[1] = gg_rct_NW_SmDelt_Main
            set rr[16].n[2] = gg_rct_Mid_Bridge_Tree
            set rr[16].ncount = 2
            set rr[16].mncount = 1
        //SE
            set rr[16].s[1] = gg_rct_W_Bridges_Tree
            set rr[16].s[2] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[16].s[3] = gg_rct_W_Bridges_Tree
            set rr[16].scount = 3
            set rr[16].mscount = 2
    //17
        //NW
            set rr[17].n[1] = gg_rct_W_Bridges
            set rr[17].n[2] = gg_rct_Mid_SmDelt_Bridge_Tree
            set rr[17].ncount = 2
            set rr[17].mncount = 2
        //SE
            set rr[17].s[1] = gg_rct_S_Tree
            set rr[17].s[2] = gg_rct_W_Tree
            set rr[17].scount = 2
            set rr[17].mscount = 2
    //18
        //NW
            set rr[18].n[1] = gg_rct_NW_Nat_Bridge_Loop_W
            set rr[18].ncount = 1
            set rr[18].mncount = 1
        //SE
            set rr[18].s[1] = gg_rct_W_Bridges_Tree
            set rr[18].s[2] = gg_rct_SW_Shop
            set rr[18].scount = 2
            set rr[18].mscount = 2
    //19
        //NW
            set rr[19].n[1] = gg_rct_W_Bridges
            set rr[19].n[2] = gg_rct_W_Tree
            set rr[19].ncount = 2
            set rr[19].mncount = 2
        //SE
            set rr[19].s[1] = gg_rct_S_Tree
            set rr[19].scount = 1
            set rr[19].mscount = 1
    //20
        //NW
            set rr[20].n[1] = gg_rct_W_Bridges_Tree
            set rr[20].n[2] = gg_rct_W_Tree
            set rr[20].n[3] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[20].n[4] = gg_rct_SW_Shop
            set rr[20].ncount = 4
            set rr[20].mncount = 4
        //SE
            set rr[20].s[1] = gg_rct_SE_Loop_W
            set rr[20].scount = 1
            set rr[20].mscount = 1
    //21
        //NW
            set rr[21].n[1] = gg_rct_W_Bridges_Tree
            set rr[21].n[2] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[21].ncount = 2
            set rr[21].mncount = 1
        //SE
            set rr[21].s[1] = gg_rct_S_Tree
            set rr[21].s[2] = gg_rct_SW_Shop
            set rr[21].scount = 2
            set rr[21].mscount = 1
    //22
        //NW
            set rr[22].n[1] = gg_rct_Mid_Bridge_Delta_Tree
            set rr[22].n[2] = gg_rct_W_Bridges_Tree
            set rr[22].ncount = 2
            set rr[22].mncount = 2
        //SE
            set rr[22].s[1] = gg_rct_SE_Left_Split
            set rr[22].scount = 1
            set rr[22].mscount = 1
    //23
        //NW
            set rr[23].n[1] = gg_rct_N_Side2Loop
            set rr[23].ncount = 1
            set rr[23].mncount = 1
        //SE
            set rr[23].s[1] = gg_rct_Mid_Delta
            set rr[23].s[2] = gg_rct_Mid_Bridge_Tree
            set rr[23].scount = 2
            set rr[23].mscount = 2
    //24
        //NW
            set rr[24].n[1] = gg_rct_NW_Main
            set rr[24].n[2] = gg_rct_N_Fire
            set rr[24].ncount = 2
            set rr[24].mncount = 1
        //SE
            set rr[24].s[1] = gg_rct_N_Bridge_Delta
            set rr[24].s[2] = gg_rct_N_Fire
            set rr[24].scount = 2
            set rr[24].mscount = 1
 

Julian4life

New Member
Reaction score
7
Hmm, guys, this is taking forever, do you guys think you can help me / teach me about these... Array or rects (rects?) and loop through the indexes?

Or Loop through players who have shared spawn points with a player group?

Oh course +REP with that too.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top