Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Felski

56
Posts
259
Followers
58
Following
A member registered Oct 08, 2017 · View creator page →

Creator of

Recent community posts

Hi savints!

Trees can be bound to classes since v1.1.0.
Just know that Yanflys Sub Class plugin is incompatible and will break the skilltree plugin.
Best regards,
Felski

I was heart wrenched when I broke the lamp at 751 potatoes. :< Nice game. Catchy music. But why do they deliver so many potatoes?

Hi Jack, this legal part refers to the plugin file itself. Adjusting parameters using the rpg maker engine is fine. 

Best regards,

Felski

Yes, there are many plugin commands. See the description of the plugin file for more infos. Here is the part about plugin commands.

* ============================================================================

* Plugin Commands

* ============================================================================

* You can directly open the skill tree scene.

*  - TECHTREE [actorId]

* You can prepare the scene using the following commands:

*  - TECHTREE DISPLAYONLY

*      opens the tree in display only mode, similar to the new plugin parameter

*  - TECHTREE PRESELECT [tree uid]

*      preselects a specific tree for the actor. If the tree isnt found, the default selection is used.

*  - TECHTREE SINGLE

*      prevents the user from changing trees

*

* You can reset all techtrees for an actor. 

*  - RESETTECHTREES [actorId] [refund]

* You can reset a specific techtree for an actor by uid. Put in true or false for [refund].

*  - RESETTECHTREE [actorId] [tree uid] [refund]

* You can save the amount of active nodes in a tree by uid in a variable. Put in true or false for [refund].

*  - ACTIVENODES [actorId] [tree uid] [variable Id]

* You can add a techtree during the game:

*  - ADDTECHTREE [actorId] [tree uid]

* You can activate a specific node during the game for an actor using:

*  - ACTIVATENODE [actorId] [tree uid] [node uid]

* You can deactivate a specific node during the game for an actor using (the usually unlearn settings will be applied):

*  - DEACTIVATENODE [actorId] [tree uid] [node uid]


There are also examples in the demo.

Hey recoculous,

thanks for having an interest in my work. First, this plugin isn't updated anymore. I hope most of the bugs are fixed and it works for most use cases.

Regarding your questions. You can double click a parameter to change it and it should show a description below. 

You can also take a look into the plugin file itself. Search for END OF HELP and scroll down. This is where all the parameter definitions start. Each parameter has a line starting with @desc for the description.

The "Main Cost Items" are items you can define for a tree which will then be shown in the currency window (top right). Let's say you make a fire mage who unlocks some skills using an item called firestone. You can add the ID of firestone to "Main Cost Items" to show the number of firestones the player currently has.

To fit the whole tree on one screen you can either adjust the Node Visual Settings to make the nodes smaller or use a higher resolution (this can be achieved using Yanflys Core Engine Plugin for example)

Best regards,
Felski

You could use jobpoints and limit the once you get to just level ups.
You could also use an item that cannot be sold that represent skillpoints. Be sure to create one for each character.

No. MV and VX are different in the way they use plugins. So it can only be used in MV and MZ (to an extend).

Hey EzicDrex,

this error happens when a node in your skill tree points to a skill that doesn't exist. Normally the plugin should warn you. If it doesn't warn you, the node might point to 0.

Best regards,
Felski

Hey ElementZeroth,

repeatable nodes is a often requested feature, but  it will never happen . The way the plugin is designed just doesn't allow it without rewriting the plugin.

You can use RESETTECHTREES [actorId] to reset all trees for an actor or RESETTECHTREE [actorId] [treeUid] to reset a specific tree. Both are plugin commands.

Best regards,
Felski

Hey bajibard,

so far background images, animations and plugin commands do not work. Animations will take a while to work, as MZ changed how they do animations. This change makes it impossible to do animations in menus right now. So fixing it will be quite some work. I haven't looked into background images and plugin commands yet.

Best regards,
Felski

Thanks you very much. I'm glad you enjoy the plugin.

Hi DaemosChronicle,

for 2. you need to confirm the tree at the top first. I agree that it is a bit weird that you have to do this with only one tree, but once you did it you should be able to click on the nodes below.

Regarding 1. there are a few plugin settings that you can use to make the nodes smaller. Here are the relevant settings: https://imgur.com/a1zCUVN
I suggest lowering the width and height a bit and maybe even make the gap smaller. You can also change the font sizes in the plugin settings.

