Random penalties

Selfbondage software and other kinky developments

Moderators: Riddle, Shannon SteelSlave

Post Reply
jamesshaw78
*
Posts: 13
Joined: 14 Oct 2009, 17:26

Random penalties

Post by jamesshaw78 »

What's needed is a program to generate random penalties at random intervals with a limited duration.

A list of penalties one is willing to endure during a self bondage session is created, say in a text file.
When the program is run, the maximum time is entered. When the program starts a penalty from the list is chosen at a random time between 0 and the limit. It's a simple idea, and I might could do it with good old Q\basic, but that is subject to my own intervention while program is running.

So maybe someone here can come up with a windows based program. Maybe?
User would lgenerate the list of penalties, but examples might include
apply clover clamps for "x" number of minutes
insert anal plug until next penalty announced.
wear hood until program sounds
insert mouth gag until next penalty announced.
etc. let your imagination run wild.
User avatar
Dark_Lizerd
*****
Posts: 2418
Joined: 22 Oct 2006, 11:30
Location: New Mexico

Re: Random penalties

Post by Dark_Lizerd »

Let me see what I can whip up...

Did come up with a simple idea...
Make a list of... say 20 torures...
Then, roll a d20 and see what you must do...
If you roll it again, you undo it...
IE: roll a 5 and you put on nipple clamps.. (clothes pins)
Roll a 5 again and you remove them...

A program will (can) be used to determine when and what to do...
All advice is checked, re-checked and verified to be questionable...
Don't ask, we both wont understand the answer...
http://www.mediafire.com/download/09dtr ... e_V2_2.exe Not just for nubies any more...
User avatar
qwerty212
Moderator
Posts: 1064
Joined: 23 Mar 2010, 20:24

Re: Random penalties

Post by qwerty212 »

Done: Selfbondage Random Penalties 0.1

Just open the exe:
Image

In the same folder you must have a .txt file with the orders:

Code: Select all

Insert mouth gag until next penalty announced
Wear hood until program sounds
Insert anal plug until next penalty announced
Apply clover clamps until next penalty announced
Every line is a different order. The txt must be named Orders.txt

There is also a ini file with the zip file. Modify it to set the time between orders:

Code: Select all

[Settings]
Timemax=5
Timemin=1
Time in minutes. The program will calculate a random time between the max and the minimum.
You can setup the same time as minimum and maximum if you do not want to play with random time.

The program will show a message box with the first order. It will have 3 buttons:
Continue: Click it and you'll have to do that penalty. The program will calculate a random amouunt of time and next order will come up
Retry: Click it if the order is repeated from the last one and the program will select a random one from the .txt file
Abort: Click it when you want to exit the program

You can exit it a any time just right-clicking in the task-bar icon of the program and selecting exit.

Any feedback, screenshots of English systems (to do a proper instruction pdf) and penalties that can be included in the txt will be really apreciatted.

Greets from Barcelona

PS: here is the source code for those who want to take a look at it:

Code: Select all

#AutoIt3Wrapper_Icon=icon.ico ;to include my beautiful icon
#AutoIt3Wrapper_Compression=4; to reduce the size of the exe

#include <File.au3> ;needed to work with the txt file
#include <Misc.au3> ; needed to work with the ini file

_Singleton("Unique String Here"); just one copy of the program running at once

Global $Timemax = IniRead(@ScriptDir & "\Settings.ini", "Settings", "Timemax", "5"); we define the value of the max time between orders reading it from the ini file. Next lines of codes are to be sure that this value is a number and is inside the limits.

If Not StringIsDigit($Timemax) Then
	$Timemax = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemax", "5")
	$Timemax = 5
Else
	If $Timemax < 1 Then
		$Timemax = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemax", "1")
		$Timemax = 1
	ElseIf $Timemax > 9999 Then
		$Timemax = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemax", "9999")
		$Timemax = 9999
	EndIf
EndIf

Global $Timemin = IniRead(@ScriptDir & "\Settings.ini", "Settings", "Timemin", "1"); same with minimum time.

If Not StringIsDigit($Timemin) Then
	$Timemin = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemin", "1")
	$Timemin = 1
