Difference between revisions of "Action Parts"

From The Official Visionaire Studio: Adventure Game Engine Wiki
(Condition, If, Value)
Line 209: Line 209:
 
==Condition, If, Value==
 
==Condition, If, Value==
  
<span style="font-size:15px"><b>Change condition</b></span>
+
===Change condition===
  
 
Allows you to change the boolean value of the linked condition to <span style="color:blue">true</span> or <span style="color:blue">false</span>.
 
Allows you to change the boolean value of the linked condition to <span style="color:blue">true</span> or <span style="color:blue">false</span>.
  
  
<span style="font-size:15px"><b>Set value</b></span>
+
===Set value===
  
 
Allows you to change the value of the linked value with one of the <b>Operators</b> listed below.
 
Allows you to change the value of the linked value with one of the <b>Operators</b> listed below.
Line 229: Line 229:
  
 
   
 
   
<span style="font-size:15px"><b>Set random value</b></span>
+
===Set random value===
  
 
Allows you to set a random value; <span style="color:green">from</span> min <span style="color:green">to</span> max or by linking to another value.
 
Allows you to set a random value; <span style="color:green">from</span> min <span style="color:green">to</span> max or by linking to another value.
  
  
<span style="font-size:15px"><b>If condition</b></span>
+
===If condition===
  
 
Only perform the actions wrapped in the query, if the linked condition equals the boolean <span style="color:blue">true</span> or <span style="color:blue">false</span> value you selected; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if the linked condition equals the boolean <span style="color:blue">true</span> or <span style="color:blue">false</span> value you selected; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
  
  
<span style="font-size:15px"><b>If value</b></span>
+
===If value===
  
 
Only perform the actions wrapped in the query, if the linked value matches one of the specified criteria in the <b>Operators</b> listed below; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if the linked value matches one of the specified criteria in the <b>Operators</b> listed below; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
Line 254: Line 254:
 
</div></div>
 
</div></div>
  
 
+
===If character is on scene===
<span style="font-size:15px"><b>If character is on scene</b></span>
 
  
 
Only perform the actions wrapped in the query if the selected character is on the selected scene; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query if the selected character is on the selected scene; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
  
  
<span style="font-size:15px"><b>If character is current character</b></span>
+
===If character is current character===
  
 
Only perform the actions wrapped in the query, if the selected character is the character you are currently controlling; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if the selected character is the character you are currently controlling; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
  
  
<span style="font-size:15px"><b>If language is current language</b></span>
+
===If language is current language===
  
 
Only perform the actions wrapped in the query, if the selected language equals the current language being used; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if the selected language equals the current language being used; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
  
  
<span style="font-size:15px"><b>If command is current command</b></span>
+
===If command is current command===
  
 
Only perform the actions wrapped in the query, if the current command being used equals the selected command; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if the current command being used equals the selected command; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
  
  
<span style="font-size:15px"><b>If current object...</b></span>
+
===If current object ...===
  
 
Only perform the actions wrapped in the query if the current position of the mouse cursor meets the selected criteria listed in <b>Objects</b> below; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query if the current position of the mouse cursor meets the selected criteria listed in <b>Objects</b> below; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
Line 290: Line 289:
  
  
<span style="font-size:15px"><b>If savegame/autosave exists</b></span>
+
===If savegame/autosave exists===
  
 
Only perform the actions wrapped in the query, if a save game or the specified auto-save number exists; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
 
Only perform the actions wrapped in the query, if a save game or the specified auto-save number exists; else perform actions listed after the next <span style="color:blue">else</span> (if provided) or <span style="color:blue">end if</span>.
Line 297: Line 296:
  
 
   
 
   
<span style="font-size:15px"><b>Else</b></span>
+
===Else===
 
 
Allows you to add additional <span style="color:blue">if else</span> queries after the previous <span style="color:blue">if</span>; if no <span style="color:blue">if</span> is added after the <span style="color:blue">else</span> then any actions added to the else part will only be performed if the initial <span style="color:blue">if</span> query criteria was not met!
 
  
 +
Allows you to add additional <span style="color:blue">if else</span> queries after the previous <span style="color:blue">if</span>; if no <span style="color:blue">if</span> is added after the <span style="color:blue">else</span> then any actions added to the else part will only be performed if the initial <span style="color:blue">if</span> query criteria was not met.
  
