Resource icon

AutoMove V1 2017-06-23


Auto Move

Auto Move is an upgrade of the Colin's Custom Automation mod that adds many news parameters and a free syntax. Recquire DialogueActions

Introduction
Auto Move is a extension for the DialogueActions mod that adds news triggers usable in your dialogue and with which you can move the girl automatically. The mod works by simulating the movement of the mouse inside the game window and the girl move accordingly like when you play

Each move is the result of the parameters and values that you choose. To make things easier, the mod have some features like a free syntax to write the parameters and sub-parameters in any number and any order, a error messages system to show most writing errors and avoid invalid move, and a move memory to store any valid move and use them any time you want

For a quick overview:

-------------------------------------------------------------------------------
Mains parameters
-------------------------------------------------------------------------------

Since the girl can move in two directions, horizontal and a vertical, each auto move includes two possible movements that you can set with various positions, speeds and delays. Precisely each horizontal and vertical movement can have a minimum and maximum position between which the girl move (left & right, down & up), a forward or backward speed (leftward & rightward, downward & upward) and a delay when she reaches the minimum or maximum position. You can also use a "two-in-one" main parameter for fill at the same time the two positons, speeds or delays of a movement (left & right positions, downward & upward speeds...)

-------------------------------------------------------------------------------
Sub-parameters
-------------------------------------------------------------------------------

The value of the each main parameter (positions, speeds and delays) can change with time with the addition of others values so called "sub-parameters" (increase, decrease, random selection, chance, limit...)

-------------------------------------------------------------------------------
Specials parameters
-------------------------------------------------------------------------------

These parameters add various customization possibilities (dialogue, shutdown, resistance, breath, mouse held, next line, next move...)

-------------------------------------------------------------------------------
Some examples
-------------------------------------------------------------------------------

1) [MOVE_test_10_70_20_20]
2) [MOVE_test_lp:10_rp:70_ls:20_rs:20]
3) [MOVE_test_rs:20_rp:70_lp:10_ls:20]

1) An auto move "test" with the mouse moving between 10% and 70% of the width, at 20% of the maximum speed (leftward and righward)
2) The same move with the parameters keys...
3) ... keys that allows to place the parameters in any order (the same move, again)

4) _10+5/10s/50c/50l_
5) _50c/10+5/50l/10s_

4) A parameter with sub-parameters. Read: a starting value to 10, that increase by 5 / every ten seconds / with 50% chance to occurs / until the limit of 50
5) The same parameter in a different order: 50% chance that / the starting value 10 increase by 5 / until the limit of 50 / every ten seconds

6) [MOVE_0_100_20_20]
7) [MOVE_test_343_100_20_20]
8) [MOVE_test_0_50+5/50l/50c_20_20]

6) Error message: "For parameter 1 (identifiant)," "Only alphabetical characters and dot chararcters for the identifiant"
7) Error message: "For parameter 2 (leftPosition)," "Invalid number for "value"" "Valid: 0 to 100"
8) Error message: "For parameter 3 (rightPosition)" "lack "time"" "Examples: 150f, 23s, 8t"

Mains Change with Custom Automation
- A free syntax: add any parameter in any order in only one trigger

- A error messages system to avoid invalid moves

- News parameters: dialogue, starting direction, resistances, breaths counters, mouse held, next line, next move...

- Same set of sub-parameters for all mains parameters

- For time based parameters, 3 times available: frames, seconds and turns

- The girl can start and end a move by moving to the standby position

- 2 type of motion: uniform by default or non uniform (wave)

- You can use decimals values

- The animtools mod is no longer required

- Bug resolved: now set auto off in option stop the proxy too

- Bug resolved: now her mouth does not close (even if filled) when a dialogue or a new line is read

Known Issues
- If she too close of the penis, the girl and the penis can go up and down madly (mainly if she lick the tip)

- If she too close of the penis or the move is too fast, she can deepthroat despite mouseHeld enabled, or going behind the penis despites mouseHeld non-enabled

- When she released and a new line is read (mainly after a "next line"), he can grab her head.

- When a new line is read and this line have a MOVE or START_MOVE trigger, there a latency the time that the trigger is read by the game (even placed at the begining) and I didn't find a perfect patch for avoid it. The parameter "after shutdown control locked" block most of the player's input during this latency but not all. Some continue to be stored (which?) so the girl can have a strange behavior at the start of the new auto move (mainly, if you click repeatedly before the move, she goes forward at the start)