Else
	If $Timemin < 1 Then
		$Timemin = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemin", "1")
		$Timemin = 1
	ElseIf $Timemin > 9998 Then
		$Timemin = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemin", "9998")
		$Timemin = 9998
	EndIf
EndIf

;Now we make sure that the minimum is not bigger than the maximum time. If so then their values are changed and the ini file is rewritted.
If Number($Timemax) < Number($Timemin) Then
	Local $Temp = Number($Timemin)
	Local $Temp2 = Number($Timemax)
	Global $Timemax = $Temp
	Global $Timemin = $Temp2
	Global $Timemin = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemin", $Temp2)
	Global $Timemax = IniWrite(@ScriptDir & "\Settings.ini", "Settings", "Timemax", $Temp)
EndIf


Global $file = FileOpen("Orders.txt", 0); we open the txt file

; Check if file opened for reading OK
If $file = -1 Then
	MsgBox(262144, "Error", "Unable to open file.")
	Exit
EndIf

Local $sFileContent = _FileCountLines("Orders.txt"); now we count ho many lines there are inside the txt file
Sleep(30)
;MsgBox(262144, "", Number($sFileContent)); just for developing info, to know how many lines there were.
showorders0();we call the function that shows the first order without waiting any random time.

Func showorders0()
	$Randomline = Random(1, Number($sFileContent), 0);we calculate the line that will be readed from the txt. A random number between 1 and the total amount of lines.
	Local $line1 = FileReadLine($file, $Randomline)
	DllCall("user32.dll", "int", "MessageBeep", "int", 0x00000010);we make a sound for those that were not looking at the screen
	While 1
		Dim $iMsgBoxAnswer;we create the msgbox with the options and their actions.
		$iMsgBoxAnswer = MsgBox(262710, "", $line1)
		Select
			Case $iMsgBoxAnswer = 2 ;Cancel
				FileClose($file)
				Exit
			Case $iMsgBoxAnswer = 10 ;Try Again
				showorders1()
			Case $iMsgBoxAnswer = 11 ;Continue
				showorders2()
		EndSelect
	WEnd
EndFunc   ;==>showorders0


Func showorders1()
	$Randomline = Random(1, Number($sFileContent), 0)
	Local $line1 = FileReadLine($file, $Randomline)
	DllCall("user32.dll", "int", "MessageBeep", "int", 0x00000010)
	While 1
		Dim $iMsgBoxAnswer
		$iMsgBoxAnswer = MsgBox(262710, "", $line1)
		Select
			Case $iMsgBoxAnswer = 2 ;Cancel
				FileClose($file)
				Exit
			Case $iMsgBoxAnswer = 10 ;Try Again
				showorders0()
			Case $iMsgBoxAnswer = 11 ;Continue
				showorders2()
		EndSelect
	WEnd
EndFunc   ;==>showorders1



Func showorders2() ; now the functions that run a random time before showing the order in screen.
	$randomtime = Random($Timemin, $Timemax, 0)
	$Randomtime2 = $randomtime * 60000
	Sleep($Randomtime2)
	$Randomline = Random(1, Number($sFileContent), 0)
	Local $line1 = FileReadLine($file, $Randomline)
	DllCall("user32.dll", "int", "MessageBeep", "int", 0x00000010)
	While 1
		Dim $iMsgBoxAnswer
		$iMsgBoxAnswer = MsgBox(262710, "", $line1)
		Select
			Case $iMsgBoxAnswer = 2 ;Cancel
				FileClose($file)
				Exit
			Case $iMsgBoxAnswer = 10 ;Try Again
				showorders1()
			Case $iMsgBoxAnswer = 11 ;Continue
				showorders3()
		EndSelect
	WEnd
EndFunc   ;==>showorders2

Func showorders3()
	$randomtime = Random($Timemin, $Timemax, 0)
	$Randomtime2 = $randomtime * 60000
	Sleep($Randomtime2)
	$Randomline = Random(1, Number($sFileContent), 0)
	Local $line1 = FileReadLine($file, $Randomline)
	DllCall("user32.dll", "int", "MessageBeep", "int", 0x00000010)
	While 1
		Dim $iMsgBoxAnswer
		$iMsgBoxAnswer = MsgBox(262710, "", $line1)
		Select
			Case $iMsgBoxAnswer = 2 ;Cancel
				FileClose($file)
				Exit
			Case $iMsgBoxAnswer = 10 ;Try Again
				showorders1()
			Case $iMsgBoxAnswer = 11 ;Continue
				showorders2()
		EndSelect
	WEnd