Best regards,
Felski 

Hey Eusmusia,

I think I replicated the bug and fixed it. I updated the plugin. Could you check it out?

Best regards,
Felski

Hi Eusmusia,

yes, that error seems like a bit of pain^^. Lets see.

  • Does the error happen on a new savegame?
  • Did you recently add one of the skill trees?
  • Do you have the Update Skill Trees option active?
  • What version of the plugin do you use?

Best regards,
Felski

I think you have this error because your project still uses 1.5.0 files. Follow the link shown by Yanflys Quest Journal plugin and follow the instructions there to update the project files.

Best regards
Felski

Hey blade911,

the plugin currently doesnt support yanflys message core.

Best regards
Felski

Hey Yuzz1k

can you post a picture of the console(you need to press f8 when the error shows)?
Also, when does the error happen? On game start? When opening the tree?

Best regards,
Felski

Hey mf_WillBlack,

I tried to reproduce the issue above before working on the recent update, but had no luck. Does the issue still presist with the recent update?
Best regards,
Felski

Hey blade911,

the plugin supports \I and \C. What other escape codes do you use?
Best regards,
Felski

Hey blade911,

what version of RPG Maker do you use?
Best regards,
Felski

Hi  Zacharias02,

you need to create a new option category and then add then change the text.


Just replace the text with this:

