Jump to content

Recommended Posts

View File

Devious Console


Note: This mod is stil in beta so please use accordingly
Note2: Due to the design of this mod you can get stuck, if you don't like that please don't use this mod.

 

This mod aims to add an extra layer of protection in a devious playtrough. If you are wearing Devious Devices you can no longer use the console.
If you do try to cheat/use the console there will be a (atm 66%) chance of punishment, if activated in the MCM menu.

 

At the moment this is the first beta release. I may add extra punishments, if you have an idea let me know in the comments.
I'm also thinking to create a lite version which does not have a MCM but is far less streamlined.


Requirements
-Devious Devices Integration (and all of it's requirements)
-Latest SKSE, this mod uses the 'registerforkey' function to keep scriptlag to a minimum.

 

Punishments
-Vibrate plugs at random intensity.
-Lose all your (standard) DD keys.

 

MCM
-Enable/disable the mod
-Enable/disable punishments
-Enable/disable vibrate punishment
-Enable/disable key steal

 

Debug
If you want to get debug messages you can use the following console command:
set DDCL_DebugEnabled to 1
note: this won't work if you are wearing devices so please start this mod before equipping restraints.

 

FAQ
Q: How is different from 'Devious Anticheat' and 'Player_Exhibitionist'?
A: The first mod polls the console key with a constant check for the key. Possible resulting in script lag. The latter mod has blocking as an extra feature, I intend to keep it simpele.

 

Q: Does this block the 'additemmenu'?
A: Not at the moment and I don't have plans to do so at the moment. If it can be done without much hassle I might add it.

 

Q: Why does this mod scripting suck?
A: It's my very first mod, constructive feedback is welcome.

Q: I'm stuck and can't use the console.
A: Load an earlier save or use the Skyrim SaveTool to remove all scripts starting with DDCL_
(That's why the warning is on the top of this page)

 

Credits
BadIdea57 & ssonly for their mod on which I based this one.
Kimy for some script fragments.
Darkadathea (Deviantart) for the lock picture used for the MCM blocked screen.
Darkfox127 (Youtube/Nexus.com) for his tutorials.


  • Submitter
  • Submitted
    03/29/2017
  • Category
  • Requires
    Devious Devices Integration, SKSE
  • Special Edition Compatible

 

Share this post


Link to post

Additemmenu adds all items from it's container.

AIM_cont = Game.GetFormFromFile(0x000D84, "AddItemMenu2.esp") as Form

Event OnItemAdded and "ObjectReference akSourceContainer".

Numbers can vary in early aim verstions.

Share this post


Link to post

Additemmenu adds all items from it's container.

AIM_cont = Game.GetFormFromFile(0x000D84, "AddItemMenu2.esp") as Form
Event OnItemAdded and "ObjectReference akSourceContainer".

Numbers can vary in early aim verstions.

 

Hmm, will look into that. Thanks for the tip.

Share this post


Link to post

I understand why you do this, but I hope it never becomes a prerequisite for any mods. The reason being that not all people want to play with the mods as core, and these mods can break the game. Yours, would sure get rid of one of the flaw of these mod (flaw being that you can escape through console) but you also get rid of one of the only debugger. I think using the console should remain a user decision, rather than a modder enforcement.

 

If this mod stays as a standalone, it is a wonderful way of putting it to use. If it ever become necessary for another mod I am more than likely going to not use said other mod. I play an extremely unstable skyrim, and often end with mods conflict and have to use console commands to free myself from those conflict.

 

Wish you the best of luck ;-)

Share this post


Link to post

I understand why you do this, but I hope it never becomes a prerequisite for any mods. The reason being that not all people want to play with the mods as core, and these mods can break the game. Yours, would sure get rid of one of the flaw of these mod (flaw being that you can escape through console) but you also get rid of one of the only debugger. I think using the console should remain a user decision, rather than a modder enforcement.

 

If this mod stays as a standalone, it is a wonderful way of putting it to use. If it ever become necessary for another mod I am more than likely going to not use said other mod. I play an extremely unstable skyrim, and often end with mods conflict and have to use console commands to free myself from those conflict.

 

Wish you the best of luck ;-)

That's why it's a mod and not a framework ;) It's something I made for personal use but in the spirit of game modding decided to share it here for people who want to use it.

I'm well aware of the risks to the gameplay but that's why I put the warning at the top.

If and when this should be implemented in another mod it will always be a user selectable option.

 

And to make it extra clear this only blocks console access if you are wearing a device from the Devious Devices mods. Beyond that the console is freely accessible.

If you want to filter out cheating but keep using the console for 'normal' things I can recommend this mod: http://www.loverslab.com/topic/70684-devious-anticheat/

