You must be logged in to post messages.
Please login or register

Scenario Design
Moderated by Yeebaagooon, TAG

Hop to:    
Welcome! You are not logged in. Please Login or Register.11 replies
Age of Mythology Heaven » Forums » Scenario Design » Army deploy for computer players online!
Bottom
Topic Subject:Army deploy for computer players online!
nottud
Mortal
posted 03 February 2009 05:56 AM EDT (US)         
Yes - I have found a way to do it although it will require some small trigger adjustments. Basically those "hidden" armies which are from 0 to 9 which exist for every player work for comps if you want to army deploy as them online. Therefore we can now have proper amy deploy for computer players online but with some trigger adjustments!

I need to go right now but I can soon get some adjusted army triggers which will work for comps online and post them here and you can install them. Also I will update my trigger downloads too.

Here are the army trigger conditions and effects. Note army 10 DOES NOT work. All the others should. I used the players dropdown box to be quicker)
   <Condition name="Army Distance to Unit for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstObject" dispName="$$22296$$Target Unit" VarType="unit">default</Param>
<Param name="Op" dispName="$$22297$$Operator" VarType="operator">==</Param>
<Param name="Dist" dispName="$$22298$$Distance" VarType="float">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitDistanceToUnit("%DstObject%") %Op% %Dist%</Expression>
</Condition>

<Condition name="Army Distance to Point for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstPoint" dispName="" varType="area">0</Param>
<Param name="Op" dispName="$$22297$$Operator" VarType="operator">==</Param>
<Param name="Dist" dispName="$$22298$$Distance" VarType="float">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitDistanceToPoint(%DstPoint%) %Op% %Dist%</Expression>
</Condition>

<Condition name="Army in LOS for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="PlayerID" dispName="$$22301$$Player" VarType="player">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitHasLOS(%PlayerID%)</Expression>
</Condition>

<Condition name="Army Visible to Player for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitVisToPlayer()==true</Expression>
</Condition>

<Condition name="Army Is Alive for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitAlive()==true</Expression>
</Condition>

<Condition name="Army Is Dead for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitDead()==true</Expression>
</Condition>

<Condition name="Army Owned for comps online">
<Param name="PlayerID" dispName="current player" varType="player">0</Param>
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Expression>trUnitIsOwnedBy(%PlayerID%)</Expression>
</Condition>
And here are the effects.
   <Effect name="Army Deploy for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="ProtoName" dispName="$$22434$$ProtoName" varType="protounit">Villager</Param>
<Param name="Location" dispName="" varType="area">0,0,0</Param>
<Param name="Count" dispName="$$22435$$Count" varType="long">0</Param>
<Param name="Heading" dispName="$$22432$$Heading" varType="long">0</Param>
<Param name="Clear" dispName="$$22464$$Clear Existing Units:" varType="bool">true</Param>
<Command>trArmyDispatch("%Player%,%SrcArmy%", "%ProtoName%", %Count%, %Location%, %Heading%, %Clear%);</Command>
</Effect>

<Effect name="Army Teleport for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="Area" dispName="" varType="area">0, 0, 0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitTeleport(%Area%);</Command>
</Effect>

<Effect name="Army Move for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstPoint" dispName="$$22410$$X" varType="area">0</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Param name="AttackMove" dispName="$$22416$$Attack Move" varType="bool">false</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitMoveToPoint(%DstPoint%, %EventID%, %AttackMove%);</Command>
</Effect>

<Effect name="Army Move to Unit for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstObject" dispName="$$22296$$Target Unit" varType="unit">default</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Param name="AttackMove" dispName="$$22416$$Attack Move" varType="bool">false</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitMoveToUnit("%DstObject%",%EventID%, %AttackMove%);</Command>
</Effect>

<Effect name="Army Work for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstObject" dispName="$$22296$$Target Unit" varType="unit">default</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitDoWorkOnUnit("%DstObject%",%EventID%);</Command>
</Effect>

<Effect name="Army Garrison for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="DstObject" dispName="$$22296$$Target Unit" varType="unit">default</Param>
<Param name="EventID" dispName="$$22362$$Trigger" varType="event">-1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitGarrison("%DstObject%",%EventID%);</Command>
</Effect>

<Effect name="Army Destroy for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitDelete();</Command>
</Effect>

<Effect name="Army Kill for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitDelete(false);</Command>
</Effect>

<Effect name="Army Convert for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="PlayerID" dispName="Player to" varType="player">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitConvert(%PlayerID%);</Command>
</Effect>

<Effect name="Army Highlight for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="Duration" dispName="$$22291$$Seconds" varType="float">2.5</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitHighlight(%Duration%, false);</Command>
</Effect>

<Effect name="Army Change Type for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="ProtoUnit" dispName="$$22449$$ProtoUnit" varType="protounit">Villager</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitChangeProtoUnit("%ProtoUnit%");</Command>
</Effect>

<Effect name="Army Set Stance for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="Stance" dispName="$$22476$$Stance" varType="unitstance">Aggressive</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitSetStance("%Stance%");</Command>
</Effect>

<Effect name="Army Flash for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="Duration" dispName="$$22291$$Seconds" varType="float">2.5</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitHighlight(%Duration%, true);</Command>
</Effect>

<Effect name="Army Heading for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="Heading" dispName="$$22432$$Heading" varType="long">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitSetHeading(%Heading%);</Command>
</Effect>