{"Name":"Saving","---Settings---":"","HelpDesc":"\"Allows you to change how saving works.\"","OptionsList":"[\"{\\\"Name\\\":\\\"Enable Autosave\\\",\\\"---Settings---\\\":\\\"\\\",\\\"HelpDesc\\\":\\\"\\\\\\\"Enable or disable the auto save feature.\\\\\\\"\\\",\\\"Symbol\\\":\\\"Option1\\\",\\\"ShowHide\\\":\\\"\\\\\\\"show = true;\\\\\\\"\\\",\\\"Enable\\\":\\\"\\\\\\\"enabled = true;\\\\\\\"\\\",\\\"Ext\\\":\\\"\\\\\\\"ext = 0;\\\\\\\"\\\",\\\"---Functions---\\\":\\\"\\\",\\\"MakeCommandCode\\\":\\\"\\\\\\\"this.addCommand(name, symbol, enabled, ext);\\\\\\\"\\\",\\\"DrawItemCode\\\":\\\"\\\\\\\"var rect = this.itemRectForText(index);\\\\\\\\nvar statusWidth = this.statusWidth();\\\\\\\\nvar titleWidth = rect.width - statusWidth;\\\\\\\\nthis.resetTextColor();\\\\\\\\nthis.changePaintOpacity(this.isCommandEnabled(index));\\\\\\\\nthis.drawOptionsName(index);\\\\\\\\nthis.drawOptionsOnOff(index);\\\\\\\"\\\",\\\"ProcessOkCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, !value);\\\\\\\\nFelski.AUTOSAVE.enableAutosave = !value;\\\\\\\"\\\",\\\"CursorRightCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, true);\\\\\\\"\\\",\\\"CursorLeftCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, false);\\\\\\\"\\\",\\\"DefaultConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = false;\\\\\\\"\\\",\\\"SaveConfigCode\\\":\\\"\\\\\\\"config[symbol] = ConfigManager[symbol];\\\\\\\\nFelski.AUTOSAVE.enableAutosave = ConfigManager[symbol];\\\\\\\"\\\",\\\"LoadConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = !!config[symbol];\\\\\\\\nFelski.AUTOSAVE.enableAutosave = !!config[symbol];\\\\\\\"\\\"}\",\"{\\\"Name\\\":\\\"Save on Map Change\\\",\\\"---Settings---\\\":\\\"\\\",\\\"HelpDesc\\\":\\\"\\\\\\\"<insert option description>\\\\\\\\n<option description line 2>\\\\\\\"\\\",\\\"Symbol\\\":\\\"Option2\\\",\\\"ShowHide\\\":\\\"\\\\\\\"show = true;\\\\\\\"\\\",\\\"Enable\\\":\\\"\\\\\\\"enabled = true;\\\\\\\"\\\",\\\"Ext\\\":\\\"\\\\\\\"ext = 0;\\\\\\\"\\\",\\\"---Functions---\\\":\\\"\\\",\\\"MakeCommandCode\\\":\\\"\\\\\\\"this.addCommand(name, symbol, enabled, ext);\\\\\\\"\\\",\\\"DrawItemCode\\\":\\\"\\\\\\\"var rect = this.itemRectForText(index);\\\\\\\\nvar statusWidth = this.statusWidth();\\\\\\\\nvar titleWidth = rect.width - statusWidth;\\\\\\\\nthis.resetTextColor();\\\\\\\\nthis.changePaintOpacity(this.isCommandEnabled(index));\\\\\\\\nthis.drawOptionsName(index);\\\\\\\\nthis.drawOptionsOnOff(index);\\\\\\\"\\\",\\\"ProcessOkCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, !value);\\\\\\\\nFelski.AUTOSAVE.onMapChange = !value;\\\\\\\"\\\",\\\"CursorRightCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, true);\\\\\\\"\\\",\\\"CursorLeftCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, false);\\\\\\\"\\\",\\\"DefaultConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = false;\\\\\\\"\\\",\\\"SaveConfigCode\\\":\\\"\\\\\\\"config[symbol] = ConfigManager[symbol];\\\\\\\"\\\",\\\"LoadConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = !!config[symbol];\\\\\\\"\\\"}\",\"{\\\"Name\\\":\\\"Save on exiting menu.\\\",\\\"---Settings---\\\":\\\"\\\",\\\"HelpDesc\\\":\\\"\\\\\\\"<insert option description>\\\\\\\\n<option description line 2>\\\\\\\"\\\",\\\"Symbol\\\":\\\"Option3\\\",\\\"ShowHide\\\":\\\"\\\\\\\"show = true;\\\\\\\"\\\",\\\"Enable\\\":\\\"\\\\\\\"enabled = true;\\\\\\\"\\\",\\\"Ext\\\":\\\"\\\\\\\"ext = 0;\\\\\\\"\\\",\\\"---Functions---\\\":\\\"\\\",\\\"MakeCommandCode\\\":\\\"\\\\\\\"this.addCommand(name, symbol, enabled, ext);\\\\\\\"\\\",\\\"DrawItemCode\\\":\\\"\\\\\\\"var rect = this.itemRectForText(index);\\\\\\\\nvar statusWidth = this.statusWidth();\\\\\\\\nvar titleWidth = rect.width - statusWidth;\\\\\\\\nthis.resetTextColor();\\\\\\\\nthis.changePaintOpacity(this.isCommandEnabled(index));\\\\\\\\nthis.drawOptionsName(index);\\\\\\\\nthis.drawOptionsOnOff(index);\\\\\\\"\\\",\\\"ProcessOkCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, !value);\\\\\\\\nFelski.AUTOSAVE.onMenuExit = !value;\\\\\\\"\\\",\\\"CursorRightCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, true);\\\\\\\"\\\",\\\"CursorLeftCode\\\":\\\"\\\\\\\"var index = this.index();\\\\\\\\nvar symbol = this.commandSymbol(index);\\\\\\\\nvar value = this.getConfigValue(symbol);\\\\\\\\nthis.changeValue(symbol, false);\\\\\\\"\\\",\\\"DefaultConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = false;\\\\\\\"\\\",\\\"SaveConfigCode\\\":\\\"\\\\\\\"config[symbol] = ConfigManager[symbol];\\\\\\\"\\\",\\\"LoadConfigCode\\\":\\\"\\\\\\\"ConfigManager[symbol] = !!config[symbol];\\\\\\\"\\\"}\"]"}


You can do adjustments from there.

Best regards,
Felski

Hey JeffMcIntyre,

thanks for your kind words. I just updated the plugin with new plugin commands that do what you requested.

Best regards,
Felski

Hey 64bitrobot,

thanks for the feedback. Seems like I made a silly mistake. I fixed it and  updated the plugin file.

Best regards,
Felski

Hi 64bitrobot,

the recent update added level requirements.

Best regards,
Felski

Hi 64bitrobot,

you're right. There is no option to add a level requirement. I'm currently working on the plugin to add some support for skilltrainers and some other things. I think your idea is great and will add it with the next update.

Best regards,
Felski

Hello discordiandreams,

I've been thinking about your questions for awhile and I don't think this can be done easily by changing the Javascript.

You could go achieve something similar in another way. You could create items that would be used to unlock the higher nodes. This would limit the amount of higher nodes by the amount of items you give the player. The skill tree would be have one lane per skill with 4 nodes. Each node would require another item. Like T1 Skill Crystal, T2 Skill Crystal, T3 Skill Crystal and T4 Skill Crystal.