Install Auto Move
Auto Move need the Pim_gd's DialogueActions mod for work. If you don't have it, go to this page:

Pim_gd's Mods - DialogueActions

If you have DialoguesActions, download the AutoMoveV1 compressed file, put AutoMoveV1.swf in the %INIT% folder and edit the text file Mods.txt by adding the line "AutoMoveV1.swf" after "DialogueActionsX.XX.swf"

Triggers
-------------------------------------------------------------------------------
[MOVE_<identifiant>_<parameters...>]
-------------------------------------------------------------------------------

Set a move, store it in memory and start it immediately (all this if no errors)

-------------------------------------------------------------------------------
[SET_MOVE_<identifiant>_<parameters...>]
-------------------------------------------------------------------------------

Set a move and store it in memory (all this if no errors)

-------------------------------------------------------------------------------
[START_MOVE_<identifiant>]
-------------------------------------------------------------------------------

Start the move in memory if exist

-------------------------------------------------------------------------------
[PAUSE_MOVE]
-------------------------------------------------------------------------------

Pause the current move

-------------------------------------------------------------------------------
[RESUME_MOVE]
-------------------------------------------------------------------------------

Resume a paused move

-------------------------------------------------------------------------------
[STOP_MOVE]
-------------------------------------------------------------------------------

Stop the current move

-------------------------------------------------------------------------------
[DELETE_MOVE_<identifiant>]
-------------------------------------------------------------------------------

Delete the move in memory if exist

-------------------------------------------------------------------------------
[RESET_MEMORY_MOVES]
-------------------------------------------------------------------------------

Reset the moves memory list (done every time the mod is loaded)

Free Syntax
[MOVE] and [SET_MOVE] can set a move with all the parameters availables. Given this number and for avoid complexity, these triggers use a free syntax that allow you to choose the order and number of parameters. This syntax is explained below:

-------------------------------------------------------------------------------
Underscores
-------------------------------------------------------------------------------

Each underscore _ indicates the beginning of a parameter

-------------------------------------------------------------------------------
Identifiant
-------------------------------------------------------------------------------

The first parameter is the identifiant and must be set. If the move don't have identifiant or if a move with this identifiant exist in memory, the move is invalid. One exception: if the identifiant is "test", the new move "test" can replace the previous in memory (if exist) and can start (if the trigger is [MOVE])

1) [MOVE_test_0_100_20_20]
2) [MOVE____]

1) An underscore before each parameter and the first parameter is the identifiant
2) 4 empty parameters

-------------------------------------------------------------------------------
Parameters With Keys
-------------------------------------------------------------------------------

Except the identifiant, all others parameters have a parameter key (needed or optionnal) to be identifying. With these keys you can write only the parameters you want and in any order. A parameter key are few letter after the underscore (_lp). If the parameter need one or more value, add a colon to separate the key and the value(s) (_lp:60). See the list of these parameter keys in the section "The Parameters"

1) [MOVE_test_lp:0_rp:100_ls:20_rs:10_mh_wave]
2) [MOVE_test_wave_rp:100_rs:10_msh_lp:0_ls:20]

1) Parameters with keys
2) Same move in other order

-------------------------------------------------------------------------------
Parameters Without Keys
-------------------------------------------------------------------------------

To simplify the writing, you can do no write the key for the mains parameters. In this case a main parameter without key is identifyied according to the previous parameter:

- If the previous parameter is a main parameter with the exception of "Up Delay" and "Vertical Delay", the parameter without key is the next parameter in the default order of the main parameters. There are two default order according if the previous parameter is or is not a "two-in-one" main parameter. See these default orders in the section "The parameters")

- In any other case (the previous parameter is not a main parameter or the previous parameter is "Up Delay" or "Vertical Delay"), the parameter without key is "Left Position"

1) [MOVE_test_0_100_20_20] = left position + right position + leftward speed + rightward speed
2) [MOVE_test_dp:0_100_20_msh_0_sgl_10] = down position + up position + downward speed + mouse held + left position + start by going to left + left position

1) Mains parameters without keys, so in the default order
2) Mix: mains parameters with and without keys and with specials parameters (here the move is invalid: duplicate left position)

