-
Posts
1,441 -
Joined
-
Last visited
-
Days Won
26
Content Type
Profiles
Warranty Claims
Downloads
Forums
Store
Support
DOWNLOADS EXTRA
Services
Everything posted by Mr01sam
-
Changed Status from Pending to Not a Bug Changed Fixed In to 3.1.0
-
Yes your config file is outdated as of v3.1.0, I recommend you make a backup of it (for reference) and then delete the original copy so that the plugin generates a new one. Then manually transfer your settings over. If you're unsure what to do, see the section of documentation for "Upgrading Versions"
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
I'm not sure what the issue with translation you are having is. I just tested it with french and it's working just fine: Here's a few things that may help: Delete ALL your previous lang files for raid protection and have it generate a new english one, use this newly generated one as a template for other languages. If you had a lang file for v3.0.0, it may be outdated for v3.1.0, and therefore you need to regenerate it fresh. The only part of this plugin that cannot currently be translated is some of the custom status framework indicators, but that is a limitation of that plugin, not this one. For reference, here is the french lang file I was using in the picture (I only translated a few of the phrases) RaidProtection.json To answer your second question, I'm assuming by "symbol" you're using economics and you want to change the currency symbol. If so, you should check out the documentation for economics, I'm not familiar with how you would change that.
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
I have just now replicated the scenario you described with the config you provided and everything seems to be working as intended, could there perhaps be another plugin that is interfering with the protection? Here is the scenario I just tested, let me know if it sounds accurate: I have one sheet metal door (Door A), within a building zone that has 50% protection (level 10 from your config) . I have another sheet metal door (Door B), outside of a building zone, therefore it has 0% protection. I shot both doors using an assault rifle with explosive rounds 10 times. Door A took 20 damage. Door B took 40 damage. This is the expected result. I have repeated this test with multiple protection percentages. Now, in addition to potential plugin conflicts, here are some things to check for: The weapon you are attacking with might matter, for example, metal doors are very resistant to all but explosive damage and take almost no damage from other damage types By default, in the protection settings, authorized players CAN damage their own structure, and protection will be completely ignored, I think you're okay though because the config you sent protects from authorized player damage. If you're running a plugin (like TruePvE or ZoneManager) it could be overriding the hook when not at 100%, I think this is the most likely issue, as in any case other than 100% protection, the plugin will defer the protected status to another plugin if it overrides it. To save some discussion here, feel free to reach out to me in the private messages here on code fling or join my discord (link in the plugin description) and shoot me a message there.
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
Version 1.1.3
3,110 downloads
This plugin does not introduce any functionality by itself, but rather provides a framework for other plugins to manipulate the status list that appears in the game UI on the right. New Version Available This plugin has been rewritten to improve performance! The new version is now called Simple Status and can be downloaded (for free) here: Why is it a new plugin and not just an update to this one? Because I understand that many people have already written awesome plugins that utilize CSF and in order to maximize performance, the plugin needed a complete overhaul. So instead of forcing all those developers to update their plugins, I'm letting CSF stay its own thing for now, but I strongly encourage developers to move to Simple Status when they can. With the release of this new plugin, I do not plan on updating CSF at this time. Positioning As of v1.1.0 you can optionally designate where on the screen the custom statuses are stacked. The vanilla position will stack the statuses nicely on top of the default game ones, this requires more server processing, but achieves a seamless look with the Rust UI. If you don't mind sacrificing that for greater performance, you can optionally change the position property to any other valid position and the plugin won't have to track all those vanilla Rust statuses. Valid Positions: top left top top right left vanilla (default) right bottom left bottom bottom right Performance Tuning If you are not seeing performance issues, there is no need to make any changes. As of v1.1.0 there are configuration options that will help you increase performance on your server by disabling/adjusting feature. If you are having performance issues with CSF, please refer to the following configuration tips: Tip 1: Avoid using the "vanilla" position In the config you have the option to specify a position. This is where the statuses for CSF are stacked. By default, this is set to "vanilla", which means that any custom statuses will stack on top of the vanilla rust ones. This provides a clean and seamless look, however, in order to achieve this, the plugin must calculate all the scenarios for which vanilla statuses are show and then redraw them for each player on the server - which can cause performance issue. For optimal performance, change the "Position" property to any other valid value (see the Positioning section). Tip 2: Make sure "Fast Refresh" is set to "false" By default, as of v.1.1.0, statuses are refreshed once every second, which means that it may take up to one second for a player's status to be removed from their screen. If you you enable "Fast Refresh" in the config, statuses will be updated at a much quicker rate, but this will put more stress on the server. For optimal performance, set "Fast Refresh" to false. Tip 3: Limit the number of CSF plugins that use global statuses The more plugins you have that rely on CSF the more updates will need to be made. If a CSF dependent plugin is written optimally (avoiding global/dynamic statuses) then it won't hurt performance much. However, if you are running a lot of plugins that *do* use dynamic/global statuses, then you might see performance issues. It is up to the developer of CSF dependent plugins to utilize CSF efficiently. Try disabling plugins one at a time to see which ones are causing poor performance. Developer API Check out this demo for a code example of how to use the API for this plugin. (Updated 9/15/2023) Note for developers: when possible, avoid using dynamic statuses, as they are a significant performance draw. If possible, instead manually update statuses when appropriate. // API Documentation for Custom Status Framework v1.0.5 // Returns a list of all statuses for a player, both vanilla and custom ones. List<string> GetStatusList ( BasePlayer basePlayer ) // Returns true if a player has a status matching the given id. bool HasStatus ( BasePlayer basePlayer, string id ) // Method for showing a simple temporary status to a player. // This status will appear and then disappear after some time. void ShowStatus ( BasePlayer basePlayer, string id, string color = null, string text = null, string textColor = null, string subText = null, string subTextColor = null, string imageLibraryIconId = null, string iconColor = null, float seconds = 4f ) // Creates a status for the given player. private void SetStatus ( BasePlayer basePlayer, string id, string color, string text, string textColor, string subText, string subTextColor, string imageLibraryIconId, string iconColor ) // Removes the specified status from the given player. private void ClearStatus ( BasePlayer basePlayer, string id ) // Performs a ClearStatus and then a SetStatus. // Useful if you want to simply refresh a status value. private void UpdateStatus ( BasePlayer basePlayer, string id, string color, string text, string textColor, string subText, string subTextColor, string imageLibraryIconId, string iconColor ) // Creates a global status with a static value. // The value of this status will not change, but will be dynamically applied to all // players who meet the specified condition function. private void CreateStatus ( string id, string color, string text, string textColor, string subText, string subTextColor, string imageLibraryIconId, string iconColor, Func<BasePlayer, bool> condition ) // Creates a global status with a dynamic value. // The value of this status will change, and is dynamically set for each player // based on the return of the dynamicValue function. // This status will be dynamically applied to all players who meet the specified // condition function. private void CreateDynamicStatus ( string id, string color, string text, string textColor, string subTextColor, string imageLibraryIconId, string iconColor, Func<BasePlayer, bool> condition, Func<BasePlayer, string> dynamicValue ) // Deletes a global status by id. private void DeleteStatus ( string id )Free -
There are built in indicators for the plugin - if you want custom status framework message me... currently working on getting it uploaded to codefling as the umod moderators seem to have forgotten about it
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
Changed Status from Pending to Work in Progress
-
Yes! I can definitely provide some official api methods, stay tuned for an update soon
-
I can't confirm how it works in the free version because I haven't used that version in a very long time, since I no longer support it. However, in the new version you can change the indicator with the anchor values AND offset values. For example, if you want it to be in the center of the screen instead of the top left your indicator config would look like this: "Indicator Settings": { "Enabled": true, "FontSize": 18, "AnchorMin": "0.5 0.5", "AnchorMax": "0.5 0.5", "OffsetMin": "-32 -32", "OffsetMax": "32 32" } This is specifically for v3.0.0, it may change future versions.
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
- 276 comments
-
- 3
-
-
- #protection
- #base
- (and 5 more)
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
- 276 comments
-
- 1
-
-
- #protection
- #base
- (and 5 more)
-
Changed Status from Pending to Work in Progress
-
Thank you for the feedback! It's so nice to hear that the plugin work has been appreciated I see the need for what you are asking for, and I believe you can already achieve something like this by manipulating player's permissions based on their playtime. See if a plugin exists that will let you execute a command when a player reaches a certain amount of playtime. If you find one, all you would have to do is assign them a different protection level once they reach that play time. If you can't find a plugin that does this, I could write one for you real quick - just message me. I'm not planning on adding that feature to this plugin though, as that would mean more to maintain, especially since its doable with permissions. Let me know what you think!
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
Yes I can look into this for a future version
-
Changed Status from Pending to Not a Bug
-
It was something I thought about, the issue is that its a lot of processing to check for locks. Maybe I can revisit it in the future.
-
- 276 comments
-
- #protection
- #base
- (and 5 more)
-
@Saulo Pinedo I'll just message you on here!
-
Changed Status from Pending to Not a Bug Changed Fixed In to 3.0.0