de en es fr
Let the machine help
Light teasing, exhibition, BDSM, sissyfication, watersports... with sounds and pictures


Post new topic Reply to topic  [ 51 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
 Selfbt
PostPosted: Sun Aug 16, 2015 10:43 am 
Offline
Veteran
User avatar
Well after finding (well you can't really stumble across it) this site and messing with a couple of the scripts (sorry Liz all you got was ceiling shots, maybe I'll do it properly some time), it looks like I'm going to give this a go. Please bare in mind the last 'scripting' I did was as a teenager (in turbo pascal of all languages). Never the less....... I am attempting to build a selfbondage timer and release, but one that is a little more configurable to different people's tastes/limits.

I have a 4 hour flight coming up tomorrow so will bang out a test and endeavour to upload the result sometime on Wednesday when I return.

I would very much like feedback (both good and bad) on both the script and the code within. Also feel free to give me any ideas you have for things you think wold fit this idea.

Cheers,

Lifeinplymouth.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Sun Aug 16, 2015 11:53 am 
Offline
Veteran
User avatar
love pascal.. almost finished the windows standalone version of sexcards in Lazarus (freepascal) 8-)

I think there was a way to switch power sockets on and off over your wifi with adaptors from ebay/lidel - you just put a http request so will work from ss :D think that will be interesting for self bondage with a mag lock? :roll:

Let me know if you need any pointers..

_________________
Liz

You can't take something off the Internet - it's like taking pee out of a pool.
https://play-clan.site profile: Liz


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Wed Aug 19, 2015 6:25 am 
Offline
Veteran
User avatar
ok, as promised here is my first draft.

1 thing I learnt today....... auto caps on the first word of a new sentence is a bitch to correct ......I wrote my first draft in pages on my ipad (so many Def's and Shows had to be corrected and there's always one more hiding to screw up the checker)

seriously though the bare bones are working,
the script actually runs!
the remember me function seems to be ok too.

todo list:
sort an "I need to change a setting" function
more "in bondage" surprises.
some better "time decider" stuff (as opposed to just a random number)

with 157 views on this post without even a script posted I'm hoping for some ideas/feedback.

_________________
"If you don't gosub a program loop, you'll never get a subroutine."


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Wed Aug 19, 2015 11:10 am 
Offline
Veteran
User avatar
Great work 8-) you look like you will not need any help for your "todo list"

Just a few corrections..
*spelling mistake on line 139 until not untill
*line 163 - not essential, just me being picky but would be nice to have the '}' on a new line or a space before it as my editor editor (notepad++) is not matching it to the start of the "if" block

and some suggestions...

Not really done much self bondage myself :roll: but of the two laptops I have the alienware just has a CD slot (no tray) and my samsung does not have a CD at all so think it would be nice to have other options. Sure there are other ways to do this with something everyone has on their computer but can't think... Looking back it was ShySub who commented on subcontrol about wifi controlled mag locks:

ShySub wrote:
Liz,
An idea, I was looking at the devices you can get on ebay nowadays that allow you to control a power socket from your computer via wifi maybe linked to a maglock? That got me thinking it would be hot if your script controlled when you are released from a bit of self bondage? The one I was looking at lets you turn the plug on and off via a webpage so you could get the script to do that with useURL?

Anyone else used this sort of thing?


My guess is there will be other people that use different kit so may be handy to have a setting to select the "trigger" as 1) open cd tray, 2) call user specified URL 3)run user specified command 4) No trigger just self control to only use key when told? - again don't know what I'm talking about for this so feel free to shoot me down :)

But instead of useURL would use:
Code:
usertrigger = 'http://local/switchoff.html'
usertrigger.toURL().text

and for a user command:

Code:
usertrigger = 'openlock.bat'
useFile(usertrigger)


My other thoughts would be the random surprises mid wait could be things like:

* say it detected movement or you are not struggling enough and add a random no of mins to time.
* "pretend" that the webcam image will be uploaded in 30 seconds if you don't click a button (may make you struggle to get out early :-) )

Prob nice to have some more random comments as I guess you will be limited on what else you can do tied up :roll: but you look to have that in hand too.. 8-)

_________________
Liz

You can't take something off the Internet - it's like taking pee out of a pool.
https://play-clan.site profile: Liz


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Wed Aug 19, 2015 3:54 pm 
Offline
Veteran
User avatar
Thanks Liz , I will sort the spelling error(had to turn off autocorrect as it messed up too many variable names).

User selected release is definitely going on the todo list (can executables be called?).

Looks like this could end up being a longer term project.

_________________
"If you don't gosub a program loop, you'll never get a subroutine."


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Wed Aug 19, 2015 4:50 pm 
Offline
Veteran
User avatar
lifeinplymouth wrote:
User selected release is definitely going on the todo list (can executables be called?).


Yes executables can be used (my SexCards script calls the windows card editor - editor.exe file if installed) not sure if it works the same on Linux but that would be a very user configurable option anyway.

Don't think it will take long to implement, just need to save their choice for a selection question like:

Code:
Trigger_choice = getSelectedValue("How would you like to be freed when your time is up?",["Open CD Tray","Ping web address","Run Command","Play sound"]);

and you only need to
Code:
custom = getString("Enter the website to ping","http://local/");
if they select 1 or 2 :-)

The other point you had about editing settings, it may be easier to just ask if you want to reset settings at the start (if run before) and if so just fall into the same block as if running for the first time.

_________________
Liz

You can't take something off the Internet - it's like taking pee out of a pool.
https://play-clan.site profile: Liz


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Sat Aug 22, 2015 8:31 am 
Offline
Veteran
User avatar
Hi all,

Unfortunately the next version of the script (which added an image release method for those who play with combination locks and an option to use the last known settings) which was due to go up today has developed a nasty bug that after one time round fails to do a safety check or (more importantly) a release (it appears to be completely ignoring an 'if' statement). Unfortunately I'm working today so can't get on it until this evening but hopefully I will be able to get this up sometime on Sunday.

Also as I will end up spending the whole day traveling on Sunday I will probably try to take care of the rest of the to-do list so if you have a feature request let's hear it.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Sun Aug 23, 2015 12:38 pm 
Offline
Veteran
User avatar
Ok, so there was a pretty major bug (it showed the release image as soon as it was taken).

All should be working now.

Calling this V1.0 but it's far from finished.

Changes since last version:
added webcam image release method,
option for named dominant (rather than the default master/mistress)
fixed a few grammatical errors,
fixed the remember settings loop.

to do list: (let me know which you want to see or suggest others)
add web and .exe release calls,
change bound time loop to prevent cheating,
add another method of setting time bound.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Tue Aug 25, 2015 10:34 am 
Offline
Regular
So I noticed a dangerous situation that can arise from the code involving the main loop. I also have some questions about the code just for curiosity's sake.

Code:
//start of main loop
while(bound_time > 0)
{
   if(showtimer==true)
   {
      if(bound_time<60){show(subname+" you have "+bound_time+" seconds remaining")}
      else{show(subname+" you have "+Math.round(bound_time/60)+" minutes remaining")}
   }
   counter1++
   if(counter1 == 60 ){counter1 = 0} //2
   counter2++
   if(counter2 == 10 ){counter2 = 0} //2
   counter3++
   if(counter3 == 79 /*suggested: && has_webcam == true */)
   {
      image_temp = getImage() //1     
      setImage(image_temp)
      show(random_quote)
       wait(10)
      bound_time = bound_time-10
      counter3 = 0
      show("")
      setImage(owner_image)
   }
   wait(1)
   bound_time--
}
//end of main loop


1: There is utterly no check to make sure the computer actually has a webcam. If it doesn't, the program will utterly stop upon hitting this line, though it will not crash. This can cause unsuspecting people to not be release without any warning. I suggest having an option to toggle this functionality or remove it completely.