-------------------------------------------------------------------------------
Time Based Parameters
-------------------------------------------------------------------------------

The value of a main parameter can change with time by increasing, decrasing or random selection. These time based parameters recquire additionnal values so called "sub-parameters"

To set a time based parameter you first need to choose the time based function: increasing, decreasing or random selection. These functions have a specific writing by following the starting value:

1) _10+5
2) _10-5
3) _0?50

1) Starting value + increase value. Read: a parameter with a starting value 10 that increase to 5
2) Starting value - decrease value. Read: a parameter with a starting value 10 that decrease to 5
3) Minimum value ? maximum value. Read: a parameter with a value randomly selected between 0 to 50

Now you need to set the sub-parameter time (in frames, seconds or turns) and you can also add some optionnal sub-parameters like chance, limit or stop... to specify how it changes with time. All these sub-parameters begin with the slash character / and have a ending identification key (f, c, l...), so you can write these sub-parameters in any order like the parameters:

1) _0?50/5s
2) _10+5/5s/30c/40l
3) _30c/10+5/40l/5s

1) Read: a parameter with a value randomly selected between 0 to 50 / every 5 seconds
2) Read: a parameter with a starting value 10 that increase to 5 / every 5 seconds / with 30% chance / until the limit of 40
3) The same parameter that above. Read: 30% chance that / the starting value 10 increase to 5 / until the limit of 40 / every 5 seconds

-------------------------------------------------------------------------------
Values
-------------------------------------------------------------------------------

Each parameter and sub-parameter have a specific range of valid values: just the key without value, number between 0 to 100, any character, number between 0 to 9999 with time unit in frames, seconds or turns...

-------------------------------------------------------------------------------
Specials Parameters & Sub-parameters
-------------------------------------------------------------------------------

The specials parameters "dialogue" and "wave" are the only specials parameters that have sub-parameters (a specific set for each, needed or optionnal)

Paramaters
Here the 38 parameters availables: the identifiant, the 12 mains parameters, the 6 "two-in-one" mains parameters and the 20 specials parameters:

0) (identifiant)
1) lp rp ls rs ld rd dp up ds us dd ud
2) hp vp hs vs hd vd
3) wave dg sh ir tr b1 b2 nm nl mh sgl sgr sgd sgu ssb esb ncht ncvt fl ascl

0) Identifiant (don't have key)
1) Keys for the mains parameters (in the default order, key optionnal)
2) Keys for the "two-in-one" mains parameters (in the default order, key optionnal)
3) Keys for the specials parameters (without default order, key needed)

-------------------------------------------------------------------------------
Identifiant
-------------------------------------------------------------------------------

The identifiant is always the first parameter. It don't have key and the value can include only alphabetical and dot character (no numbers or other special character that dot). A move with a identifiant already stored in memory is invalid, except if the identifiant is the joker "test". In this case the move is always stored in memory (by overwriting the previous "test" move if exist) and always starts if the trigger is MOVE

-------------------------------------------------------------------------------
Mains parameters (key --- function --- range values --- default value)
-------------------------------------------------------------------------------

lp --- left position, minimum horizontal position that she can reach --- 0-100 or keyword --- current
rp --- right position, maximum horizontal position that she can reach --- 0-100 or keyword --- current
ls --- leftward speed --- 0-100 --- 0
rs --- rightward speed --- 0-100 --- 0
ld --- left delay, waiting time when she reaches the left position (in frames by default) --- 0-9999 --- 0
rd --- right delay, waiting time when she reaches the right position (in frames by default) --- 0-9999 --- 0
dp --- down position, minimum vertical position that she can reach --- 0-100 or keyword --- current
up --- position, maximum vertical position that she can reach --- 0-100 or keyword --- current
ds --- downward speed --- 0-100 --- 0
us --- upward speed --- 0-100 --- 0
dd --- down delay, waiting time when she reaches the down position (in frames by default) --- 0-9999 --- 0
ud --- up delay, waiting time when she reaches the up position (in frames by default) --- 0-9999 --- 0

The "two-in-one" mains parameters:

hp --- horizontal position (left & right) --- 0-100 or keyword --- current
vp --- vertical position (down & up) --- 0-100 or keyword --- current
hs --- horizontal speeds (leftward & rightward) --- 0-100 --- 0
vs --- vertical speeds (downward & upward) --- 0-100 --- 0
hd --- horizontal delay (left & right) --- 0-9999 --- 0
vd --- vertical delay (down & up) --- 0-9999 --- 0