That way you  would somewhat achieve what you want.

Best regards,
Felski

Hello Angel Star Studios,

thank you for your message. It is much appreciated. I am always open for ideas to improve the plugin, so feel free to open topics with your ideas. 
Best regards,
Felski

Hi,

I followed this game for a while now and I have to say the amount of updates is superb. Keep up the good work. I got the time to play today for the first time. I really enjoy the game and like how smooth it feels already.

I'm a bit annoyed that you instantly close the game by pressing ESC. I tend to use it to stop get out of menus in other game and spam it. Would be nice if it would be rebindable.

I also like the art overall. The small tiny sprites look awesome. I'm a bit put off by the different font. Especially the really small one is hard to read sometimes (the one used for quest texts and the time display.

Overall, I really really enjoy playing this game. Keep it up!

Best regards,
Felski

Hi Danny32167,

first of all, thank you for showing interest in my work.  Sadly, I stopped working on Kings of Lionhill and currently have no plans to pick it up again. 

Best regards,
Felski

Hey Myenemy,

I think I figured out the reason for the crash. I just released an update that should get rid of the crash. Alternatively, you could check if you have classes that have trees assigned that don't exists. Remove the skilltree notetags for these classes and the game should start.

Best regards,
Felski

Hi Myenemy,

what version of the plugin and rpg maker do you use?

Best regards,
Felski

I have a few ideas for future plugins that I want to release. Stay tuned.

Hi Gumbanomicon,

thanks for the feedback. I didn't added any functions that you described to the nodes. As of now, you can only activate a node once and then that's it.

I investigated the options to implement such features like multiple activations and different costs etc. All of the things we talked about in other topics. But overall it would be to much of a change of how the plugin works. It would fully prevent backwards compatibility for older trees and be to much work in my opinion. That's why I have decided to not implement it and not follow this path.

Overall I think the plugin is finished, but I will monitor any bug reports and release bug fixes if needed. But I don't think I will work on any new features in the near future.

Best regards,
Felski

Hi Gumbanomicon,

you can only change the initial view by changing the first defined node in the tree.  That is the one that is first selected by the plugin. 

Best regards,
Felski

I actually didn't think of the option to deactivate the node. I'll add this aswell.

Usually when resetting full skilltrees the skills gained by the tree are unlearned. This is used when changing classes for example. Currently I think this would fit this feature, too. What do you think? Should the skills learned by the node also be unlearned?

Hi alevel3mage,

sadly that can't be done at the moment, but I'm currently working on a new update  and part of it is a new plugin command that allows you to unlock a specific node.
Currently I still have to do the more coding heavy parts of the update, but I expect to publish it next week.

Best regards,
Felski

Hi Gumbanomicon,

thanks for bringing that up again. I also forgot about it. I tried to reproduce the bug. I copied a skill in the database and then changed it icon and some parameters and texts. Then I added a node with this new skill to a skilltree. After saving everything and closing and reopening the game the skill icon was shown properly.

It seems that this is more of a RPG Maker issue. Did you restart the game properly after copying the skill? To apply changes to the database you need to properly save the project and then close the game and reopen it by using play test. Can you try that and check if the bug still happens?

Best regards,
Felski

Hi Gumbanomicon,

it seems that my answer came out a bit to rude last time. First of all, I wanted to say thank you for all your questions and feedback. It helps me tremendously when working on the plugin. 

Regarding my last message, I just wanted to say that from my standpoint the feature of multiple node unlocks doesn't outweight the amount of work that needs to be put in. 

It's actually quite hard to make this plugin work in all use cases. Most games might actually prefer more icon based skill trees like League of Legends Masteries, Shadow of War or Assasins Creed skilltrees.  So it might be worth moving the plugin more in this direction. I'm definitely look into such visual options, but at the moment I can't confirm anything.

Best regards,
Felski

Hi Gumbanomicon,

you're right. The answer is actually no. There are two reasons for that:

  • First, it would make this plugin even more complicated and confusing and complex. 
  • Second, as you mentioned, this can already be achieved. Multiple nodes have the same effect and it is no problem to use the same common event for multiple nodes.

For your problem you could create one common event that increases the variable and assign it to multiple nodes. That way it gets increased every time and changing it would be easy, as you just have to change that one common event.

Best regards,
Felski