You must be logged in to post messages.Please login or registerScenario DesignModerated by MosheLevi, Mister SCP
 Hop to:   Main Page    Forum Announcements        Forum Rules        Moderation Announcements    Age of Empires III Heaven        Cheatbusters        News Discussions        General Discussions        Strategy Central        Future Robot, Bonfire, ..        Recorded Games    Scenario and Modding Design        Scenario Design        Modding Discussions        Downloads section    Community Forums        Clans Exchange        Tech Help        Website Feedback        The Saloon (Off Topic)    Other Age Of Heavens        Age of Empires Heaven        Age of Kings Heaven        Age of Mythology Heaven        Age of Empires Online H..    Community Links        Outside Discussions        The Library        The HTML Forum    Archived Forums        AoE3H Mentor/Mentee Pro..        New World Tournament        Recorded Games Discussion        History Forum        The Post-Apocalyptic Sa..        Treaty DiscussionsHeavenGamesAge of Empires HeavenAge of Empires III HeavenAge of Kings HeavenAge of Mythology HeavenAge of Wonders HeavenBattle for Middle Earth II HeavenCity Builders HeavenEmpire at War HeavenEmpire Earth HeavenEmpire: Total War HeavenEmpires HeavenMedieval 2: Total War HeavenNapoleon: Total War HeavenRise of Legends HeavenRise of Nations HeavenRome: Total War HeavenStronghold HeavenSW:GB HeavenTotal War: Shogun 2 Heaven
 Welcome! You are not logged in. Please Login or Register. 736 replies, Sticky
 Age of Empires III Heaven » Forums » Scenario Design » The RMS question Thread
 Bottom
 Topic Subject: The RMS question Thread
 « Previous Page  1 ··· 10 ··· 18 19 20 21 22 ··· 30  Next Page »
 sufjanfan Skirmisher posted 08-07-10 04:49 PM EDT (US)     476 / 736        I'm running into a little bug while adding triggers into a random map I am making. The triggers work fine, but they add one extra condition and one extra effect, the default ones ("Always" and "SetIdleProcessing"). I assume there is a quick solution to this I am missing...any ideas?
 RiverWalker Skirmisher posted 08-07-10 07:03 PM EDT (US)     477 / 736        I don't see your problem. Are you saying the default condition and effects are firing and causing problems?~River_GodGood Luck! Have Fun! DON'T DIE!!Custom Trilogy, DRAW IV, Monopoly 2, Pergatory, Cats and Mice,Custom Colosseums
 sufjanfan Skirmisher posted 08-07-10 07:10 PM EDT (US)     478 / 736        Every trigger I add in the script has one extra condition and one extra effect ingame. Here's an excerpt from my code:rmCreateTrigger("Move"+i);rmSwitchToTrigger(rmTriggerID("Move"+i));rmAddTriggerCondition("Quest Var Check");rmSetTriggerConditionParam("QuestVar", "PlayerLowestXP");rmSetTriggerConditionParam("PlayerID", "==");rmSetTriggerConditionParamInt("PlayerID", i);rmAddTriggerEffect("Move to Unit");rmSetTriggerEffectParamInt("SrcObject", rmGetUnitPlacedOfPlayer(stuffID, 0));rmSetTriggerEffectParamInt("DstObject", rmGetUnitPlacedOfPlayer(TCID, i));rmSetTriggerEffectParamInt("AttackMove", true);}This works - it creates the conditions and effects fine, but ingame, the conditions and effects are shown as follows:Conditions:Quest Var CheckAlwaysEffects:Move to UnitSetIdleProcessingI don't know why those are being added on.
 RiverWalker Skirmisher posted 08-07-10 11:45 PM EDT (US)     479 / 736        Well, first of all, these lines are wrong unless you modded your typetest (modding it this way wouldn't make sense):rmSetTriggerConditionParam("PlayerID", "=="); rmSetTriggerConditionParamInt("PlayerID", i);What you probably actually want is this:rmSetTriggerConditionParam("Op", "==");rmSetTriggerConditionParamInt("Value", i);What I'm thinking is if you're making the triggers wrong, the game would be confused and just set it to default, which may be why the default condition and effect are being added. So, if fixing this doesn't fix your problem, you may want to make sure your Functions are working properly, and your objects are being placed. If the object isn't placed it may not know and give the wrong thing.Have you play-tested the trigger at all? To make sure the trigger itself is working fine?~River_GodGood Luck! Have Fun! DON'T DIE!!Custom Trilogy, DRAW IV, Monopoly 2, Pergatory, Cats and Mice,Custom Colosseums
 sufjanfan Skirmisher posted 08-08-10 07:53 AM EDT (US)     480 / 736        Yes, I realised the lines are wrong and fixed them. The problem is happening with all my triggers, and not all of the have to do with the objects. But, I think the problem is not an issue at all, because the conditions list works by the 'and' operator, so an extra always does nothing. The effect also does nothing, since it turns idle processing on.I'm getting a different problem now though. My triggers don't fire at all. I tried having each one of them have the extra effect of destroying a unit, but none of the units died. It only worked when I deleted all of the triggers except one in the scenario editor.EDIT: Nvm, I figured out that the problem was the fire event trigger. I'll ask somewhere else.[This message has been edited by sufjanfan (edited 08-08-2010 @ 08:31 AM).]
 Mister SCP Scenario Reviewer posted 08-09-10 09:22 AM EDT (US)     481 / 736        at least in scenarios you cant do the triggernaming that way cause all trigger names need to be set without variables so "move"+i dont work but "move1","move2","move3" works at least in scenarios (else trigger lock). But you can at least call the trigger with variables (fire event)rmCreateTrigger("Move"+i);rmCreateTrigger("Move1"); ESO2 Name:Sir_ConstantinESO Name:Sir_PacmanTrigger Freak and Modder for AOE3SCP Editor Tools---my map pack---Some incomplete stuffMy trigger Pack[This message has been edited by Mister SCP (edited 08-09-2010 @ 09:42 AM).]
 sufjanfan Skirmisher posted 08-09-10 06:29 PM EDT (US)     482 / 736        In RM scripting, if 'i' is a variable (for example 1), "Move"+i would be "Move1". Are you saying if you create a trigger using this it will lock the trigger up?
 RF_Gandalf Skirmisher posted 08-09-10 09:40 PM EDT (US)     483 / 736        Do you really need to rename the trigger each time? I am not an expert on triggers, have no experience with them in scenarios, and have used them in only a few RMS. But maybe you could redo you trigger so that the trigger is called multiple times, each time with the variable i in a 'for' statement to execute the effect for each player. Here is an example I used in a map script that repeatedly gave extra xp to each player every 60 seconds, using 2 triggers:rmCreateTrigger("XPShipment");rmCreateTrigger("XPTimer");rmSwitchToTrigger(rmTriggerID("XPTimer"));rmSetTriggerPriority(3); rmSetTriggerActive(false);rmSetTriggerRunImmediately(false);rmSetTriggerLoop(false);rmAddTriggerCondition("Timer");rmSetTriggerConditionParamInt("Param1", 60);rmAddTriggerEffect("Fire Event");rmSetTriggerEffectParamInt("EventID", rmTriggerID("XPShipment"));rmSwitchToTrigger(rmTriggerID("XPShipment"));rmSetTriggerPriority(3);rmSetTriggerActive(false);rmSetTriggerRunImmediately(false);rmSetTriggerLoop(false);for(i=1; <= cNumberNonGaiaPlayers){ rmAddTriggerEffect("Grant Resources"); rmSetTriggerEffectParamInt("PlayerID", i); rmSetTriggerEffectParam("ResName", "XP"); rmSetTriggerEffectParamInt("Amount", 200);}rmAddTriggerEffect("Fire Event");rmSetTriggerEffectParamInt("EventID", rmTriggerID("XPTimer"));Why don't you try something like that for your script (and let us know if it works) ?[This message has been edited by RF_Gandalf (edited 08-09-2010 @ 09:41 PM).]
 sufjanfan Skirmisher posted 08-10-10 09:29 AM EDT (US)     484 / 736        I needed a move trigger for each player, and because you can't know that, I had to have a loop define the triggers. Since Mister SCP hinted that that causes problems, I'm just doing this at the beginning of my trigger section.rmCreateTrigger("Move1");rmCreateTrigger("Move2");rmCreateTrigger("Move3");rmCreateTrigger("Move4");rmCreateTrigger("Move5");rmCreateTrigger("Move6");rmCreateTrigger("Move7");rmCreateTrigger("Move8");
 RiverWalker Skirmisher posted 08-10-10 10:48 AM EDT (US)     485 / 736        I have a little more experience with triggers in RMS, and maybe I just have a different style, but it seems to work. Instead of this:rmCreateTrigger("Move1");I make it an integer:int Move1=rmCreateTrigger("Move Player 1");And if I needed it for each player I would do it this way:for(i=1; <=cNumberNonGaiaPlayers){int Move=rmCreateTrigger("Move Player "+i);}Doing it this way makes it harder to call, but if you don't need to Fire it from anywhere else a trigger done this way works perfectly. If you do need to call it for a FireEvent or something, using rmTriggerID("Move Player 1"); might work, but may cause a few problems if you try calling a trigger that doesn't exist. For example trying to call for Player 8 in a 4 player game. Keep this in mind and be careful and you should be fine.~River_GodGood Luck! Have Fun! DON'T DIE!!Custom Trilogy, DRAW IV, Monopoly 2, Pergatory, Cats and Mice,Custom Colosseums
 sufjanfan Skirmisher posted 08-10-10 11:07 AM EDT (US)     486 / 736        I finally figured out what my real problem was! I have this line in my script:rmSetTriggerEffectParamInt("AttackMove", true);When I commented it out, it worked fine. Does anyone know how to set AttackMove to true properly? The line in typetest is this:false[This message has been edited by sufjanfan (edited 08-10-2010 @ 11:09 AM).]
 RiverWalker Skirmisher posted 08-10-10 11:29 AM EDT (US)     487 / 736        Since there is no rmSetTriggerEffectParamBool I just do it like a string:rmSetTriggerEffectParam("AttackMove", "true");~River_GodGood Luck! Have Fun! DON'T DIE!!Custom Trilogy, DRAW IV, Monopoly 2, Pergatory, Cats and Mice,Custom Colosseums
 sufjanfan Skirmisher posted 08-10-10 01:23 PM EDT (US)     488 / 736        I didn't think that would work. But thanks, I'll try that.EDIT: It did work. Thank you very much for the help. I have one more (and hopefully final) question. How do I pass an area specification to a trigger via RM?[This message has been edited by sufjanfan (edited 08-11-2010 @ 02:13 PM).]
 DalEk Skirmisher posted 08-19-10 04:20 AM EDT (US)     489 / 736        HelloI am very new to RMS scripting and have just read M0nTy_PyTh0n's RMS tutorial. I do, however have some questions.Is there anywhere I can find a full list of all rm functions/variables? Also, while looking through the ES maps, I found many lines of script I did not understand.e.g:// rmSetMapElevationParameters(long type, float minFrequency, long numberOctaves, float persistence, float heightVariation) What is this and how does it affect my map's elevation?What are classes?What is a nugget?What are sockets and how can I place them?Why do many commands contain ".........."+i. What value does i have?Sorry if my questions sound so simple, but I cannot find answers anywhere else, and would be very grateful if you answered my questions.Thanks
 RiverWalker Skirmisher posted 08-19-10 11:09 PM EDT (US)     490 / 736        I'll see what I can do. First off, if you go in your RM file (or RM3, whichever) and find some .dmp text files, and scroll down a bit, you will get two versions of a full list of xs, rm and c commands, the first one I think just numbers them, the second tells you what the input types are, but doesn't explain them at all. You'll have to get some more experience with the simpler explained commands in the tutorial, then get to experimenting with new ones. A class is a way of defining a group of things, variables, objects, areas, together. They are used in conjunction with constraints, to help avoid areas overlapping, or TC's trying to place in water. Nugget=TreasureSocket=somewhere you can build a Trading Post, like a native site or a Trade Route. Placing them is different depending on which you want to place. For a native site just look at the code for any map in the game, it will have how you place them as a Grouping. Pretty much if you want to know how to make something, check the examples you have already, either in the game or on this site. A lot of people use i withing for() loops. For example:for(i=1; <=cNumberNonGaiaPlayers){some code}the i here represents the player number, looping from 1 to the last player. This is used the most so that you can for example create an area for each player without typing the code 8 times and it not even working when there's only 6 players.Check out the Wiki, it has tons of great info.~River_GodGood Luck! Have Fun! DON'T DIE!!Custom Trilogy, DRAW IV, Monopoly 2, Pergatory, Cats and Mice,Custom Colosseums
 musketeer925 Skirmisher posted 08-20-10 10:56 AM EDT (US)     491 / 736        How do I pass an area specification to a trigger via RM?The param will be filled with a coordinate, such as "0,0,0" (Without the quotations). At least I'm pretty sure.
 RF_Gandalf Skirmisher posted 08-20-10 01:15 PM EDT (US)     492 / 736        DalEkThe elevation command you asked about:rmSetMapElevationParameters(long type, float minFrequency, long numberOctaves, float persistence, float heightVariation)This is a way to randomly vary the elevation on the map - it tells the map generator to put some variability into the height of the map. I think you only want to use this on non-water maps. ES never explained the functions but I have played around with it, looked at the way elevation appears in various ES maps, and figured out how to use it.Here is the elevation parameter statement from Deccan: rmSetMapElevationParameters(cElevTurbulence, 0.06, 1, 0.4, 3.0);The first number, the minFrequency, seems to refer to how often the variability is repeated, The numberOctaves exact meaning is unclear. The persistance seems to refer to how big an area stays at a given elevation, and the heightVariation refers to the number of tiles a height can vary from the base height of the map - I think both above and below the base elevation. To my eye, the 1st, 3rd and 4th of the variables seem to affect the appearance more than the 2nd number. For most maps you could really just use one of these lines from a standard ES map, or leave it out for a flat map.Play around with a map script and try varying things. You can make a map look really odd by making big changes in the heightVariation.
 DalEk Skirmisher posted 08-21-10 02:06 AM EDT (US)     493 / 736        Thanks RiverWalker and RF_Gandalf.That answers all the questions I have for now.