-------------------------------------------------------------------------------
Specials parameters (key --- function --- range values)
-------------------------------------------------------------------------------

wave --- wave as type of motion (experimental, see the dedicated section) --- (just the key or with the optionnal minimum, maximum, multiplier sub-parameters)
dg --- read this line every X time --- * (for the line) + time
sh --- time before shutdown --- time
ir --- level of the intro (initial) resistance --- 0-100
tr --- level of the throat resistance --- 0-100
b1 --- limit for the first breath counter (no choke) --- 0-100
b2 --- limit for the second breath counter (choke, pass out) --- 0-100
nm --- next move to play after shutdown --- identifiant
nl --- next line to read after shutdown --- *
mh --- mouse held or not (left click pressed) --- (key)
sgl --- start by going to left if single move or first move of a series --- (key)
sgr --- start by going to right if single move or first move of a series --- (key)
sgd --- start by going to down if single move or first move of a series --- (key)
sgu --- start by going to up if single move or first move of a series --- (key)
ssb --- start by moving to the standby position (if not already) then start the move --- (key)
esb --- ends by moving to the standby position (if not already) then play "next line" and "next move" if filled --- (key)
ncht --- not count horizontal turns. By default, the mod add 1 turn for each left / right / down / up position reached. Here only count the down / up reached with this parameter.--- (key)
ncvt --- not count vertical turns. By default, the mod add 1 turn for each left / right / down / up position reached. Here only count the left / right reached with this parameter. --- (key)
fl --- force a next line to be read immediately even when a current line is read (normally, if a current line is read, the next line is queued and read after the current line) --- (key)
ascl --- after shutdown control locked, block most (but no all) inputs of the player after shutdown. Use this parameter if the next line have a MOVE trigger and for avoid that the girl move before triggered (see the "know issues" section) --- (key)

-------------------------------------------------------------------------------
* = all characters (letters, numbers... except white space)
(key) = just the key, no value needed
current = current position value when the MOVE start
identifiant = only alphabetical (lower and uppercase) and dot characters
keyword = see the list in the "keywords" section
time = time sub-parameter = 0-9999 number + f, s, t ending key

Sub-Paramaters
Here the sub-parameters availables:

1) ds + - ? f s t c l p st
2) mn mx ml

1) Sub-parameters of the mains parameters
2) Sub-parameters of the wave parameter

-------------------------------------------------------------------------------
For delay parameters: optionnal time sub-parameter (key--- function --- range values)
-------------------------------------------------------------------------------

ds --- delay time unit in seconds --- (key)

-------------------------------------------------------------------------------
For mains parameters: optionnal time based sub-parameters (key --- writing --- function --- range values)
-------------------------------------------------------------------------------

+ --- X1+X2 --- start value X1 + increase value X2 --- parameter range values for the two
- --- X1-X2 --- start value X1 - decrease value X2 --- parameter range values for the two
? --- X1?X2 --- random minimum value X1 and random maximum value X2 --- parameter range values for the two

-------------------------------------------------------------------------------
For time based mains parameters: needed time sub-parameter (ending key --- function --- range values)
-------------------------------------------------------------------------------

f --- time in frames --- 0-9999
s --- time in seconds --- 0-9999
t --- time in turns --- 0-9999

-------------------------------------------------------------------------------
For time based mains parameters: optionnal sub-parameters (ending key --- function - range values)
-------------------------------------------------------------------------------

c --- chance --- 0-100
l --- limit for the time based value --- parameter range values
p --- pause the move if the time based value reaches this limit --- parameter range values
st --- stop the move if the time based value reaches this limit --- parameter range values
(limit, pause and stop values are automatically set as minimum or maximum limit)

-------------------------------------------------------------------------------
For wave parameter: optionnal sub-parameters (ending key --- function - range values)
-------------------------------------------------------------------------------

mn --- minimum limit --- 0-100
mx --- maximum limit --- 0-100
ml --- multiplier --- 0-100

-------------------------------------------------------------------------------
key = just write the key, no value needed
parameter range values = the sub-parameter range value is according to the parameter range value

