• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Creeps like DotA 6x6

Status
Not open for further replies.
Level 5
Joined
Aug 30, 2009
Messages
114
Hey, hellow all, I wanna know how to create a map with 6x6 team BUT with creeps...

Let me explain...

In dota 5x5 we got 12 players

10 Heroes
2 Creeps

How to create the creeps of DotA 6x6?

Where we got

12 heroes

Who is the creeps? Neutrals, it can be! Because each creep attacks each other...

Can someone help me?

Thanks.
 
Level 5
Joined
Aug 30, 2009
Messages
114
Neutrals can't be, because we have only 1 kind of neutral agressive, and will be necessary 2 at least on dota and 4 at my map, because it is 2x2x2x2, and they need to attack each other, share vision and friendship with players.
 
Level 16
Joined
May 1, 2008
Messages
1,605
Moin moin =)

What are you talking? lol

I give a map that shows a SIMPLE! example how this stuff works with two triggers only:


  • Init
    • Events
      • Map initialization
    • Conditions
    • Actions
      • -------- --------
      • Player - Make Player 1 (Red) treat Neutral Passive as an Ally with shared vision
      • Player - Make Neutral Passive treat Player 1 (Red) as an Ally with shared vision
      • -------- --------
      • Player - Make Player 2 (Blue) treat Neutral Hostile as an Ally with shared vision
      • Player - Make Neutral Hostile treat Player 2 (Blue) as an Ally with shared vision
      • -------- --------
      • Player - Make Neutral Hostile treat Neutral Passive as an Enemy
      • Player - Make Neutral Passive treat Neutral Hostile as an Enemy
      • -------- --------
      • Player - Make Player 1 (Red) treat Neutral Hostile as an Enemy
      • Player - Make Player 2 (Blue) treat Neutral Passive as an Enemy
- Player 1 and Neutral Passive = Team 1
- Player 2 and Neutral Hostile = Team 2

JASS:
function Spawn_Actions takes nothing returns nothing
    local integer i = 1
    local unit u
    local real x
    local real y
    
    loop
        exitwhen i == 3
        set x = GetRectCenterX(gg_rct_1)
        set y = GetRectCenterY(gg_rct_1)
        set u = CreateUnit(Player(PLAYER_NEUTRAL_AGGRESSIVE),'hfoo',x,y,180.00)
        set x = GetRectCenterX(gg_rct_3)
        set y = GetRectCenterY(gg_rct_3)
        call IssuePointOrder(u,"move",x,y)
        set u = null
        /// this was spawn BLUE + Neutral Aggresive - next is RED + Neutral passive
        set x = GetRectCenterX(gg_rct_2)
        set y = GetRectCenterY(gg_rct_1)
        set u = CreateUnit(Player(PLAYER_NEUTRAL_PASSIVE),'hkni',x,y,0.00)
        set x = GetRectCenterX(gg_rct_3)
        set y = GetRectCenterY(gg_rct_3)
        call IssuePointOrder(u,"move",x,y)
        set u = null     
        
        set i = i + 1
    endloop        
endfunction

function InitTrig_Spawn takes nothing returns nothing
    set gg_trg_Spawn = CreateTrigger(  )
    call TriggerRegisterTimerEvent(gg_trg_Spawn,10.00,true)
    call TriggerAddAction(gg_trg_Spawn,function Spawn_Actions)
endfunction

- This trigger to spawn the units


For testing you can use the "Iseedeadpeople" - cheat to see that neutral hostile doesn't attack blue and blue doesn't attack neutral hostile.

Greetings
~ The Bomb King > Dr. Boom
 

Attachments

  • 6x6.w3x
    32.3 KB · Views: 95
Level 5
Joined
Aug 30, 2009
Messages
114
Dr. Boom, is something really like that BUT, I still need the neutral creeps and I need 4 "extra" teams understand? Because in my map, I use 2x2x2x2 system and not only 5x5, so I need it to become 3x3x3x3 like 6x6 in DotA, got it? So i Need at least 17 players.

12 Heroes
4 Creeps
1 Neutral

Thank you for your time.

EDIT*

Well, I was thinking about a way to do it, and comes to my head this:

Maybe if I can create the creep units to a playing player but he doesn't have control of those units, my problem will be fixed!!
 