2: These reset every 60 and 10 loops respectively. Is there any purpose for this? It doesn't get used anywhere else in this loop nor anywhere after it.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Tue Aug 25, 2015 12:42 pm 
Offline
Veteran
User avatar
SexyProgrammer wrote:
So I noticed a dangerous situation that can arise from the code involving the main loop. I also have some questions about the code just for curiosity's sake.


the script will do a test so that if a cam is not available at the start of the script it stops the cam being used for the rest of it.

with regards to the second question: the counters were there to do something but the code has been removed until ready........(it's a secret....shhh)


V1.1 update 25/08/15
Added a fall back to the webcam release by adding a file (image) release.
Added a 'cheat catch'
Added a more interesting ending.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Fri Aug 28, 2015 7:23 am 
Offline
Regular
Quote:
with regards to the second question: the counters were there to do something but the code has been removed until ready........(it's a secret....shhh)

Quote:
Added a 'cheat catch'
Added a more interesting ending.



I'm excited. Can't wait.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Fri Aug 28, 2015 7:48 am 
Offline
Regular
Please know that I am sorry for being this guy. The program still freezes upon trying to call getImage() without a webcam. Therefor it doesn't actually get to the null check. I propose this.

Code:
try {
   temp_image = getImage()
   has_cam = true
} catch( Throwable t ) {
   has_cam = false
}


Sorry if I am patronizing you. A try and catch block will emulate code in the try section of the block and if it fails it will do so gracefully rather than destroying the program. Upon failure it will move to the catch section where you may throw the error to the user. However, we don't want an error. Because it failed we know there is no webcam or a problem with the webcam and the can then set the variable to shut it off. Again. I don't mean to be that guy. I'm just excited about the script and would like to see it errorless. On a much, much less important note, it also appears that the script does not save the mistress name should the user choose "Mistress *******". It returns to Simply Mistress upon reopening the script.


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Fri Aug 28, 2015 8:24 am 
Offline
Veteran
User avatar
ok, think that fixed it but can't test as only have built in cam here and can't disable.

let me know if this works for you.

_________________
"If you don't gosub a program loop, you'll never get a subroutine."


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Fri Aug 28, 2015 11:28 am 
Offline
Veteran
User avatar
SexyProgrammer wrote:
Please know that I am sorry for being this guy. The program still freezes upon trying to call getImage() without a webcam. Therefor it doesn't actually get to the null check. I propose this.

Code:
try {
   temp_image = getImage()
   has_cam = true
} catch( Throwable t ) {
   has_cam = false
}



Not sure if something got commented out that shouldn't of... Normally getImage should not throw an exception (or whatever its called in groovy) if you don't have a camera it will just pop up a fileopen dialog for you to select an image file so in this case you should still have a check that its a webcam not a selected file (e.g. not null and from captured folder) so would suggest above is changed to:

Code:
try {
   image_temp = getImage()
   if ( (image_temp == null) || (!image_temp.contains("captured")))
      has_cam = false
   else
      has_cam = true
} catch( Throwable t ) {
   has_cam = false
}

_________________
Liz

You can't take something off the Internet - it's like taking pee out of a pool.
https://play-clan.site profile: Liz


Top
 Profile Send private message 
 
 Re: Selfbt
PostPosted: Fri Aug 28, 2015 12:21 pm 
Offline
Veteran
User avatar
I believe the expression is 'oh poop'.

I commented out the old 'contains.captured' and 'null' when I implemented the 'try' which I would have used in the first place if I'd known it existed (again not programmed since pascal some 15 years ago).

Once I'm back in front of a pc I'll attempt to get it sorted.


Top
 Profile Send private message 
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 51 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Maroon Fusion theme created by Oxydo
Software, theme modifications, phpBB modification by Doti 2010 - 2020
This website uses session cookies only.