Jump to content

Gd.Kenni

Creator
  • Posts

    30
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Gd.Kenni

  1. Gd.Kenni

    no ui

    Changed Status from Pending to Fixed Changed Fixed In to 1.3.15
  2. Gd.Kenni

    no ui

    Everything should now be fixed. You will need to restart the server for the UIs to work again. Sorry for the inconvenience.
  3. Gd.Kenni

    no ui

    I have updated the archive. You need to download it again.
  4. Gd.Kenni

    no ui

    It's my fault, I forgot to delete a debug method, I'll fix it right away.
  5. Gd.Kenni

    Techtree

    Yes, you can use it to replace it 98% of the time, because in my plugin a node cannot have multiple parents as in the game's original TechTree, but that doesn't happen often and I don't think it has too much of an impact.
  6. Gd.Kenni

    carbon error

    Changed Status from Pending to Not a Bug
  7. Gd.Kenni

    carbon error

    Indeed, if this is your first installation, it can't be due to the plugin, as the data is created directly from the plugin. A very strange error if it breaks the configuration of another plugin.
  8. Gd.Kenni

    carbon error

    Is this the first time you've run the plugin ? Was the configuration already created ?
  9. The node name is its ID. You don't have to call it A1, you can use anything like the item name as the ID. This is your own logic. If you want to start a tree, you don't specify a parent, otherwise you specify a parent (ID).
  10. A first node has no parent, as in my example, so if you can't unlock it, either you don't have the resources, or the branch before this node contains a node that hasn't been unlocked. Refer to the configuration generated when the plugin is launched It's not possible for my plugin to interfere with the official techtree, I'm not modifying anything in the basic game.
  11. Gd.Kenni

    Won't load with Carbon Ext

    Changed Status from Pending to Closed Changed Fixed In to Next Version
  12. The blueprint can be learned from the official tree, the research table and the custom techtree. But it must be an item and not a url. "Name": "A1", "Parent": "", "Image URL or Item": { "Type": "Item", "Value": { "Item ID": 1608640313, "Skin ID": 0 } }, I don't understand your problem, I think it's just a matter of understanding the configuration.
  13. If you learn about a blueprint from the research table or the official techtree, the item will be unlocked in the plugin tree. The bps check is performed in the background so as not to affect the opening of the display. A blueprint learned by the research table will be directly taken into account. A blueprint learned by the official techtree will have to be verified when the display is opened. Rust 2025-02-25 19-19-34.mp4
  14. Gd.Kenni

    Techtree

    I don't understand, send me a message on discord : gd.kenni
  15. Gd.Kenni

    Techtree

    Ok Oxide compatibility is added to the plugin on my side but the Carbon Aliases dll will be required. I've asked him for updates, I'll upload the new version when he updates his dll.
  16. Gd.Kenni

    Techtree

    It was originally an Oxide plugin that I migrated to Carbon. I'll look into making it Oxide Compatible too.
  17. Gd.Kenni

    Techtree

    Thank you! Yes it's a Carbon plugin and is currently not Oxide compatible.
  18. Gd.Kenni

    Techtree

    It's not intended to replace the default tree, but I've added the fact that you can learn a blueprint if it's an item you've added to the tree. So logically, it's now possible to recreate a blueprint tree.
  19. Gd.Kenni

    Techtree

    Okay, so if I understand correctly, you also want a reward when each tree is completely unlocked (i talk my plugin). If that's it, I can implement it
  20. Gd.Kenni

    Techtree

    The plugin is not designed to recreate the Rust techtree; you can assign chat commands, console commands and economic rewards, but this requires the reward to be unlocked on the plugin's techtree. If you want a special feature, I can try to integrate it but I need to know exactly what behavior to ask for. Does this answer your question?
  21. Gd.Kenni

    Techtree

    Version 1.3.16

    20 downloads

    This plugin lets you create a customizable techtree. It's not designed to replace the default Rust techtree, but it does allow you to recreate it to 98%, unlocks plans and can be used to distribute rewards or unlock features in other plugins. If you use Oxide, Carbon Aliases if required ! Else ignore this. Feature TechTree customizable TechTree by Workbenchlevel Multiple rewards (ChatCommand / ConsoleCommand / Economics) Item custom support Unlock blueprints Reward if tree is all unlocked Adaptable size with scrolling No command to open Press the Use key R on the Workbench to open the Tech Tree Permissions techtree.use techtree.unlock.free techtree.unlock.instant Information Default data files are created on plugin load Helper Grid files are created on plugin load General Settings { "Settings": { "Wipe Player Data at Wipe": true, "Time For Unlock Node": 1.0, "Selected Theme": "Default", "Use Permissions ?": false, "Use Economics ?": false, "Unlock Blueprint If Item ?": true, "Grid Settings": { "height": 20, "width": 30 }, "Level Of Zoom": 1.5 } } Techtree Data ID: ID of the node. Parent: Parent node required to unlock this node. Image URL or Item: Image used, via URL or in-game item (ID/Skin). Type: Type of Image (URL or Item). Value: Url (string) if URL or ItemID and SkinID if Item. Grid Position: Node position on the grid (x, y). Ingame Name: In-game name for this node. Short Description: Short description of the node. Additionnal Description: List of descriptions. Price: Cost to unlock this node. Curency: Resource needed to pay the price (ID/Skin). Rewards: List of rewards obtained after unlocking. Type: Type of reward (ChatCommand, ConsoleCommand or Economics). Value: Value or command associated with the reward (string). "TechTree": [ { "ID": "A2", "Parent": "A1", "Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, "Grid Position": { "x": 1.0, "y": 8.0 }, "Player Info": { "Ingame Name": "Name A2", "Short Description": "A short description", "Additionnal Description": [ "<color=#32CD32><b>First info</b></color>", "<color=#FFD700>additionnal info</color>", "Warning: <color=#DC143C>a other additionnal info</color>" ] }, "Price": 300, "Curency": { "Item ID": -804769727, "Skin ID": 2816495176 }, "Rewards": [ { "Type": "ChatCommand", "Value": "say Congratulations on unlocking A2!" }, { "Type": "ConsoleCommand", "Value": "c.grant user playerID perm.use" }, { "Type": "Economics", "Value": "6500" } ] }, ], "Extra": { "Reward On All Node Unlocked": [ { "Type": "ChatCommand", "Value": "say Congratulations, you all unlocked!" }, { "Type": "Economics", "Value": "20000" } ] } Image configuration exemple With URL : "Image URL or Item": { "Type": "Url", "Value": "https://imgur.com/SRGgaKX.png" }, With ITEM : "Image URL or Item": { "Type": "Item", "Value": { "Item ID": -1966748496, "Skin ID": 0 } }, Lang { "CLOSE": "CLOSE", "UNLOCKED": "UNLOCKED", "UNLOCK": "UNLOCK", "CANT AFFORD": "CAN'T AFFORD", "OPEN": "[R] OPEN", "NO PERM": "You don't have permission." } Api (bool) IsNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) // Return if node is unlocked (Dictionary<string, bool>) GetUnlockState(BasePlayer player, Workbench workbench) // Return unlock dictionary (nodeID/bool) for player in Workbench (void) SetUnlockState(BasePlayer player, Workbench workbench, string nodeID, bool unlocked) // Set the unlocked/locked state (true/false) for a Workbench node (void) ResetUnlockState(BasePlayer player, Workbench workbench) // Resets all unlocks state on a Workbench. Hook private void OnNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) { Puts($"Node {nodeID} as been unlocked on workbench {workbench.Workbenchlevel} by {player.UserIDString}"); } Api and Hook exemple using Oxide.Core.Plugins; using System; using System.Collections.Generic; using UnityEngine; namespace Carbon.Plugins { [Info("TechTreeApi", "Gd.kenni", "1.0.0")] public class TechTreeApi : CarbonPlugin { [PluginReference] Plugin TechTree; private void OnNodeUnlocked(BasePlayer player, Workbench workbench, string nodeID) { Puts($"Node {nodeID} as been unlocked on workbench {workbench.Workbenchlevel} by {player.UserIDString}"); } [ConsoleCommand("IsNodeUnlocked")] private void IsNodeUnlockedCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); try { var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; var statu = TechTree?.Call<bool>("IsNodeUnlocked", player, bench, "Longsleeve T-Shirt"); Puts($"{statu}"); } catch (Exception ex) { PrintError($"Error on command: {ex.Message}"); } } [ConsoleCommand("GetPlayerUnlockState")] private void GetPlayerUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; var playerStatus = TechTree?.Call<Dictionary<string, bool>>("GetPlayerUnlockState", player, bench); foreach (var kv in playerStatus) Puts($"{kv.Key} {kv.Value}"); } [ConsoleCommand("SetNodeUnlockState")] private void SetNodeUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; TechTree?.Call("SetNodeUnlockState", player, bench, "Tank Top", true); } [ConsoleCommand("ResetUnlockState")] private void ResetUnlockStateCmd(ConsoleSystem.Arg arg) { BasePlayer player = arg.Player(); var prefab = GameManager.server.FindPrefab("assets/prefabs/deployable/tier 1 workbench/workbench1.deployed.prefab"); var bench = prefab.ToBaseEntity() as Workbench; TechTree?.Call("ResetUnlockState", player, bench); } } }
    $14.99
  22. Gd.Kenni

    Admin Pass

    What kind of administration needs to know the player's code? If you need to intervene, a simple "ent unlock” command is more than enough, isn't it?
1.9m

Downloads

Total number of downloads.

9.2k

Customers

Total customers served.

133.8k

Files Sold

Total number of files sold.

2.8m

Payments Processed

Total payments processed.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.