mirror of
https://github.com/Nereziel/cs2-WeaponPaints.git
synced 2026-02-18 18:49:21 +00:00
109 lines
6.2 KiB
Markdown
109 lines
6.2 KiB
Markdown
# CS2 Weapon Paints
|
||
|
||
## Description
|
||
Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for **[CSSharp](https://docs.cssharp.dev/docs/guides/getting-started.html)**.
|
||
|
||
## Created [Discord server](https://discord.gg/d9CvaYPSFe) where you can discuss about plugin.
|
||
|
||
### Consider to donate instead of buying from unknown sources.
|
||
[](https://ko-fi.com/E1E2G0P2O) or [](https://steamcommunity.com/tradeoffer/new/?partner=41515647&token=gW2W-nXE)
|
||
|
||
## Features
|
||
- Changes only paint, seed and wear on weapons and knives
|
||
- MySQL based or global website, so you dont need MySQL/Website
|
||
- Data syncs on player connect
|
||
- Added command **`!wp`** to refresh skins ***(with cooldown in seconds can be configured)***
|
||
- Added command **`!ws`** to show website
|
||
- Added command **`!knife`** to show menu with knives
|
||
- Knife change is now limited to have these cvars empty **`mp_t_default_melee ""`** and **`mp_ct_default_melee ""`**
|
||
- Translations support, submit a PR if you want to share your translation
|
||
|
||
**GlobalShare** - global website accessible at [weaponpaints.fun](https://weaponpaints.fun/)
|
||
|
||
## CS2 Server
|
||
- Have working CounterStrikeSharp (**with RUNTIME!**)
|
||
- Download from Release and copy plugin to plugins
|
||
- Setup `addons/counterstrikesharp/configs/`**`plugins/WeaponPaints/WeaponPaints.json`** set **`GlobalShare`** to **`true`** for global, or include database credentials
|
||
- In `addons/counterstrikesharp/configs/`**`core.json`** set **FollowCS2ServerGuidelines** to **`false`**
|
||
|
||
## Plugin Configuration
|
||
<details>
|
||
<summary>Click to expand</summary>
|
||
<code><pre>{
|
||
"Version": 4, // Don't touch
|
||
"DatabaseHost": "", // MySQL host (required if GlobalShare = false)
|
||
"DatabasePort": 3306, // MySQL port (required if GlobalShare = false)
|
||
"DatabaseUser": "", // MySQL username (required if GlobalShare = false)
|
||
"DatabasePassword": "", // MySQL user password (required if GlobalShare = false)
|
||
"DatabaseName": "", // MySQL database name (required if GlobalShare = false)
|
||
"GlobalShare": false, // Enable or disable GlobalShare, plugin can work without mysql credentials but with shared website at weaponpaints.fun
|
||
"CmdRefreshCooldownSeconds": 60, // Cooldown time in refreshing skins (!wp command)
|
||
"Prefix": "[WeaponPaints]", // Prefix every chat message
|
||
"Website": "example.com/skins", // Website used in WebsiteMessageCommand (!ws command)
|
||
"Messages": {
|
||
"WebsiteMessageCommand": "Visit {WEBSITE} where you can change skins.", // Information about website where player can change skins (!ws command) Set to empty to disable
|
||
"SynchronizeMessageCommand": "Type !wp to synchronize chosen skins.", // Information about skins refreshing (!ws command) Set to empty to disable
|
||
"KnifeMessageCommand": "Type !knife to open knife menu.", // Information about knife menu (!ws command) Set to empty to disable
|
||
"CooldownRefreshCommand": "You can\u0027t refresh weapon paints right now.", // Cooldown information (!wp command) Set to empty to disable
|
||
"SuccessRefreshCommand": "Refreshing weapon paints.", // Information about refreshing skins (!wp command) Set to empty to disable
|
||
"ChosenKnifeMenu": "You have chosen {KNIFE} as your knife.", // Information about choosen knife (!knife command) Set to empty to disable
|
||
"ChosenSkinMenu": "You have chosen {SKIN} as your skin.", // Information about choosen skin (!skins command) Set to empty to disable
|
||
"ChosenKnifeMenuKill": "To correctly apply skin for knife, you need to type !kill.", // Information about suicide after knife selection (!knife command) Set to empty to disable
|
||
"KnifeMenuTitle": "Knife Menu.", // Menu title (!knife menu)
|
||
"WeaponMenuTitle": "Weapon Menu.", // Menu title (!skins menu)
|
||
"SkinMenuTitle": "Select skin for {WEAPON}" // Menu title (!skins menu, after weapon select)
|
||
},
|
||
"Additional": {
|
||
"SkinVisibilityFix": true, // Enable or disable fix for skin visibility
|
||
"KnifeEnabled": true, // Enable or disable knife feature
|
||
"SkinEnabled": true, // Enable or disable skin feature
|
||
"CommandWpEnabled": true, // Enable or disable refreshing command
|
||
"CommandKillEnabled": true, // Enable or disable kill command
|
||
"CommandKnife": "knife", // Name of knife menu command, u can change to for e.g, knives
|
||
"CommandSkin": "ws", // Name of skin information command, u can change to for e.g, skins
|
||
"CommandSkinSelection": "skins", // Name of skins menu command, u can change to for e.g, weapons
|
||
"CommandRefresh": "wp", // Name of skin refreshing command, u can change to for e.g, refreshskins
|
||
"CommandKill": "kill", // Name of kill command, u can change to for e.g, suicide
|
||
"GiveRandomKnife": false, // Give random knife to players if they didn't choose
|
||
"GiveRandomSkins": false // Give random skins to players if they didn't choose
|
||
},
|
||
|
||
"ConfigVersion": 4 // Don't touch
|
||
}</pre></code>
|
||
</details>
|
||
|
||
## Web install
|
||
Disregard if the config is **`GlobalShare = true`**
|
||
- Requires PHP >= 7.4 ***(Tested on php ver **`8.2.3`** and nginx webserver)***
|
||
- **Before using website, make sure the plugin is correctly loaded in cs2 server!** Mysql tables are created by plugin not by website.
|
||
- Copy website to web server ***(Folder `img` not needed)***
|
||
- Get [Steam API Key](https://steamcommunity.com/dev/apikey)
|
||
- Fill in database credentials and api key in `class/config.php`
|
||
- Visit website and login via steam
|
||
|
||
## Web Features
|
||
- Basic website
|
||
- Steam login/logout
|
||
- Change knife, paint, seed and wear
|
||
|
||
## Known issues
|
||
- Issue on Windows servers, no knives are given.
|
||
- Can cause incompatibility with plugins/maps which manipulates weapons and knives
|
||
|
||
## Troubleshooting
|
||
<details>
|
||
**Skins are not changing:**
|
||
Set FollowCSGOGuidelines to false in cssharp’s core.jcon config
|
||
|
||
**Database error table does not exists:**
|
||
Plugin is not loaded or configured with mysql credentials. Tables are auto-created by plugin.
|
||
|
||
**Knives are disappearing:**
|
||
Set in config GiveKnifeAfterRemove to true
|
||
</details>
|
||
|
||
### Use this plugin at your own risk! Using this may lead to GSLT ban or something else Valve come with. [Valve Server guidelines](https://blog.counter-strike.net/index.php/server_guidelines/)
|
||
|
||
## Preview
|
||

|