Jump to content

Khan

Creator
  • Posts

    836
  • Joined

Everything posted by Khan

  1. Khan

    Stack Modifier

    @SlayersRust It has a built in auto updater function so yes it should just auto update without issues.
  2. Khan

    auto team

    There is no option to disable that feature. It's only triggered when you are in a team & Assign a Bed/bag/etc to someone when they have not yet joined your team.
  3. Khan

    2.5.2 version

    Changed Status from Pending to Closed Changed Fixed In to 2.5.7
  4. Khan

    Stack Modifier

    Update 2.5.7 Fixes any issues with this wipes changes. If you have not yet done so, pls update.
  5. Khan

    stacks completely not working

    Changed Status from Pending to Closed Changed Fixed In to 2.5.7
  6. Khan

    Stack Modifier

    @ZEODE You have been out of town / away on vacation so I've been waiting for you to come back before trying to reach out to you. & frankly it's been so long that I've forgotten. "But unless people are putting incorrect vanilla names" ?? That field is natively null on vanilla items. If it is supposed to be a vanilla item that field should never be set. Ever. Also for the record umod release is abandoned / not maintained. I only support codefling release. I haven't logged into umod in over a year. If you really wanted to reach out to me about a plugin you could simply do so in discord or here on codefling but umod is not a platform I even look at.
  7. Khan

    UI not showing

    Changed Status from Pending to Gremlins
  8. Khan

    UI not showing

    It's okie, no worries. I was just running out of ideas of what it could have been. I'm glad you got it sorted, I'll be closing this ticket now, have a good day /
  9. Khan

    UI not showing

    No the Config file.. not the cs file
  10. Khan

    UI not showing

    And you have the config set to true for enable ui ?
  11. Khan

    UI not showing

    There should be an error or something in console then if nothing happens. Did you try removing the lang api plugin like suggested above ^^??
  12. Khan

    UI not showing

    What happens in game specifically when you try to run the command /stackmodifier Can you make a video or screens shot it? Or screen share it on discord in dms?
  13. 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.
  14. 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.
  15. 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 )
  16. 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?
  17. Khan

    Turret Modifier

    Version 1.0.3

    31 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
  18. Khan

    Image Manager

    Version 1.1.2

    226 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
  19. Changed Status from Pending to Closed
  20. Inside Epic Loot Set these 2 config options to false handleStacking = false handleSplitting = false should fix it.
  21. 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.
  22. 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.
  23. Khan

    Painted picture frames

    Changed Status from Pending to Closed
  24. Khan

    Painted picture frames

    Aye, latest update will resolve that /
  25. 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.
1.8m

Downloads

Total number of downloads.

8.5k

Customers

Total customers served.

128.4k

Files Sold

Total number of files sold.

2.7m

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.