IPT (Imvu Picture Taker)

DataMine
by DataMine · 8 posts
12 years ago in Autoit
Posted 12 years ago · Author
This is a script I wrote a few days ago when I needed to quickly and easily take high-res pictures on Imvu. It runs in the taskbar silently and notifies you when you take pictures or the script is paused/resumed.

Image

It has 4 options:
    F1 - Take Picture Without Background
    F2 - Take Picture With Background
    Pause/Break - Pauses/Resumes Script
    Esc - Closes script

You can also right click the taskbar icon to open a context menu if your F keys don't work.
Click Here To Download The Program/Source
Code
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=C:\Users\User\Desktop\IPT.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseX64=n
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 3)
Opt("TrayIconHide", 0)

TraySetIcon("Icons\Green1.ico")

TrayCreateItem("Take Picture Without Background (F1)")
TrayItemSetOnEvent(-1, "NoBG")
TrayCreateItem("Take Picture With Background (F2)")
TrayItemSetOnEvent(-1, "BG")
TrayCreateItem("Pause Script (Pause)")
TrayItemSetOnEvent(-1, "TogglePause")
TrayCreateItem("Exit (Escape)")
TrayItemSetOnEvent(-1, "Terminate")

Global $Paused = False
HotKeySet("{F1}", "NoBG")
HotKeySet("{F2}", "Bg")
HotKeySet("{F3}", "Terminate")
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")

while 1
   sleep(100)
wend

Func NoBG()
   If $paused = False Then
      If ProcessExists("IMVUClient.exe") OR ("IMVUQualityAgent.exe") Then
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         Send("*hiresnobg")
         Send("{ENTER}")
         TrayTip("Picture Taken", "No Background", 5)
      Endif
   Endif
EndFunc

Func BG()
   If $paused = False Then
      If ProcessExists("IMVUClient.exe") OR ("IMVUQualityAgent.exe") Then
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         Send("*hiressnap")
         Send("{ENTER}")
         TrayTip("Picture Taken", "With Background", 5)
      Endif
   Endif
EndFunc

Func TogglePause()
   If $Paused = True Then
      $Paused = False
   Else
      $Paused = True
      TraySetIcon("Icons\Red1.ico")
      TrayTip("Paused", "Script Paused", 5)
   Endif
    While $Paused = True
        Sleep(100)
   WEnd
   TraySetIcon("Icons\Green1.ico")
    TrayTip("Resumed", "Script Resumed", 5)
EndFunc

Func Terminate()
   Exit 0
EndFunc
Posted 12 years ago · Author
Don Von Free Credits wrote:
Can you place it on a timer that auto takes a picture every second?
That would make it REALLY useful.


Fully customizable picture interval coming up. While I'm at it, I will work on adding custom save directory support as well.
Posted 12 years ago
Wow nice work DM
Posted 12 years ago
Ð▪ℳ wrote:
Don Von Free Credits wrote:
Can you place it on a timer that auto takes a picture every second?
That would make it REALLY useful.


Fully customizable picture interval coming up. While I'm at it, I will work on adding custom save directory support as well.


Thanks a ton. You know I love making videos using IMVU, and trying to take screen shots while moving actors around is a pain in the ass.
Posted 12 years ago · Author
Alright, a quick update. Automatic mode is finished but I still want to add a custom save directory option. So here's version 2 for now. The pause feature works for both the script and automatic mode. If you pause the script while automatic mode is running, it will continue snapping pictures when you resume.

Image

Options:
    F1: Take Picture Without Background.
    F2: Take Picture With Background.
    F3: Set The Automatic Mode Interval.
    F4: Enable/Disable Automatic Mode.
    Pause/Break: Pause Script.
    Esc: Close Script.


Click Here to Download

Code
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 3)
Opt("TrayIconHide", 0)

TraySetIcon("Icons\Green1.ico")

