Posted 9 years ago
·
Author
Introduction
This is a dj script requested by
The purpose of this script is to make being a dj easier by automating the trigger process.
Note: This script was designed to work only on songs that meet the following criteria:
-The song must be split into at least 2 triggers.
-The trigger word used for each part of the song must not change.
-The trigger word must contain numbers at the end.
Example Triggers:
Here is an example song this script works with: https://www.imvu.com/shop/product.php?p ... d=31065364
Instructions
Step 1 Make sure IMVU is open and you are in a room where you want to play the song.
Step 2 Make sure the IMVU chat window in open.
Step 3 Download AutoIT from their website here: http://www.autoitscript.com/site/autoit/. Autoit is the scripting language this script is written.
Step 4 After installing AutoIT, open the script editor (SciTE) that comes with it and copy/paste the code below into it.
Step 5 In SciTE, go up to Tools and click Go (or press F5 on your keyboard). The script will start and be waiting for you to press one of the keys in the next step.
Step 6 Press F6 on your keyboard. This tell the script you want to play a song. It will bring IMVU to the foreground and begin asking you for information.
Step 7 The first box that opens asks you for the trigger word. This is the word you would type into the chat to play part of the song. Make sure you don't type in the numbers.
Example: If the trigger is MySong1, type in MySong.
Step 8 The next box that opens asks for you the first trigger's number.
Example: If the first trigger is MySong1, then type in 1.
Step 9 The next box that opens asks you for the last trigger's number.
Example: If the last trigger is MySong15, then type in 15.
Step 10 The last box that opens asks you for the last trigger's duration in seconds.
Example: If each trigger lasts 20 seconds long you would type in 20.
Once you have entered in the information in all the boxes, if all went well, the script will proceed to start typing the triggers into the chat.
This is a dj script requested by
@blackdragonknight
The purpose of this script is to make being a dj easier by automating the trigger process.
Note: This script was designed to work only on songs that meet the following criteria:
-The song must be split into at least 2 triggers.
-The trigger word used for each part of the song must not change.
-The trigger word must contain numbers at the end.
Example Triggers:
Here is an example song this script works with: https://www.imvu.com/shop/product.php?p ... d=31065364
Instructions
Step 1 Make sure IMVU is open and you are in a room where you want to play the song.
Step 2 Make sure the IMVU chat window in open.
Step 3 Download AutoIT from their website here: http://www.autoitscript.com/site/autoit/. Autoit is the scripting language this script is written.
Step 4 After installing AutoIT, open the script editor (SciTE) that comes with it and copy/paste the code below into it.
Step 5 In SciTE, go up to Tools and click Go (or press F5 on your keyboard). The script will start and be waiting for you to press one of the keys in the next step.
Step 6 Press F6 on your keyboard. This tell the script you want to play a song. It will bring IMVU to the foreground and begin asking you for information.
Step 7 The first box that opens asks you for the trigger word. This is the word you would type into the chat to play part of the song. Make sure you don't type in the numbers.
Example: If the trigger is MySong1, type in MySong.
Step 8 The next box that opens asks for you the first trigger's number.
Example: If the first trigger is MySong1, then type in 1.
Step 9 The next box that opens asks you for the last trigger's number.
Example: If the last trigger is MySong15, then type in 15.
Step 10 The last box that opens asks you for the last trigger's duration in seconds.
Example: If each trigger lasts 20 seconds long you would type in 20.
Once you have entered in the information in all the boxes, if all went well, the script will proceed to start typing the triggers into the chat.
;~ This is the key you press to start playing the song
HotKeySet("{F6}", "Start")
;~ This is the key you press to stop playing the song.
HotKeySet("{F7}", "StopSong")
;~ This is the key that closes the script
HotKeySet("{ESC}", "Terminate")
;Set global variables
Global $sSleep = 0
Global $bStop = False
;The trigger phrase all triggers are named after
Global $sTriggerWord
;The number the trigger begins on Ex: mir13
Global $iTriggerBegin
;The number the trigger ends on Ex: mir25
Global $iTriggerEnd
;The length of the truggers Ex: 20(sec)
Global $iTriggerLength
;~ This keeps the script from closing
While 1
Sleep(100)
Wend
Func Start()
;Reset the stop variable if the user starts a new song after stopping the old one
If($bStop = True) Then
$bStop = False
EndIf
;Check to make sure IMVU is running
If (IMVUisRunning() = False) Then
;Exist the script if IMVU is not running
Terminate()
EndIf
;Bring IMVU to the front
BringIMVUToFront()
;Setup the song variables
SetupSong()
;Pauses the script for 1 second to add a small delay before the script starts typing the triggers
Sleep(1000)
;Play the song
PlaySong();
EndFunc
;~ This function sets up the input variables the script needs to play the song
Func SetupSong()
$sTriggerWord = InputBox("Enter Trigger Word", "Please type in the trigger word without any numbers")
ConsoleWrite($sTriggerWord & @LF)
While Not StringIsDigit($iTriggerBegin)
$iTriggerBegin = GetTriggerStart()
WEnd
ConsoleWrite($iTriggerBegin & @LF)
While Not StringIsDigit($iTriggerEnd)
$iTriggerEnd = GetTriggerEnd()
WEnd
ConsoleWrite($iTriggerEnd & @LF)
While Not StringIsDigit($iTriggerLength)
$iTriggerLength = GetTriggerLength()
WEnd
ConsoleWrite($iTriggerLength & @LF)
EndFunc
;~ This function plays the song by typing the triggers into the chat
Func PlaySong()
$iBegin = $iTriggerBegin
Do
If($bStop = True) Then
return
EndIf
Send($sTriggerWord & $iBegin)
Send("{ENTER}")
Sleep($iTriggerLength * 1000)
$iBegin = $iBegin + 1
Until $iBegin = $iTriggerEnd + 1
EndFunc
;~ This function stops the song
Func StopSong()
$bStop = True
EndFunc
;~ -----------------------------------------------------------
;~ WARNING: DO NOT EDIT CODE BELOW THIS LINE
;~ -----------------------------------------------------------
Func GetTriggerStart()
return DisplayInputBox("Enter Trigger Begin", "Please type in the number the belongs to the first trigger")
EndFunc
Func GetTriggerEnd()
return DisplayInputBox("Enter Trigger End", "Please type in the number the belongs to the last trigger")
EndFunc
Func GetTriggerLength()
return DisplayInputBox("Enter Trigger Length", "Please type in the length of the trigger in seconds")
EndFunc
Func DisplayInputBox($sTitle, $sBody)
return InputBox($sTitle, $sBody)
EndFunc
;~ This function closes the script
Func Terminate()
Exit 0
EndFunc
;~ This function Detects if the IMVUClient is running
Func IMVUIsRunning()
If ProcessExists("IMVUClient.exe") OR ProcessExists("IMVUQualityAgent.exe") Then
Return True
Else
Return False
EndIf
EndFunc
;~ This function gets the IMVUClient window
Func GetIMVUWindow()
Opt("WinTitleMatchMode", 4)
$hICWindow = WinGetHandle("[CLASS:ImvuNativeWindow]")
return $hICWindow
EndFunc
;~ The function brings the IMVU client to the foreground so we don't accidently type into something else
Func BringIMVUToFront()
$hICWindow = GetIMVUWindow()
WinActivate($hICWindow)
WinWait($hICWindow)
EndFunc
Last edited by DataMine on Sun Feb 27, 2022 1:02 am, edited 2 times in total.
Reason: fixed example song link, updated coded, updated instructions