diff --git a/README.md b/README.md index d6fc6f6f..a2134c1e 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,36 @@ -# CS2 Weapon Paints +``` -## Description + __ __ ___ _ _ + / / /\ \ \___ __ _ _ __ ___ _ __ / _ \__ _(_)_ __ | |_ ___ + \ \/ \/ / _ \/ _` | '_ \ / _ \| '_ \ / /_)/ _` | | '_ \| __/ __| + \ /\ / __/ (_| | |_) | (_) | | | / ___/ (_| | | | | | |_\__ \ + \/ \/ \___|\__,_| .__/ \___/|_| |_\/ \__,_|_|_| |_|\__|___/ + |_| + +``` + +

+ 📖 Releases • + 💬 Discord +

+

+
+ +## 📝 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. +### 💸 Consider to donate instead of buying from unknown sources. [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E2G0P2O) or [![Donate on Steam](https://github.com/Nereziel/cs2-WeaponPaints/assets/32937653/a0d53822-4ca7-4caf-83b4-e1a9b5f8c94e)](https://steamcommunity.com/tradeoffer/new/?partner=41515647&token=gW2W-nXE) -## Features +## ✨ 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 **`!stattrak`** to enable stattrak on weapon - Added command **`!gloves`** to show menu with gloves - Added command **`!agents`** to show menu with agents - Added command **`!pins`** to show menu with pins @@ -29,7 +45,7 @@ Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin - [MenuManagerCS2](https://github.com/NickFox007/MenuManagerCS2) - MySQL database -## CS2 Server +## 🗄️ 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!** @@ -37,49 +53,72 @@ Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin - 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 +## 🛠️ 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
-},
+  "ConfigVersion": 10, // Don't touch
+  "SkinsLanguage": "en", // Language
+  "DatabaseHost": "", // MySQL host
+  "DatabasePort": 3306, // MySQL Port
+  "DatabaseUser": "", // MySQL Username
+  "DatabasePassword": "", // MySQL User password
+  "DatabaseName": "", // MySQL Database name
+  "CmdRefreshCooldownSeconds": 3, // Cooldown time in refreshing skins (!wp command)
+  "Website": "example.com/skins", // Website used in WebsiteMessageCommand (!ws command)
+  "Additional": {
+    "KnifeEnabled": true, // If knives are enabled
+    "GloveEnabled": true, // If gloves are enabled
+    "MusicEnabled": true, // If music kits are enabled
+    "AgentEnabled": true, // If agents are enabled
+    "SkinEnabled": true, // If skins are enabled
+    "PinsEnabled": true, // If pins are enabled
+    "CommandWpEnabled": true, // If command !wp is enabled
+    "CommandKillEnabled": true, // If command !kill is enabled
+    "CommandKnife": [ // Command for knives
+      "knife"
+    ],
+    "CommandMusic": [ // Command for music kits
+      "music"
+    ],
+    "CommandPin": [  // Command for pins
+      "pin",
+      "pins",
+      "coin",
+      "coins"
+    ],
+    "CommandGlove": [  // Command for gloves
+      "gloves"
+    ],
+    "CommandAgent": [ // Command for agents
+      "agents"
+    ],
+    "CommandStattrak": [  // Command for stattrak
+      "stattrak",
+      "st"
+    ],
+    "CommandSkin": [  // Command for skins
+      "ws"
+    ],
+    "CommandSkinSelection": [  // Command for skin selection
+      "skins"
+    ],
+    "CommandRefresh": [  // Command for refreshing your skins
+      "wp"
+    ],
+    "CommandKill": [  // Command for death
+      "kill"
+    ],
+    "GiveRandomKnife": false, // If it should give you Random Knife
+    "GiveRandomSkin": false, // If it should give you Random Skin
+    "ShowSkinImage": true // When you select a skin if it should show skins image
+  },
+  "MenuType": "selectable" // Menu type commands. Can be: selectable, dynamic, center, chat, console
+}
 
