Jump to content

mainloot

Member
  • Posts

    98
  • Joined

  • Last visited

Support Replies posted by mainloot

  1. Hi,

    We run a medium pop server that sees on average 2000 players daily. With this volume of players, The offline players tab takes a really long time to load and causes server stutters. I was wondering if general performance improvements and/or pagination are on the roadmap. Let me know!

    Thanks! 

  2. skins working great, I just noticed this when loading thousands of skins. It can take a while to complete and while it's in progress, if someone runs /s, it silently fails but logs

    Failed executing chat command 's' in 'Skinner v3.0.5 by Whispers88' [callback] (Object reference not set to an instance of an object)
       at Dictionary<int, List<ulong>> Oxide.Plugins.Skinner.GetPlayerSkins(BasePlayer player, bool update) in /var/www/servers/christmas/carbon/plugins/Skinner.cs:line 2330
       at void Oxide.Plugins.Skinner+BoxController.StartAwake() in /var/www/servers/christmas/carbon/plugins/Skinner.cs:line 2998
       at void Oxide.Plugins.Skinner.SkinCMD(IPlayer iplayer, string command, string[] args) in /var/www/servers/christmas/carbon/plugins/Skinner.cs:line 1182
       at object System.Reflection.RuntimeMethodInfo.Invoke(object obj, BindingFlags invokeAttr, Binder binder, object[] parameters, CultureInfo culture)

    It'd be cool if it could tell the player skins are currently loading or something similar. Otherwise works great.

  3. 3 hours ago, Madstayen said:

    I updated my server, then downloaded and installed the latest Skinner.cs, installed it, and then was met with the following error:

     

    Failed compiling 'Skinner.cs':
      1. Argument 1: cannot convert from 'System.Collections.Generic.HashSet<ProtoBuf.PlayerNameID>' to 'System.Collections.Generic.IEqualityComparer<ulong>' [CS1503]
         (Skinner 52 line 2591)
      2. Cannot implicitly convert type 'System.Collections.Generic.HashSet<ulong>' to 'System.Collections.Generic.HashSet<ProtoBuf.PlayerNameID>' [CS0029]
         (Skinner 56 line 2656)

    hm, I updated to 3.0.2 and all looks good to me. Are you sure you got the latest running?

  4. Getting this on staging:

    Failed compiling 'Skinner.cs':
      1. Argument 1: cannot convert from 'System.Collections.Generic.HashSet<ulong>' to 'System.Collections.Generic.IEqualityComparer<ProtoBuf.PlayerNameID>' [CS1503]
         (Skinner 59 line 2591)
      2. Cannot implicitly convert type 'System.Collections.Generic.HashSet<ProtoBuf.PlayerNameID>' to 'System.Collections.Generic.HashSet<ulong>' [CS0029]
         (Skinner 56 line 2656)

     

  5. Was getting

    Failed compiling 'AdminMap.cs':
      1. Argument 2: cannot convert from 'System.Collections.Generic.HashSet<ulong>' to 'System.Collections.Generic.IEnumerable<ProtoBuf.PlayerNameID>' [CS1503]
         (AdminMap 87 line 1799)

     

    As a quick fix before force wipe, I was able to fix by changing the authorizedUsers param data type and using BasePlayer.FindByID to get the player's username.

  6. yo J4V1, appreciate the quick response! Looks great. I am still getting the red text on connect though.

     
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "snowman_LOD1"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "snowman_LOD1"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "snowman_LOD1"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Santa-Hat"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Present"
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "Box_2"
    WheelCollider requires an attached Rigidbody to function.
    WheelCollider requires an attached Rigidbody to function.
    WheelCollider requires an attached Rigidbody to function.
    WheelCollider requires an attached Rigidbody to function.
    CollisionMeshData couldn't be created because the mesh has been marked as non-accessible. Mesh asset path "" Mesh name "snowman_LOD1"
    [16.4s] Spawning World
    [3.0s] Processing World
    [1.0s] Finalizing World
    [1.9s] Cleaning Up
    Destroyed 5184 map networkables
    Threaded texture creation has been enabled!


     

  7. Appreciate it Niko, and apologies for coming in so hot, but this is on the high end for prices relative to other maps listed here. I thought for the price that it would have performed better.

    To give a summary of my experience:

    1. "no string for" issues spamming the console, happens right after world load:

    [0.5s] Loading World
    StringPool.GetString - no string for ID2548670751
    StringPool.GetString - no string for ID2548670751
    StringPool.GetString - no string for ID1010478693
    StringPool.GetString - no string for ID1010478693
    StringPool.GetString - no string for ID2525350509
    StringPool.GetString - no string for ID2040957429

    2. "Failed to create agent" errors then begin spamming the console and do not stop

    Failed to create agent because it is not close enough to the NavMesh
    Failed to create agent because it is not close enough to the NavMesh
    Failed to create agent because it is not close enough to the NavMesh
    Failed to create agent because it is not close enough to the NavMesh
    Failed to create agent because it is not close enough to the NavMesh
    Failed to create agent because it is not close enough to the NavMesh

    3. Lastly and most importantly, the frame drop has brought me down to 2fps at times: 

     

     

    Overall, looks great (probably the best halloween map I've seen so far), but the performance renders it unusable

  8. I'm requesting a refund due to the significant frame drop and problems within the map. Both my server and client are running on top tier hw (5090 + 9950x3d) and it's bringing frames down to 8-40 fps. Constant navmesh errors spamming the console. This is completely unacceptable for a $50 map. This map is probably the worst performing, yet expensive map I've ever seen. It just doesn't work and the performance is clearly terrible. 

  9. the copy paste style method seems to load everything in the order in which they're present in the data file. IO entities, etc don't wait for foundations to fully spawn. We applied a fix locally and seems to resolve the issue. Hoping to see a similar change implemented here. We can provide a snippet of what we added if that would be helpful

  10. Hi,

    We got a player report about a base they previously saved not loading properly. It gets to 96%, but then fails to continue. I noticed at time of load, it fails with:

    08/29 22:50:25 | Failed to execute OnFrame callback (Object reference not set to an instance of an object.)
    at void Oxide.Plugins.Creative.MapEntityID(IOEntity ioEntity, JObject ioData, string key) in /var/www/servers/us-build/carbon/plugins/Creative.cs:line 5892
    at void Oxide.Plugins.Creative.MapConnectedIDs(IOEntity ioEntity, JObject entityData, bool cp) in /var/www/servers/us-build/carbon/plugins/Creative.cs:line 5833
    at Task Oxide.Plugins.Creative.SpawnEntitiesCopyPasteStyle(BasePlayer player, JArray entitiesArray, Vector3 zoneCenterPos, float fileCenterX, float fileCenterY, float fileCenterZ, float fileRotDiff, float fileRotY, Quaternion rotation, string saveName, float terrainYOffset)+() => { } in /var/www/servers/us-build/carbon/plugins/Creative.cs:line 5234
    at void Carbon.Managers.CarbonProcessor.Update() in /__w/Carbon/Carbon/Carbon.Core/Carbon/src/Processors/CarbonProcessor.cs:line 63

    it seems connectedTo can be null in some cases and it may not be getting checked?

    I've attached a copy of the base json that causes the error if it helps.

    bunker1.json

  11. This is the first time this particular server has done this. There was also this error milliseconds before the fatal crash, not sure if it's relevant:

    (Filename: /__w/Carbon/Carbon/Carbon.Core/Carbon.Components/Carbon.Common/src/Carbon/Components/HookCaller.cs Line: 956)
    	2025-08-05 12:50:47.819	
    	2025-08-05 12:50:47.819	
    ServerMgr:Update()
    	2025-08-05 12:50:47.819	
    UnityEngine.Debug:LogException(Exception, Object)
    	2025-08-05 12:50:47.819	
    UnityEngine.Logger:LogException(Exception, Object)
    	2025-08-05 12:50:47.819	
    UnityEngine.DebugLogHandler:LogException(Exception, Object)
    	2025-08-05 12:50:47.819	
    UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
    	2025-08-05 12:50:47.819	
      at ServerMgr.Update () [0x0014b] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.819	
      at ServerBuildingManager.Cycle () [0x00034] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.819	
      at ObjectWorkQueue`1[T].RunQueue (System.Double maximumMilliseconds) [0x00096] in <8d0700d8cbaa4aa19215e982439055eb>:0 
    	2025-08-05 12:50:47.819	
      at StabilityEntity+UpdateSurroundingsQueue.RunJob (UnityEngine.Bounds bounds) [0x00000] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.818	
      at StabilityEntity+UpdateSurroundingsQueue.NotifyNeighbours (UnityEngine.Bounds bounds) [0x00063] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.818	
      at StabilityEntity.OnPhysicsNeighbourChanged () [0x00009] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.818	
      at BuildingBlock.StabilityCheck () [0x00000] in <6a0cddd1b3834d348f4fc9ac7883d503>:0 
    	2025-08-05 12:50:47.818	
      at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.StabilityEntity.StabilityCheck_Patch0(StabilityEntity)
    	2025-08-05 12:50:47.818	
      at Carbon.HookCaller.CallStaticHook (System.UInt32 hookId, System.Object arg1) [0x0000c] in /__w/Carbon/Carbon/Carbon.Core/Carbon.Components/Carbon.Common/src/Carbon/Components/HookCaller.cs:956 
    	2025-08-05 12:50:47.818	
    NullReferenceException: Object reference not set to an instance of an object
    	2025-08-05 12:50:47.818	
      at ServerMgr:Update()
    	2025-08-05 12:50:47.818	
      at UnityEngine.Debug:LogException(Exception, Object)
    	2025-08-05 12:50:47.818	
      at ServerMgr.Update () (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at ServerBuildingManager.Cycle () (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at ObjectWorkQueue`1[T].RunQueue (System.Double maximumMilliseconds) (at <8d0700d8cbaa4aa19215e982439055eb>:0)
    	2025-08-05 12:50:47.818	
      at StabilityEntity+UpdateSurroundingsQueue.RunJob (UnityEngine.Bounds bounds) (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at StabilityEntity+UpdateSurroundingsQueue.NotifyNeighbours (UnityEngine.Bounds bounds) (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at StabilityEntity.OnPhysicsNeighbourChanged () (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at BuildingBlock.StabilityCheck () (at <6a0cddd1b3834d348f4fc9ac7883d503>:0)
    	2025-08-05 12:50:47.818	
      at (wrapper dynamic-method) MonoMod.Utils.DynamicMethodDefinition.StabilityEntity.StabilityCheck_Patch0(StabilityEntity)
    	2025-08-05 12:50:47.818	
      at Carbon.HookCaller.CallStaticHook (System.UInt32 hookId, System.Object arg1) (at /__w/Carbon/Carbon/Carbon.Core/Carbon.Components/Carbon.Common/src/Carbon/Components/HookCaller.cs:956)
    	2025-08-05 12:50:47.818	
    Server Exception: Building Manager

    Also, had tons of these errors:

    2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...
    	2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...
    	2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...
    	2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...
    	2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...
    	2025-08-05 12:49:52.416	
    Main thread stalling: Write queue at capacity, waiting for write thread...

    let me know if you need more info. Pop was ~50

  12. A player on our build server suggested:

    Quote

     

    unclaiming your plot should need a (chat) confirmation

    people be clicking wrong buttons in /menu losing all their progress

     

     

    I think something like this would add to the plugin's overall quality. My two cents: a confirmation box (confirm or cancel) in the middle of the screen that captures keyboard/mouse (demands immediate attention). But however it fits best in your opinion if you choose to adopt this idea.

  13. yo @Reboottesting out the update right now 😄 I have a couple of questions/comments if you have a second:

     

    Are the squares to the right supposed to be jungle? They seem like gravel

    image.png.f57e6c2f1d5819ae8c641f10393fb656.png

     

    there's a small bit of land stretching infinitely downward across the map

    image.png.cb0920ef2f112f45b57878eed8e9c4a9.png

  14. getting this a ton on my server

    Failed to call internal hook 'OnStructureUpgraded' on plugin 'Symmetry v1.0.34' [1926574503] (The given key '<redacted-steamid>' was not present in the dictionary.)
       at bool System.Collections.Generic.Dictionary<ulong, bool>.get_Item(ulong key)
       at void Oxide.Plugins.Symmetry.OnStructureUpgraded(BuildingBlock BuildingBlock, BasePlayer player, Enum Enum, ulong UInt64) in /var/www/servers/us-build/carbon/plugins/Symmetry.cs:line 560
       at object Oxide.Plugins.Symmetry.InternalCallHook(uint hook, object[] args) in Symmetry.cs/Internal:line 468

    let me know if you need more info

     

  15. Hi, when we reach a certain number of players, ~50-60, we get this error spamming our chat:

    Main thread stalling: Write queue at capacity, waiting for write thread...
    Main thread stalling: Write queue at capacity, waiting for write thread...
    Main thread stalling: Write queue at capacity, waiting for write thread...
    Main thread stalling: Write queue at capacity, waiting for write thread...
    Main thread stalling: Write queue at capacity, waiting for write thread...
    Main thread stalling: Write queue at capacity, waiting for write thread...

     

    we bumped up tickrate, but didn't help. I see people talking in carbon discord about it (not this plugin specifically, just in general): https://discordapp.com/channels/1013291619765723196/1013913915501072456/1134503700417740903

     

    Not sure if there's a wait being mishandled. 

  16. 17 hours ago, Ryuk_ said:


    1- I see that you still have 3 missing images -> "Images are now hosted on LegacyStudio CDN, Please backup your config file, delete it and reload the plugin with this new update." it will generate the new image urls.

    2- A few days ago there was a plugin rollback, because some functions (including the one to delete fondations/deployables ) were slowing down the server or not working for OXIDE users, but it worked fine for carbon, next update will have it again (and fixed for oxide users)

     yep, I did just that. I moved my original config elsewhere, let it regenerate the default one, then just added a different title. What I posted it pretty default config:

    {
    
      "svar: Disable Terrain Violation Kick": true,
    
      "svar: Disable Structure Decay": true,
    
      "svar: Always Day": true,
    
      "svar: Creative - All Users": true,
    
      "svar: Creative - FreePlacement": false,
    
      "svar: Creative - FreeBuild": true,
    
      "svar: Creative - FreeRepair": true,
    
      "Menu Title": "MAINLOOT • BUILD",
    
      "Menu Autodoors (true = on | false = off)": false,
    
      "Menu Autowindows (true = on | false = off)": false,
    
      "Menu Autoelectricity (true = on | false = off)": false,
    
      "Menu Buildingrade (true = on | false = off)": false,
    
      "Info Menu": false,
    
      "Weather Panel": false,
    
      "BuildCost Panel": true,
    
      "Lobby Area Position": {
    
        "x": 0.0,
    
        "y": 0.0,
    
        "z": 0.0
    
      },
    
      "Plot Radius DEFAULT (default: 50f)": 50.0,
    
      "Plot Radius VIP(default: 100f)": 100.0,
    
      "Saved Bases Slots DEFAULT (default: 8)": 8,
    
      "Saved Bases Slots VIP (default: 30)": 30,
    
      "Plot Clear/Despawn": true,
    
      "Plot Despawn Time (default: 300f)": 300.0,
    
      "Plot MapMarker": true,
    
      "Plot Building Upgrade Effect": true,
    
      "Plot Sphere Prefab": "assets/prefabs/visualization/sphere.prefab",
    
      "player: Clear Inventory on Disconnect": false,
    
      "player: Vehicle Manager Spawn Limit (def: 5)": 5,
    
      "Fly Keybind": "lighttoggle",
    
      "Keybind: Building Upgrade": "FIRE_PRIMARY",
    
      "Keybind: Building Downgrade": "FIRE_SECONDARY",
    
      "Keybind: Display/Close Menu": "FIRE_THIRD",
    
      "Keybind: Removal Tool (require hammer in hand)": "RELOAD",
    
      "Keybind: Change Building Grade": "USE",
    
      "Claim Plot Command List": [
    
        "claim",
    
        "c"
    
      ],
    
      "Unclaim Plot Command List": [
    
        "unclaim",
    
        "u"
    
      ],
    
      "Fly Command List": [
    
        "noclip",
    
        "fly",
    
        "f"
    
      ],
    
      "God Command List": [
    
        "god",
    
        "g"
    
      ],
    
      "Building Grade Command List": [
    
        "bgrade",
    
        "b"
    
      ],
    
      "Open Main Menu Command List": [
    
        "menu",
    
        "m"
    
      ],
    
      "Open Weather Menu Command List": [
    
        "weather",
    
        "time"
    
      ],
    
      "Save Base Command List": [
    
        "save",
    
        "guardar"
    
      ],
    
      "Load Base Command List": [
    
        "load",
    
        "cargar"
    
      ],
    
      "Info Panel Command List": [
    
        "help",
    
        "info"
    
      ],
    
      "IMGUR CLIENT ID": "XXX",
    
      "Paste.ee Auth Token (Required for multiple servers)": "PASTE.EE TOKEN HERE",
    
      "ImgBB Api Key (Needed for Base image saving system if imgur does not work.)": "IMGBB API KEY",
    
      "Loading base (building block) delay time (default: 100 milliseconds)": 100,
    
      "Loading base (deployables) delay time (default: 200 milliseconds)": 200,
    
      "Log Errors (false by default)": false,
    
      "Info Panel - Left Top Panel Text": "<b><size=30><color=white>COMMAND LIST </color> </size> </b>   \n <b><color=yellow>/claim - /c</color></b> <color=white>Claim a plot</color>  \n <b><color=yellow>/unclaim - /u</color></b> <color=white>Unclaim current plot</color>  \n <b><color=yellow>/noclip - /fly - /f</color></b> <color=white>Enable/Disable Noclip (FLY)</color>  \n <b><color=yellow>/god - /g</color></b> <color=white>Enable/Disable GodMode</color>  \n <b><color=yellow>/bgrade 0 to 4 - /b 0 to 4</color></b> <color=white>Change the current building grade</color>  \n <b><color=yellow>/menu - /m</color></b> <color=white>Open Main Menu</color>  \n <b><color=yellow>/weather - /time</color></b> <color=white>Allow the user to change the local weather</color>  \n <b><color=yellow>/save base_name - /guardar base_name</color></b> <color=white>Save the current building in the claimed plot.</color>  \n <b><color=yellow>/load base_name - /cargar base_name</color></b> <color=white>Load a saved base in the claimed plot.</color>  \n <b><color=yellow>/help - /info</color></b> <color=white>Open the info menu</color> \n <b><color=yellow>/invite player_name</color></b> <color=white>Invite a player to your team</color>\n <b><color=yellow>/cost</color></b> <color=white>Enable/Disable COST UI</color>",
    
      "Info Panel - Left Down Panel Text": "<b><size=30><color=white>KEYBIND LIST </color> </size> </b>  \n <b><color=yellow>Middle Mouse Button</color></b> <color=white>Open/Close Main Menu</color>  \n <b><color=yellow>F Key</color></b> <color=white>Enable/Disable Noclip</color>  \n <b><color=yellow>R Key + Hammer in Hand</color></b> <color=white>Removal Tool</color>  \n <b><color=yellow>SHIFT + Hammmer in Hande + Left Mouse Button</color></b> <color=white>Upgrade Building</color>  \n <b><color=yellow>SHIFT + Hammmer in Hande + Right Mouse Button</color></b> <color=white>Downgrade Building</color>  \n <b><color=yellow>SHIFT + E Key</color></b> <color=white>Change Building Grade</color>",
    
      "Info Panel - Right Top Panel Text": "<b><size=30><color=white>HOW TO ADD MORE INFO? </color> </size> </b> \n<b><color=yellow>«b» BOLD TEXT «/b»</color></b> \n<i><color=yellow>«i» ITALIC TEXT «/i»</color></i> \n<b><color=yellow>«color=color here (red/white...)» COLORED TEXT «/color»</color></b> \n<b><color=yellow>«size=size here (1,5,20,34...)» BIGGER/SMALLER TEXT «/size»</color></b> \n",
    
      "Info Panel - Right Down Panel Text": "Add more text here if you want... (Modify the config file!)",
    
      "MySQL Data": [
    
        {
    
          "Server": "SERVER",
    
          "Username": "USERNAME",
    
          "Password": "PASSWORD",
    
          "Database": "DATABASE NAME",
    
          "Port": 3306
    
        }
    
      ],
    
      "Resources: Give Player Resources": [
    
        "wood",
    
        "stones",
    
        "sulfur",
    
        "cloth",
    
        "leather",
    
        "lowgradefuel",
    
        "metal.refined",
    
        "gunpowder",
    
        "hqm",
    
        "metal.fragments",
    
        "fat.animal",
    
        "skull.human",
    
        "gears",
    
        "pipes",
    
        "stash.small",
    
        "grenade.beancan",
    
        "propanetank",
    
        "roadsigns",
    
        "rope",
    
        "semibody",
    
        "sheetmetal",
    
        "tarp",
    
        "techparts",
    
        "targeting.computer",
    
        "cctv.camera",
    
        "riflebody",
    
        "scrap",
    
        "smgbody",
    
        "explosives",
    
        "metalspring",
    
        "electricfuse",
    
        "metalblade",
    
        "metalpipe",
    
        "ladder.wooden.wall",
    
        "skull.wolf",
    
        "sewingkit"
    
      ],
    
      "ImageData": [
    
        {
    
          "ImageName": "twigs",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/twigs.png"
    
        },
    
        {
    
          "ImageName": "wood",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/wood.png"
    
        },
    
        {
    
          "ImageName": "stones",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/stones.png"
    
        },
    
        {
    
          "ImageName": "metal fragments",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/metal.fragments.png"
    
        },
    
        {
    
          "ImageName": "high quality metal",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/metal.refined.png"
    
        },
    
        {
    
          "ImageName": "wood_dlc",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/10226.png"
    
        },
    
        {
    
          "ImageName": "adobe",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/10220.png"
    
        },
    
        {
    
          "ImageName": "bricks",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/10223.png"
    
        },
    
        {
    
          "ImageName": "brutalist",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Materials/10225.png"
    
        },
    
        {
    
          "ImageName": "ScrapCopter",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/scrap-heli.png"
    
        },
    
        {
    
          "ImageName": "MagnetCrane",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/magnet-crane.png"
    
        },
    
        {
    
          "ImageName": "Chinook",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/JjRociu.png"
    
        },
    
        {
    
          "ImageName": "AttackHelicopter",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/attack-helicopter.png"
    
        },
    
        {
    
          "ImageName": "Sedan",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/psn6fvX.png"
    
        },
    
        {
    
          "ImageName": "RidableHorse",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/ridable-horse.png"
    
        },
    
        {
    
          "ImageName": "2ModuleCar",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/modular-vehicle-2.png"
    
        },
    
        {
    
          "ImageName": "3ModuleCar",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/modular-vehicle-3.png"
    
        },
    
        {
    
          "ImageName": "4ModuleCar",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/modular-vehicle-4.png"
    
        },
    
        {
    
          "ImageName": "Snowmobile",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/snowmobile.png"
    
        },
    
        {
    
          "ImageName": "RowBoat",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/rowboat.png"
    
        },
    
        {
    
          "ImageName": "Rhib",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/rhib.png"
    
        },
    
        {
    
          "ImageName": "SoloSubmarine",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/submarine-solo.png"
    
        },
    
        {
    
          "ImageName": "DuoSubmarine",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/submarine-duo.png"
    
        },
    
        {
    
          "ImageName": "Tugboat",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/tugboat.png"
    
        },
    
        {
    
          "ImageName": "Minicopter",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/minicopter.png"
    
        },
    
        {
    
          "ImageName": "HotAirBallon",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/balloon.png"
    
        },
    
        {
    
          "ImageName": "Bike",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/bicycle.png"
    
        },
    
        {
    
          "ImageName": "MotorBike",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/motorbike.png"
    
        },
    
        {
    
          "ImageName": "MotorBikeSideCar",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/motorbike-sidecar.png"
    
        },
    
        {
    
          "ImageName": "UpVote",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/rCaZzhq.png"
    
        },
    
        {
    
          "ImageName": "DownVote",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Vehicles/F9I5jQc.png"
    
        },
    
        {
    
          "ImageName": "garage_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/wall.frame.garagedoor.png"
    
        },
    
        {
    
          "ImageName": "heater",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/heather.png"
    
        },
    
        {
    
          "ImageName": "flasherlight",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/flasherlight.png"
    
        },
    
        {
    
          "ImageName": "electricfurnace",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/electricfurnace.png"
    
        },
    
        {
    
          "ImageName": "industrial",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/industrialwalllight.png"
    
        },
    
        {
    
          "ImageName": "animatedneon",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/animatedneon.png"
    
        },
    
        {
    
          "ImageName": "double_wooden_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.double.hinged.wood.png"
    
        },
    
        {
    
          "ImageName": "double_metal_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.double.hinged.metal.png"
    
        },
    
        {
    
          "ImageName": "double_hqm_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.double.hinged.toptier.png"
    
        },
    
        {
    
          "ImageName": "simple_wooden_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.hinged.wood.png"
    
        },
    
        {
    
          "ImageName": "simple_metal_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.hinged.metal.png"
    
        },
    
        {
    
          "ImageName": "simple_hqm_door",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/door.hinged.toptier.png"
    
        },
    
        {
    
          "ImageName": "Window_Wooden",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/wall.window.bars.wood.png"
    
        },
    
        {
    
          "ImageName": "Window_Metal",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/wall.window.bars.metal.png"
    
        },
    
        {
    
          "ImageName": "Window_Hqm",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/wall.window.bars.toptier.png"
    
        },
    
        {
    
          "ImageName": "Window_Glass_Reinforced",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/wall.window.glass.reinforced.png"
    
        },
    
        {
    
          "ImageName": "Embrasure_Shutters",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/shutter.wood.a.png"
    
        },
    
        {
    
          "ImageName": "Embrasure_Metal_Vertical",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/shutter.metal.embrasure.b.png"
    
        },
    
        {
    
          "ImageName": "Embrasure_Metal_Horizontal",
    
          "ImgUrl": "https://cdn.legacystudio.com.ar/Misc/shutter.metal.embrasure.a.png"
    
        },
    
        {
    
          "ImageName": "autoturret",
    
          "ImgUrl": "https://carbonmod.gg/assets/media/items/autoturret.png"
    
        }
    
      ],
    
      "KitData": [
    
        {
    
          "Item ID": 200773292,
    
          "Item Skin ID": 3326537103,
    
          "Player Container Type (Main, Belt, Wear)": 1
    
        },
    
        {
    
          "Item ID": 237239288,
    
          "Item Skin ID": 2483395996,
    
          "Player Container Type (Main, Belt, Wear)": 2
    
        },
    
        {
    
          "Item ID": 1751045826,
    
          "Item Skin ID": 2483392049,
    
          "Player Container Type (Main, Belt, Wear)": 2
    
        }
    
      ],
    
      "Blocked Items": [
    
        "firework.boomer.blue",
    
        "firework.romancandle.blue",
    
        "firework.boomer.champagne",
    
        "firework.boomer.green",
    
        "firework.romancandle.green",
    
        "firework.boomer.orange",
    
        "firework.boomer.pattern",
    
        "firework.boomer.red",
    
        "firework.romancandle.red",
    
        "firework.volcano.red",
    
        "firework.boomer.violet",
    
        "firework.romancandle.violet",
    
        "firework.volcano.violet",
    
        "firework.volcano",
    
        "electric.igniter"
    
      ]
    
    }

     

  17. Hi, great plugin so far. I have noticed that sometimes when trying to remove a block (happened to me with foundation and wall frame so far), it kicks me and throws an error in server logs:

     Exception (cs:111282): NullReferenceException: Object reference not set to an instance of an object. BasePlayer.%2821aa1f47ab4c2e9bf3711868c8aa34fe78308d () (at <00000000000000000000000000000000>:0) BasePlayer.%45112f961b1f2fb54e7f5f00664c85baf19d2fc0 (%419c4e251d8f57c823411f79f7117c911d21313d %28343b102ab1cbd7b683a7734044eefa8ed70d58, System.Single %d31e277af7ff0a3b5b204c429fb820dfe37dcee9) (at <00000000000000000000000000000000>:0) BasePlayer.ClientUpdateLocalPlayer (System.Single %500be4fa074d9c81009c05ad5512507b3400a602) (at <00000000000000000000000000000000>:0) BasePlayer.%ada377f05d61fc5a4468e67534200dba1e0e136b (System.Single %500be4fa074d9c81009c05ad5512507b3400a602) (at <00000000000000000000000000000000>:0) Client.Update () (at <00000000000000000000000000000000>:0)

    I've also attached a video since I was recording when it happened the second time.

  18. I see there's code in here to disable ThirdPersonView on destroy, but it stays in third person. The oxide forums I've read suggest there's currently no way to get back out of third person once set from a plugin, but they're a few years old. I tried taking a whack at solving it, but no luck. 

  19. Attached is an image showing the primary issue (top and bottom right): sometimes, some of the UI elements don't get cleaned up when skinner is closed. Initially, I noticed this error in logs when it happens:

     

    NullReferenceException: Object reference not set to an instance of an object
      at Oxide.Plugins.Skinner+BoxController.OnDestroy () [0x000c0] in <d600f4f3223b46b1a12eddfd22098c4f>:0

     

    So I checked out this function and saw that it happens here:

     

    if (backpack != null)
        backpack.contents.onPreItemRemove -= PosWatch;

     

    All I did to fix it was mimic what you do in StartItemSkin method and also check to see if backpack.contents is null, e.g.:

     

    if (backpack != null && backpack.contents != null)
        backpack.contents.onPreItemRemove -= PosWatch;

     

    Hope this helps anyone experiencing the same issue.

    image.png

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.5m
Total downloads
Customers
10.9k
Customers served
Files Sold
157.4k
Marketplace sales
Payments
3.4m
Processed total
×
×
  • 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.