Keywords
These keywords return a value for the position parameters. All except "standbyh" and "standbyv" return a value that varies with the penis size

-------------------------------------------------------------------------------
Keywords for the horizontal positions parameters (keyword --- position)
-------------------------------------------------------------------------------

standbyh --- move to the horizontal standby position (equal to 100/7)
tip --- places her lips near the tip
tiphead --- places her lips in the middle between the tip and the head of the penis
head --- places her lips at the base of the head of the penis
headthroat --- places her lips in the middle between the head and the "throat reached" level
throat --- Fill her mouth until the penis reach the throat (affected by current resistances)
throathilt --- attempts to place her lips in the middle between the "throat reached" level and the hilt (affected by current resistances)
hilt --- attempts to place her all the way down the penis (affected by current resistances)

-------------------------------------------------------------------------------
Keywords for the horizontal positions parameters (keyword --- position)
-------------------------------------------------------------------------------

standbyv --- move to the vertical standby position (equal to 50)

Wave Parameter (experimental)
(Experimental, quite unsatisfying result)

By default this mod use a uniform motion, meaning that the speed don't varies with time. If you set "20" to a speed, the speed remains equal to 20 whatever the current possition of the girl, at the start, middle or end of the movement

The wave parameter allow you to set a non uniform motion, meaning that the speed varie with time. If you set "2O" to a speed, the speed change with the current position of the girl. Example, the speed can be at 10 at the start, 25 at the middle and 10 at the end (and 20 on average). As you can see this non uniform speed form a bell-shaped curve: start slow, reach the maximum in the middle and slows down until the end.

The wave parameter have 3 sub-parameters: a minimum and maximum limit and a speed multiplier. The minimum limit avoid that the speed are too slow (and to decrease infinitely at the end if equal to zero), the maximum limit and the multiplier are useful if you want to modify the shape of the bell curve. By default, the multiplier is set for that the average speed is equal to the speed filled

Uniform or non uniform, each of these motion have pros and cons:

-------------------------------------------------------------------------------
Uniform "default"
-------------------------------------------------------------------------------

+ Smooth move.
+ The girl may seem a robot.
- With a regular or fast speed, the girl may seem not reach the minimum and maxium positions (left, right, down, up) because these positions are only reached during 1 frame.

-------------------------------------------------------------------------------
Non uniform "wave"
-------------------------------------------------------------------------------

+ More natural move, the girl speeds up at start and slow down before the end.
+ The girl spend more time at the minimum and maximum positions, so you see better the moving distance.
- The move may seem rough, especially if you set a bad bell curve.

Stop an auto move
An auto move is played until:

- The move reaches a shutdow value

- A [STOP_MOVE] trigger is read

- You turn off the auto option in the menu

- A new valid mod is started with a [MOVE] or [START_MOVE] trigger

Miscellaneous
-------------------------------------------------------------------------------
Moves
-------------------------------------------------------------------------------
- Go To:

To set a "go to this static position" move, the best solution is to set the positions and speeds only with "two-in-one" parameters. You can also fill only the position(s) and speed(s) needed, but if the current position of the girl before the move is not as expected, she have not speed to move:

1) [MOVE_test_lp:20_ls:15]
2) [MOVE_test_hp:20_hs:15]

1) A trigger that fail if the current position of the girl is before 20 (right position = current & no rightward speed)
2) This trigger always work

-------------------------------------------------------------------------------
- Lick Balls:

A lick balls move need to set the horizontal position to 100, the vertical to 0, the speeds of your choice and the mouseHeld parameter. The only difficulty is to make sure that she goes behind the penis and not suck it. A "start standby" parameter help but don't prevent all possible fails, in particular if the speeds are fast or there was some player inputs before

-------------------------------------------------------------------------------
Triggers
-------------------------------------------------------------------------------
- Many:

If many [MOVE] or [START_MOVE] in the same line, the last trigger with a valid move is the move played. The other(s) valid move(s) are played during 1 frame

-------------------------------------------------------------------------------
- Pause:

During a pause (with the [PAUSE_MOVE] trigger or with a "pause" sub-parameter) the girl is not frozen: she move slightly, breathes, blinks... like when you don't move the mouse

-------------------------------------------------------------------------------
Syntax
-------------------------------------------------------------------------------
- Hidden Keys:

