posted 08-01-07 05:20 PM
EDT (US)
220 / 736
ok, the Dakotas contest is over and I got a couple extra projects done ... back to the question of how to limit age advance beyond Fortress Age. I have tried two means to do this - the way that Felix suggested, then using the function "rmGetPlayerCiv(i)". Neither idea works - the map won't load. I cannot find any examples using the techID numbers in any existing random maps other than the Castle Blood and Fort Wars maps, and the triggers in both are pretty indecipherable to me!
here are the 2 ways I tried to do this - first as suggested by Felix, basically a trigger blocking advancement each civ, for each player:
for (i = 1; =cNumberNonGaiaPlayers)
{
// Create trigger
rmCreateTrigger("LimitAgePlayer"+i);
// Switch to trigger
rmSwitchToTrigger(rmTriggerID("LimitAgePlayer"+i));
// Set basic trigger options
rmSetTriggerActive(true);
rmSetTriggerLoop(false);
rmSetTriggerRunImmediately(true);
rmSetTriggerPriority(2);
// Set trigger conditions
rmAddTriggerCondition("Always");
// Set trigger effects
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 318);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 320);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 321);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 322);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 327);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 329);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 330);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 331);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 993);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 1023);
rmSetTriggerEffectParam("Status", "Unobtainable");
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
rmSetTriggerEffectParamInt("TechID", 1024);
rmSetTriggerEffectParam("Status", "Unobtainable");
}
The second method I tried was like this:
for (i = 1; =cNumberNonGaiaPlayers)
{
// Create trigger
rmCreateTrigger("LimitAgePlayer"+i);
// Switch to trigger
rmSwitchToTrigger(rmTriggerID("LimitAgePlayer"+i));
// Set basic trigger options
rmSetTriggerActive(true);
rmSetTriggerLoop(false);
rmSetTriggerRunImmediately(true);
rmSetTriggerPriority(2);
// Set trigger conditions
rmAddTriggerCondition("Always");
// Set trigger effects
rmAddTriggerEffect("Set Tech Status");
rmSetTriggerEffectParamInt("PlayerID", i);
if (rmGetPlayerCiv(i) == rmGetCivID("Russians"))
rmSetTriggerEffectParamInt("TechID", 318);
else if (rmGetPlayerCiv(i) == rmGetCivID("French"))
rmSetTriggerEffectParamInt("TechID", 320);
else if (rmGetPlayerCiv(i) == rmGetCivID("British"))
rmSetTriggerEffectParamInt("TechID", 321);
else if (rmGetPlayerCiv(i) == rmGetCivID("Dutch"))
rmSetTriggerEffectParamInt("TechID", 322);
else if (rmGetPlayerCiv(i) == rmGetCivID("Spanish"))
rmSetTriggerEffectParamInt("TechID", 327);
else if (rmGetPlayerCiv(i) == rmGetCivID("Germans"))
rmSetTriggerEffectParamInt("TechID", 329);
else if (rmGetPlayerCiv(i) == rmGetCivID("Portuguese"))
rmSetTriggerEffectParamInt("TechID", 330);
else if (rmGetPlayerCiv(i) == rmGetCivID("Ottoman"))
rmSetTriggerEffectParamInt("TechID", 331);
else if (rmGetPlayerCiv(i) == rmGetCivID("xpIroquois"))
rmSetTriggerEffectParamInt("TechID", 993);
else if (rmGetPlayerCiv(i) == rmGetCivID("xpAztec"))
rmSetTriggerEffectParamInt("TechID", 1023);
else if (rmGetPlayerCiv(i) == rmGetCivID("xpSioux"))
rmSetTriggerEffectParamInt("TechID", 1024);
rmSetTriggerEffectParam("Status", "Unobtainable");
}
I believe the term for the German civ is "Germans" but was not sure - I am sure the term "Russians" is correct.
Anybody have any idea why either of these triggers will keep the map from loading? Is the way I used the techID numbers correct?