EndFunc   ;==>showorders3

FileClose($file)
User avatar
Dark_Lizerd
*****
Posts: 2418
Joined: 22 Oct 2006, 11:30
Location: New Mexico

Re: Random penalties

Post by Dark_Lizerd »

... :( aaaaa You beat me to it... :( ohwell...

Your's look like a verry simple an strait forward...
But, like can be expected at this point, there are very few choices to select from...

Now I guess the perverts here need to supply a list of torment...
So:....
( you may need something for: guy, girl, or both...)
(And we get to see what people like to do... or not...)

Add crotch rope until next penalty.
Add nipple clamps, if wearing them, pull them off.
Add nipple clams, if wearing them, add weights.
All advice is checked, re-checked and verified to be questionable...
Don't ask, we both wont understand the answer...
http://www.mediafire.com/download/09dtr ... e_V2_2.exe Not just for nubies any more...
User avatar
qwerty212
Moderator
Posts: 1064
Joined: 23 Mar 2010, 20:24

Re: Random penalties

Post by qwerty212 »

Dark_Lizerd wrote:... :( aaaaa You beat me to it... :( ohwell...
Uops, sorry Lizerd.

Reading your post I didn't realized that you were going to code something in Codetrix (my English is getting worst instead of getting better).
Yesterday I was not in the mood to work with the Blowjob Trainer update, I was bored and this Random Penalties wasn't the most complicated thing in the world to do...

I would love to test your script, so please go on with it.

Thanks for the new penalties.

Greets from Barcelona
tiemeupalso
****
Posts: 732
Joined: 19 Sep 2009, 19:03
Location: cameron/rockdale,tx
Contact:

Re: Random penalties

Post by tiemeupalso »

how are these penalities going to be enforced?
User avatar
Dark_Lizerd
*****
Posts: 2418
Joined: 22 Oct 2006, 11:30
Location: New Mexico

Re: Random penalties

Post by Dark_Lizerd »

Qwerty212... No problem... Mine would take a while, but yours is quick and simple...

tiemeupalso... there is none... you just go with it...
If you had a Misstress, She could make sure you do it... :whip: or else...

I have informed Boundforum about this, they may help with punishment ideas as well...
All advice is checked, re-checked and verified to be questionable...
Don't ask, we both wont understand the answer...
http://www.mediafire.com/download/09dtr ... e_V2_2.exe Not just for nubies any more...
User avatar
qwerty212
Moderator
Posts: 1064
Joined: 23 Mar 2010, 20:24

Re: Random penalties

Post by qwerty212 »

Dark_Lizerd wrote:...
I have informed Boundforum about this, they may help with punishment ideas as well...
Thanks a lot Dark_Lizerd. Time ago I used to post the new software here, in Boundforum and in Ra's forum.
After the first retirement I got even more lazy than usual and Anna has always supported development a lot, so I just decided to do not post new software outside BoundAnna (and in my blog, of course).
tiemeupalso wrote:how are these penalities going to be enforced?
Well,this is a game. No one can check that you have done the required task.

Maybe you can google for Bound Jenny's phone and she and her whip will check that you are a good slave :whip:

Greets from Barcelona
User avatar
Dark_Lizerd
*****
Posts: 2418
Joined: 22 Oct 2006, 11:30
Location: New Mexico

Re: Random penalties

Post by Dark_Lizerd »

A few new penalties to add to the list....
For those that need new ideas...

-------------------------------------
Lick both nipples with an ice cube 10 times each.
Tie knees together and drop an ice cube betwen your legs.
Add clothes pins to your nipples, if you already have some on, pull them off...
-----------------------

More to come...
All advice is checked, re-checked and verified to be questionable...
Don't ask, we both wont understand the answer...
http://www.mediafire.com/download/09dtr ... e_V2_2.exe Not just for nubies any more...
Post Reply