Jump to content

dFxPhoeniX

Creator
  • Posts

    95
  • Joined

  • Last visited

Everything posted by dFxPhoeniX

  1. Also, did you see some messages in console like "Status 'xxx' from plugin 'SomePlugin' requires the Legacy CUI integration because it uses a progress bar..."?
  2. Thanks, that pretty much confirms what I suspected You re on 1.3.1, using Oxide, without AdvancedStatus, and the startup log shows that CustomVitals was unavailable and SimpleStatus fell back to Legacy CUI I just uploaded version 1.3.2. It fixes a startup timing bug where SimpleStatus could initialize before the Facepunch server state was fully ready, causing CustomVitals to be marked unavailable until the plugin was manually reloaded Please update to 1.3.2 and do a full server restart, not just a plugin reload. After startup, you should see a message saying that the CustomVitals backend is available through the SimpleStatus internal wrapper If it starts correctly on CustomVitals, the whole rendering path should be considerably lighter, since it won't need the same frequent CUI layout checks and redraw work I m also going to go through the Legacy CUI path myself and see if there's an actual performance issue there that needs fixing, because I don't want to just assume the fallback is behaving optimally Based on your logs and the before/after reload graphs, I think the performance issue is very likely tied to the Legacy CUI path rather than CustomVitals itself If the CPU usage still starts climbing again on 1.3.2 while CustomVitals is confirmed active, send me a new graph and the SimpleStatus startup messages and I'll keep tracing it
  3. Hey, thanks for the report and the graphs. The increase in the 1-second average is worth investigating. Could you confirm your exact SimpleStatus version, whether you’re using Oxide or Carbon, and whether AdvancedStatus is installed? Please also send your Permission Status config and any SimpleStatus backend/fallback messages from the console Roughly how many players were online before and after the increase around 00:30? Also, after reloading SimpleStatus, does the 1 second average drop as well, or only the cumulative total? I’ve identified some potentially unnecessary work in SimpleStatus’s update paths, but I need those details to narrow down what’s happening on your server
  4. dFxPhoeniX

    latest updates

    Changed Status from Pending to Fixed Changed Fixed In to 3.2.9
  5. dFxPhoeniX

    September update

    Changed Status from Pending to Fixed Changed Fixed In to 3.2.9
  6. dFxPhoeniX

    Easy to configure?

    Changed Status from Pending to Closed Changed Fixed In to 3.2.9
  7. Changed Status from Pending to Fixed Changed Fixed In to 3.2.9
  8. Changed Status from Pending to Not a Bug Changed Fixed In to 3.2.9
  9. For Economics, use its deposit command instead of giveto. Example: "Rewards": { "@": [ "deposit {playerid} 25" ] }, "Reward Descriptions": { "@": "25 $" } giveto is for inventory items, not Economics currency
  10. dFxPhoeniX

    Error in line 174

    Changed Status from Pending to Closed Changed Fixed In to 3.2.9
  11. dFxPhoeniX

    Constant errors!

    Changed Status from Pending to Closed Changed Fixed In to 3.2.9
  12. Changed Status from Work in Progress to Not a Bug
  13. Thanks for the update This is not an Easy Vote Extended bug. Reward entries are executed as server commands exactly as they are configured in the plugin config. So if giveto is no longer a valid command on your server and inventory.giveto is required instead, the reward command needs to be updated in your configuration. For example: inventory.giveto {playerid} stones 10000 The voting and reward system itself is still working correctly - the issue was only the configured server command. I’ll update the example/default reward command in the documentation/config to use 'inventory.giveto' to avoid confusion in the future.
  14. dFxPhoeniX

    Custom Link

    Changed Fixed In from Next Version to 3.2.9
  15. dFxPhoeniX

    Custom Link

    Changed Status from Work in Progress to Not a Bug
  16. dFxPhoeniX

    Custom Link

    The 'Server Vote Custom link' option is used to replace the individual vote links shown by /vote with one custom URL for that server. The value on the left must match the server key used under `Server Voting IDs and Keys`. For example: "Server Voting IDs and Keys": { "ServerName1": { "Rust-Servers.net": "ID:KEY", "Rustservers.gg": "ID:KEY", "BestServers.com": "ID:KEY" } }, "Server Vote Custom link": { "ServerName1": "https://alliant.gg/vote" } In this example, ServerName1 is the server key, so the same key must also be used under Server Vote Custom link. If you renamed ServerName1 to something else, for example: "Server Voting IDs and Keys": { "Alliant Games Rust Resurgence": { "Rust-Servers.net": "ID:KEY", "Rustservers.gg": "ID:KEY" } } then the custom link must use the same name: "Server Vote Custom link": { "Alliant Games Rust Resurgence": "https://alliant.gg/vote" } Also, please check the documentation before opening a support request, as the configuration structure and custom voting setup are already explained there. The 'Adding a Custom Voting Site' section explains a different feature: adding a completely new vote tracker/provider. For a custom tracker, it must first be added under 'Voting Sites API Information', for example: "MyVoteTracker.com": { "API Claim Reward (GET URL)": "https://example.com/api/claim?key={0}&player={1}&server={2}", "API Vote status (GET URL)": "https://example.com/api/status?key={0}&player={1}&server={2}", "Vote link (URL)": "https://example.com/server/{0}", "Site Uses Username Instead of Player Steam ID?": "false" } Then the same tracker name must also be added under the desired server: "ServerName1": { "MyVoteTracker.com": "SERVER_ID:API_KEY" } So these are two separate things: - Server Vote Custom link = replaces the links displayed by '/vote' with one custom URL. - Adding a Custom Voting Site = adds a new vote provider/API to the plugin. If your custom link key already matches the server key and it still does not display, send the relevant parts of your config with the API keys removed, together with your plugin version, and I can check it
  17. Changed Status from Pending to Closed Changed Fixed In to 1.2.19
  18. dFxPhoeniX

    error

    Changed Status from Pending to Closed Changed Fixed In to 1.2.19
  19. dFxPhoeniX

    Status overlay

    Changed Status from Pending to Closed Changed Fixed In to 1.2.19
  20. Changed Status from Pending to Closed Changed Fixed In to 1.2.19
  21. -Fixed custom statuses briefly overlapping native Rust HUD rows -Added immediate two-stage layout refreshes for crafting, item notifications, building actions, active-item changes, mounting, and dismounting -Updated crafting tracking for current Rust versions without using the removed ItemCraftTask.owner field -Added exact note.inv tracking for native Rust inventory notification rows -Updated standalone native status counting for poison, pet, buffs, debuffs, mounts, metabolism, workbench, crafting, safe zone, shield, and building privilege -Fixed cumulative spacing when multiple vanilla statuses are visible -Added one consistent 2px gap between the vanilla status group and the SimpleStatus group -Separated the 28px vanilla row step from the 30px SimpleStatus row step -Aligned note.inv tracking to the next server tick and reused the existing expiry polling -Fixed hidden status preferences not being restored after reload -Fixed /ts changes not being saved immediately -Fixed status position updates not respecting Rank order -Fixed standalone localization using the real player user ID -Fixed culture-dependent progress, alpha, and UI offset formatting -Fixed delayed AdvancedStatus initialization and runtime mode migration -Fixed finite-duration status tracking while AdvancedStatus is active -Fixed stale AdvancedStatus bars and standalone UI remaining after plugin unload -Fixed expired saved statuses modifying their collection while being restored -Fixed stale saved status entries when their owning plugin is no longer loaded -Fixed malformed JSON when status titles or text contain quotes, backslashes, or line breaks -Clamped standalone progress values to a valid 0-1 range -Improved API null safety, inactive-status updates, corrupted-data recovery, color parsing, and native layout refresh consistency SimpleStatus.cs
  22. Hey, I made a patched version on my side and attached the file here. Changes included: - Improved AdvancedStatus integration - Fixed several issues with status syncing when AdvancedStatus is installed - Fixed background, icon, and icon color not updating correctly with AdvancedStatus - Fixed statuses not properly hiding/showing with the toggle command when AdvancedStatus is installed - Fixed status refresh issues after sleep/wake SimpleStatus.cs
  23. Also, I found what seems to be another related issue with the AdvancedStatus bridge. When a status property is updated while AdvancedStatus is enabled, SetStatusProperty() calls AS_UpdateBar(), but it does not appear to persist the updated values into the player status data first. Because of that, if the bar later gets recreated instead of updated, it can fall back to the old/default values from the stored status data. On my side this shows up as the background color resetting to the default gray instead of keeping the updated color. I think this is related to a few things: SetStatusProperty() updates the AdvancedStatus bar directly, but does not seem to save the new property values for that player SetStatus() checks BarExists using Name instead of createdStatus.PluginName, so if that check fails, the bar may be recreated using stale/default data there may also be a similar plugin name mismatch in AS_SetDuration(), where it uses status.Plugin instead of status.PluginName I also noticed that icon color updates do not seem to work while AdvancedStatus is enabled. AS_CreateBar() appears to set the icon color correctly on creation, but AS_UpdateBar() does not seem to forward icon color updates properly, so changing iconColor later has no effect. On top of that, SetStatusIconColor() may also have a separate issue, because some overloads seem to call SetStatusIcon() instead of SetStatusIconColor(), which could also break icon color updates. So the issue is not only the transparency update - there also seems to be a broader state sync/update problem where some updated properties are not always preserved or forwarded correctly when AdvancedStatus is active.
  24. Hey, I think I found a few compatibility issues between SimpleStatus and AdvancedStatus. The main one is background transparency: when AdvancedStatus is installed, SimpleStatus creates the bar with the correct transparency, but on updates it only sends the color and not the transparency value. Because of that, AdvancedStatus seems to fall back to its default transparency, so fully opaque backgrounds become semi-transparent. While checking that, I also noticed a few other possible bridge issues: progress color update seems to use ProgressColor, but AdvancedStatus expects Progress_Color text/icon/progress transparency values do not seem to be updated properly icon updates may be incomplete in the AdvancedStatus bridge text offset does not seem to refresh if progress is added or removed later there may also be a small plugin name mismatch in the duration/bar existence calls So the main visible issue is the semi-transparent background, but there seem to be a few other SimpleStatus - AdvancedStatus compatibility problems too. Thanks
  25. dFxPhoeniX

    Karma

    Version 2.0.4

    28 downloads

    Karma is a configurable reputation/karma system for that rewards positive behavior (revive, heal, build/repair help, donation, passive peace, redemption) and punishes negative behavior (unprovoked kills, repeated kills, knocking players down, naked kills, raiding others). It includes anti-abuse protections for teams/clans (maturity + recent-group grace), optional integrations (BetterChat, SimpleStatus, ImageLibrary, Clans, NTeleportation, Economics, Godmode, AdminUtilities, Vanish, BetterVanish), rank-based teleport restrictions, safe-zone hostility, metabolism effects, and an optional overhead Karma/rank display above players. Key Features: Fully configurable positive and negative karma actions Anti-abuse protections for team/clan farming (maturity + grace windows) Improved PvP/self-defense tracking that preserves the original aggressor during a fight Optional teleport restrictions and safe-zone hostility based on rank Rank system with colors and metabolism effects (hunger/thirst) Rank-based command blocking and automatic permission grants Optional chat/UI integrations (BetterChat, SimpleStatus) Adaptive SimpleStatus foreground contrast for vanilla and Karma rank colors Optional overhead Karma/rank display with distance fading, visibility checks, and day/night brightness adjustment Dynamic optional integrations with automatic provider refresh and fallback handling Automatic legacy data migration and wipe-safe transient state cleanup Built-in Top/Bottom lists Optional API for other plugins Permissions: karma.use - Allows player/group to use the /karma command. karma.others - Allows player/group to check other players (/karma check <name|steamid>). Chat Commands: /karma - Shows help and what actions are currently enabled (requires karma.use). /karma check - Shows your karma + rank (requires karma.use). /karma check <name|steamid> - Shows karma + rank for another player (requires karma.others). /karma top - Shows top karma players (requires karma.use). /karma bottom - Shows lowest karma players (requires karma.use). /karma ranks - Shows configured positive/negative ranks and their effects (requires karma.use). Server Commands: karma.fakeplayers karma.add <steamId64|name|testId> <amount> karma.remove <steamId64|name|testId> <amount> karma.set <steamId64|name|testId> <amount> Debug/maintenance: karma.dump <steamid|name|testId> karma.redeem <steamid|name|testId> karma.caches karma.resetstate <steamid|name|testId> karma.cleartc karma.debug.set <steamid|name|testId> <karma> Integrations: Optional plugin integrations are detected dynamically when they are loaded or unloaded. Karma refreshes only the affected integration and reports provider changes without repeatedly printing the same console message. BetterChat - Optional karma rank prefix integration. SimpleStatus - Optional HUD status integration. ImageLibrary - Registers configured URL or local SimpleStatus icons and is re-resolved dynamically when loaded or unloaded. Clans - Optional external clan provider when Use clan plugin is enabled. Native Rust clan support remains separately configurable through Use clan. NTeleportation - Optional rank-based teleport restriction integration. Economics - Optional money donation detection. Godmode/AdminUtilities - Detects externally enabled GodMode before falling back to native Rust GodMode detection. Vanish/BetterVanish - Detects externally vanished players before falling back to native Rust vanish detection. Configuration: { "General": { "Save interval seconds (min 10)": 120, "Save on server save": true, "Debug": false, "Reset on wipe": false, "Reset karma on wipe to": 0, "Announce rank changes in chat": true, "Notify player when karma changes": true, "Karma notify includes reason": true, "Allow spawned players to affect Karma (testing only)": false, "Use team": true, "Use clan plugin": false, "Use clan": false, "Team maturity seconds for combat/raid grouping (0 = instant)": 60, "Team stamp keep minutes (prevents false positives for offline teammates)": 360, "Clan maturity seconds for combat/raid grouping (0 = instant)": 120, "Clan stamp keep minutes (prevents false positives for offline clanmates)": 360, "Positive actions: block if recently same team/clan (seconds)": 600, "Safe zone hostile warning cooldown seconds (min 5)": 60, "Karma hostile refresh seconds (max 15)": 5.0, "Karma hostile seconds (max 3600)": 600.0, "Drain metabolism tick seconds (min 1, max 30)": 5.0 }, "Combat logic": { "Combat window seconds": 60, "Min damage to count as aggression": 5.0, "Ignore trap damage as first hit": true, "Ignore bleed damage as first hit": true, "Ignore radiation as first hit": true, "Ignored first-hit initiator prefabs (paths)": [ "assets/prefabs/deployable/bear trap/beartrap.prefab", "assets/prefabs/deployable/landmine/landmine.prefab", "assets/prefabs/deployable/single shot trap/guntrap.deployed.prefab", "assets/prefabs/deployable/floor spikes/spikes.floor.prefab", "assets/prefabs/deployable/playerioents/teslacoil/teslacoil.deployed.prefab" ], "Count projectile only": false, "Consider victim team/clan aggression as self defense": true, "Victim group aggression requires victim engaged": true, "Victim engaged window seconds (min 1)": 12, "Consider raid window as provocation": true }, "Negative actions": { "Unprovoked kill": { "Enabled": true, "Karma to remove": 6 }, "Self defense kill": { "Enabled": false, "Karma to remove": 1 }, "On same player repeated kills": { "Enabled": true, "Karma to remove": 8, "Window minutes": 30, "Free kills per pair": 1 }, "On knock down player": { "Enabled": true, "Karma to remove": 1 }, "Naked kill penalty": { "Enabled": true, "Karma to remove": 4, "Detect": { "Max clothing slots used": 1, "Max weapons in belt": 0, "Ignore if holding weapon": true, "Ignore if has ranged weapon in belt": true, "Max minutes since spawn (0=disabled)": 60 } }, "On raid others": { "Enabled": true, "Karma to remove": 2, "Max distance from tc": 120.0, "Raid window seconds": 300, "Cooldown seconds per tc": 300, "Accumulate damage window seconds": 4, "Min accumulated damage to count": 10.0 } }, "Positive actions": { "Self defense kill": { "Enabled": false, "Karma to add": 1 }, "Revive player": { "Enabled": true, "Karma to add": 4, "Per target cooldown seconds": 900 }, "Heal other": { "Enabled": true, "Karma to add": 2, "Min healed amount": 20.0, "Per target cooldown seconds": 300, "Accumulate heal window seconds (0 = per-scan delta)": 5, "Heal attribution grace seconds": 2, "Scan radius meters": 3.0, "Scan every seconds": 1.0, "Require recent damage seconds": 20 }, "Kill negative player": { "Enabled": true, "Karma to add": 2, "Cooldown seconds per target": 600 }, "On kill while raid defending": { "Enabled": false, "Karma to add": 2, "Max distance from own tc": 160.0, "Raid window seconds": 900 }, "Help build for others": { "Enabled": true, "Karma to add": 1, "Per target cooldown seconds": 1800 }, "Repair others builds": { "Enabled": true, "Karma to add": 2, "Per target cooldown seconds": 1800 }, "On rescue monument": { "Enabled": true, "Karma to add": 3, "Per target cooldown seconds": 900 }, "Passive peace bonus": { "Enabled": true, "Karma to add": 1, "Award every minutes": 120 }, "Donation to naked": { "Enabled": true, "Karma to add": 2, "Per target cooldown seconds": 1800 }, "Donate money": { "Enabled": true, "Karma to add": 1, "Per target cooldown seconds": 1800, "Minimum money amount": 10.0 }, "Redemption bonus": { "Enabled": true, "Karma to add": 4, "Cooldown seconds": 43200, "Require no player kills minutes": 180, "Require no pvp damage minutes": 120, "Require no raid damage minutes": 180, "Require no combat minutes": 30 } }, "Ranks": { "Negative": [ { "Name": "Troublemaker", "Negative threshold": 25, "Color": "#ffb300", "Metabolism": { "Hunger per tick": 1.0, "Thirst per tick": 1.0 }, "Block teleport to home": false, "Block teleport to tpr": true, "Block teleport to town": false, "Block teleport to outpost": false, "Block teleport to bandit": false, "Block teleport to island": false, "Block teleport to tpb": false, "Block teleport to deepsea": false, "Block custom NTeleportation commands": false, "Blocked chat commands (without /; examples: kit, shop)": [], "Blocked console commands (examples: global.kill, graphics.fov)": [], "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [], "Hostile in safe zone": false }, { "Name": "Dishonorable", "Negative threshold": 100, "Color": "#ff7043", "Metabolism": { "Hunger per tick": 2.0, "Thirst per tick": 2.0 }, "Block teleport to home": true, "Block teleport to tpr": true, "Block teleport to town": false, "Block teleport to outpost": false, "Block teleport to bandit": false, "Block teleport to island": false, "Block teleport to tpb": false, "Block teleport to deepsea": false, "Block custom NTeleportation commands": false, "Blocked chat commands (without /; examples: kit, shop)": [], "Blocked console commands (examples: global.kill, graphics.fov)": [], "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [], "Hostile in safe zone": false }, { "Name": "Bandit", "Negative threshold": 200, "Color": "#ff3d00", "Metabolism": { "Hunger per tick": 2.0, "Thirst per tick": 2.0 }, "Block teleport to home": true, "Block teleport to tpr": true, "Block teleport to town": true, "Block teleport to outpost": true, "Block teleport to bandit": true, "Block teleport to island": true, "Block teleport to tpb": true, "Block teleport to deepsea": true, "Block custom NTeleportation commands": true, "Blocked chat commands (without /; examples: kit, shop)": [], "Blocked console commands (examples: global.kill, graphics.fov)": [], "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [], "Hostile in safe zone": true }, { "Name": "Nemesis", "Negative threshold": 400, "Color": "#b71c1c", "Metabolism": { "Hunger per tick": 3.0, "Thirst per tick": 3.0 }, "Block teleport to home": true, "Block teleport to tpr": true, "Block teleport to town": true, "Block teleport to outpost": true, "Block teleport to bandit": true, "Block teleport to island": true, "Block teleport to tpb": true, "Block teleport to deepsea": true, "Block custom NTeleportation commands": true, "Blocked chat commands (without /; examples: kit, shop)": [], "Blocked console commands (examples: global.kill, graphics.fov)": [], "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [], "Hostile in safe zone": true } ], "Positive": [ { "Name": "Friendly", "Positive threshold": 25, "Color": "#7cb342", "Metabolism": { "Hunger reduction percent": 20.0, "Thirst reduction percent": 20.0 }, "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [] }, { "Name": "Honorable", "Positive threshold": 100, "Color": "#43a047", "Metabolism": { "Hunger reduction percent": 30.0, "Thirst reduction percent": 30.0 }, "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [] }, { "Name": "Guardian", "Positive threshold": 200, "Color": "#1e88e5", "Metabolism": { "Hunger reduction percent": 40.0, "Thirst reduction percent": 40.0 }, "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [] }, { "Name": "Protector", "Positive threshold": 400, "Color": "#1565c0", "Metabolism": { "Hunger reduction percent": 60.0, "Thirst reduction percent": 60.0 }, "Granted permissions (example entry: Name: VIP Kits, Permission: kits.vip)": [] } ] }, "BetterChat": { "Enabled": true, "Format": "[{KarmaRank}]", "Font size": 15 }, "SimpleStatus": { "Enabled": true, "Left side mode (karma|rank)": "karma", "Hide when neutral": true, "Use karma ranks color": false, "Use vanilla tint": false, "Use automatic label/value contrast with vanilla/rank colors": true, "Status id": "karma.rank", "Positive background": "#738D45", "Negative background": "#C74A37", "Neutral background": "#6B6B6B", "Positive icon color": "#A3FE03", "Negative icon color": "#782600", "Neutral icon color": "#E0E0E0", "Positive label color": "#FFFFFF", "Negative label color": "#DEDEDE", "Neutral label color": "#FFFFFF", "Positive value color": "#FFFFFF", "Negative value color": "#DEDEDE", "Neutral value color": "#FFFFFF", "Icon (/oxide/data/Karma/images/<name>.png for local)": "https://i.ibb.co/7tspt4MD/karma.png" }, "Overhead rank display": { "Enabled": true, "Display mode (karma|points|rank)": "karma", "Hide when neutral": false, "Use karma ranks color": false, "Use vanilla tint": true, "Brighten colors during day": true, "Day brightness multiplier (1.0 - 2.0)": 1.5, "Dim colors at night": true, "Night brightness multiplier (0.1 - 1.0)": 0.6, "Positive color": "#96AA74", "Negative color": "#D57769", "Neutral color": "#E0E0E0", "Font size": 14, "Maximum distance": 20.0, "Refresh interval seconds": 0.04 }, "Integrations": { "Ignore players in Godmode (Vanilla God/Godmode)": true, "Ignore vanished players (Vanilla Vanish/Vanish/BetterVanish)": true } } SimpleStatus color behavior: When Use vanilla tint or Use karma ranks color is enabled, Karma derives the foreground color from the active background instead of relying on a fixed color mapping. If Use automatic label/value contrast with vanilla/rank colors is enabled, the icon, label, and value use the same automatically resolved foreground color. Overhead rank display: The overhead display is independent from SimpleStatus and can show one of three values above nearby players: karma - Localized positive, negative, or neutral Karma text points - Numeric Karma points rank - Current Karma rank name Use karma ranks color uses the configured rank color for non-neutral ranks. Otherwise, Use vanilla tint uses the built-in vanilla-style positive/negative/neutral colors; when both are disabled, the configured Positive color, Negative color, and Neutral color values are used. The display uses distance fading and visibility/line-of-sight checks. Maximum distance is clamped to 5-30 meters and Refresh interval seconds is clamped to 0.03-0.10 seconds. Wipe and data behavior: Karma values are preserved across map wipes unless Reset on wipe is enabled. Combat, raid, cooldown, farming-protection, and other transient runtime state is cleared on every new map so old state cannot carry into the next wipe. Legacy Karma data is migrated automatically to the current data format. Rank command and permission options: Negative ranks can additionally configure blocked chat commands, blocked console commands, custom NTeleportation command blocking, and granted permissions. Positive ranks can also configure granted permissions. Granted permission entries use Name and Permission values. Karma automatically synchronizes managed permissions when a player's rank changes. Languages: Karma includes two languages by default (English and Romanian), but you can add more in Oxide lang folder. API Hooks: int API_GetKarmaPoints(ulong userId) object API_GetRankInfo(ulong userId) string API_GetRankName(ulong userId) int API_GetRankType(ulong userId) void API_SetKarmaPoints(ulong userId, int value, string reason = null) void API_AddKarmaPoints(ulong userId, int amount, string reason = null) void API_RemoveKarmaPoints(ulong userId, int amount, string reason = null)
    $20.99

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
3.1m
Total downloads
Customers
12.1k
Customers served
Files Sold
171.5k
Total sales
Payments
3.7m
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.