HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

How do I Make an AI player Not in a slot?

09-05-2006, 05:13 PM#1
Jman11
I need help with my map. Im looking for a trigger that makes an AI player not appear in a slot allowing the map to be a 6 vs 6. If you know tides of blood triggers (an AoS map) that is the one i want.

Thanks
09-05-2006, 05:31 PM#2
Rising_Dusk
You need to set the computers at map init (0.0 seconds after) to be in the neutral player slots slots 13 and 14. (Neutral Enemy and Neutral Victim)
Then set these players as allies/enemies with your human players accordingly.

There are other modifications you'll need as well.
See this thread for more details.
09-05-2006, 05:32 PM#3
blu_da_noob
Use neutral players. Victim and Extra (can't remember the player numbers offhand, I have it down somewhere....).
09-05-2006, 05:44 PM#4
MeanMachine
And don't forget to set neutral player names/colors.
09-06-2006, 05:22 PM#5
Jman11
Can someone show me how to make the buildings andd units under the ownership of neutral extra (please show in triggers if necessary) and how to make them in slots 13 and 14 (triggers also).

Thanks
09-06-2006, 05:35 PM#6
Rising_Dusk
Uhm...
I've never really seen it done in GUI, so I can't help you there.

Otherwise something like this --
Collapse JASS:
//***************************************************************************************************************
//*Sets the grouped units to the Hallowed Order.
//*
function SetPlayer13 takes nothing returns nothing
    call SetUnitOwner(GetEnumUnit(), Player(13), false)
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call SetUnitColor(GetEnumUnit(), PLAYER_COLOR_AQUA)
    endif
endfunction

//***************************************************************************************************************
//*Sets the grouped units to the Bane of Eternity.
//*
function SetPlayer14 takes nothing returns nothing
    call SetUnitOwner(GetEnumUnit(), Player(14), false)
    if IsUnitType(GetEnumUnit(), UNIT_TYPE_HERO) == false then
        call SetUnitColor(GetEnumUnit(), PLAYER_COLOR_BROWN)
    endif    
endfunction
Collapse JASS:
    //****************************************************
    //*The Creep Players Setup
    call SetPlayersAsEnemies(12, 13)
    call SetPlayersAsEnemies(12, 14)
    call SetPlayersAsEnemies(13, 14)
    call EnableOcclusion(true)
    call SetPlayerName(Player(12), "N/A")
    call SetPlayerName(Player(13), "|cff2f4f4fHallowed Order|r")
    call SetPlayerColor(Player(13), PLAYER_COLOR_AQUA)
    call SetPlayerColor(Player(14), PLAYER_COLOR_BROWN)
    call SetPlayerRacePreference(Player(13), RACE_PREF_HUMAN)
    call SetPlayerController(Player(13), MAP_CONTROL_COMPUTER)
    call SetPlayerTeam(Player(13), 0)
    call ForceAddPlayer(udg_HallowedOrder, Player(13))
    call SetPlayerState(Player(13), PLAYER_STATE_ALLIED_VICTORY, 1)
    call SetPlayerName(Player(14), "|cff8b4513Bane of Eternity|r")
    call SetPlayerRacePreference(Player(14), RACE_PREF_UNDEAD)
    call SetPlayerController(Player(14), MAP_CONTROL_COMPUTER)
    call SetPlayerTeam(Player(14), 1)
    call ForceAddPlayer(udg_BaneOfEternity, Player(14))
    call SetPlayerState(Player(14), PLAYER_STATE_ALLIED_VICTORY, 1)
    call GroupEnumUnitsOfPlayer(g1, Player(10), null)
    call ForGroup(g1, function SetPlayer13)
    call GroupClear(g1)
    call DestroyGroup(g1)
    call GroupEnumUnitsOfPlayer(g2, Player(11), null)
    call ForGroup(g2, function SetPlayer14)
    call GroupClear(g2)
    call DestroyGroup(g2)

That's taken directly from AotZ' code.
That sets their alliances as well as a few other things.
There is still a lot more to it though, as I mentioned in my first post.
I still recommend looking here.

I do have a few functions in my code I didn't post, but they're pretty self-explanatory.
SetPlayersAsEnemies() for example just changes all alliance settings between two players to false.
09-06-2006, 05:40 PM#7
Jman11
Where can i learn jass easily and if there is anyway possible could someone show me that trigger in GUI.

Thanks
09-06-2006, 05:53 PM#8
Rising_Dusk
Search & Tutorial Forums are your friends.

Try this on for size.
It's one of Vex's best.
09-06-2006, 06:13 PM#9
nooK
I`m quite sceptic that you will learn Jass easily if you can`t do this in Gui (already everything explained).
You just come here and want exact triggers, so you can just copy&paste. Try it yourself, trial and error ftw...
09-07-2006, 01:58 AM#10
Jman11
The reason that I want someone to figure out the triggers for me is because even after Rising_Dusks amazing help i still cant figure it out because i know absolutely nothing of jass. Also please still tell me how to make the trigger in GUI for now before I even attempt Jass.

To NooK: I am still unexperienced at GUI (sadly) and often I am too busy to bother figuring it out myself so if you would like to help me with the GUI triggers that would be appreciated.

To Rising_Dusk: Thanks alot for attempting to help me with the triggers and thanks for the Link to that tutorial! I still dont understand a thing you typed up for JASS but ill figure out how to use Jass asap. Your help is appreciated

Please anyone if you know how to do the GUI trigger tell me asap.

Thanks
09-07-2006, 07:17 AM#11
blu_da_noob
You can create units for Neutral Victim and Neutral Extra in GUI, and you can change preplaced unit's ownership to them. What part are you having problems with, exactly? Dusk's trigger could be written in GUI.
09-07-2006, 03:55 PM#12
Jman11
I think I figured it out but ill post if i need more assistance. Also like Dawn pointed out with that link is that the units dont attack buildings and ill probably have to convert buildings to units and add vision ect.

Thanks alot i appreciate the help everyone (been trying to figure out tob triggers for a long time )

09-08-2006, 04:02 AM#13
Jman11
I am having some trouble with the neutral extra moving trigger. i telll them to atack move to the enemies castle but about a quarter of the way they turn back and go back to thier main base. After that they travel back towards the enemies base. Anyone know how to fix this issue??

Thanks
09-08-2006, 04:12 AM#14
Rising_Dusk
If you had read the post I kept linking you to, you wouldn't have had this problem.

In gameplay constants, there is a --
Code:
Creeps - Guard Distance
Creeps - Guard Return Distance
Creeps - Guard Return Time
Set them all to the maximum value allowed.
09-08-2006, 04:18 AM#15
Naakaloh
Change the creep gaurd time and range in the gameplay constants.

Also as a side note about my opinion, the point of learning a JASS isn't figuring out ToB's triggers or scripts. It's figuring out how to make a script that does what you need without having to copy from ToB, AotZ, or whereever else. Doing it that way gives you much more control and understanding over what you're writing. Plus, it's a lot more fun. :D (Some may disagree, but I like figuring things out on my own.)

Quote:
Also like Dawn pointed out...

Do you mean Dusk? :D