nereziel / cs2-weaponpaints Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Support for official valve music kits as well as all coins.
I believe we can implement this feature and thus take the "focus" away from just skins and knives, leaving a complete inventory plugin for CS2.
Is it possible to set up so that when a player comes to the server again, the set skins are loaded automatically or remain saved?
only test on windows server
CSS version v56
Plugin version 49
Log :
Failed to load plugin D:\SteamLibrary\steamapps\common\Counter-Strike Global Offensive\game\csgo\addons\counterstrikesharp\plugins\WeaponPaints\WeaponPaints.dll with error System.Exception: Unknown mysql exception! Connection is not open.
at WeaponPaints.WeaponPaints.CheckDatabaseTables() in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 157
at WeaponPaints.WeaponPaints.TestDatabaseConnection() in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 127
at WeaponPaints.WeaponPaints.Load(Boolean hotReload) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 72
at CounterStrikeSharp.API.Core.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/PluginContext.cs:line 108
at CounterStrikeSharp.API.Core.GlobalContext.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 97
at CounterStrikeSharp.API.Core.GlobalContext.LoadAllPlugins() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 136
Through what did you dump the names of the skins?, I would like to make a translation into my language on the site.
I don't have a knife in my inventory, on the website I choose a knife and put the skin, but it doesn't show on the server.
How should I equip the knife with the skin I chose?
Parse error: syntax error, unexpected '=' in D:\phpstudy_pro\WWW\class\database.php on line 13
$result ??= false; ???
I would like to confirm that the config.php
settings would be correct:
define('STEAM_DOMAIN_NAME', '');
define('STEAM_LOGOUT_PAGE', 'index.php');
define('STEAM_LOGIN_PAGE', 'index.php');
In this case, the Steam domain would be the one I registered Steam API Key?
And the options STEAM_LOGOUT_PAGE
& STEAM_LOGIN_PAGE
do I really put index.php
?
I get this error when activating GlobalShare option:
2023-11-30 12:56:17.739 +00:00 [EROR] (cssharp:PluginManager) Failed to load plugin from /home/dathost/cs2_linux/game/csgo/addons/counterstrikesharp/plugins/WeaponPaints/WeaponPaints.dll
System.FormatException: The input string '' was not in a correct format.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, ReadOnlySpan`1 value, TypeCode type)
at System.Int32.Parse(String s)
at WeaponPaints.WeaponPaints.GlobalShareConnect() in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 195
at WeaponPaints.WeaponPaints.Load(Boolean hotReload) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 105
at CounterStrikeSharp.API.Core.Plugin.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/PluginContext.cs:line 182
at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 52
at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.Load() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 34
css v77 , WeaponPaints latest
2023-11-28 22:23:38.723 +03:00 [EROR] (cssharp:Core) Error invoking callback
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.InvalidOperationException: Nullable object must have a value.
at System.Nullable`1.get_Value()
at WeaponPaints.WeaponPaints.<>c__DisplayClass45_0.<RefreshSkins>b__2() in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 593
at InvokeStub_Action.Invoke(Object, Object, IntPtr*)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82
[WeaponPaints] Refreshing weapon paints
[WeaponPaints] You can't refresh weapon paints right now
I don't fully understand it, I have GlobalShare = true so I don't need the web installer or am I wrong? How do you choose skins now?
and if I need the web installer, what do I have to do with the website folder? "Fill in database credentials and api key in class/config.php;" but what do I do with this folder?
What u guys think about this inventory system?
I'm portabilizing it to working with cs2-WeaponPaints
#10
I don't understand what's wrong, php 8.2
for first time skin is not showing until user re-select the Weapon.if user die same thing will happen.
attaching video for reference
Where is the .sql file?
Hey guys, im having some issues, and could not figure out what was the problem. So..
Knifes apply when you change them, but you have to reconnect.
Weapon paints do not apply not eaven after reconnect. Data base is writing all data put it dosent get applyd in game. Try'd !wp reconnecting, restarting server.
Using latest dev build of meta mod, tried CSS from v50 to v54, and WeaponPaints Build 43 and 46.
CounterStrikeSharp.API.Core.NativeException: Could not find signature
at CounterStrikeSharp.API.Core.ScriptContext.CheckErrors() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/ScriptContext.cs:line 178
System.Collections.Generic.KeyNotFoundException: The given key 'weapon_defindex' was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException[T](T key)
The given key 'weapon_defindex' was not present in the dictionary.
Im finding these 2 "errors" in console...
Plugin installed, CSSharp & Metamod latest versions.
Listing 1 plugin:
[01] CounterStrikeSharp (0.1.0) by Roflmuffin
List of all plugins currently loaded by CounterStrikeSharp: 9 plugins loaded.
[#1]: "Auto Map Changer" (1.0.6) by skaen
[#2]: "WeaponPaints" (0.7) by Nereziel
Connector for web-based player chosen wepaon paints.
[#3]: "MatchZy" (0.2.0-alpha) by WD- (https://github.com/shobhit-pathak/)
A plugin for running and managing CS2 practice/pugs/scrims/matches!
[#4]: "[Custom] Meta Commands Blocker" (V. 1.0.0 [Beta]) by Manifest @Road To Glory
Prevents players from accessing metamod information through meta commands used in-game.
[#5]: "Simple Ranks" (v2.1.3) by K4ryuu
[#6]: "Advertisement by thesamefabius" (v1.0.1)
[#7]: "AFK Manager" (0.0.6) by NiGHT & K4ryuu
[#8]: "AutoUpdater" (1.0.3) by DRANIX
Auto Updater for Counter-Strike 2.
[#9]: "Steam Restrict" (1.1.0) by K4ryuu
However, whenever a player tries to connect, it gives an error and the console shows the following message:
AuthStatus (steamid:85568392929701488): Retrying (Attempt #5 to fetch config from https://api.steamchina.com/ISteamApps/GetSDRConfig/v1?appid=730&realm=steamglobal)
Failed to accept connection from XXX.XX.XXX.XX:XXXXX. Bad cert: CA key XXXXXXXXXXXXXXXXXXX is not known to us
[MatchZy] [SendUnreadyPlayersMessage] isWarmup: True, matchStarted: False
Failed to accept connection from XXX.XX.XXX.XX:XXXXX. Bad cert: CA key XXXXXXXXXXXXXXXXXXX is not known to us
Failed to accept connection from XXX.XX.XXX.XX:XXXXX. Bad cert: CA key XXXXXXXXXXXXXXXXXXX is not known to us
Failed to accept connection from XXX.XX.XXX.XX:XXXXX Bad cert: CA key XXXXXXXXXXXXXXXXXXX is not known to us
Failed to accept connection from XXX.XX.XXX.XX:XXXXX. Bad cert: CA key XXXXXXXXXXXXXXXXXXX is not known to us
Please output all text into a separate file
Would it be possible to add support for changing glove skins?
select("SELECT weapon_defindex
, weapon_paint_id
FROM wp_player_skins
WHERE wp_player_skins
.steamid
= :steamid", ["steamid" => $steamid]); $selectedSkins = UtilsClass::getSelectedSkins($querySelected); $selectedKnife = $db->select("SELECT * FROM wp_player_knife
WHERE wp_player_knife
.steamid
= :steamid", ["steamid" => $steamid])[0]; $knifes = UtilsClass::getKnifeTypes(); if (isset($_POST['forma'])) { $ex = explode("-", $_POST['forma']); 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]]); } else { $db->query("INSERT INTO wp_player_skins (steamid
, weapon_defindex
, weapon_paint_id
) VALUES (:steamid, :weapon_defindex, :weapon_paint_id)", ["steamid" => $steamid, "weapon_defindex" => $ex[0], "weapon_paint_id" => $ex[1]]); } } } header("Location: index.php"); } } ?>
To choose weapon paints loadout, you need to
hello
my server is have a problem. ı not understand.
default knife change working. Skin change don't working.
https://prnt.sc/zMN5wckxcAJV Knife
https://prnt.sc/8Y6RJyV89NZf all weapons have same problem
Would it be possible to implement support for changing Agents skin?
Knife loads, but after you choose your weapon card it switches to default knife, if I switch to casual mode it works fine so its a Retake gamemode bug. Is there any way to fix this?
First time logging to server works just fine but after reconnecting again server crashes.
Console log:
Receiving C2S_CONNECT [protocol 13967 0 auth 3] from *ip address* Unhandled exception. System.InvalidOperationException: Nullable object must have a value.
at System.Nullable`1.get_Value()
at WeaponPaints.WeaponPaints.<>c__DisplayClass10_0.<OnEntitySpawned>b__0() in cs2-WeaponPaints-main\cs2-WeaponPaints-main\WeaponPaints.cs:line 32
As funny it might have sound but my knowledge of C# equals zero so I used a Chat GPT for that and somehow it works(?) I dunno if it should be that way and if there are any bugs but I reconnected a few times and server didn't crashed. Just added if with few statements.
Like I said I don't know if it is a proper solution but if someone needs it for now I think it works(?)
Server.NextFrame(() =>
{
if (weapon.OwnerEntity.IsValid &&
weapon.OwnerEntity.Value.EntityIndex.HasValue)
{
var pawn = new CBasePlayerPawn(NativeAPI.GetEntityFromIndex((int)weapon.OwnerEntity.Value.EntityIndex.Value.Value));
if (!weapon.IsValid) return;
if (!pawn.IsValid) return;
var playerIndex = (int)pawn.Controller.Value.EntityIndex!.Value.Value;
int weaponPaint = GetPlayersWeaponPaint(playerIndex, weapon.AttributeManager.Item.ItemDefinitionIndex);
if (weaponPaint == 0) return;
weapon.AttributeManager.Item.ItemIDLow = unchecked((uint)-1);
weapon.AttributeManager.Item.ItemIDHigh = unchecked((uint)-1);
weapon.FallbackPaintKit = weaponPaint;
weapon.FallbackSeed = 0;
weapon.FallbackWear = 0.0001f;
}
else
{
return;
}
});
I am reaching out to suggest potential optimizations for the database. While the current configuration is functioning adequately, I believe implementing indexing in tables could enhance performance.
Additionally, regarding the management of weapon_id rows, a more efficient approach might be to utilize a single row for steamid with additional columns for each weapon_id. This could streamline the data structure and potentially improve database efficiency.
Another aspect worth considering is the implementation of an automated cleanup system within the database. This system would remove entries of players inactive beyond a specified duration, as determined by a cvar in the plugin configuration. An example of this functionality is illustrated in the existing script at this link.
I appreciate all the efforts put into the project. I am hopeful that these suggestions will be considered and look forward to potentially seeing them integrated soon.
Thank you for your continued hard work and commitment.
Add support for CS2 stickers.
Add wear and seed support to skins.
"weapon_famas" => 10,
"weapon_g3sg1" => 10,
1.Unable to refresh any skin on any weapon
2.Unable to refresh default knife, I disabled knife change
Hello.
Can you add a new command into config so I can turn off the !ws function (and wont write to the chat that !ws exists).
I dont have any website, so cant use the !ws, and this is unnecessary to me on my server.
Or is it possible to do this plugin a way that we don't need a website etc.?
I messed around for bit with this plugin I was able to compile it and database.json file, create DB and write data there after selecting skins but it doesnt seem to apply in the game. Note i double checked all the mysql creds are correct. I suppose code is unfinished ? I don't know how to read C# code 😁
when change knife form default to other , it will be disappearing.
this happen on windows server
21:05:12 [EROR] (cssharp:PluginManager) Failed to load plugin from /home/container/game/csgo/addons/counterstrikesharp/plugins/WeaponPaints/WeaponPaints.dll
CounterStrikeSharp.API.Core.NativeException: Global Variables not initialized yet.
at CounterStrikeSharp.API.Core.ScriptContext.CheckErrors() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/ScriptContext.cs:line 176
at CounterStrikeSharp.API.Core.NativeAPI.GetMaxClients() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/API.cs:line 320
at CounterStrikeSharp.API.Server.get_MaxPlayers() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Server.cs:line 78
at WeaponPaints.WeaponPaints..ctor() in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 84
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.ConstructorInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(Type serviceType)
at System.Collections.Concurrent.ConcurrentDictionary2.GetOrAdd(TKey key, Func
2 valueFactory)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at CounterStrikeSharp.API.Core.Plugin.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/PluginContext.cs:line 189
at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 52
at CounterStrikeSharp.API.Core.Plugin.Host.PluginManager.Load() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Plugin/Host/PluginManager.cs:line 34
Loading plugin: WeaponPaints
Failed to load plugin C:\SERVER\cs2_server\cs2_kotlet\game\csgo\addons\counterstrikesharp\plugins\WeaponPaints\WeaponPaints.dll with error System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Exception: You need to setup Database credentials in config!
at WeaponPaints.WeaponPaints.OnConfigParsed(WeaponPaintsConfig config) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 91
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at CounterStrikeSharp.API.Core.BasePlugin.InitializeConfig(Object instance, Type pluginType) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/BasePlugin.cs:line 354
at CounterStrikeSharp.API.Core.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/PluginContext.cs:line 107
at CounterStrikeSharp.API.Core.GlobalContext.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 97
at CounterStrikeSharp.API.Core.GlobalContext.LoadAllPlugins() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 136
the config is not created due to an error. I can't enter anything into the config, it's not there
Loading plugin: WeaponPaints
Failed to load plugin C:\SERVER\cs2_server\cs2_kotlet\game\csgo\addons\counterstrikesharp\plugins\WeaponPaints\WeaponPaints.dll with error System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Exception: You need to setup Database credentials in config!
at WeaponPaints.WeaponPaints.OnConfigParsed(WeaponPaintsConfig config) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponPaints.cs:line 91
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at CounterStrikeSharp.API.Core.BasePlugin.InitializeConfig(Object instance, Type pluginType) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/BasePlugin.cs:line 354
at CounterStrikeSharp.API.Core.PluginContext.Load(Boolean hotReload) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/PluginContext.cs:line 107
at CounterStrikeSharp.API.Core.GlobalContext.LoadPlugin(String path) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 97
at CounterStrikeSharp.API.Core.GlobalContext.LoadAllPlugins() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/GlobalContext.cs:line 136
skins are not editable in phpmyadmin database. i try to add indices in table so i can edit the skins (seed for example), but web page stops working than.
Every time we choose a skin the page reloads, would it be possible to remove this feature? Or would it be necessary?
It would be possible to let only the skin update on the server and in the web interface and not reload the page itself.
on the latest build commands no longer work in the chat only thru console.
Im running cs2fixes btw along side cssharp because in the movment servers cs2fixes are must need.... and in general cs2fixes is great plugin works for admin tools.
build with latest code useing API Version: 50
"WeaponPaints" (0.7) by Nereziel
Issue : skins are not showing in server, also /knife not working
!ws !wp is working ( as its printing output in chat )
Already added FollowCS2ServerGuidelines to false
Previous build was working fine
Some one please confirm maybe only my issue xD
CSS API Version: 98
�[39;49m�[37mSystem.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.�[39;49m
�[39;49m�[37m ---> System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.�[39;49m
�[39;49m�[37m at System.Runtime.InteropServices.Marshal.ReadInt64(IntPtr ptr, Int32 ofs)�[39;49m
�[39;49m�[37m at CounterStrikeSharp.API.Core.CBasePlayerPawn.get_WeaponServices() in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/Objects.g.cs:line 4757�[39;49m
�[39;49m�[37m at WeaponPaints.WeaponPaints.PlayerHasKnife(CCSPlayerController player) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/WeaponAction.cs:line 89�[39;49m
�[39;49m�[37m at WeaponPaints.WeaponPaints.OnPlayerSpawn(EventPlayerSpawn event, GameEventInfo info) in /home/runner/work/cs2-WeaponPaints/cs2-WeaponPaints/Events.cs:line 162�[39;49m
�[39;49m�[37m at InvokeStub_GameEventHandler`1.Invoke(Object, Object, IntPtr*)�[39;49m
�[39;49m�[37m at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)�[39;49m
�[39;49m�[37m --- End of inner exception stack trace ---�[39;49m
�[39;49m�[37m at System.Reflection.MethodInvoker.Invoke(Object obj, IntPtr* args, BindingFlags invokeAttr)�[39;49m
�[39;49m�[37m at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)�[39;49m
�[39;49m�[37m at System.Delegate.DynamicInvokeImpl(Object[] args)�[39;49m
�[39;49m�[37m at CounterStrikeSharp.API.Core.FunctionReference.<>c__DisplayClass3_0.<.ctor>b__0(fxScriptContext* context) in /home/runner/work/CounterStrikeSharp/CounterStrikeSharp/managed/CounterStrikeSharp.API/Core/FunctionReference.cs:line 82�[39;49m```
Any ways to disable the message from this command and the command itself?
Would you like to disable this feature, or would this generate a bug when the player chooses the knife skin?
On Windows servers, no knives are given.
ok so i know this plugin: https://github.com/yuzhouUvU/cs2_weapons_skin
i guess u can contact with him how to solve this knife change
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.