-## Web install +## 🖥️ 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)*** @@ -87,22 +126,44 @@ Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin - Fill in database credentials and api key in `class/config.php` - Visit website and login via steam -## Web Features +## 🧩 Web Features +> [!WARNING] +> We recommend you to use any third-party website for WeaponPaints. Website by us doesn't get updated! - Basic website - Steam login/logout - Change knife, paint, seed and wear -## Troubleshooting +## 🌐 Third-party websites + - **[CSS-Bans](https://github.com/counterstrikesharp-panel/css-bans)** + - **[CS2-WeaponPaints-Website](https://github.com/LielXD/CS2-WeaponPaints-Website)** + - **[cs2-WeaponPaints-website](https://github.com/L1teD/cs2-WeaponPaints-website)** > This webiste is different from the one above! + - **[CS2-WeaponPaints-Web](https://github.com/rogeraabbccdd/CS2-WeaponPaints-Web)** +## 🤔 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. +**An error occured in Get....FromDatabase:** +If you used WeaponPaints and you update to newer version you could get this error. You need to add this queries to Database: +``` +ALTER TABLE wp_player_skins +ADD COLUMN weapon_nametag VARCHAR(128) DEFAULT NULL, +ADD COLUMN weapon_stattrak tinyint(1) NOT NULL, +ADD COLUMN weapon_stattrak_count int(10) NOT NULL, +ADD COLUMN weapon_sticker_0 VARCHAR(128) DEFAULT '0;0;0;0;0;0;0' COMMENT 'id;schema;x;y;wear;scale;rotation', +ADD COLUMN weapon_sticker_1 VARCHAR(128) DEFAULT '0;0;0;0;0;0' COMMENT 'id;schema;x;y;wear;scale;rotation', +ADD COLUMN weapon_sticker_2 VARCHAR(128) DEFAULT '0;0;0;0;0;0' COMMENT 'id;schema;x;y;wear;scale;rotation', +ADD COLUMN weapon_sticker_3 VARCHAR(128) DEFAULT '0;0;0;0;0;0' COMMENT 'id;schema;x;y;wear;scale;rotation', +ADD COLUMN weapon_sticker_4 VARCHAR(128) DEFAULT '0;0;0;0;0;0' COMMENT 'id;schema;x;y;wear;scale;rotation', +ADD COLUMN weapon_keychain VARCHAR(128) DEFAULT '0;0;0;0;0' COMMENT 'id;x;y;z;seed'; +```
### 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 +## Website Preview ![preview](https://github.com/Nereziel/cs2-WeaponPaints/blob/main/website/preview.png?raw=true) diff --git a/lang/cs.json b/lang/cs.json new file mode 100644 index 00000000..54b10c81 --- /dev/null +++ b/lang/cs.json @@ -0,0 +1,30 @@ +{ + "wp_prefix": "{lightblue}[WeaponPaints] {default}", + "wp_info_website": "Navštiv {lime}{0}{default} kde si můžeš změnit skiny", + "wp_info_refresh": "Napiš {lime}!wp{default} pro synchronizaci vybraných skinů", + "wp_info_knife": "Napiš {lime}!knife{default} pro otevření menu nožů", + "wp_info_glove": "Napiš {lime}!gloves{default} pro otevření menu rukavic", + "wp_info_agent": "Napiš {lime}!agents{default} pro otevření menu agentů", + "wp_info_music": "Napiš {lime}!music{default} pro otevření menu MVP hudeb", + "wp_info_pin": "Napiš {lime}!pins{default} pro otevření menu odznaků", + "wp_command_cooldown": "{lightred}Skiny nelze nýni obnovit!", + "wp_command_refresh_done": "{lime}Obnovuji skiny", + "wp_knife_menu_select": "Vybral jsi si {lime}{0}{default} jako tvůj nůž", + "wp_knife_menu_kill": "", + "wp_knife_menu_title": "Menu nožů", + "wp_glove_menu_select": "Vybral jsi si {lime}{0}{default} jako tvoje rukavice", + "wp_glove_menu_title": "Menu rukavic", + "wp_agent_menu_select": "Vybral jsi si {lime}{0}{default} jako tvůj agent", + "wp_agent_menu_title": "Menu agentů", + "wp_music_menu_title": "Menu MVP hudeb", + "wp_music_menu_select": "Vybral jsi si {lime}{0}{default} jako tvojí MVP hudbu", + "wp_pins_menu_title": "Menu odznaků", + "wp_pins_menu_select": "Vybral jsi si {lime}{0}{default} jako tvůj odznak", + "wp_skin_menu_weapon_title": "Menu zbraní", + "wp_skin_menu_skin_title": "Vyběr skinů pro {lime}{0}{default}", + "wp_skin_menu_select": "Vybral jsi si {lime}{0}{default} jako tvůj skin", + + "wp_stattrak_action": "Úspěšně jste změnil nastavení stattraku", + + "None": "Žádné" +}