Compare commits

..

11 Commits

Author SHA1 Message Date
Nereziel
a504506129 test gh act 2023-11-21 20:03:53 +01:00
Nereziel
7bada81eb9 Update build.yml 2023-11-21 20:02:15 +01:00
Nereziel
2929735429 fix php min version 2023-11-21 19:51:10 +01:00
Nereziel
04bb7a2575 Merge pull request #56 from crashzk/patch-1
Update README.md
2023-11-21 19:44:51 +01:00
crashzk
f00ba48f60 Merge branch 'main' into patch-1 2023-11-21 15:43:49 -03:00
crashzk
08342e4a99 Update README.md 2023-11-21 15:43:02 -03:00
Nereziel
29a6041d7a fixed discord link 2023-11-21 19:35:52 +01:00
crashzk
c44433766c Update README.md 2023-11-19 19:22:28 -03:00
crashzk
a987ed972a Update README.md 2023-11-19 19:20:33 -03:00
Nereziel
50777661c5 Merge pull request #55 from daffyyyy/patch-1
Fix when player select "Select skin" as skin
2023-11-19 22:52:08 +01:00
Dawid Bepierszcz
31fd014f55 Fix when player select "Select skin" as skin 2023-11-19 22:42:32 +01:00
3 changed files with 36 additions and 33 deletions

View File

@@ -5,6 +5,10 @@ on:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
paths-ignore:
- 'README.md'
- '.gitignore'
- 'LICENSE'
env:
BUILD_NUMBER: ${{ github.run_number }}
@@ -12,7 +16,6 @@ env:
PROJECT_NAME: "WeaponPaints"
OUTPUT_PATH: "./WeaponPaints"
jobs:
build:
permissions: write-all

View File

@@ -1,30 +1,28 @@
# cs2-WeaponPaints
# CS2 Weapon Paints
### Description
Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for [CSSharp](https://docs.cssharp.dev/).
There will be a lot of frequent changes which may break functionality or compatibility. You have been warned!
## Description
Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for **[CSSharp](https://docs.cssharp.dev/)**.
## Created [Discord server](https://discord.gg/mwEQppJ5AT) where you can discus about plugin.
## Created [Discord server](https://discord.gg/EEg6qtNScq) where you can discus about plugin.
### 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://steamcommunity.com/tradeoffer/new/?partner=41515647&token=gW2W-nXE)
[![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
- changes only paint, seed and wear on weapons and knives
- mysql based or global website at [weaponpaints.fun](https://weaponpaints.fun/), so you dont need mysql/website
- data sync on player connect
- Added command `!wp` to refresh skins (with cooldown in second 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 ""`
## Features
- Changes only paint, seed and wear on weapons and knives;
- MySQL based or global website at [weaponpaints.fun](https://weaponpaints.fun/), so you dont need MySQL/Website;
- Data sync on player connect;
- Added command **`!wp`** to refresh skins; ***(with cooldown in second 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 ""`**;
### CS2 server:
- compile and copy plugin to plugins. Info here [https://docs.cssharp.dev/guides/hello-world-plugin/](https://docs.cssharp.dev/guides/hello-world-plugin/)
- 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**
## CS2 Server
- Compile and copy plugin to plugins, [more info here](https://docs.cssharp.dev/guides/hello-world-plugin/);
- 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:
## Plugin Configuration
<details>
<summary>Spoiler warning</summary>
<code><pre>{
@@ -65,19 +63,19 @@ There will be a lot of frequent changes which may break functionality or compati
}</pre></code>
</details>
### Web install:
- not needed if config `GlobalShare = true`
- requires PHP min v7.3 (tested on php ver `8.2.3` and nginx webserver)
- copy website to web server (img folder not needed)
- import `database.sql` to mysql
- get steam api key [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
- fill in database credentials and api key in `class/config.php`
- visit website and login via steam
## Web install
Disregard if the config is **`GlobalShare = true`**;
- Requires PHP >= 7.4; ***(Tested on php ver **`8.2.3`** and nginx webserver)***
- 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;
### Known issues
## Known issues
- Issue on Windows servers, no knives are given.
### 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
## Preview
![preview](https://github.com/Nereziel/cs2-WeaponPaints/blob/main/website/preview.png?raw=true)

View File

@@ -22,6 +22,8 @@ if (isset($_SESSION['steamid'])) {
if ($ex[0] == "knife") {
$db->query("INSERT INTO `wp_player_knife` (`steamid`, `knife`) VALUES(:steamid, :knife) ON DUPLICATE KEY UPDATE `knife` = :knife", ["steamid" => $steamid, "knife" => $knifes[$ex[1]]['weapon_name']]);
} else {
if (!is_int($ex[1]))
header("Location: index.php");
if (array_key_exists($ex[1], $skins[$ex[0]])) {
if (array_key_exists($ex[0], $selectedSkins)) {
$db->query("UPDATE wp_player_skins SET weapon_paint_id = :weapon_paint_id WHERE steamid = :steamid AND weapon_defindex = :weapon_defindex", ["steamid" => $steamid, "weapon_defindex" => $ex[0], "weapon_paint_id" => $ex[1]]);
@@ -83,7 +85,7 @@ if (isset($_SESSION['steamid'])) {
<div class="card-footer">
<form action="" method="POST">
<select name="forma" class="form-control select" onchange="this.form.submit()" class="SelectWeapon">
<option>Select knife</option>
<option disabled>Select knife</option>
<?php
foreach ($knifes as $knifeKey => $knife) {
if ($selectedKnife['knife'] == $knife['weapon_name'])
@@ -120,7 +122,7 @@ if (isset($_SESSION['steamid'])) {
<div class="card-footer">
<form action="" method="POST">
<select name="forma" class="form-control select" onchange="this.form.submit()" class="SelectWeapon">
<option>Select skin</option>
<option disabled>Select skin</option>
<?php
foreach ($skins[$defindex] as $paintKey => $paint) {
if (array_key_exists($defindex, $selectedSkins) && $selectedSkins[$defindex] == $paintKey)