mirror of
https://github.com/Nereziel/cs2-WeaponPaints.git
synced 2026-03-10 08:31:42 +00:00
Compare commits
3 Commits
build-349
...
bc3d569a9c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc3d569a9c | ||
|
|
9d96b75ca4 | ||
|
|
3621c1d3ad |
@@ -20,10 +20,8 @@ namespace WeaponPaints
|
|||||||
|
|
||||||
bool isKnife = weapon.DesignerName.Contains("knife") || weapon.DesignerName.Contains("bayonet");
|
bool isKnife = weapon.DesignerName.Contains("knife") || weapon.DesignerName.Contains("bayonet");
|
||||||
|
|
||||||
if (isKnife && (!GPlayersKnife.ContainsKey(player.Slot) ||
|
if (isKnife && !GPlayersKnife.ContainsKey(player.Slot) ||
|
||||||
!GPlayersKnife[player.Slot].ContainsKey(player.Team) ||
|
isKnife && GPlayersKnife[player.Slot][player.Team] == "weapon_knife") return;
|
||||||
GPlayersKnife[player.Slot][player.Team] == "weapon_knife"))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (isKnife)
|
if (isKnife)
|
||||||
{
|
{
|
||||||
@@ -54,9 +52,7 @@ namespace WeaponPaints
|
|||||||
bool isLegacyModel;
|
bool isLegacyModel;
|
||||||
|
|
||||||
if (_config.Additional.GiveRandomSkin &&
|
if (_config.Additional.GiveRandomSkin &&
|
||||||
GPlayerWeaponsInfo.ContainsKey(player.Slot) &&
|
!GPlayerWeaponsInfo[player.Slot][player.Team].ContainsKey(weaponDefIndex))
|
||||||
(!GPlayerWeaponsInfo[player.Slot].ContainsKey(player.Team) ||
|
|
||||||
!GPlayerWeaponsInfo[player.Slot][player.Team].ContainsKey(weaponDefIndex)))
|
|
||||||
{
|
{
|
||||||
// Random skins
|
// Random skins
|
||||||
weapon.FallbackPaintKit = GetRandomPaint(weaponDefIndex);
|
weapon.FallbackPaintKit = GetRandomPaint(weaponDefIndex);
|
||||||
@@ -107,7 +103,14 @@ namespace WeaponPaints
|
|||||||
weapon.AttributeManager.Item.CustomName = weaponInfo.Nametag;
|
weapon.AttributeManager.Item.CustomName = weaponInfo.Nametag;
|
||||||
weapon.FallbackPaintKit = weaponInfo.Paint;
|
weapon.FallbackPaintKit = weaponInfo.Paint;
|
||||||
|
|
||||||
weapon.FallbackSeed = weaponInfo is { Paint: 38, Seed: 0 } ? _fadeSeed++ : weaponInfo.Seed;
|
if (weaponInfo is { Paint: 38, Seed: 0 })
|
||||||
|
{
|
||||||
|
weapon.FallbackSeed = _fadeSeed++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
weapon.FallbackSeed = weaponInfo.Seed;
|
||||||
|
}
|
||||||
|
|
||||||
weapon.FallbackWear = weaponInfo.Wear;
|
weapon.FallbackWear = weaponInfo.Wear;
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle, "set item texture prefab", weapon.FallbackPaintKit);
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle, "set item texture prefab", weapon.FallbackPaintKit);
|
||||||
@@ -183,13 +186,15 @@ namespace WeaponPaints
|
|||||||
|
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
$"sticker slot {stickerSlot} id", ViewAsFloat(sticker.Id));
|
$"sticker slot {stickerSlot} id", ViewAsFloat(sticker.Id));
|
||||||
if (sticker.OffsetX != 0 || sticker.OffsetY != 0)
|
// CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
// $"sticker slot {stickerSlot} schema", stickerSlot);
|
||||||
$"sticker slot {stickerSlot} schema", 0);
|
// if (stickerSlot == 5)
|
||||||
|
// {
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
$"sticker slot {stickerSlot} offset x", sticker.OffsetX);
|
$"sticker slot {stickerSlot} offset x", sticker.OffsetX);
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
$"sticker slot {stickerSlot} offset y", sticker.OffsetY);
|
$"sticker slot {stickerSlot} offset y", sticker.OffsetY);
|
||||||
|
// }
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
$"sticker slot {stickerSlot} wear", sticker.Wear);
|
$"sticker slot {stickerSlot} wear", sticker.Wear);
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
@@ -212,11 +217,8 @@ namespace WeaponPaints
|
|||||||
int weaponDefIndex = weapon.AttributeManager.Item.ItemDefinitionIndex;
|
int weaponDefIndex = weapon.AttributeManager.Item.ItemDefinitionIndex;
|
||||||
|
|
||||||
if (!GPlayerWeaponsInfo.TryGetValue(player.Slot, out var playerWeaponsInfo) ||
|
if (!GPlayerWeaponsInfo.TryGetValue(player.Slot, out var playerWeaponsInfo) ||
|
||||||
!playerWeaponsInfo.TryGetValue(player.Team, out var teamWeaponsInfo) ||
|
!playerWeaponsInfo[player.Team].TryGetValue(weaponDefIndex, out var value) ||
|
||||||
!teamWeaponsInfo.TryGetValue(weaponDefIndex, out var value) ||
|
value.KeyChain == null) return;
|
||||||
value.KeyChain == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var keyChain = value.KeyChain;
|
var keyChain = value.KeyChain;
|
||||||
|
|
||||||
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
CAttributeListSetOrAddAttributeValueByName.Invoke(weapon.AttributeManager.Item.NetworkedDynamicAttributes.Handle,
|
||||||
@@ -404,12 +406,9 @@ namespace WeaponPaints
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (!GPlayersGlove.TryGetValue(player.Slot, out var gloveInfo) ||
|
if (!GPlayersGlove.TryGetValue(player.Slot, out var gloveInfo) ||
|
||||||
!gloveInfo.TryGetValue(player.Team, out var gloveId) ||
|
!gloveInfo.TryGetValue(player.Team, out var gloveId) || gloveId == 0) return;
|
||||||
gloveId == 0 ||
|
|
||||||
!GPlayerWeaponsInfo.TryGetValue(player.Slot, out var playerWeaponsInfo) ||
|
WeaponInfo weaponInfo = GPlayerWeaponsInfo[player.Slot][player.Team][gloveId];
|
||||||
!playerWeaponsInfo.TryGetValue(player.Team, out var teamWeaponsInfo) ||
|
|
||||||
!teamWeaponsInfo.TryGetValue(gloveId, out var weaponInfo))
|
|
||||||
return;
|
|
||||||
|
|
||||||
item.ItemDefinitionIndex = gloveId;
|
item.ItemDefinitionIndex = gloveId;
|
||||||
item.ItemIDLow = 16384 & 0xFFFFFFFF;
|
item.ItemIDLow = 16384 & 0xFFFFFFFF;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public partial class WeaponPaints : BasePlugin, IPluginConfig<WeaponPaintsConfig
|
|||||||
public override string ModuleAuthor => "Nereziel & daffyy";
|
public override string ModuleAuthor => "Nereziel & daffyy";
|
||||||
public override string ModuleDescription => "Skin, gloves, agents and knife selector, standalone and web-based";
|
public override string ModuleDescription => "Skin, gloves, agents and knife selector, standalone and web-based";
|
||||||
public override string ModuleName => "WeaponPaints";
|
public override string ModuleName => "WeaponPaints";
|
||||||
public override string ModuleVersion => "3.1b";
|
public override string ModuleVersion => "3.1a";
|
||||||
|
|
||||||
public override void Load(bool hotReload)
|
public override void Load(bool hotReload)
|
||||||
{
|
{
|
||||||
|
|||||||
12539
website/data/skins.json
Normal file
12539
website/data/skins.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user