<span style="font-size:15px"><b>End if</b></span>
 
  
This action part is used to end an <span style="color:blue">if else</span> query; there should be the same amount of <span style="color:blue">end if</span>, as <span style="color:blue">if</span> queries!
+
===End if===
  
 +
This action part is used to end an <span style="color:blue">if else</span> query; there should be the same amount of <span style="color:blue">end if</span>, as <span style="color:blue">if</span> queries.
  
 
== Interface ([[#top|<b>▲</b>]]) ==
 
== Interface ([[#top|<b>▲</b>]]) ==

Revision as of 16:31, 4 December 2013

Introduction

Most action parts are generally selected via the "select action parts" pop-up box & the available actions are subjected to change depending on the area you call the "select action parts" pop-up box from.

Open up a list of available actions by clicking on one of the buttons on the right hand side of the select action part pop-up box; the action parts you use the most will be listed on the left hand side for quick & easy access.

click for fullsize

Character

Display text

Displays the included text over the top of the linked characters head & plays an audio file - if included - & automatically plays the characters talk animation - if one was included in the current characters outfit. By default, unless displayed text was set as "background text" or the mouse cursor was hidden - prior to calling the display text action part; then the displayed text can be skipped by clicking the left mouse button! All actions listed after the displayed text will not be performed until the displayed text has finished being displayed unless the displayed text was set as "background text" - in which case actions can be performed while displayed text is being displayed.

If "Show as background text" is selected then the user can perform actions while the text is being displayed & all listed actions after the displayed text will continue to be performed. Background-text can not be skipped via the left mouse button! Background text can be used for displaying conversations by people in the background or you could use it for displaying text while being allowed to perform actions, walk around the scene or manually change which character actions to display.


Send character to position

Send the selected character to a specified position; make sure the specified position is not outside of the way borders.

If "wait until character reached destination" is selected then: all action parts listed after this, will not be performed until the character has reached the specified destination.


Send character to object

Send the selected character to the linked object; make sure the character & object are on the same scene.

If "wait until character reached destination" is selected then: all action parts listed after this, will not be performed until the character has reached the linked object.


Wait until character stops

This prevents action parts listed after this one from being performed until the selected character has stopped walking. This action part should only really be used during cut-scenes; when the player has no control over the character or it's position &/or destination.


Stop character

If the selected character is walking to a destination; then this action part will cancel the destination & stop the character at its current position.


Align character

This action part allows you to realign the selected character towards a new direction.


Set character to position

This action part allows you to teleport the selected to character to a specified position in the selected scene & control the direction the character should be facing.


Set character to object

This action part allows you to teleport the selected character to a linked object & control the direction the character should be facing; the character & object should be in the same scene.


Change character

This action part allows you to change the current playable character; if the new playable character is in the same scene as the previously used playable character then select the "Immediately show scene" option, otherwise select the "Fade to scene" option.


Change outfit

This action part allows you to change the linked characters outfit to another one; if "Do not unload old outfit animations" is selected then: the previous outfits animations will be stored in memory so they don't have to be reloaded if you change back to them later on.


Change comment set

This action part allows you to change the default comment sets of what is to be displayed when a character performs an invalid action; this could be changed to display comments which reflect the characters current mood.


Change walking sound

This action part allows you to change the footstep sounds of the selected character to the linked audio file.


Change font of a character

This action part allows you to change the default font (displayed text) for the selected character.


Change character speed

This action part allows you to control the selected characters walking speed; this could be used for controlling when a character walks, runs or the speed the character should move over a specific area of terrain.


Change character animation index

Changes the animation index of a character (default is 0 when the game is started). This index is used for talk-, random- and stand-animations. If more than 1 animation exists for a direction then this index decides which animation is shown.

Example: A character has 8 talk animations, 2 for each direction (0, 90, 180, 270 degrees). If the index is 0 then the first of the two animations (for a direction) is shown. If the index is 1 then the second animation is shown.

With this index it is possible to have different animations (e.g. talking friendly / neutral / angry) without changing the complete outfit.


Chase character

Allows you to make a character follow/chase another character around a scene; if the character doing the following/chasing enters the set radius then a linked "called by other action" can be performed - if an action is linked.

The two characters must be in the same scene!


Stop chase

Stops character(s) from chasing the selected character.


Show/Hide character

Show or hide the selected character.


Set character visibility

Allows you to set the opacity of the selected character by using the Visibility [%] & control the amount of time (in ms) with the Delay [ms] as to how long it should take to change from current opacity to new opacity amount.

If a value is linked to Visibility (value) then it will be used instead of the value set in Visibility [%].

This could be used for creating a semi-transparent character: like a ghost for instance or maybe to suggest the character is invisible because they are wearing a special item; like the ring in: The Lord of the Rings or Simon the Sorcerer.


Start dialog/dialog-layer

Starts dialog between the current character and a partner. The dialog has to be created under the dialog option of the addressed character. Following action parts will be executed immediately so take care if this is not the last action part of the listed actions.

Scene

Change scene

Allows you to change to a new scene & teleport the selected character to the linked object of a scene & set the direction the character should be facing; you can switch to new scene instantly or you can fade out of current scene & into the next.


Show scene/menu

Allows you to switch to a new scene or menu without having to teleport a character; useful for switching to menus or a scene in which you want to show a cut-scene.


Scroll scene to position

This action part: scrolls the current scene to the specified position.


Scroll scene to object (centered)

This action part: scroll the current scene until the linked object is in the center of the scene; the linked object must be in the current scene.


Center scene on character permanently

Scene is centered on the selected characters position unless the "Clear centering checkbox is selected; this action part is intended for using in cut-scenes or when you don't want the scene to be focused on the currently playable character.


Change to scene of a character

Changes to the scene where the selected character is located; this is mostly used to switch back from menu scenes to the scene where your playable character is located.

You can fade out from current scene into the one where the selected character is located or you can show the scene instantly.


Set fade effect to new scene

Let's you control the transition effects from one scene to another & the amount of time (in ms) that the transition should take.


Set object visibility

This action part allows you to control the opacity of the linked object in any scene & the amount of time it should take (in ms) to change from current opacity to the set opacity amount.


Change way system

Allows you to change the current way system for any scene by linking to another way system; this could be used to change to another way system which has a different border or different paths due to something being changed in a scene; for example: maybe an earthquake or explosion blocked part of the scene & as a result we need to change the walkable paths of a scene!


Set lightmap

Sets the light map (see Light map in Scene <-- need to add page for this later!) for the selected scene.


Set brightness

Allows you to control the brightness of the selected scene; currently the brightness can only be set, one scene at a time.


Fade "snoop" animations in/out

This action part allows you to fade in/out the snoop (hotspot) animations over x time (in ms) for the current scene; in general it's a good idea to add the show snoop action to an on key input & then hide on key input (release).


Set horizontal scroll area

By default the scene can be scrolled from the left to the right border of the scene background image. With this action part it is possible to limit the horizontal scroll area. Left border sets the left border of the background image where the scene can be scrolled to (default is 0), Right border the right border analogous (default is width of background image). E.g. it is possible to limit the scroll area and let a character walk from outside into the scene.


Set vertical scroll area

By default the scene can be scrolled from the top to the bottom border of the scene background image. With this action part it is possible to limit the vertical scroll area. Top border sets the top border of the background image where the scene can be scrolled to (default is 0), Bottom border the bottom border analogous (default is height of background image).


Keep scene in memory

This action part allows you to store various things from the current scene into memory for the set amount of scene changes; this is useful for when you want to change to a new scene (cut-scene maybe) & then back again without having to wait for the images & animations etc to reload.


Condition, If, Value

Change condition

Allows you to change the boolean value of the linked condition to true or false.


Set value

Allows you to change the value of the linked value with one of the Operators listed below.

Operators

Equal[=] allows you to set the value to the linked value or number provided
Add[+] allows you to add the linked value or number provided to the current value
Subtract[-] allows you to subtract from the current value with the linked value or number provided
Multiply[*] allows you to multiply the current value with the linked value or number provided
Divide[/] allows you to divide the current value with the linked value or number provided


Set random value

Allows you to set a random value; from min to max or by linking to another value.


If condition

Only perform the actions wrapped in the query, if the linked condition equals the boolean true or false value you selected; else perform actions listed after the next else (if provided) or end if.


If value

Only perform the actions wrapped in the query, if the linked value matches one of the specified criteria in the Operators listed below; else perform actions listed after the next else (if provided) or end if.

Operators

Equal to[=] queries if the current value equals the linked value or number provided
Does not equal[!=] queries if the current value does not equal the linked value or number provided
Less than or equal to[<=] queries if the linked value or number provided is less than or equal to the current value
Less than[<] queries if the linked value or number provided is less than the current value
More than or equal to[>=] queries if the linked value or number provided is more than or equal to the current value
More than[>] queries if the linked value or number provided is more than the current value

If character is on scene

Only perform the actions wrapped in the query if the selected character is on the selected scene; else perform actions listed after the next else (if provided) or end if.


If character is current character

Only perform the actions wrapped in the query, if the selected character is the character you are currently controlling; else perform actions listed after the next else (if provided) or end if.


If language is current language

Only perform the actions wrapped in the query, if the selected language equals the current language being used; else perform actions listed after the next else (if provided) or end if.


If command is current command

Only perform the actions wrapped in the query, if the current command being used equals the selected command; else perform actions listed after the next else (if provided) or end if.


If current object ...

Only perform the actions wrapped in the query if the current position of the mouse cursor meets the selected criteria listed in Objects below; else perform actions listed after the next else (if provided) or end if.

Objects

exists: only perform the listed actions if an object is under the mouse cursor
does not exist: only perform the listed actions if an object is not under the mouse cursor
is a scene object: only perform the listed actions if a scene object is below the mouse cursor
is an item: only perform the listed actions if an item is under the mouse cursor
is a character: only perform the listed actions if a character is under the mouse cursor


If savegame/autosave exists

Only perform the actions wrapped in the query, if a save game or the specified auto-save number exists; else perform actions listed after the next else (if provided) or end if.

This query is very useful & can be used for checking if a player can resume game on start or the auto-saves can be used for checking if a certain achievement/bonus content has been obtained without having to use lua to read from an external file.


Else

Allows you to add additional if else queries after the previous if; if no if is added after the else then any actions added to the else part will only be performed if the initial if query criteria was not met.


End if

This action part is used to end an if else query; there should be the same amount of end if, as if queries.

Interface ()

Add/Remove item

Adds or removes the selected item to/from the selected characters inventory; if the item is already part of the users inventory/or not currently part of the users inventory then do nothing!

If scroll to added item is checked then show the inventory & scroll to the newly added item; this should only be checked for the current player & if an item was added & not removed!


Remove all items from character

Removes all items from the selected character.


Give all items to other character

Transfers all items from the selected character (From character) to the other selected character (To character)


Save object

Saves the object which is currently under the mouse cursor to memory; this action part is used in conjunction with Execute command on saved object.


Execute command on saved object

The current command is being executed on the previous saved object. For instance a Monkey Island 3 interface can be created with this. For example you can create a right mouse button action which saves the current object and shows the interface, and also an action to each command in the interface which executes the command on the saved object and hides the interface. After this actionpart the saved object will be displayed in the actiontext instead of the current object (the object which the mouse cursor is currently at)


Clear saved object

Removes the currently saved object from memory; if no object is currently stored/saved, then do nothing!


Show/Hide interfaces

This allows you to globally show or hide all interfaces at the same time.


Show/Hide interface

Allows you to show, hide or toggle if the selected interface class is shown or hidden.


Set interface visibility

Allows you to set the opacity for the selected interface class & set a delay time, for how long it should take to change opacity; set as "0ms" if you want it to instantly change to the new opacity.


Set active/inactive image

Allows you to set the active or inactive image for the linked button; this would normally be used in conjunction with on cursor enters/on cursor leaves, to show the linked button is active or inactive.


Set interface of a character

Allows you to change the default interface of a character.


Set command

Sets the current command to the selected command.


Set item

Sets the currently held item to the selected item; if Dragged item is checked then the item can be dragged.


Animation ()

Play/Hide animation

Play or Stop the linked animation; the animation will play forward unless Play in reverse order is checked.

If Wait until animation is finished is checked then the action parts listed after this one will not be performed until the animation has finished; it will never end if animation is being looped unless you manually hide/stop the animation!


Wait until animation is finished

This action part prevents all other actions listed after this one from being performed until the linked animation finishes or is manually stopped; this action part should be used if you set an animation playing but wanted to perform a few action parts after the animation & then wait until the linked animation has finished playing before carrying on with the rest of the listed actions.


Preload/Unload animation

Stores or removes the linked animation to/from memory; the animation will be stored to memory, so you don't have to reload it each time you enter the scene - until you unload the animation.


Preload/Unload character

Stores or removes the selected character to/from memory; all the characters animations (for each outfit) will be stored to memory so you can instantly switch between outfits without having to wait for them to load - until you unload the character.


Change position of an animation

Set the current position (x,y) of the linked animation via one the Operators & the specified value.

Operators

Equals[=] absolutely position the animation to the x,y position provided
Add[+] add the x,y position values to the current x,y position of the animation
Subtract[-] remove the x,y position values from the current x,y position of the animation


Action, Script ()

Call/Quit action

Performs or Stops the linked called by other action.


Quit current action

All action parts listed after this one will be cancelled!


Jump to action part

Allows you to jump forwards or backwards to a certain action part via the value you set in Skip action parts; this action part can be used to create a loop by wrapping it inside of an if else query & having it jump back to the action part containing the if condition or value & will only continue the action parts listed after the jump to action part if the condition/value does not equal the query!

Jump relative allows you to skip x action parts forward or backwards, whereas ...
Jump absolute allows you to jump to the action part value you set in Skip action parts.


Call script

Allows you to call a script which is assigned as an execution script.


Execute a script

Allows you to call a global function or variable function or even write a custom script inside of the action part editor section.

Example of calling a global function or variable function:

-- this is how we call a global function assigned in a definition script!
function_name() -- yes, it's as simple as calling the function name & adding closed brackets afterwards!
-- now let's call a variable function which should also be assigned in a definition script!
function_name("string", integer, bool) -- text should be wrapped in " or ' & integers are number values, bool = true or false!

-- let's say we have a function which allows us to add a number to an integer variable!
addValue(10) -- this adds 10 to the current integer value!

-- the function inside of the definition script may look something like this ...
function addValue(i) -- "i" being what we replaced with "10" (above)
 count = count + i -- this adds the value stored in i to the current value!
 print('the old value was ' .. count - i .. ', the new value is ' .. count .. '!') -- print old/new values to the log file!
end

Multimedia ()

Play sound

Play the selected sound file & set the volume & left/right audio balance; only mono channel sounds can be panned!


Play sound and loop infinitely

Same as Play sound action part, apart from the selected sound will continue to loop until it is stopped via the Stop currently playing sound action part.


Stop currently playing sound

Stops the selected sound file from playing; if the selected sound file is not playing then do nothing!


Wait until sound is finished

Wait until the selected sound file has finished playing; all action parts listed after this action will not be performed until the sound file has finished playing.


Change background music

Allows you to change the background music file for the selected scene & set the volume & left/right audio balance; only mono channel sounds can be panned!


Change volume

Change the volume level for: music, sound, speech, movies & global by using one of the operators & setting a volume value.

Operators

Equals[=] set the selected volume level to the value provided
Add[+] add the volume value to the currently selected volume level
Subtract[-] remove the volume value from the currently selected volume level


Change settings of currently playing sound

Allows you to edit the volume level & left/right audio balance of a currently playing sound; if the selected sound file is not currently playing, then this action part will have no effect.


Play video

Allows you to play the selected video file, declare if video should be scaled to users screen resolution & decide what the currently playing active sounds should do while video is playing or after it has finished!

Active sounds

Only resume in same scene: all active sounds will be paused & only resumed if the scene is not changed after the video has finished playing
Pause and resume: all active sounds will be paused & resumed after the video has finished regardless of if the scene has been changed or not
Stop: all active sounds will be stopped & not resumed after video has finished playing
Pause and resume, continue music: all active sounds will be paused & resumed after the video has finished playing; background music will continue while video is playing
Pause and resume, continue music & fx: background music & sounds will continue during video playback & afterwards
Stop, continue music: background music will continue playing until video has finished
Stop, continue music and fx: background music & sounds will continue playing until the video has finished