Share this post


Link to post

Check these out :)

 

https://www.creationkit.com/index.php?title=OnMenuOpen_-_Form

https://www.creationkit.com/index.php?title=RegisterForMenu_-_Form

https://www.creationkit.com/index.php?title=UI_Script#Valid_Menu_Names

Event OnInit()
	RegisterForMenu("Console")
EndEvent
 
Event OnMenuOpen(String MenuName)
	If MenuName == "Console"
		Debug.Trace("Console has been registered and has opened.")
	EndIf
EndEvent

Share this post


Link to post

Check these out :)

 

https://www.creationkit.com/index.php?title=OnMenuOpen_-_Form

https://www.creationkit.com/index.php?title=RegisterForMenu_-_Form

https://www.creationkit.com/index.php?title=UI_Script#Valid_Menu_Names

Event OnInit()
	RegisterForMenu("Console")
EndEvent
 
Event OnMenuOpen(String MenuName)
	If MenuName == "Console"
		Debug.Trace("Console has been registered and has opened.")
	EndIf
EndEvent

 

Interesting, do you think this would result in less strain on the engine/papyrus than the RegisterForKey method I now use?

Share this post


Link to post

 

Check these out :)

 

https://www.creationkit.com/index.php?title=OnMenuOpen_-_Form

https://www.creationkit.com/index.php?title=RegisterForMenu_-_Form

https://www.creationkit.com/index.php?title=UI_Script#Valid_Menu_Names

Event OnInit()
	RegisterForMenu("Console")
EndEvent
 
Event OnMenuOpen(String MenuName)
	If MenuName == "Console"
		Debug.Trace("Console has been registered and has opened.")
	EndIf
EndEvent
Interesting, do you think this would result in less strain on the engine/papyrus than the RegisterForKey method I now use?

 

 

That would depend on how the OnKey event is programmed. If there's a check on every key press event then filtered for only the keys registered or if the event only triggers on keys that are registered. If it's the former then yes. At the least it should make your mod less susceptible to key mapping conflicts from different OSs / languages.

 

Share this post


Link to post

 

 

Check these out :)

 

https://www.creationkit.com/index.php?title=OnMenuOpen_-_Form

https://www.creationkit.com/index.php?title=RegisterForMenu_-_Form

https://www.creationkit.com/index.php?title=UI_Script#Valid_Menu_Names

Event OnInit()
	RegisterForMenu("Console")
EndEvent
 
Event OnMenuOpen(String MenuName)
	If MenuName == "Console"
		Debug.Trace("Console has been registered and has opened.")
	EndIf
EndEvent

 

Interesting, do you think this would result in less strain on the engine/papyrus than the RegisterForKey method I now use?

 

 

That would depend on how the OnKey event is programmed. If there's a check on every key press event then filtered for only the keys registered or if the event only triggers on keys that are registered. If it's the former then yes. At the least it should make your mod less susceptible to key mapping conflicts from different OSs / languages.

 

The OnKeyDown and OnKeyUp keep polling the keys and fire/try on every key as commented as a warning on the creationkit website. They recommend the SKSE RegisterForKey, this only fires when key no x is pressed.

I check the console key ID with the Input.GetMappedKey("Console") command. So this will always returns the users console key if they have it mapped (custom mapping can be loaded via a .txt)

 

It's too bad there isn't a good debugger which (estimates) the system load like Visual Studio does when running .net apps.

Share this post


Link to post

Nice mods, but the punishment  only Remove generic Key "Chastity Key, Restraint Key, Piercing Key", how about Additional Key like Aridica, Captured Dreams, or other mods... I think it's better removed via Keyword Detection like "zad_DeviousChastityKey"...

 

Sorry about my Bad English....

Share this post


Link to post

The Concept of the Mod is pretty cool. And i kind of like using it but theres a big problem. Also mentioned by the Creator. You can get stuck. For example i use Simple Slavery and i got equipped into a Collar. Then my Owner ran away and i was stuck in the Collar because i had no key. And no access to the console. So yeah. Cool Idea, But nothing for me atm. The console is just too important.

 

-Aki

Share this post


Link to post
6 hours ago, AkiKay said:

The Concept of the Mod is pretty cool. And i kind of like using it but theres a big problem. Also mentioned by the Creator. You can get stuck. For example i use Simple Slavery and i got equipped into a Collar. Then my Owner ran away and i was stuck in the Collar because i had no key. And no access to the console. So yeah. Cool Idea, But nothing for me atm. The console is just too important.

 

-Aki

You can always use a save editor to remove the scripts. I might update the mechanism to use a global killswitch, this is far easier modified by a save editor in case of emergencies.

Share this post


Link to post

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...