You can use a different set of keys for the mains and two-in-one parameters. Here the basic letters:

p --- position
s --- speed
d --- delay
x --- horizontal position
y --- vertical position
a --- first (minimum) position
b --- second (maximum) position

Here the classic keys for the mains and two-in-one parameters (1 & 2), then the news keys (3 & 4):

1) lp rp ls rs ld rd dp up ds us dd ud
2) hp vp hs vs hd vd

3) pxa pxb sxa sxb dxa dxb pya pyb sya syb dya dyb
4) px sx dx py sy dy

-------------------------------------------------------------------------------
- Hidden Syntax:

You can use the comma , to indicates the beginning of a parameter. You can surround one or more parameters within parentheses if you want to group some parameters, make the code more readable or be able to use the double-click on a parameter. And you can also write anything before a left parentheses, especially a "group name":

1) [MOVE_test_positions(0,100)_speeds(20,30)_delays(50,50)]

1) Commas, parentheses and "groups names"

-------------------------------------------------------------------------------
Parameters
-------------------------------------------------------------------------------
- Delay & Default time:

If a parameter don't have key and the previous parameter is a delay (left or down) in seconds, the parameter (right or up) is always a delay in frames because "frames" is the default time unit for delay

-------------------------------------------------------------------------------
- Delay & Increase:

If you increase a delay, the delay always finish to be superior at the sub-parameter time, so the delay don't stop and the game is as paused

-------------------------------------------------------------------------------
- Dialogue & Next line:

Don't forget that the girl can't speak with the mouth filled, she can only have thoughts. Even if the line have no words and only triggers, the line is not read

-------------------------------------------------------------------------------
- Dialogue Timer:

The dialogue timer is paused when she speaks. When she finished speaking, the dialogue timer resumes

-------------------------------------------------------------------------------
- Starting direction:

Here how the starting direction ar chosen by the mod:

1) If it's the only or first move of a serie, choose go righward and go downward

2) If it's the second or more move of a serie, keep the last direction

3) If there is a starting direction parameter, choose this direction

4) If there is no speed for this direction, change to opposite direction

-------------------------------------------------------------------------------
- Turn counter & Static position:

Don't forget that if the girl reach a static position, the turns counter can't increase so the turns-based parameters and sub-parameters can't works

-------------------------------------------------------------------------------
- Shutdown:

When a shutdown value is turn based and the position reached at this shutdown time have a delay, the move stop without any delay

-------------------------------------------------------------------------------
Values
-------------------------------------------------------------------------------
- Of the:

The value of a position parameter is in % of the game window size, the value of a speed parameter is in % of the maximum speed and the value of a delay parameter is in frames or seconds (by default in frames)

-------------------------------------------------------------------------------
- Simulation:

Don't forget that the mod simulate the movement of the mouse, so the maximum values for the positions parameters are the border of the game and not the maximum position that the girl can reach. With the default game style (not facefuck), the value of the right position when she reach the hilt is 87, not 100. Other examples, even if her throat resistance stop her progression, a delay turn time-based acan start because the simulate mouse have reached the maximum position

-------------------------------------------------------------------------------
- Decimal:

You can't set decimals for the time values

-------------------------------------------------------------------------------
- Current:

At the beginning of a auto move, if the minimum and maximum positions are not set (left and right, down and up), the two becomes equal to the current position

At the beginning of a auto move, if a minimum position is not set, and the maximum is set, and the current position of the girl is superior to the maximum, the minimum become equal to the maximum

-------------------------------------------------------------------------------
- Limit:

During a auto move, if a minimum position become superior to the maximum (whatever if it's the mminimum or maximum that are changed), the minimum position become equal to the maximum

-------------------------------------------------------------------------------
- Turns:

The mod count 1 turn for each minimum and maximum position reached (left, right, down, up), except if there is a "no count horizontal turn" or "no count vertical turn"
Author
Acclaim
Downloads
2,101
Views
7,181
First release
Last update
Rating
3.33 star(s) 3 ratings

More resources from Acclaim

Latest reviews

i need an auto mod for this mod so the mod just works automatically so i dont have to understand how to make it work and it just works on its own automatically, becuase I do not understand your so called tutorial on how to make this automod work at all
I'm afraid I found a bug with dg parameter. Please contact me with pm - tia
Repectfully, Rudgar
Top Bottom