abeclancy Posted March 10, 2016 Share Posted March 10, 2016 It's in New Action > Scripting > Current Difficulty. It seems like it doesn't work when you are using the Tactical debug menu's ability to generate missions. Seems like the scripting flow just dies when it encounters the Current Difficulty action, so you can't test how different difficulties affect your mission, and in fact any scripting tied to Rookie/Veteran/Commander/Legend output just doesn't trigger. Anyone back me up or prove me wrong? If this is indeed broken, how do you do scripting based on the difficulty? Is there a Tactical Tag that can be used instead? https://www.dropbox.com/s/dk0dlo16wmd3iwm/kismet-currentdifficulty-nottriggering.jpg?dl=0(The first tutorial box is shown, the second isn't.) Link to comment Share on other sites More sharing options...
abeclancy Posted March 11, 2016 Author Share Posted March 11, 2016 Alright, so I think I might have figured out what's been causing me issues. Apparently all of the (!C) (not converted) actions (Switch, Gate, etc) have issues and don't work properly. Seems like they all used to work, then stopped working for some reason. Since I have absolutely no idea how to make non-not-converted actions, my advice to anyone doing map scripting is to actually just go to one of the vanilla mission map files, copy any necessary (!C) actions from there, paste them in to your map, and use them from there. Actually, come to think of it I don't know what the heck "not converted" means anyways, so maybe they were never supposed to really work in the first place. Link to comment Share on other sites More sharing options...
TeamDragonpunk Posted March 11, 2016 Share Posted March 11, 2016 I would also like to know about the !C... Have you asked @FxsRMcFall about this? I'm curious to know if they worked originally, or if they're deprecated now. Link to comment Share on other sites More sharing options...
FxsRMcFall Posted March 11, 2016 Share Posted March 11, 2016 The answer to the problems you are having with certain kismet nodes are pretty straight forward. Basically, you don't want to mix & match converted with unconverted nodes. However, in some cases using an unconverted node is essential ( such as with logic gates ) so in those situations the level designers manually flagged the node as converted. You can do this by viewing hidden properties on the node and then flagging the appropriate variable. Because this has already been done on base game kismet script nodes, that is why they operate correctly. What does "converted" mean? That just means that the kismet node is safe to use as part of a game play logic sequence, which is not allowed to be latent, manipulate actors, or store state internally ( kismet variables must be used instead for storage ). Why individual logic sequence actions weren't flagged as converted, I couldn't say - but in general it is likely because they store some kind of state internally that isn't part of the game state system and thus not "safe". An example of this would be a conditional that internally tracks how many times it has run. Technically not safe if you are going to use that internally tracked value, but if you don't plan on using that you can just flag the conditional as converted and use it anyways. Link to comment Share on other sites More sharing options...
abeclancy Posted March 11, 2016 Author Share Posted March 11, 2016 Interesting, and that does explain why a few of the Kismet actions are listed as (!C). Switch for example, does seem to have an internal state, in that you can have it disable outputs after they are used. Gate has an internal state because it can be opened and closed through signals to the gate. For anyone interested, FxsRMcFall's notes are spot-on as usual. In the Kismet view, in the Properties window is a wrench icon that lets you view hidden properties, and the one you are interested in is "Converted For Replay System". If you turn on the converted status for any action (Gate, Switch, etc.), then you can't use any state information in that action node because of... reasons. Seems like it is because the internal values of those actions are not saved, so that when the game is reloaded they are all reset to their initial values. So if you covert any (!C) action to a © action, do not use any internal states of those actions! Link to comment Share on other sites More sharing options...
Recommended Posts