Level 5
Joined
Aug 30, 2009
Messages
114
No No, I want those creeps to be really creeps... locust make the creep unattackable too and unselecting creeps will not let heroes and units see their creep upgrades (Like when the lane of DotA is completely destroyed, the houses.)
 
Level 30
Joined
Jan 31, 2010
Messages
3,551
As Anachron and me counted and wrote multiple times, you can have a total of 16 players in your map. When you take out the Neutral Passive and Hostile, you still have 14 players. The neutral Aggressive and Victim can't be used by player slots, but they can still be used as creeps.
 
Level 11
Joined
Aug 6, 2009
Messages
697
  • Events
    • Player - Player 1 (Red) Selects a unit
  • Conditions
  • Actions
    • Selection - Remove (Triggering unit) from selection for (Triggering player)
    • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • Or - Any (Conditions) are true
          • Conditions
            • (Current order of (Triggering unit)) Equal to (Order(stop))
            • (Current order of (Triggering unit)) Equal to (Order(move))
            • (Current order of (Triggering unit)) Equal to (Order(hold position))
      • Then - Actions
        • Unit - Add a 10.00 second Generic expiration timer to (Triggering unit)
      • Else - Actions
JASS:
function Trig_Untitled_Trigger_001_Func002Func002C takes nothing returns boolean
    if ( ( GetUnitCurrentOrder(GetTriggerUnit()) == String2OrderIdBJ("stop") ) ) then
        return true
    endif
    if ( ( GetUnitCurrentOrder(GetTriggerUnit()) == String2OrderIdBJ("move") ) ) then
        return true
    endif
    if ( ( GetUnitCurrentOrder(GetTriggerUnit()) == String2OrderIdBJ("hold position") ) ) then
        return true
    endif
    return false
endfunction

function Trig_Untitled_Trigger_001_Func002C takes nothing returns boolean
    if ( not Trig_Untitled_Trigger_001_Func002Func002C() ) then
        return false
    endif
    return true
endfunction

function Trig_Untitled_Trigger_001_Actions takes nothing returns nothing
    call SelectUnitRemoveForPlayer( GetTriggerUnit(), GetTriggerPlayer() )
    if ( Trig_Untitled_Trigger_001_Func002C() ) then
        call UnitApplyTimedLifeBJ( 10.00, 'BTLF', GetTriggerUnit() )
    else
    endif
endfunction

//===========================================================================
function InitTrig_Untitled_Trigger_001 takes nothing returns nothing
    set gg_trg_Untitled_Trigger_001 = CreateTrigger(  )
    call TriggerRegisterPlayerSelectionEventBJ( gg_trg_Untitled_Trigger_001, Player(0), true )
    call TriggerAddAction( gg_trg_Untitled_Trigger_001, function Trig_Untitled_Trigger_001_Actions )
endfunction
Maybe add a time out function for the triggering player?
QE:Use patrol instead of attack-move if you use this.
 
Level 5
Joined
Aug 30, 2009
Messages
114
I think Assassin was trying to make a sistem to unselect creeps! Hiho! I know it all, but unselect creep is not exactly what I want. I think I should remove all the neutral creeps and use the 4 "Neutral" teams as creeps. :/
 

Vunjo

Hosted Project: SC
Level 14
Joined
Jul 1, 2010
Messages
1,340
Make creeps belong to 1 player on each side.
Then, make sure you turn bounty off for all players, INCLUDING PLAYERS WITH CREEPS.
[trigger=My Trigger]MyTrigger
Events
Player 1(red) selects a unit
Conditions
Or- Any (Conditions are true)
(Unit-type of (Triggering unit)) Equal to Footman
(Unit-type of (Triggering unit)) Equal to Rifleman
((Triggering unit) belongs to an ally of (Triggering Player) Equal to True
Actions
Selection - Clear Selection for Triggering Player
Unit - Order (Triggering Unit) to Stop
Unit - Order (Triggering Unit) to Attack-Move to (Center of Your Region Where Creeps Move)
Unit Group - Pick every unit in (Units owned by (Triggering Player)) and do (Actions)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
((Picked units) is a Hero) Equal to True
Then - Actions
Selection - Select (Picked unit) for (Triggering Player)[/trigger]

This works, tested twice =D
 
Last edited:
Status
Not open for further replies.
Top