Skip to content

Nereziel/cs2-WeaponPaints

Repository files navigation

CS2 Weapon Paints

Description

Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for CSSharp.

Created Discord server where you can discuss about plugin.

Consider to donate instead of buying from unknown sources.

ko-fi or Donate on Steam

Features

  • Changes only paint, seed and wear on weapons, knives, gloves and agents
  • MySQL based
  • 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
  • Added command !gloves to show menu with gloves
  • Added command !agents to show menu with agents
  • Added command !pins to show menu with pins
  • Added command !music to show menu with music
  • Translations support, submit a PR if you want to share your translation

⚙️ Requirements

Ensure all the following dependencies are installed before proceeding

CS2 Server

  • Have working CounterStrikeSharp (with RUNTIME!)
  • Download from Release and copy plugin to plugins
  • Run server with plugin, it will generate config if installed correctly!
  • Edit addons/counterstrikesharp/configs/plugins/WeaponPaints/WeaponPaints.json include database credentials
  • In addons/counterstrikesharp/configs/core.json set FollowCS2ServerGuidelines to false
  • Copy from plugins folder gamedata file weaponpaints.json to folder addons/counterstrikesharp/gamedata/

Plugin Configuration

Click to expand
{
	"Version": 4, // Don't touch
	"DatabaseHost": "", // MySQL host
	"DatabasePort": 3306, // MySQL port
	"DatabaseUser": "", // MySQL username
	"DatabasePassword": "", // MySQL user password
	"DatabaseName": "", // MySQL database name
	"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": {
	"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
},

Web install

  • Requires PHP >= 7.4 with curl and pdo_mysql (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
  • 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

Troubleshooting

**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.

Use this plugin at your own risk! Using this may lead to GSLT ban or something else Valve come with. Valve Server guidelines

Preview

preview