Original Source
- Original title: Gauge Action System
- Original author: procraftynation
- Original date: December 27, 2015
- Source thread: https://forums.rpgmakerweb.com/threads/gauge-action-system.53755/
- Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugin Releases (RMMV)
Summary
Gauge Action System v2.02 by Procrafynation Description Gauge Action System captures the OK button pressed down and fills the gauge until the OK button is released. The gauge is emptied when the OK button is released. Only the system will stop when the lifetime specified is consumed and results are determined.
Archived First Post
by Procrafynation
Description
Gauge Action System captures the OK button pressed down and fills the gauge until the OK button is released. The gauge is emptied when the OK button is released. Only the system will stop when the lifetime specified is consumed and results are determined.
As of this 2.01, there are 3 types of gauge:
- Filling - default. The gauge is being filled when OK button is pressed and emptied when OK button is released.
- Moving Cursor - Instead of filling and emptying the gauge, the cursor moves along the fill image and waits for OK button to be pressed at a specified success point.
- No Action - only requires lifetime. Like a casting gauge only. If a success point is specified, a random result will be determined using success point as percentage of success.
Terms of Use
Free for use in non-commercial and commercial games just give credit and link back to https://github.com/procraftynation/RMV.
Download
- Plugin File
- Demo Files - Create a new project and paste these files in to your project.
Plugin Documentation
============================================================================
IMAGE COMPONENTS
============================================================================
1. Fill - part of a gauge that displays how much it is filled.
2. Cursor - part of a gauge that indicates where to fill only (range)
3. Lifetime - similar to Fill image but is filled based on the lifetime specified
4. Background - for aesthetics. Rendered first
5. Foreground - for aesthetics. Rendered last
============================================================================
USAGE
============================================================================
To setup a gauge, create an event with a script call:
$gameSystem.gauge("gaugeId");
Replace 'gaugeId' to any text. This is used for identifying and managing multiple gauges
(see Chained Functions Reference for setup options)
Determining Results:
Depending on the type, the results can be placed on a variable:
1 - success, 2 - failure, 3 - canceled
Also, an alternative and more flexible way is to use:
a. $gameSystem.("gaugeId").isSuccess()
b. $gameSystem.("gaugeId").isFailed()
c. $gameSystem.("gaugeId").isCancelled()
============================================================================
Functions Reference:
============================================================================
FILL Options:
$gameSystem.gauge("gaugeId").fill(imageName, offsetX, offsetY);
Sets the fill image of the gauge. Offsets are relative to the background.
Offsets are optional and defaults to 0.
$gameSystem.gauge("gaugeId").fillSpeed(value);
Sets the speed in frames of the filling motion of the gauge. Default 1
$gameSystem.gauge("gaugeId").emptySpeed(value);
Sets the speed in frames of the emptying motion of the gauge.
If not set, emptySpeed will take fillSpeed's value
$gameSystem.gauge("gaugeId").fillReset();
Sets reset fill to true. The filling motion will return to 0 when gauge
is filled to the max and OK button is still pressed. Default false.
CURSOR Options:
$gameSystem.gauge("gaugeId").cursor(imageName);
Sets the cursor image of the gauge. Cursor is automatically centered vertically to
the fill image and is positioned horizontally based on the successPoint specified.
$gameSystem.gauge("gaugeId").movingCursor();
Sets the cursor to move along the horizontal width of the fill image.
If this is called, the fill is 'filled' to the max and will wait for OK button to
determine the result based on the successPoint specified.
$gameSystem.gauge("gaugeId").bounceCursor();
Sets the cursor to move back and forth along the horizontal width of the fill image.
This will only take effect if the cursor is moving.
Default movement is it resets the position to the starting point.
$gameSystem.gauge("gaugeId").cursorStartLeft();
Sets the start position of the moving cursor to the left most part of the fill image.
$gameSystem.gauge("gaugeId").cursorStartRight();
Sets the start position of the moving cursor to the right most part of the fill image.
$gameSystem.gauge("gaugeId").cursorSpeed(value);
Sets the speed in frames the cursor will be moving.
LIFETIME Options:
$gameSystem.gauge("gaugeId").lifetime(imageName, offsetX, offsetY);
Sets the lifetime/timer image of the gauge. Offsets are relative to the background.
Offsets are optional and defaults to 0.
$gameSystem.gauge("gaugeId").lifetimeValue(value);
Sets the life value in frames. In normal circumstances, 60 frames = 1 second
$gameSystem.gauge("gaugeId").eternalLife();
Sets the life of the gauge to be 'infinite'. If this is called, only OK and cancel buttons
can stop the gauge(aside from the refresh button).
$gameSystem.gauge("gaugeId").lifetimeDecreasing();
Sets the fill type of the lifetime image to be from 'full' to 'empty'.
By default, lifetime is decreasing.
$gameSystem.gauge("gaugeId").lifetimeIncreasing();
Sets the fill type of the lifetime image to be from 'empty' to 'full'.
By default, lifetime is decreasing.
ROTATION Options:
$gameSystem.gauge("gaugeId").rotateClockwise90();
Sets the rotation of the whole gauge to 90 degrees clockwise.
$gameSystem.gauge("gaugeId").rotateCounter90();
Sets the rotation of the whole gauge to 90 decrees counter clockwise or -90.
$gameSystem.gauge("gaugeId").rotateClockwise(degrees);
Sets the rotation of the whole gauge to the specified degrees clockwise.
$gameSystem.gauge("gaugeId").rotateCounter(degrees);
Sets the rotation of the whole gauge to the specified degrees counter clockwise.
NOTE: rotation options may mess up the positioning.
$gameSystem.gauge("gaugeId").offset(x,y) should be used to this.
POSITIONING Options:
$gameSystem.gauge("gaugeId").upperLeft();
Sets the position of the gauge to the upper left of the screen.
$gameSystem.gauge("gaugeId").upperCenter();
Sets the position of the gauge to the upper center of the screen.
$gameSystem.gauge("gaugeId").upperRight();
Sets the position of the gauge to the upper right of the screen.
$gameSystem.gauge("gaugeId").centerLeft();
Sets the position of the gauge to the center left of the screen.
$gameSystem.gauge("gaugeId").centerCenter();
Sets the position of the gauge to the center of the screen.
$gameSystem.gauge("gaugeId").centerRight();
Sets the position of the gauge to the center right of the screen.
$gameSystem.gauge("gaugeId").lowerLeft();
Sets the position of the gauge to the lower left of the screen.
$gameSystem.gauge("gaugeId").lowerCenter();
Sets the position of the gauge to the lower center of the screen.
$gameSystem.gauge("gaugeId").lowerRight();
Sets the position of the gauge to the lower right of the screen.
$gameSystem.gauge("gaugeId").abovePlayer();
Sets the position of the gauge to be above the player.
$gameSystem.gauge("gaugeId").belowPlayer();
Sets the position of the gauge to be below the player.
$gameSystem.gauge("gaugeId").aboveEvent(mapEventId);
Sets the position of the gauge to be above a specified map event.
$gameSystem.gauge("gaugeId").belowEvent(mapEventId);
Sets the position of the gauge to be below a specified map event.
$gameSystem.gauge("gaugeId").offset(x, y);
Moves the gauge by the specifed offsets x and y. This is relative to the position
specified above.
SUCCESS and AFTER ACTION Related Options:
$gameSystem.gauge("gaugeId").successPoint(value);
Sets the position in percentage of the cursor along the Fill component's width.
For example the Fill component's width is 200 and the specified cursor point is 50,
the cursor image will be placed in the middle of the Fill component since the cursor point
is specified as 50 percent.
Values: 1 - 100
$gameSystem.gauge("gaugeId").successPointAbove();
Sets that the success result will be determined above the success point specified.
For example: successPoint = 75. Success result will be from 75-100
$gameSystem.gauge("gaugeId").successPointBelow();
Sets that the success result will be determined below the success point specified.
For example: successPoint = 75. Success result will be from 0-75
$gameSystem.gauge("gaugeId").successPointRange(min, max);
Sets the success point as a range. This overwrites the success point specified.
$gameSystem.gauge("gaugeId").mapEventId(mapEventId);
Sets the map event id to be called once the gauge action is finished
NOTE: common event will override this
$gameSystem.gauge("gaugeId").commonEventId(commonEventId);
Sets the common event id to be called once the gauge action is finished
$gameSystem.gauge("gaugeId").resultVariableId(variableId);
Sets the result value to the variable specified.
1 - success, 2 - failure, 3 - canceled
OTHER functions:
$gameSystem.gauge("gaugeId").background(imageName, offsetX, offsetY);
Sets the background image of the gauge. Offsets are relative to the whole gauge.
Offsets are optional and defaults to 0.
$gameSystem.gauge("gaugeId").foreground(imageName, offsetX, offsetY);
Sets the foreground image of the gauge. Offsets are relative to the whole gauge.
Offsets are optional and defaults to 0.
$gameSystem.gauge("gaugeId").noAction();
Sets the gauge to not handle any action, OK/cancel button.
If this is called, lifetime image is the only required image.
This is used for casting only gauges.
$gameSystem.gauge("gaugeId").allowMovement();
If this is called, player can move around while the gauge is running.
$gameSystem.gauge("gaugeId").pauseBeforeFadeOut(frames);
Sets the number of frames the gauge will display after an action and result has been
determined and before starting fade out.
$gameSystem.gauge("gaugeId").fadeOutSpeed(value);
Sets how fast the gauge will fade out.
$gameSystem.gauge("gaugeId").fadeOutInstant();
Sets the fade out speed to 255 to completely fadeout in 1 frame.
$gameSystem.gauge("gaugeId").waitToFinish();
Prevents the event(where this gauge is called to start) to proceed to the next command
in the event's command queue.
START function:
$gameSystem.gauge("gaugeId").start();
called to start and display the gauge.
RESULT RELATED functions: Usually called used Conditional Branches in events.
$gameSystem.gauge("gaugeId").isMoving();
Returns true if the gauge is currently moving. Where the fill is 'filling'
or the cursor is moving.
$gameSystem.gauge("gaugeId").isDead();
Returns true if the gauge's lifetime is consumed. Gauge is considered dead
if the action is canceled also.
$gameSystem.gauge("gaugeId").isSuccess();
Returns true if the result is success!
$gameSystem.gauge("gaugeId").isFailed();
Returns true if the result is failed!
$gameSystem.gauge("gaugeId").isCancelled();
Returns true if the action is cancelled!
============================================================================
Chained Functions:
============================================================================
Most of the above functions, except RESULT RELATED functions are chained functions.
Chained functions can be called together in a single line without repeating $gameSystem.gauge("gaugeId")
Example:
$gameSystem.gauge("fishing").fill("DefaultFill",81,27).cursor("DefaultCursor");
$gameSystem.gauge("fishing").background("DefaultBackground").foreground("FishingIcon");
$gameSystem.gauge("fishing").lifetime("DefaultTimer",81,77);
$gameSystem.gauge("fishing").waitToFinish().start();
============================================================================
Gauge Setup Events
============================================================================
Gauges setup script calls can now be placed in a 1 time running map event.
You can have 1 map event that setups all gauges on map and when you want to
use the gauge you can call the start() function any time.
Be sure that you don't call the start() function in the setup event.
Example:
Map Event 001: Setup gauge "fishing", "drilling"
Map Event 002: Call and display the fishing gauge
$gameSystem.gauge("fishing").start();
Map Event 003: Call and display the drilling gauge
$gameSystem.gauge("drilling").start();
Map Event 004: Call and display the fishing gauge again without repeating the setup
$gameSystem.gauge("fishing").start();
Demo Video
Tutorial Video
Changelog
v2.02 - Fixed Object too big when saving - moved gauge objects to $gameTemp instead of $gameSystem
v2.01 - Rewrite plugin. NOT COMPATIBLE with older versions. Version based on number of changes detected by git.
- Changed and removed a lot of functions. See documentation for available functions.
- Added gaugeId for managing MULTIPLE gauges. Allows gauge setup on a different event.
- Added new feature MOVING CURSOR.
- Added new feature NO ACTION - only requires lifetime. Like a casting gauge only.
- Added positioning options ABOVE/BELOW a map event.
- Added lifetime option to be eternal.
v1.08 - Moved call to __finish. Called only when gauge fades out completly.
- Added option to position gauge above or below player character.
- Added option to make lifetime image decrease instead of increasing.
- Added $gameSystem function $gameSystem.gauge() for easier access of gauge.
- New gauge functions: isMoving(), isDead(), isSuccess(), isFailed() and isCancelled().
Ex: $gameSystem.isMoving()
- Added new option for success point to be above or below cursor point.
- Changed orientation to rotation for future display options.
v1.01 - Fixed cursor positioning.
v1.00 - Initial release!
Downloads / Referenced Files
Log in, then follow the RPG Maker Developers Group to see these download links.
Log in to downloadLicense / Terms Note
Terms of Use Free for use in non-commercial and commercial games just give credit and link back to https://github.com/procraftynation/RMV. Download - Plugin File
Creator Claims / Removal
If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.
Replies (0)
No replies yet.
Topic Summary
Loading summary...