mirror of
https://github.com/Nereziel/cs2-WeaponPaints.git
synced 2026-03-12 17:16:29 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a5b120674 | ||
|
|
5a24f3b9fa | ||
|
|
1527eea686 | ||
|
|
953788c327 |
@@ -8,11 +8,13 @@
|
|||||||
Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for [CSSharp](https://docs.cssharp.dev/).
|
Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin for [CSSharp](https://docs.cssharp.dev/).
|
||||||
|
|
||||||
### Features
|
### Features
|
||||||
- changes only paint, seed, wear on weapons
|
- changes only paint, seed and wear on weapons and knives
|
||||||
- mysql based
|
- mysql based
|
||||||
- data sync on player connect or playe
|
- data sync on player connect
|
||||||
- Added command `!wp` to refresh skins (with cooldown in second can be configured)
|
- Added command `!wp` to refresh skins (with cooldown in second can be configured)
|
||||||
- Added command `!ws` to show website
|
- 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:
|
### 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/)
|
- compile and copy plugin to plugins. Info here [https://docs.cssharp.dev/guides/hello-world-plugin/](https://docs.cssharp.dev/guides/hello-world-plugin/)
|
||||||
@@ -20,6 +22,7 @@ Unfinished, unoptimized and not fully functional ugly demo weapon paints plugin
|
|||||||
- in `addons/counterstrikesharp/configs/core.json` set **FollowCS2ServerGuidelines** to **false**
|
- in `addons/counterstrikesharp/configs/core.json` set **FollowCS2ServerGuidelines** to **false**
|
||||||
|
|
||||||
### Web install:
|
### Web install:
|
||||||
|
- requires PHP (tested on php ver `8.2.3` and nginx webserver)
|
||||||
- copy website to web server
|
- copy website to web server
|
||||||
- import `database.sql` to mysql
|
- import `database.sql` to mysql
|
||||||
- get steam api key [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
|
- get steam api key [https://steamcommunity.com/dev/apikey](https://steamcommunity.com/dev/apikey)
|
||||||
|
|||||||
@@ -131,11 +131,27 @@ public class WeaponPaints : BasePlugin, IPluginConfig<WeaponPaintsConfig>
|
|||||||
private HookResult OnPlayerSpawn(EventPlayerSpawn @event, GameEventInfo info)
|
private HookResult OnPlayerSpawn(EventPlayerSpawn @event, GameEventInfo info)
|
||||||
{
|
{
|
||||||
var player = @event.Userid;
|
var player = @event.Userid;
|
||||||
if (!player.IsValid || !player.PlayerPawn.IsValid || player.IsBot)
|
if (!player.IsValid || !player.PlayerPawn.IsValid)
|
||||||
{
|
{
|
||||||
return HookResult.Continue;
|
return HookResult.Continue;
|
||||||
}
|
}
|
||||||
if (!PlayerHasKnife(player)) player.GiveNamedItem(g_playersKife[(int)player.EntityIndex!.Value.Value]);
|
if (player.IsBot)
|
||||||
|
{
|
||||||
|
player.GiveNamedItem("weapon_knife");
|
||||||
|
return HookResult.Continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!PlayerHasKnife(player))
|
||||||
|
{
|
||||||
|
if (g_playersKife.ContainsKey((int)player.EntityIndex!.Value.Value))
|
||||||
|
{
|
||||||
|
player.GiveNamedItem(g_playersKife[(int)player.EntityIndex!.Value.Value]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.GiveNamedItem("weapon_knife");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return HookResult.Continue;
|
return HookResult.Continue;
|
||||||
}
|
}
|
||||||
@@ -187,6 +203,7 @@ public class WeaponPaints : BasePlugin, IPluginConfig<WeaponPaintsConfig>
|
|||||||
public void RemoveKnifeFromPlayer(CCSPlayerController player)
|
public void RemoveKnifeFromPlayer(CCSPlayerController player)
|
||||||
{
|
{
|
||||||
if (!player.PawnIsAlive) return;
|
if (!player.PawnIsAlive) return;
|
||||||
|
if (!g_playersKife.ContainsKey((int)player.EntityIndex!.Value.Value)) return;
|
||||||
var weapons = player.PlayerPawn.Value.WeaponServices!.MyWeapons;
|
var weapons = player.PlayerPawn.Value.WeaponServices!.MyWeapons;
|
||||||
foreach (var weapon in weapons)
|
foreach (var weapon in weapons)
|
||||||
{
|
{
|
||||||
@@ -325,10 +342,6 @@ public class WeaponPaints : BasePlugin, IPluginConfig<WeaponPaintsConfig>
|
|||||||
{
|
{
|
||||||
g_playersKife[playerIndex] = knife;
|
g_playersKife[playerIndex] = knife;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
g_playersKife[playerIndex] = "weapon_knife";
|
|
||||||
}
|
|
||||||
//Log($"{player.PlayerName} has this knife -> {g_playersKife[playerIndex]}");
|
//Log($"{player.PlayerName} has this knife -> {g_playersKife[playerIndex]}");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
@@ -352,7 +365,6 @@ public class WeaponPaints : BasePlugin, IPluginConfig<WeaponPaintsConfig>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Log(string message)
|
private static void Log(string message)
|
||||||
{
|
{
|
||||||
Console.BackgroundColor = ConsoleColor.DarkGray;
|
Console.BackgroundColor = ConsoleColor.DarkGray;
|
||||||
|
|||||||
Reference in New Issue
Block a user