TrayCreateItem("Take Picture Without Background (F1)")
TrayItemSetOnEvent(-1, "NoBG")
TrayCreateItem("Take Picture With Background (F2)")
TrayItemSetOnEvent(-1, "BG")
TrayCreateItem("Set Capture Interval (F3)")
TrayItemSetOnEvent(-1, "Interval")
TrayCreateItem("Pause Script (Pause)")
TrayItemSetOnEvent(-1, "TogglePause")
TrayCreateItem("Exit (Escape)")
TrayItemSetOnEvent(-1, "Terminate")

Global $Paused = False
Global $auto = False
Global $sleep = 0

HotKeySet("{F1}", "NoBG")
HotKeySet("{F2}", "BG")
HotKeySet("{F3}", "Interval")
HotKeySet("{F4}", "Automatic")
HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "Terminate")

while 1
   sleep(100)
wend
 
Func NoBG()
   If $paused = False Then 
     If ProcessExists("IMVUClient.exe") OR ("IMVUQualityAgent.exe") Then
       If $auto = True Then
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         while $auto = True
            If $paused = True Then
              sleep(2147483647)
            EndIf
            Send("*hiresnobg")
            Send("{ENTER}")
            Sleep($sleep)
         wend
       Else
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         Send("*hiresnobg")
         Send("{ENTER}")
         TrayTip("Picture Taken", "No Background", 5)
       EndIf
     Endif
   Endif
EndFunc

Func BG()
   If $paused = False Then 
     If ProcessExists("IMVUClient.exe") OR ("IMVUQualityAgent.exe") Then
       If $auto = True Then
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         while $auto = True
            If $paused = True Then
              sleep(2147483647)
            EndIf
            Send("*hiressnap")
            Send("{ENTER}")
            Sleep($sleep)
         wend
       Else
         Opt("WinTitleMatchMode", 4)
         $hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
         WinActivate($hICWindow)
         WinWait($hICWindow)
         Send("*hiressnap")
         Send("{ENTER}")
         TrayTip("Picture Taken", "No Background", 5)
       EndIf
     Endif
   Endif
EndFunc
 
Func Interval()
   $sleep = InputBox("Capture Interval", "Please Type In The Amount Of Time To Wait Inbetween Taking Pictures")
   $sleep = $sleep * 1000
EndFunc

Func Automatic()
   If $sleep = 0 Then
     $sleep = InputBox("Capture Interval", "Please Type In The Amount Of Time To Wait Inbetween Taking Pictures")
          $sleep = $sleep * 1000
   EndIf
   If $auto = False Then
     $auto = True
     TraySetIcon("Icons\Auto.ico")
     TrayTip("AutoMatic Mode", "Is On", 5)
   Else
     $auto = False
     TraySetIcon("Icons\Green1.ico")
     TrayTip("AutoMatic Mode", "Is Off", 5)
   EndIf
EndFunc   
 
Func TogglePause()
   If $Paused = True Then
      $Paused = False
       If $auto = True Then
          TraySetIcon("Icons\Auto.ico")
       Else
         TraySetIcon("Icons\Green1.ico")
       EndIF
       TrayTip("Resumed", "Script Resumed", 5)
   Else
      $Paused = True
      TraySetIcon("Icons\Red1.ico")
      TrayTip("Paused", "Script Paused", 5)
   Endif
    While $Paused = True
        Sleep(100)
   WEnd
EndFunc

Func Terminate()
   Exit 0
EndFunc
Posted 9 years ago
@DM this is an awesome idea..this would be very very useful..will this work on windows 10?? tried to download the last IPT link but i cant make it work..or am I doing something wrong here?? Thank you always! :roll: :roll: :roll:
Posted 9 years ago · Author
thessa wrote:
@DM this is an awesome idea..this would be very very useful..will this work on windows 10??tried to download the last IPT link but i cant make it work..or am I doing something wrong here??Thank you always!


It will work on Windows 10. What problems are you having?

Create an account or sign in to comment

You need to be a member in order to leave a comment

Sign in

Already have an account? Sign in here

SIGN IN NOW

Create an account

Sign up for a new account in our community. It's easy!

REGISTER A NEW ACCOUNT