DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Author: DK

Version: Public 0.992 Beta

Description: Powerful library for RPG Maker. Contains many tools for developing.
Documentation: DKTools documentation

Dependencies: RPG Maker MV 1.5+ and lodash.js (https://lodash.com/)

Installation:
  1. Copy lodash.js to the js/libs/ of your project
  2. Copy DKTools.js to the js/plugins/ of your project
  3. Enable DKTools in the plugin manager
  4. Add at least one game language in the parameters of the DKTools

4 steps to use DKTools

1. Create Element
Create element from DKTools through "new" operator, like: var object = new DKTools.Sprite(x, y, width);

2. Set parameters through "setup" functions
Each element contain "setup" functions, who set the parameters. All functions have default parameters.

3. Start element
Call start function of element.

4. Add element to your scene
Use "addChild" function for add element to your scene.

List of elements:
  • DKTools.Utils
  • DKTools.Utils.String
  • DKTools.Utils.Array
  • DKTools.Utils.Bitmap
  • DKTools.Utils.Point
  • DKTools.Utils.Rectangle
  • DKTools.Utils.Random
  • DKTools.Utils.Sequence
  • DKTools.Utils.Sequence.Alphabet
  • DKTools.IO
  • DKTools.IO.Entity
  • DKTools.IO.File
  • DKTools.IO.Directory
  • DKTools.IO.WebStorage
  • DKTools.Localization
  • DKTools.PluginManager
  • DKTools.Audio
  • DKTools.Event
  • DKTools.Animation
  • DKTools.Animation.Action
  • DKTools.Base
  • DKTools.Sprite
  • DKTools.Sprite.Button
  • DKTools.Sprite.Cursor
  • DKTools.Sprite.Arrow
  • DKTools.Sprite.Selectable
  • DKTools.Sprite.ProgressBar
  • DKTools.Sprite.ProgressBar.Rectangle
  • DKTools.Sprite.ProgressBar.Circle
  • DKTools.Sprite.ProgressBar.SemiCircle
  • DKTools.Sprite.CheckBox
  • DKTools.Viewport
  • DKTools.Layout
  • DKTools.Window
  • DKTools.Window.Selectable
  • DKTools.Scene

Examples:
DKTools.Window.Selectable - Horizontal Scroll

3 main reasons for use DKTools:
  1. Not need to waste time for creating a special sprites or windows
  2. Large number of element parameters and all parameters have default values
  3. Many different functions in each element
Project on GitHub: GitHub

Download: https://dk-plugins.ru/mv/dktools/
 
Last edited:

DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Not actual (August 31 2017):
Full list of elements:

  1. DKTools_Sprite

  2. DKTools_Sprite_Button

  3. DKTools_Text

  4. DKTools_Container_Base

  5. DKTools_Text_Container

  6. DKTools_Container

  7. DKTools_Progress_Bar_Base

  8. DKTools_Input_Base

  9. DKTools_CheckBox_Base

  10. DKTools_Radio_Button_Base

  11. DKTools_ColorPicker_Base

  12. DKTools_Slider_Base

  13. DKTools_Progress_Bar

  14. DKTools_Input

  15. DKTools_CheckBox

  16. DKTools_Radio_Button

  17. DKTools_ColorPicker

  18. DKTools_Slider

  19. DKTools_Window_Base

  20. DKTools_Window_Selectable

  21. DKTools_Window_Command




For example, functions list of DKTools_Sprite:

standard functions:



Spoiler



standardVisible
standardPadding
standardTextPadding
standardTextColor
standardTextX
standardTextY
standardFontName
standardFontItalic
standardFontSize
standardFont
standardAlign
standardBackgroundColor
standardOpacity

setup functions:

setupAll
setupWidth
setupHeight
setupSize
setupVisible
setupId
setupPadding
setupTextPadding
setupTextColor
setupAlign
setupBackgroundColor
setupTextX
setupTextY
setupFont
setupOpacity
setupBitmap

set functions:

setAll
setWidth
setHeight
setVisible
setPadding
setTextPadding
setTextColor
setAlign
setBackgroundColor
setTextX
setTextY
setFont
setOpacity
setBitmap
setUpdateHandler
setUpdateAnimationHandler
setStartHandler

other functions:

start
clearRect
clear
resize
clone
checkSize
minWidth
minHeight
maxWidth
maxHeight
textWidth
createBitmap
removeBitmap
isSpriteButton
isStarted
isReady
bitmapIsFixed
clearStartListeners
clearReadyListeners
addStartListener
addReadyListener
callStartListeners
callStartHandler
callReadyListeners
fillRect
fillAll
gradientFillRect
gradientFillAll
drawText
drawCircle
drawBitmap
drawIcon
drawFace
drawCharacter
loadAnimation
loadBattleback1
loadBattleback2
loadEnemy
loadCharacter
loadFace
loadParallax
loadPicture
loadSvActor
loadSvEnemy
loadSystem
loadTileset
loadTitle1
loadTitle2
loadWindowskin
loadBitmap
hide
show
playAnimation
stopAnimation
animationIsUpdated
update
updateBitmap
updateBackground
updateFont
updateTextColor
callUpdateHandler
callUpdateAnimationHandler






One of several ways to create sprites:

2016-09-05_22-50-02.png
 
Last edited:

DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Release public beta version.


First post updated.
 

DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Version 0.97 Beta. First post updated.

A small example of using the class DKTools.ParameterManager:
Previously, you had to handle each parameter manually.
For example, my old plugin Game_Time
var GameTimeParam = {};
GameTimeParam.param = PluginManager.parameters('DKCore_Game_Time');

// Initialize time settings
GameTimeParam.realTime = DKCore.toBool(GameTimeParam.param['Use Real Time']);
GameTimeParam.startSec = Number(GameTimeParam.param['Starting Seconds']);
GameTimeParam.startMin = Number(GameTimeParam.param['Starting Minutes']);
GameTimeParam.startHour = Number(GameTimeParam.param['Starting Hour']);
GameTimeParam.startDay = Number(GameTimeParam.param['Starting Day']);
GameTimeParam.startDayWeek = Number(GameTimeParam.param['Starting Day Week']);
GameTimeParam.startMonth = Number(GameTimeParam.param['Starting Month']);
GameTimeParam.startYear = Number(GameTimeParam.param['Starting Year']);
GameTimeParam.secondsInMinute = Number(GameTimeParam.param['Seconds In Minute']);
GameTimeParam.minutesInHour = Number(GameTimeParam.param['Minutes In Hour']);
GameTimeParam.hoursInDay = Number(GameTimeParam.param['Hours In Day']);
GameTimeParam.daysInMonth = DKCore.StringToNumberArray(GameTimeParam.param['Days In Month']);
GameTimeParam.updateTimeInMenu = DKCore.toBool(GameTimeParam.param['Updating Time In Menu']);
GameTimeParam.updateTimeInBattle = DKCore.toBool(GameTimeParam.param['Updating Time In Battle']);
GameTimeParam.pauseTimeInMessage = DKCore.toBool(GameTimeParam.param['Pause When Message']);
GameTimeParam.timeSpeed = Number(GameTimeParam.param['Time Speed']);
GameTimeParam.showSeconds = DKCore.toBool(GameTimeParam.param['Show Seconds']);
GameTimeParam.blinkSpeed = Number(GameTimeParam.param['Time Blink']);

// Initialize disabled maps
GameTimeParam.disabledMaps = {};
GameTimeParam.disabledMaps['update'] = DKCore.StringToNumberArray(GameTimeParam.param['Disabled Maps For Updating Time']);
GameTimeParam.disabledMaps['window'] = DKCore.StringToNumberArray(GameTimeParam.param['Disabled Maps For Window']);
GameTimeParam.disabledMaps['tint'] = DKCore.StringToNumberArray(GameTimeParam.param['Disabled Maps For Switching Day/Night']);

// Initialize map window
GameTimeParam.mapWindow = {};
GameTimeParam.mapWindow.mode = 'map';
GameTimeParam.mapWindow.show = DKCore.toBool(GameTimeParam.param['Show Window In Game']);
GameTimeParam.mapWindow.switch = Number(GameTimeParam.param['Window Switch In Game']);
GameTimeParam.mapWindow.parameters = DKCore.StringToNumberArray(GameTimeParam.param['Window Position In Game']);
GameTimeParam.mapWindow.windowskin = GameTimeParam.param['Window Skin In Game'];
GameTimeParam.mapWindow.opacity = DKCore.StringToNumberArray(GameTimeParam.param['Window Opacity In Game']);
GameTimeParam.mapWindow.tone = DKCore.StringToNumberArray(GameTimeParam.param['Window Tone In Game']);
GameTimeParam.mapWindow.font = {};
GameTimeParam.mapWindow.font['date'] = DKCore.StringToFontArray(GameTimeParam.param['Date Font In Game']);
GameTimeParam.mapWindow.font['time'] = DKCore.StringToFontArray(GameTimeParam.param['Time Font In Game']);
GameTimeParam.mapWindow.color = {};
GameTimeParam.mapWindow.color['date'] = GameTimeParam.param['Date Color In Game'];
GameTimeParam.mapWindow.color['time'] = GameTimeParam.param['Time Color In Game'];
GameTimeParam.mapWindow.showOnStart = DKCore.toBool(GameTimeParam.param['Show Window On Game Start']);
GameTimeParam.mapWindow.button = GameTimeParam.param['Window Control Button'].toLowerCase();
GameTimeParam.mapWindow.frameless = DKCore.toBool(GameTimeParam.param['Frameless Window In Game']);
GameTimeParam.mapWindow.dateFormat = '#mapWindowDate#';
GameTimeParam.mapWindow.timeFormat = '#mapWindowTime#';

// Initialize menu window
GameTimeParam.menuWindow = {};
GameTimeParam.menuWindow.mode = 'menu';
GameTimeParam.menuWindow.show = DKCore.toBool(GameTimeParam.param['Show Window In Menu']);
GameTimeParam.menuWindow.switch = Number(GameTimeParam.param['Window Switch In Menu']);
GameTimeParam.menuWindow.parameters = DKCore.StringToNumberArray(GameTimeParam.param['Window Position In Menu']);
GameTimeParam.menuWindow.windowskin = GameTimeParam.param['Window Skin In Menu'];
GameTimeParam.menuWindow.opacity = DKCore.StringToNumberArray(GameTimeParam.param['Window Opacity In Menu']);
GameTimeParam.menuWindow.tone = DKCore.StringToNumberArray(GameTimeParam.param['Window Tone In Menu']);
GameTimeParam.menuWindow.font = {};
GameTimeParam.menuWindow.font['date'] = DKCore.StringToFontArray(GameTimeParam.param['Date Font In Menu']);
GameTimeParam.menuWindow.font['time'] = DKCore.StringToFontArray(GameTimeParam.param['Time Font In Menu']);
GameTimeParam.menuWindow.color = {};
GameTimeParam.menuWindow.color['date'] = GameTimeParam.param['Date Color In Menu'];
GameTimeParam.menuWindow.color['time'] = GameTimeParam.param['Time Color In Menu'];
GameTimeParam.menuWindow.frameless = DKCore.toBool(GameTimeParam.param['Frameless Window In Menu']);
GameTimeParam.menuWindow.dateFormat = '#menuWindowDate#';
GameTimeParam.menuWindow.timeFormat = '#menuWindowTime#';

// Initialize battle window
GameTimeParam.battleWindow = {};
GameTimeParam.battleWindow.mode = 'battle';
GameTimeParam.battleWindow.show = DKCore.toBool(GameTimeParam.param['Show Window In Battle']);
GameTimeParam.battleWindow.switch = Number(GameTimeParam.param['Window Switch In Battle']);
GameTimeParam.battleWindow.parameters = DKCore.StringToNumberArray(GameTimeParam.param['Window Position In Battle']);
GameTimeParam.battleWindow.windowskin = GameTimeParam.param['Window Skin In Battle'];
GameTimeParam.battleWindow.opacity = DKCore.StringToNumberArray(GameTimeParam.param['Window Opacity In Battle']);
GameTimeParam.battleWindow.font = {};
GameTimeParam.battleWindow.font['date'] = DKCore.StringToFontArray(GameTimeParam.param['Date Font In Battle']);
GameTimeParam.battleWindow.font['time'] = DKCore.StringToFontArray(GameTimeParam.param['Time Font In Battle']);
GameTimeParam.battleWindow.color = {};
GameTimeParam.battleWindow.color['date'] = GameTimeParam.param['Date Color In Battle'];
GameTimeParam.battleWindow.color['time'] = GameTimeParam.param['Time Color In Battle'];
GameTimeParam.battleWindow.frameless = DKCore.toBool(GameTimeParam.param['Frameless Window In Battle']);
GameTimeParam.battleWindow.dateFormat = '#battleWindowDate#';
GameTimeParam.battleWindow.timeFormat = '#battleWindowTime#';

// Initialize day/night
GameTimeParam.tint = {};
GameTimeParam.tint.show = DKCore.toBool(GameTimeParam.param['Use Day/Night']);
GameTimeParam.tint.showOnStart = DKCore.toBool(GameTimeParam.param['Show Day/Night On Game Start']);
GameTimeParam.tint.dynamic = DKCore.toBool(GameTimeParam.param['Dynamic Day/Night']);
GameTimeParam.tint.inBattle = DKCore.toBool(GameTimeParam.param['Use Day/Night In Battle']);
GameTimeParam.tint.background = DKCore.toBool(GameTimeParam.param['Show Day/Night In Map Background']);
GameTimeParam.tint.switch = Number(GameTimeParam.param['Switch Day/Night']);

// Initialize variables
GameTimeParam.variables = {};
GameTimeParam.variables.sec = Number(GameTimeParam.param['Variable For Seconds']);
GameTimeParam.variables.min = Number(GameTimeParam.param['Variable For Minutes']);
GameTimeParam.variables.hour = Number(GameTimeParam.param['Variable For Hours']);
GameTimeParam.variables.day = Number(GameTimeParam.param['Variable For Days']);
GameTimeParam.variables.dayWeek = Number(GameTimeParam.param['Variable For Days Week']);
GameTimeParam.variables.month = Number(GameTimeParam.param['Variable For Months']);
GameTimeParam.variables.year = Number(GameTimeParam.param['Variable For Years']);

But now, when there is an RPG Maker version 1.5+ and DKTools it's enough just to create one object!
var GameTimeParam = new DKTools.ParameterManager('DKCore_Game_Time');

And, in order to get the necessary parameter it is enough to specify only its name in the get function
GameTimeParam.get('Use Real Time');

The class fully supports all the innovations of RPG Maker version 1.5+!
All parameter types are automatically determined based on @type of the tag in your parameters
 

DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Version 0.99 Beta. First post updated.
 

DK

Veteran
Veteran
Joined
Mar 30, 2016
Messages
251
Reaction score
304
First Language
Russian
Primarily Uses
RMMV
Version 0.992 Beta. First post updated.
 

Latest Threads

Latest Posts

Latest Profile Posts

Today *Fix the game UI
RMMZ maxRows make me tired.
The game supports real-time language switching (really interesting).
8laFKAa.png


jBYDFzZ.png


lYbvPth.png

mY99lgU.png

Swag collecting in the new randomly generated area. Now the mini map also shows the randomly generated features... And even illustrates the whole "bubble" system" that I made to manage memory... Though that part's inadvertent. We'll just call that "the fog of war"... Yes, that's what we'll do. Nobody will be the wiser! :kaopride:
not me being not lazy for 5 seconds and drawing another char portrait (her name is hazel)
its_hazel.png
Been a while since the last time I made a song remix. Had a blast making this
One thing those jp developer still get wrong about boob physic is that... men's muscly hard pecs can jiggle too.

Forum statistics

Threads
110,455
Messages
1,053,445
Members
143,543
Latest member
YekLeAm
Top