| |
AOE3
RMS Hints |
|
Age
of Empires III - Random Map Scripting Hints:
Part 1: CHANGING THE CAMERA PITCH IN A RMS MAP:
Author:
M0nTy_PyTh0n

Hello,
good news for all random map scripters
(RMS's) from AOM and surely all AOE3
RMS newcomers:
A lot of xs trigger commands work also for the AOE3 version. As
example "camera cut" or "camera pitch" (see
picture above).
Note: These trigger commands are not Modding, and they can be included
in ANY Demo or Retail RMS, and of course in completely selfmade
RM scripts. They also automatically get transfered to all multiplayer
guests when you host this RM Map.
Example
how to edit the random maps:
1. These lines come BEFORE the
void main(void) { part:
void
atc(string code1="", string code2="", string
code3="", string code4="") {
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "\"); /*",
false);
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "*/"+code1+"/*",
false);
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "*/"+code2+"/*",
false);
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "*/"+code3+"/*",
false);
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "*/"+code4+"/*",
false);
rmAddTriggerEffect("Send Chat");
rmSetTriggerEffectParam("Message", "*/ //",
false);
}
void
fnSetTriggerParam(int prio=4, bool acti=false, bool runi=false,
bool loopi=false) {
rmSetTriggerPriority(prio);
if (acti == true) rmSetTriggerActive(true);
else rmSetTriggerActive(false);
if (runi == true) rmSetTriggerRunImmediately(true);
else rmSetTriggerRunImmediately(false);
if (loopi == true) rmSetTriggerLoop(true);
else rmSetTriggerLoop(false);
}
2.
Insert some triggers at the end of the script, straight BEFORE
the last } bracket:
rmCreateTrigger("Intro1");
rmCreateTrigger("Intro2");
rmSwitchToTrigger(rmTriggerID("Intro1"));
rmAddTriggerCondition("Timer");
rmSetTriggerConditionParamInt("Param1",5);
atc("trCameraCut(vector(376.293152,12.919971,112.241417),",
"
vector(0.721434,-0.087156,-0.686977),"," vector(0.063117,0.996195,-0.060103),",
"
vector(-0.689601,0.000000,-0.724190));");
rmAddTriggerEffect("Fire Event");
rmSetTriggerEffectParamInt("EventID",rmTriggerID("Intro2"));
fnSetTriggerParam(4,true,true,false);
rmSwitchToTrigger(rmTriggerID("Intro2"));
rmAddTriggerCondition("Timer");
rmSetTriggerConditionParamInt("Param1",5);
atc("trCameraCut(vector(-21.585773,70.710701,-23.585773),",
"
vector(0.500000,-0.707107,0.500000),"," vector(0.500000,0.707107,0.500000),",
"
vector(0.707107,0.000000,-0.707107));");
fnSetTriggerParam(4,false,true,false);
Notes:
Trigger Intro1 will pitch the view to the angle like in the picture
above. Trigger Intro2 will reset the view to the default pitch (5
seconds later).
More
hints will be posted soon on this site. |
|