Jump to content

Khan

Creator
  • Posts

    784
  • Joined

Everything posted by Khan

  1. Khan

    UI not showing

    Are you on the latest oxide release? I don't support beta branches or staging builds. Also, Lang API is not needed it's only a translation tool for none english folk / Perhaps that is preventing it from working properly for you? I don't think i've updated the files in awhile for it. Pls try removing Lang API & reloading stack modifier to see if it works.
  2. Any items created by copy paste its self will not stack since item creation is bugged / not handled properly. Any items made from raidable bases should continue to work fine / stack without issues. I do not know which skins plugin you are referring to but i would suggest using the F1 menu and getting a few default items try stacking them and see if they stack normally & then try skinning them with that skins plugin & if they stop stacking then that means the skins plugin is breaking item creations. Sorry for the late reply codefling has been doing site modifications and notifications got broke for awhile I just noticed you had responded.
  3. Khan

    UI not showing

    It should work out of the box without any plugins required. It does not use or need image library. All you have to do is load the plugin and in the game do /stackmodifier while having the oxide permission stackmodifier.admin It would help if you told me what framework you are running ( oxide or carbon )
  4. Khan

    Stack Modifier

    You need to have the permission to use the UI / commands. Called stackmodifier.admin did you make sure to grant that to your self?
  5. Khan

    Turret Modifier

    Version 1.0.3

    29 downloads

    Written with the best performance in mind turret modifier brings the ability for players to have different custom sentry, auto turrets & flame turrets each with different permissions as well as a global default one. It supports tc limits, auto auths, custom toggle on/of commands and restock command of turret ammo. You can make as many perms as you wish for different turret variants. Ideal for shop plugins, vending machines and more. With more features in the works / development. Features: * Multiple Ammo Types per turret * Ability to place turrets on any building surface. * Turret Limits * Auto Authorization support for Teams & TC * Turret Customization Support * Individual trap limits * commands to toggle turrets on / off * commands to refill the turrets with ammo on the player * More to come, look at config below for full feature list F1 / Console Commands tm.flame name or steamID perm or global amount spin<optional, Example: tm.flame give khan global 3 | tm.flame give khan global 3 spin tm.turret name or steamID perm or global amount spin<optional, Example: tm.turret give khan global 3 | tm.turret give khan global 3 spin tm.sentry name or steamID perm or global amount spin<optional, Example: tm.sentry give khan global 3 | tm.sentry give khan global 3 spin tm.clear ( removes all server instances of player placed sentry turrets ) Chat Commands /toggle <on> | <off> ( toggles all auto turrets with power on or off ) NOTE: restock command requires the player to have the ammo on them to work. /restock red 500 ( restocks all turrets within that TC area with the specified ammo type & ammount per turret ) /restock <default> | <black> | <blue> | <red> | <sam> Configuration { "Enables use of permission based settings": true, "Toggle Command for Turrets: Toggles on / off (set empty string to disable)": "toggle", "ReStock Command for Turrets: Specify Ammo & ReStock Inventory (set empty string to disable)": "restock", "Give Command Flame Turret": "tm.flame", "Give Command Auto Turret": "tm.turret", "Give Command Sentry": "tm.sentry", "Clear Sentry Command": "tm.clear", "SteamIDs that are excluded from build Limits": [], "Can Be Targeted Settings": { "SteamIDs that are excluded from being targeted": [] }, "Global Auto Turret": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Bullet Speed, vanilla = 200f": 200.0, "Turret Range, vanilla = 30": 30.0, "Turret Placement Health, vanilla = 1000": 1000.0, "Aim cone, vanilla = 5": 5.0, "Inventory Capacity, Available Ammo Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Auto Turret", "Player Auto Turret Permissions": { "toptier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 15, "Bullet Speed, vanilla = 200f": 200.0, "Turret Range, vanilla = 30": 100.0, "Turret Placement Health, vanilla = 1000": 1500.0, "Aim cone, vanilla = 5": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Auto Turret" }, "midtier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 13, "Bullet Speed, vanilla = 200f": 200.0, "Turret Range, vanilla = 30": 70.0, "Turret Placement Health, vanilla = 1000": 1300.0, "Aim cone, vanilla = 5": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Auto Turret" }, "lowtier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Bullet Speed, vanilla = 200f": 200.0, "Turret Range, vanilla = 30": 50.0, "Turret Placement Health, vanilla = 1000": 1150.0, "Aim cone, vanilla = 5": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Auto Turret" } } }, "Global Sentry Turret": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Can take damage": true, "Give turret back on ground missing check": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Power Requirement, 0 = no power": 10, "Amount of ammo for one spray, 0 = no-ammo mode": 3, "Turret Range, vanilla = 30": 30.0, "Turret Placement Health, vanilla = 1000": 1000.0, "Aim cone, vanilla = 4": 4.0, "Inventory Capacity, Available Ammo Slots, Max = 36": 12, "Skin": 1587601905, "Display Name": "Sentry Turret", "Set Ammo Types, Rifle = 0 | Explosive = 1 | HV = 2 | Incendiary = 3 | SAM = 4 | All = 7": [ 0 ], "Player Sentry Turret Permissions": { "toptier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Can take damage": true, "Give turret back on ground missing check": true, "Max Tool Cupboard Limit, 0 = no limit": 15, "Power Requirement, 0 = no power": 0, "Amount of ammo for one spray, 0 = no-ammo mode": 3, "Turret Range, vanilla = 30": 100.0, "Turret Placement Health, vanilla = 1000": 1500.0, "Aim cone, vanilla = 4": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 36": 12, "Skin": 1587601905, "Display Name": "Sentry Turret", "Set Ammo Types, Rifle = 0 | Explosive = 1 | HV = 2 | Incendiary = 3 | SAM = 4 | All = 7": [ 7 ] }, "midtier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Can take damage": true, "Give turret back on ground missing check": true, "Max Tool Cupboard Limit, 0 = no limit": 13, "Power Requirement, 0 = no power": 3, "Amount of ammo for one spray, 0 = no-ammo mode": 3, "Turret Range, vanilla = 30": 70.0, "Turret Placement Health, vanilla = 1000": 1300.0, "Aim cone, vanilla = 4": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 36": 12, "Skin": 1587601905, "Display Name": "Sentry Turret", "Set Ammo Types, Rifle = 0 | Explosive = 1 | HV = 2 | Incendiary = 3 | SAM = 4 | All = 7": [ 0, 3, 2, 1 ] }, "lowtier": { "Authorize Team": true, "Authorize tc users": true, "Allow placement on Walls / Ceiling using spinners": true, "Can take damage": true, "Give turret back on ground missing check": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Power Requirement, 0 = no power": 6, "Amount of ammo for one spray, 0 = no-ammo mode": 3, "Turret Range, vanilla = 30": 50.0, "Turret Placement Health, vanilla = 1000": 1150.0, "Aim cone, vanilla = 4": 2.0, "Inventory Capacity, Available Ammo Slots, Max = 36": 12, "Skin": 1587601905, "Display Name": "Sentry Turret", "Set Ammo Types, Rifle = 0 | Explosive = 1 | HV = 2 | Incendiary = 3 | SAM = 4 | All = 7": [ 0, 3, 2 ] } } }, "Global Flame Turret": { "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Turret Flame Arc, vanilla = 45": 45.0, "Turret Trigger Duration, vanilla = 5": 5.0, "Turret Flame Range, vanilla = 7": 7.0, "Turret Flame Radius, vanilla = 4": 4.0, "Turret Fuel Per Sec, vanilla = 1": 1.0, "Turret Placement Health, vanilla = 1000": 1000.0, "Inventory Capacity, Available Fuel Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Flame Turret", "Player Flame Turret Permissions": { "toptier": { "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 15, "Turret Flame Arc, vanilla = 45": 45.0, "Turret Trigger Duration, vanilla = 5": 5.0, "Turret Flame Range, vanilla = 7": 100.0, "Turret Flame Radius, vanilla = 4": 4.0, "Turret Fuel Per Sec, vanilla = 1": 1.0, "Turret Placement Health, vanilla = 1000": 1500.0, "Inventory Capacity, Available Fuel Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Flame Turret" }, "midtier": { "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 13, "Turret Flame Arc, vanilla = 45": 45.0, "Turret Trigger Duration, vanilla = 5": 5.0, "Turret Flame Range, vanilla = 7": 70.0, "Turret Flame Radius, vanilla = 4": 4.0, "Turret Fuel Per Sec, vanilla = 1": 1.0, "Turret Placement Health, vanilla = 1000": 1300.0, "Inventory Capacity, Available Fuel Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Flame Turret" }, "lowtier": { "Allow placement on Walls / Ceiling using spinners": true, "Max Tool Cupboard Limit, 0 = no limit": 10, "Turret Flame Arc, vanilla = 45": 45.0, "Turret Trigger Duration, vanilla = 5": 5.0, "Turret Flame Range, vanilla = 7": 50.0, "Turret Flame Radius, vanilla = 4": 4.0, "Turret Fuel Per Sec, vanilla = 1": 1.0, "Turret Placement Health, vanilla = 1000": 1150.0, "Inventory Capacity, Available Fuel Slots, Max = 6": 6, "Skin": 0, "Display Name": "Custom Flame Turret" } } } }
    $24.99
  6. Khan

    Image Manager

    Version 1.1.2

    182 downloads

    Image Manager is a sleek and powerful tool for developers, offering a lightweight alternative to ImageLibrary. Its unique handling and plugin-specific callbacks make it exceptionally easy to use. Console Command: imagemanager.reset // can only be ran from server console/terminal I don't allow use client side. Features: Error Handling: Outputs special debug info for devs when something fails. It's able to self repair when the server sv.files have been deleted but a wipe hasn't occurred or vice versa. Stores images with unique identifiers to ensure reliable retrieval/removal. If unity request fails retries with www instead. Optimized Request Management: Utilizes batch processing to handle image caching requests efficiently. Auto Remove Data that isn't used past x Days: Default = 30, 0 = disabled. Sets batch limits on Images: Default = 30 & Avatars can do 100 at a time per request using steam API key. Keeps Previous Wipe Data thus reducing the need to redo everything each wipe. Groups requests into batches to optimize resource use and reduce overhead. Manages large volumes of connections without sacrificing performance. Handles high volumes of image caching requests during server wipes or mass player reconnections. Processes and caches avatar images quickly with coroutine-based execution. Manages concurrent requests from multiple plugins simultaneously without conflicts or slowdowns. Maintains responsiveness and efficiency in dynamic server environments. Plugin Communication: In addition to its core functionality, the system includes special logic to facilitate communication between plugins. Each plugin calling the image caching system is notified when its batch of requests is ready or finished, allowing it to proceed with its logic without waiting for all requests to complete. This feature enhances the flexibility and usability of the system, ensuring smooth integration with various plugins and workflows. Plugin Communication Example For Images: // Plugin Calls!? Whaaa.. :P This works with all Adding hook calls in this plugin. // Example plugin: GUIShop [PluginReference] private Plugin ImageManager; private List<string> _pluginImages = new List<string>(); private Dictionary<string, string> _guishopImages = new Dictionary<string, string>(); private void OnServerInitialized() { // This will add the images to the filesystem list for the callback if (ImageManager != null && ImageManager.IsLoaded) ImageManager?.Call("AddImages", _pluginImages, FileStorage.Type.jpg, "GUIShop"); } // why do we need this!? OnPluginLoaded for reload situations, or when plugin wasn't loaded yet. private void OnPluginLoaded(Plugin name) { if (ImageManager != null && name.Name == ImageManager.Name & ImageManager.IsLoaded) { Puts("ImageManager has been detected and GUIShop Images are now being Processed"); // This will add the images to the filesystem list for the callback ImageManager?.Call("AddImages", _pluginImages, FileStorage.Type.jpg, "GUIShop"); } } // this would be your custom call-back ( Why use this!? Because it can actually be faster so you can continue your code logic quicker ) void ImageManagerGUIShop(Dictionary<string, string> images) { _guishopImages = images; // this returns the sent URL as the KEY with the image as the value. } // now down in your GUI / UI you can do this ( same for avatars except the key is ulong ) public void Pic(ref CuiElementContainer container, string parent, string name, string anchorMin, string anchorMax, string url) { CuiRawImageComponent rawImage = new CuiRawImageComponent(); rawImage.Png = _guishopImages[url]; container.Add(new CuiElement { Parent = parent, Name = name, Components = { rawImage, new CuiRectTransformComponent { AnchorMin = anchorMin, AnchorMax = anchorMax } } }); } Plugin Communication Example for Avatars / Image Combo: private HashSet<string> _storeImages = new HashSet<string>(); private Dictionary<string, string> _storedImages = new Dictionary<string, string>(); private Dictionary<string, string> _storedAvatars = new Dictionary<string, string>(); private void OnServerInitialized() { ImageManager?.Call("AddImages", _storeImages.ToList(), FileStorage.Type.jpg, "GUIShop"); } private void OnPluginLoaded(Plugin name) { if (ImageManager != null && name.Name == ImageManager.Name) { Puts("ImageManager has been detected and Images are now being Processed"); ImageManager?.Call("AddImages", _storeImages.ToList(), FileStorage.Type.jpg, "GUIShop"); // plugin name "GUIShop" } } // your special made hook to listen for on your image request. private void ImageManagerRustID(Dictionary<string, string> received) { // you can filter which ones you want when you get the list back. example. foreach (var image in received) { if (_storeImages.Contains(image.Key)) { _storedImages[image.Key] = image.Value; _storeImages.Remove(image.Key); if (_storeImages.Count == 0) break; } } } // called when new avatars get cached so you can update as needed. void ImageManagerPlayerConnected(Dictionary<string, string> avatars) => _storedAvatars = avatars; // use for your gui example CuiRawImageComponent rawImage = new CuiRawImageComponent(); rawImage.Png = _storedAvatars[id]; //or call each time if you prefer.. (string)ImageManager?.Call("GetAvatar", id); // or image rawImage.Png = _storedImages[key] container.Add(new CuiElement { Parent = parent, Name = name, Components = { rawImage, new CuiRectTransformComponent { AnchorMin = anchorMin, AnchorMax = anchorMax } } }); API Hooks: // Avatars // Called when the plugin has initially loaded / compiled & finished/ready for use. void ImageManagerLoadedAvatars(Dictionary<string, string> avatars) // Triggered when new players connect with no stored pic yet. ( Is only called once finished storing in the event of multiple or mass player connections their Queued ) void ImageManagerPlayerConnected(Dictionary<string, string> avatars) // Triggered by 3rd party plugins doing stuff + PlayerConnected. void ImageManagerAdded(Dictionary<string, string> avatars) // called when avatars have been removed & returns the new full avatar list available. void ImageManagerRemoved(Dictionary<string, string> avatars) // Images // Called when the plugin has initially loaded / compiled & finished/ready for use. void ImageManagerLoadedImages(Dictionary<string, string> images) // Triggered by 3rd party plugins doing stuff. void ImageManagerAdded(Dictionary<string, string> images) // called when avatars have been removed & returns the new full avatar list available. void ImageManagerRemoved(Dictionary<string, string> images) API Calls: These are API CALLS which means you call them.. ImageManager?.Call("AddImages", _pluginImages, FileStorage.Type.jpg, "GUIShop"); // Example // new hook use this to specify individual image storage types. AddImages(Dictionary<string, FileStorage.Type> images, string plugin) // hook changed. AddImages(List<string> images, FileStorage.Type format, string plugin) // hook changed. Use this to specify 1 storage type for all images to save as. AddImage(string image, FileStorage.Type format, string plugin) GetImage(string image) // returns string GetImages(List<string> images) // returns Dictionary<string, string> RemoveImage(string image) RemoveImages(List<string> images) AddAvatar(ulong player, string url, string plugin) // url is optional if you want to provide custom image for player. AddAvatar(string player, string url, string plugin) // url is optional if you want to provide custom image for player. AddAvatars(Dictionary<string, string> players, string plugin) // url is optional if you want to provide custom image for player. GetAvatar(string player) // returns string GetAvatars(List<string> players) // returns Dictionary<string, string> RemoveAvatar(string player) RemoveAvatars(List<string> players) TODO: Add MYSQL Support to have 1 database available instead of each server instance. Add Discord support for Error Responses.
    Free
  7. Changed Status from Pending to Closed
  8. Inside Epic Loot Set these 2 config options to false handleStacking = false handleSplitting = false should fix it.
  9. Imthenewguy is the only person that i know of that uses that patch name so I would suggest removing his plugins that use harmony patching & the crashing should stop. I know he does it in his Itemperks plugin which i specifically do not support. He harmony patches over my work & so the error that is occurring is from his works not mine.
  10. Can you discord me the full server log? My discord id is khan8615 Also, I need your config file for stack modifier. I also need a printout of the installed plugins list. ( In server console type plugins & it will print the list of installed ones pls copy that list and send it as well ) It appears as though another plugin is harmony patching into the method twice & whatever it's trying todo is causing the error / bug.
  11. Khan

    Painted picture frames

    Changed Status from Pending to Closed
  12. Khan

    Painted picture frames

    Aye, latest update will resolve that /
  13. What plugins either modify loot or create loot on the server would be my question. BountyHunter Is a plugin that was found to be creating items wrong and setting the item.name field to an empty string thus not allowing stack. I recently patched that plugin and the dev has pushed that update out as of 1.2.2 The copy paste plugin also has item creation bugs that prevent loot from stacking with other loot. And that has not yet been patched. Loot from Jet Event 1.6.0 doesn't stack also due to invalid item creation.
  14. Khan

    item condition reset to 100%

    Changed Status from Pending to Closed
  15. Khan

    item condition reset to 100%

    Hello, I do believe you are correct since I began allowing items with same condition values to stack in updates 2.5.x It has created a new item split miss-hap. I have pushed an update to correct the split logic so hopefully that will resolve the problem of condition being re-set.
  16. Khan

    since the update

    Sounds like a fix will be out sometime tomorrow /
  17. Khan

    2.5.2 version

    pls try the latest stack modifier update a bug was discovered with condition values that prevented items from stacking properly latest update resolves this bug
  18. Khan

    since the update

    I've reached out to the dev for resolving the conflict issue, hopefully it'll be resolved soon. 🙂
  19. Khan

    since the update

    Changed Status from Pending to Work in Progress
  20. Khan

    since the update

    That explains a few things. Seems like we discovered a plugin conflict. I'll reach out to the dev & let them know how to patch their works to allow mine to handle the logic.
  21. Khan

    Stack Modifier

    @Watcher Yes, it does I will take a look at this on my test server here in about an hour when I get back & see if I can experience the same bug. I will build a farm and try seeing if corn / pumpkins stack with home grown ones to river-side ones.
  22. Khan

    Stack Modifier

    The reason comments get hidden is usually because I want you to make support tickets and respond to them instead of creating a bunch of spam on the discussion thread. Everyone has completely different stack bugs it would seem, so a fix for one owner is not the same for another. I like to keep this area open for stuff like suggestions, features or general discussion. I don't like to see comments with just error codes posted, doesn't help anything without any context and I don't want people thinking its okie to use older versions because they'll never get their servers fixed in the long run. I'm sorry if doing so made that confusing.
  23. Khan

    Stack Modifier

    @Watcher If you could msg me on discord @ khan8615 Or like respond to your support tickets then we can get the stack issues sorted out. You made support tickets and never responded to them, no matter how many times I did ( I responded 4 times on your last post ). But you have to speak to me or like nothing is gonna get fixed for you. Also, its not up to us to have 3rd party plugin support, majority of the issues are coming from codefling failing to review new plugins for improper code handling of stuff such as 'item creation' and ( 'item giving' not respecting the server stack sizes. ) They get paid to do that I don't yet I am constantly having to hunt down these plugins fix / report the issue to owners/devs. All because they don't stack for you. I do my best to reach out to problem plugin devs to let them know how to fix there works and work with them. But I have no control over if they do the fixes in their works or not. So in the end I am not to blame for anything, I've been doing my best to try and help you watcher but you don't even respond to your own support tickets so you make it impossible.
  24. Khan

    Stack Modifier

    Both RoadBradley & HeliSignals have failed display name checks. Or intentionally set them & as a result they won't stack with actual vanilla loot items from shops / other loot containers.
1.7m

Downloads

Total number of downloads.

8k

Customers

Total customers served.

121.2k

Files Sold

Total number of files sold.

2.5m

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.