ssonly Posted December 17, 2016 Posted December 17, 2016 View File Sorry for my English, it is not my native language. DescriptionThis small mod designed to play with Deviously Cursed Loot. It catches adding devious keys and triggers dcl events when player tries to add them using "player.additem". Keys are removed from inventory.Key names are: "Restraints Key", "Chastity Key", "Piercing Removal Tool", "Leg Restraints Key", "Head Restraints Key", "Hand Restraints Key" and "Body Restranits Key".Console commands are catched and actions:tgm - executes tgm again, disabling god mode tcl - executes tcl again, disabling no clipunlock - executes "lock 100", locking at master levelkill - nothing happens (any ideas ?)When console command (or key) found triggers one of dcl events.Possible events:- standart cursed trap- rubber doll collar- belt of shame- yoke of shameYou can select desired events from mcm menu, If no events selected, nothing happens but other actions remains (key will be removed from inventory)Of couse, if anybody really wants to cheat, he finds the way.This mod also tracks using AddItemMenu. Configurable in MCM.When mod updates it unlocks menu so you can reconfigure new options. MCM MenuIn mcm menu you can:- disable/enable control of various key types- disable/enable console commands.- toggle support of AddItemMenu- select DCL events- "lock menu" to disable future option changes. Unlocking is not possible, so use with cation. RequirementsDeviously Cursed Loot, http://www.loverslab.com/files/file/1216-deviously-cursed-loot/ConsoleUtils, http://www.nexusmods.com/skyrim/mods/66257/?and it's requirements. Submitter ssonly Submitted 12/17/2016 Category Other Requires Deviously Cursed Loot, ConsoleUtils Special Edition Compatible
Halleaon Posted December 17, 2016 Posted December 17, 2016 why would you need this? if you don't want to cheat...just don't cheat, opening the console is a choice. If a person can't control themselves enough to not open the console and type into it they've got bigger issues.
Gameplayer Posted December 17, 2016 Posted December 17, 2016 Right and also there are some very sound reasons for not forcing console commands to be unusable. Often players will need those console commands... There is also a "Hardcore Mode" function for people that want it built into DCL.
Veladarius Posted December 17, 2016 Posted December 17, 2016 The proper keys should be used to remove any devices as some items also have other scripted functions that happen when they are removed. removing the devices via console should only be done if the items are 'broken' and can't be removed via the keys or the quest.
ssonly Posted December 17, 2016 Author Posted December 17, 2016 why would you need this? if you don't want to cheat...just don't cheat, opening the console is a choice. If a person can't control themselves enough to not open the console and type into it they've got bigger issues. Sounds like "why people need Devious Devices - Integration, if you dont want device to be removed, do not do it." This mod adds more self-control. And hardcore mode in DCL is nothing against console. Using this mod is risky, because player can be catched in devices or in trouble but people who install this mod understand this. BDSM is risky itself. If somebody needs version without tcl and tgm contol, i will release it. 1
davisev5225 Posted December 17, 2016 Posted December 17, 2016 Easy way to bypass this: target a container while the console is open, add keys to the container, close the console, open the container, pick up the keys. This mod only triggers if it both: Detects one of a small number of explicitly named keys is added to the player's inventory.AND Can't see a "source container" that the key(s) came from. This doesn't really stop "cheating".
Darkpig Posted December 18, 2016 Posted December 18, 2016 Its always good to have a safeword of some sort still to each their own.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 Easy way to bypass this: target a container while the console is open, add keys to the container, close the console, open the container, pick up the keys. This mod only triggers if it both: Detects one of a small number of explicitly named keys is added to the player's inventory.AND Can't see a "source container" that the key(s) came from. This doesn't really stop "cheating". Brilliant. The author has put up a patch in response to this. So, now instead of just preventing the user from spawning keys, they can't use "additem" or "placeatme" at all... for anything. Yeah, that's a completely sane response. Nevermind that it breaks a good number of mods from Nexus because the authors were too lazy to add crafting recipes or add items to the world somewhere. ssonly: What you should be doing is parsing the item that gets added, rather than the parent command, much like you're doing with the OnItemAdded() event.
Hanshurtig11 Posted December 18, 2016 Posted December 18, 2016 No one needs to install the mod, so, dont be harsh with the author. I like the idea of the mod at all, thou it sure has to be worked on, but better with some constructiv critic. I use the devious Strong Box to sometimes store my "addItem" item *g*.. and use some bondage mittens to prevent casting.. regards
naaitsab Posted December 18, 2016 Posted December 18, 2016 I'm liking the idea. Not sure of the possible script lag of checking each key input for the 'OnKeyDown'. And to the haters, if you don't like the idea than just don't download it? A bit sad to bitch about a mod you don't like. Just move on and respect the author or give constructive feedback that can be used.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 Easy way to bypass this: target a container while the console is open, add keys to the container, close the console, open the container, pick up the keys. This mod only triggers if it both: Detects one of a small number of explicitly named keys is added to the player's inventory.AND Can't see a "source container" that the key(s) came from. This doesn't really stop "cheating". Brilliant. The author has put up a patch in response to this. So, now instead of just preventing the user from spawning keys, they can't use "additem" or "placeatme" at all... for anything. Yeah, that's a completely sane response. Nevermind that it breaks a good number of mods from Nexus because the authors were too lazy to add crafting recipes or add items to the world somewhere. ssonly: What you should be doing is parsing the item that gets added, rather than the parent command, much like you're doing with the OnItemAdded() event. Well, for lack of a response from ssonly, I guess I'll continue to quote myself. Much better. The code is a mess, but you've narrowed the focus back down to keys. Now all you need is to re-write to use an MCM menu so the user can toggle which keys they want to be cheat-blocked, and you should have a good mod on your hands. Also, if you like, I can provide some code snippets to clean things up a little bit for you, ones that won't throw log errors and such, and are much easier to read.
ssonly Posted December 18, 2016 Author Posted December 18, 2016 MCM will be added later. Mod "additemmenu" will not be blocked because if player installs separate mod for adding keys he really wants to cheat.
Nergui Posted December 18, 2016 Posted December 18, 2016 One suggestion I would make is don't block 'tcl'. While it can be used to cheat, it is much more likely to be used to get unstuck.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 Some alternate code to get key forms without doing math translations or looking directly into quest aliases (which can cause log errors if the quest doesn't exist): Key ChastityKey Key RestraintsKey Key PiercingRemovalTool Key HandRestraintsKey Key HeadRestraintsKey Key BodyRestraintsKey Key LegRestraintsKey If(Game.GetModByName("Devious Devices - Integration.esm") != 255) ChastityKey = Game.GetFormFromFile(0x008A4F, "Devious Devices - Integration.esm") As Key RestraintsKey = Game.GetFormFromFile(0x01775F, "Devious Devices - Integration.esm") As Key PiercingRemovalTool = Game.GetFormFromFile(0x0409A4, "Devious Devices - Integration.esm") As Key EndIf If(Game.GetModByName("Deviously Cursed Loot.esp") != 255) HandRestraintsKey = Game.GetFormFromFile(0x04BB4B, "Deviously Cursed Loot.esp") As Key HeadRestraintsKey = Game.GetFormFromFile(0x04BB4C, "Deviously Cursed Loot.esp") As Key BodyRestraintsKey = Game.GetFormFromFile(0x04BB4D, "Deviously Cursed Loot.esp") As Key LegRestraintsKey = Game.GetFormFromFile(0x04BB4E, "Deviously Cursed Loot.esp") As Key EndIf It is completely untested, as I haven't personally written anything dealing with keys yet, but it should at the very least get you on the right track. If declaring them as keys doesn't work, you could try declaring them as Form instead. EDIT: Oh, and with this code, you can remove the hard dependency on Deviously Cursed Loot.
ssonly Posted December 18, 2016 Author Posted December 18, 2016 I will try this code. Main trouble is compare int and hexadimal number stored in string.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 I will try this code. Main trouble is compare int and hexadimal number stored in string. It should be returning the entry as a hexadecimal number. In the picture below, everything with an underline was set using the exact same method. They are hexadecimal numbers.
ssonly Posted December 18, 2016 Author Posted December 18, 2016 It returns Form, form can't me compared with number or string. GetFormID() retrurns int but type cast does not work with hex numbers. In file ID stored as number, program shows it in hex, but skyrim does not convert in hex string.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 It returns Form, form can't me compared with number or string. GetFormID() retrurns int but type cast does not work with hex numbers. In file ID stored as number, program shows it in hex, but skyrim does not convert in hex string. So, in that case, I'd still use the code above, but then convert to an Int by GetFormID() as you said. Also convert Hex to Int. Then you can compare Int to Int. It's not perfect, but it works. Alternatively, you can convert both to String so that you aren't doing any mathematical translations.
ssonly Posted December 18, 2016 Author Posted December 18, 2016 I did not find function like hex string->int or int->hex string.
davisev5225 Posted December 18, 2016 Posted December 18, 2016 I did not find function like hex string->int or int->hex string. https://forums.nexusmods.com/index.php?/topic/1210601-papyrus-get-name-of-esp-a-base-form-belongs-to/?p=10079661
DrVec Posted December 18, 2016 Posted December 18, 2016 I like the Idea from this Mod. Sure If you want to cheat, you can do it but in the other case you rethink about it. But maybe you are blocking Additemmenu. Only to take the keys. In my case i use additemmenu in many ways and not to cheat keys.
jaberwocky Posted December 18, 2016 Posted December 18, 2016 I like the idea, but will most likely not use this mod. I either use console for testing, or when I am stuck, but not for cheating. I do know of another cheat I use often: Save -> Do Pickpocket -> Fail -> Load (or success -> save) The reason I cheat has little to do with wanting to cheat, but more because I dislike the crime-system. See this topic. Your mod made me remember what I dislike about the current crime-system. Fixing that will probably remove my desire to cheat.
ssonly Posted December 18, 2016 Author Posted December 18, 2016 I like the Idea from this Mod. Sure If you want to cheat, you can do it but in the other case you rethink about it. But maybe you are blocking Additemmenu. Only to take the keys. In my case i use additemmenu in many ways and not to cheat keys. Not sure that I understood you correctly. Are you asking to include Additemmenu block in addon or you have trouble with using Additemmenu ? I am thinking about additemmenu, but it may be buggy.
Bonding1005 Posted December 19, 2016 Posted December 19, 2016 Well... once in a while, when I feel like I need this kind of hardcore devious skyrim, I use DCL's "lock menu when tied" + "hardcore mode" in combination with a tiny mod from the Nexus called "Disable console". It really just uses "Key helper" (which is also on the Nexus) to take away the ~ key function so you can't access the console.Of course you need a stable game for that, but then there really is little cheating to be done. 1
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now