<Effect name="Army Build Building for comps online">
<Param name="SrcArmy" dispName="$$22348$$Army" VarType="player">0</Param>
<Param name="Player" dispName="Player" VarType="player">1</Param>
<Param name="ProtoUnit" dispName="$$22412$$ProtoUnit To Build" VarType="protounit">default</Param>
<Param name="DstPoint" dispName="$$22413$$Build Location" varType="area">0</Param>
<Command>trArmySelect("%Player%,%SrcArmy%");</Command>
<Command>trUnitBuildUnit("%ProtoUnit%", vector(%DstPoint%));</Command>
</Effect>
I am now going to update my superpack and latest typetest file.

Download in my latest trigger file: http://aom.heavengames.com/downloads/showfile.php?fileid=7765

The boy with the mad imagination
Prepare for the ultimate duel!
Learn to use all my triggers and what you can do with them. Visit here.
Find out and download the transform trigger here.
Play some minigames I have created outside AOM including some 3D games here.

[This message has been edited by nottud (edited 02-03-2009 @ 01:05 PM).]

AuthorReplies:
Mephiles
Mortal
(id: Titan602)
posted 03 February 2009 11:26 AM EDT (US)     1 / 11       
If only you posted this sooner. Oh well. This is fantastic. The best set of triggers you have produced in the last 6 months. This is amazing!

Will you add this in your super pack?

MEPH
[Insert amazingly witty signature here.]

Me and Yeebaagooon's scenarios | Download The Corruptor
nottud
Mortal
posted 03 February 2009 12:40 PM EDT (US)     2 / 11       
Triggers are now added to the superpack and latest trigger file. You can go and download them now!

The boy with the mad imagination
Prepare for the ultimate duel!
Learn to use all my triggers and what you can do with them. Visit here.
Find out and download the transform trigger here.
Play some minigames I have created outside AOM including some 3D games here.

[This message has been edited by nottud (edited 02-03-2009 @ 01:03 PM).]

Nick The Hun
Mortal
(id: Nick_The_Hunn)
posted 03 February 2009 01:39 PM EDT (US)     3 / 11       
Christians say 'Hail God'
Muslims say 'Allah Akbar'
I say 'Hail/Heil Nottud!'
Mephiles
Mortal
(id: Titan602)
posted 03 February 2009 03:22 PM EDT (US)     4 / 11       
So how did you do it, nottud? What did you do to fix the bug?

MEPH
[Insert amazingly witty signature here.]

Me and Yeebaagooon's scenarios | Download The Corruptor
nottud
Mortal
posted 03 February 2009 04:27 PM EDT (US)     5 / 11       
I didn't fix the bug. Basically - there are 10 armies that are ulready defined but you are not normally able to use. Some say which sounds the best explanation that they are used for the grouping banners. However it does not seem to affect them with my tests. The only evidence I have to support this is the group banner summoning trick were if you add to an army group it wipes out the army the unit was in. (Well that is what it seems to do)

These triggers basically used hese already defined armies and for some reason these also work fine for computer players too. Each player has 10 of these armies numbered from 0 to 9 which is why army 10 in the dropdown box for this trigger does not work. I have no idea why army deploy for comps online only works for these armies. The only explanation I can think of is that the armies you define for computers get undefined or not defined properly if the player is a computer.

Anyway, here you go!

The boy with the mad imagination
Prepare for the ultimate duel!
Learn to use all my triggers and what you can do with them. Visit here.
Find out and download the transform trigger here.
Play some minigames I have created outside AOM including some 3D games here.
Mythic_Freak
Mortal
posted 03 February 2009 04:27 PM EDT (US)     6 / 11       
Only a select number of armies work (i.e. the number groups 0-9), so he just limited the input to those by replacing the input type from "army" to "player" (which just shows values from 0 to 10).

He's not using magic or something, most of these tricks are very easy to make, but take time to be "invented".

Anyway, nice work.

If we knew what it was we were doing, it would not be called research, would it? - Einstein, A.
Master XS - AoM Code Reference - Trigger Loader - Trigger Requests - Chess

Wow, I never thought that I would actually know something before nottud did... it's actually not all that satisfying ~ Steak

[This message has been edited by Mythic_Freak (edited 02-03-2009 @ 04:30 PM).]

nottud
Mortal
posted 03 February 2009 04:47 PM EDT (US)     7 / 11       
Indeed so. Like msot of the tricks there is just one little step to doing them which puts people off finding them. E.g. the infinite population overflow trick. You have to overflow it by placing too many units of the unit type to overflow it, not by overflowing it directly by modifiy protounit.

The boy with the mad imagination
Prepare for the ultimate duel!
Learn to use all my triggers and what you can do with them. Visit here.
Find out and download the transform trigger here.
Play some minigames I have created outside AOM including some 3D games here.
Mrspin
Mortal
posted 04 February 2009 10:15 AM EDT (US)     8 / 11       
Will this work with vanilla because this is something I need for my scenario.
nottud
Mortal
posted 04 February 2009 11:30 AM EDT (US)     9 / 11       
They should do as long as the original effect exists on vanilla.

The boy with the mad imagination
Prepare for the ultimate duel!
Learn to use all my triggers and what you can do with them. Visit here.
Find out and download the transform trigger here.
Play some minigames I have created outside AOM including some 3D games here.
Nick The Hun
Mortal
(id: Nick_The_Hunn)
posted 08 February 2009 06:15 AM EDT (US)     10 / 11       
hmm it really is handy
HealyWorks
Mortal
posted 08 February 2009 06:57 AM EDT (US)     11 / 11       
Good Work This is One Step for MapMakers, and One Step for AOM xD(Moon landing taking da piss)

Coming Soon...
Something Intresting...
You must be logged in to post messages.
Please login or register

Hop to:    

Age of Mythology Heaven | HeavenGames