Search the Community
Showing results for tags 'karma'.
-
Version 1.6.2
7 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, naked kills, raiding others). It also includes anti-abuse protections for teams/clans (maturity + recent-group grace) and optional integrations (BetterChat, SimpleStatus, Clans, NTeleportation, Economics, ImageLibrary). Key Features: Fully configurable positive and negative karma actions Anti-abuse protections for team/clan farming (maturity + grace windows) Optional teleport restrictions and safe-zone hostility based on rank Rank system with colors and metabolism effects (hunger/thirst) Optional chat/UI integrations (BetterChat, SimpleStatus) 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). Sever Commands: karma.add <steamId64|name> <amount> karma.remove <steamId64|name> <amount> karma.set <steamId64|name> <amount> Debug/maintenance: karma.dump <steamid|name> karma.redeem <steamid|name> karma.caches karma.resetstate <steamid|name> karma.cleartc karma.debug.set <steamid|name> <karma> 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": false, "Use team": true, "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": 8 }, "Self defense kill": { "Enabled": false, "Karma to remove": 0 }, "On same player repeated kills": { "Enabled": true, "Karma to remove": 10, "Window minutes": 30, "Free kills per pair": 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": 160.0, "Raid window seconds": 900, "Cooldown seconds per tc": 180 } }, "Positive actions": { "Self defense kill": { "Enabled": false, "Karma to add": 1 }, "Revive player": { "Enabled": true, "Karma to add": 6, "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, "Recent medical use seconds (healer detection)": 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": 1, "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": 60 }, "Donation to naked": { "Enabled": true, "Karma to add": 2, "Per target cooldown seconds": 1800 }, "Redemption bonus": { "Enabled": true, "Karma to add": 3, "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, "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, "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, "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, "Hostile in safe zone": true } ], "Positive": [ { "Name": "Friendly", "Positive threshold": 25, "Color": "#7cb342", "Metabolism": { "Hunger reduction percent": 20.0, "Thirst reduction percent": 20.0 } }, { "Name": "Honorable", "Positive threshold": 100, "Color": "#43a047", "Metabolism": { "Hunger reduction percent": 30.0, "Thirst reduction percent": 30.0 } }, { "Name": "Guardian", "Positive threshold": 200, "Color": "#1e88e5", "Metabolism": { "Hunger reduction percent": 40.0, "Thirst reduction percent": 40.0 } }, { "Name": "Protector", "Positive threshold": 400, "Color": "#1565c0", "Metabolism": { "Hunger reduction percent": 60.0, "Thirst reduction percent": 60.0 } } ] }, "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, "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" }, "Integrations": { "Ignore players in Godmode (Vanilla God/Godmode)": true, "Ignore vanished players (Vanilla Vanish/Vanish/BetterVanish)": true } } 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)$15.99