Giter Site home page Giter Site logo

customitems's Introduction

CustomItems

======

Description

This plugin has 2 parts, all contained in a single DLL with no needed dependencies. Firstly, This plugin adds a number of custom items (detailed below) for server hosts to use on their servers. Currently, these items can either be given to Subclasses (using: Advanced Subclassing), spawned around the map at pre-defined locations (valid locations listed below), or via commands. Secondly, This plugin also provides a very powerful API for other developers to use, for the creation of their own unique, custom items. This API includes item tracking, handles reloading weapons with non-standard clip sizes, and much, much more, automatically, with no concious effort from the developer using it. Overrideable methods are provided to hook your weapon into your own custom event handlers for handling it's logic as necessary.

Item list

ItemName ItemID Description
EM-119 0 An EMP Grenade. This grenade acts similar to an Implosion grenade, however when it detonates, all of the doors in the room it is in are locked open, and the lights disabled for a few seconds. If SCP-079 is present in the room, it will send him back to his spawn camera. Also disabled all speakers in the facility temporarily.
GL-119 1 A grenade launcher. This weapon shoots grenades that explode on impact with anything, instead of bullets.
IG-119 2 An Implosion Grenade. This grenade will act similar to a normal Frag grenade, however it has an extremely short fuse, and does very low damage. Upon exploding, anyone within the explosion will be quickly drawn in towards the center of the explosion for a few seconds.
LJ-119 3 An injection of lethal chemicals that, when injected, immediately kills the user. If the user happens to be the target of a currently enraged SCP-096, the SCP-096 will immediately calm down, regardless of how many other targets they may or may not have.
LC-119 4 This coin, when dropped while inside the Pocket Dimension, will immediately vanish. For the remainder of the round, whenever a player enters the Pocket Dimension, the coin will spawn in front of one of the correct entrances for a few seconds before vanishing again. This effect has a cooldown.
MG-119 5 This gun is modified to fire self-injecting projectile darts. When fired at friendly targets, it will heal them. When fired at SCP-049-2, it will slowly begin to 'cure' them, repeated applications will eventually revert the SCP-049-2 to their human state. Has no effect on other hostile targets.
SCP-127 6 A gun that slowly regenerates it's clip over time, but trying to reload it normally has no effect.
SG-119 7 A shotgun. Fairly self-explanatory.
SR-119 8 A sniper rifle. Also self-explanatory.
TG-119 9 This gun is also modified to fire self-injecting projectile darts. When fired at a hostile target, it will tranquilize them, rendering them unconscious for several seconds.
Rock 10 This is a rock. Left-click to melee someone in the face with it. Left-click to toss it a short distance.
SCP-1499 11 The gas mask that teleports you to another dimension, when you put it on.
SCP-714 12 A coin that, when held in your hand, makes you invulnerable to SCP-049 and SCP-049-2. However, as you hold the coin, your stamina will slowly drain. If you run out, your health will start to drain.
AM-119 13 Pills that, when consumed, make you forget SCP-096's face if you have recently seen it. Removing you from being one of his targets, with some side effects.
SCP-2818 14 A weapon that, when fired, will convert the entire biomass of it's shooter into the ammunition it fires.
C4-119 15 A frag-grenade with a much longer than normal fuse, that will stick to the first solid surface it comes in contact with. It can be detonated using a console command. ".detonate"

Item Configs

Config settings for the individual items will NOT be found in the default plugin config file. Instead they will be located in ~/.config/EXILED/Configs/CustomItems on Linux or %AppData%\EXILED\Configs\CustomItems on Winblows. The default config file will be named "global.yml" however, the file used can be changed for each SCP server via that server's normal plugin config file, if you wish to run multiple servers with different custom item config settings.

The actual config values for the items should have descriptions and names that make them self-explanatory.

Commands

Command Arguments Permissions Description
ci give (item name/id) [player] citems.give Gives the specified item to the indicated player. If no player is specified it gives it to the person running the command. IN-GAME RA COMMAND ONLY.
ci spawn (item name/id) (location) citems.spawn Spawns the specified item at the specified location. This location can either be one of the valid Spawn Location's below, a player's name (it spawns at their feet), or in-game coordinates.
ci info (item name/id) n/a Prints a more detailed list of info about a specific item, including name, id, description and spawn locations + chances.
ci list n/a n/a Lists the names and ID's of all installed and enabled custom items on the server.
.detonate n/a n/a Detonates any C4-Charges you have placed, if you are within range of them.

Valid Spawn Location names

The following list of locations are the only ones that are able to be used in the SpawnLocation configs for each item: (Their names must be typed EXACTLY as they are listed, otherwise you will probably break your item config file)

Inside012
Inside012Bottom
Inside012Locker
Inside049Armory
Inside079Secondary
Inside096
Inside173Armory
Inside173Bottom
Inside173Connector
InsideEscapePrimary
InsideEscapeSecondary
InsideIntercom
InsideLczArmory
InsideLczCafe
InsideNukeArmory
InsideSurfaceNuke
Inside079First
Inside173Gate
Inside914
InsideGateA
InsideGateB
InsideGr18
InsideHczArmory
InsideHid
InsideHidLeft
InsideHidRight
InsideLczWc
InsideServersBottom

Attachment Names

None
IronSights
DotSight
HoloSight
NightVisionSight
AmmoSight
ScopeSight
StandardStock
ExtendedStock
RetractedStock
LightweightStock
HeavyStock
RecoilReducingStock
Foregrip
Laser
Flashlight
AmmoCounter
StandardBarrel
ExtendedBarrel
SoundSuppressor
FlashHider
MuzzleBrake
MuzzleBooster
StandardMagFMJ
StandardMagAP
StandardMagJHP
ExtendedMagFMJ
ExtendedMagAP
ExtendedMagJHP
DrumMagFMJ
DrumMagAP
DrumMagJHP,
LowcapMagFMJ
LowcapMagAP
LowcapMagJHP
CylinderMag4
CylinderMag6
CylinderMag8
CarbineBody
RifleBody
ShortBarrel
ShotgunChoke
ShotgunExtendedBarrel
NoRifleStock

API Notes (FOR DEVELOPERS ONLY)

Tl;dr - All you need to do is make a class that inherits CustomItem, CustomWeapon or CustomGrenade (depending on what kind of item you're making), override LoadEvents() and UnloadEvents() to register event handlers to the weapon, then inside the event handlers, start everything with

if (CheckItem(ev.Player.CurrentItem))

CheckItem() will accept both a SyncItemInfo or a Pickup, and will return true if it's the custom item THAT BELONGS TO YOUR CLASS. Note that your class is considered a MANAGER, not an individual weapon. Then instantiate the new class and register it as a custom item:

new SomeItem(ItemType, int).RegisterCustomItem();

The parameters needed will depend on what kind of item you're making, weapons will also require you to provide a clip size in the constructor.

Long version:

Each item class is a manager for all items of that type on the server. When you instantiate a new class that inherits from CustomItem, CustomWeapon or CustomGrenade, it will create a new list of both SyncItemInfos and Pickups. CheckItem() will check those lists to see if the object checked is in one of those lists. If it returns true, it's an item your manager is in charge of. If it returns false, it's not your item.

You cannot cast SyncItemInfo or Pickup as a custom item - IE:

TranqGun tranqGun = (TranqGun)ev.Player.CurrentItem();

Will result in an invalid cast exception. If you need to check if an item belongs to specific manager other than the class you're in already, do this:

foreach (CustomItem item in CustomItems.API.API.GetInstalledItems())
    if (item.ItemName == "TG-119" && item.CheckItem(ev.Player.CurrentItem())
    {
        // do stuff
        break;
    }

To create your own custom item, you'll first want to create the class, an example:

public class SomeItem : CustomItem
{
    public SomeItem(ItemType type, int id) : base(type,id)
    {}
    
    public override string ItemName = "SomeItemName";
    protected override string ItemDescription = "Some description of what your item is/does.";
    //If you want this item to have custom spawn locations on the map
    protected override Dictionary<SpawnLocation, float> SpawnLocations = YourPlugin.Singleton.Config.SpawnLocations;
    
    protected override void LoadEvents()
    {
        Exiled.Events.Handlers.Player.SomeEvent += OnSomeEvent;
        base.LoadEvents();
    }
    protected override void UnloadEvents()
    {
       Exiled.Events.Handlers.Player.SomeEvent -= OnSomeEvent;
       base.UnloadEvents();
    }
      
    public void OnSomeEvent(SomeEventEventArgs ev)
    {
      if (CheckItem(ev.Player.CurrentItem))
      {
          // this is your item, do whatever you want with it.
      }
    }
}

And then you would register it either in a way similar to how this plugin registers it's own custom items, or alternatively:

public Plugin : Plugin<Config>
{
    public override void OnEnabled()
    {
        Timing.CallDelayed(5f, () => new SomeItem(ItemType.SomeType, 42).RegisterCustomItem());
    }
}

Do note, if you're registering your item in your plugin's OnEnabled() method, you MUST add a minimum of 5sec delay before registering, to ensure all other plugins are loaded and that the server process has initialized all of it's components and such.

Credits

  • NeonWizard for the original TranqGun
  • Killer0992 for the original Shotgun
  • Dimenzio for the SpawnGrenade method
  • Michal78900 for SCP-1499
  • SebasCapo for slight API rework.

customitems's People

Contributors

4310v343k avatar babyboucher avatar iopietro avatar joker-119 avatar michal78900 avatar misaka-zerotwo avatar sebascapo avatar xnexusacs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

customitems's Issues

IG-119 bug

it can be used to get out of bounds by trowing it at the escape tunnel on surface

Grenade launcher will reload even with no grenades in inventory

Describe the bug
Players can reload the grenade launcher with no grenades in their inventory, and sometimes if the player has grenades, they won't disappear from their inventory once reloaded (C4s, normal grenades, etc.)

To Reproduce
Steps to reproduce the behavior:
Get a grenade launcher
Reload with no grenades in inv.

Expected behavior
Expecting nothing to happen until you have a grenade in your inventory

Server logs
None

EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total: 20
Active: 20
Disabled: 0

Additional context
Add any other context about the problem here.

[Feature]Use Points for spawn locations

We already have this plugin which allows us to save locations depending on the room you're in
Why can't we use it to spawn items instead or alongside predefined positions if we want the them to be at specific location instead of somewhere

1499 bug yet again .......

nuke patch broke again
obrazek
also suggestion: make 1499 cooldown separate from 268 cooldown

add a config option to change it

config option to reset time on death

OnHurting bug

any damage dealt by you while holding a custom item with OnHurting is affected by it
such as cola,fall damage or grenades

sniper boosts it

medigun disables it completely

tranquilizer well ... tranquilizes (also removes custom abilites of all items but that is an unrelated bug)

scp-127 boosts all dmg caused by you while holding it

Describe the bug
SCP-127 affects all dmg caused by you while holding it
To Reproduce
Steps to reproduce the behavior:

  1. drink SCP-207
  2. equip SCP-127

Expected behavior
damage multiplier only affects SCP-127

Actual behaviour
damage multiplier affects all dmg caused by you while holding SCP-127

Server logs
N/A

EXILED Version ("latest" is not a version):
N/A

Results of show plugins command in console:
N/A

Additional context
i have been unable to build the dll since im bad at that but this bug is blatant from the code alone as it happened many times before in this plugin (#7 being the first case)

(i know its ironic the first issue after making a bug report template terribly breaks it as it was found by reading the code alone but not having the compiled dll to test in game once again sorry)

Grenade launcher launches 300 grenades

Describe the bug
The grenade launcher will launch literally an entire arsenal of grenades(300) when using

To Reproduce
Steps to reproduce the behavior:

  1. Use the first magazine in the grendae launcher
  2. Reload and fire

Expected behavior
Expected to fire one grenade (or clip_size in configs)

Server logs
None

EXILED Version ("latest" is not a version):
4.1.7 (was happening before Christmas update)

Results of show plugins command in console:
**Enabled plugins: 29
Disabled plugins: 2

                       Exiled.Events:
                            - Author: Exiled Team
                            - Version: 4.1.7.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_events
                            - Priority: Highest
                       SpectatorRange:
                            - Author: 
                            - Version: 1.0.0.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: spectator_range
                            - Priority: Higher
                       Common Utilities:
                            - Author: Galaxy119
                            - Version: 5.0.3.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: CommonUtilities
                            - Priority: Medium
                       UIURescueSquad:
                            - Author: JesusQC, maintained by Michal78900
                            - Version: 3.0.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: UIURescueSquad
                            - Priority: Medium
                       SCPLockdown:
                            - Author: Raul125
                            - Version: 2.1.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: scp_lockdown
                            - Priority: Medium
                       LeftHandedPlayers:
                            - Author: TemmieGamerGuy
                            - Version: 1.0.1
                            - Required Exiled Version: 3.0.0
                            - Prefix: left_handed_players
                            - Priority: Medium
                       Exiled.Permissions:
                            - Author: Exiled Team
                            - Version: 4.1.7.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_permissions
                            - Priority: Medium
                       RespawnTimer:
                            - Author: Michal78900
                            - Version: 3.0.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: respawn_timer
                            - Priority: Medium
                       AutoFFToggle:
                            - Author: Kognity
                            - Version: 1.7.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: auto_f_f_toggle
                            - Priority: Medium
                       CustomDoorAccess:
                            - Author: Faety
                            - Version: 1.4.0
                            - Required Exiled Version: 3.7.2
                            - Prefix: cda
                            - Priority: Medium
                       NukeLock:
                            - Author: Marco15453
                            - Version: 1.6.0
                            - Required Exiled Version: 3.0.5
                            - Prefix: nuke_lock
                            - Priority: Medium
                       CustomWarheadColor:
                            - Author: SoraCént
                            - Version: 0.1.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: custom_warhead_color
                            - Priority: Medium
                       AnimatedServerTitle:
                            - Author: Killers0992
                            - Version: 1.0.1
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: animatedservertitle
                            - Priority: Medium
                       LogArchiver:
                            - Author: Galaxy119
                            - Version: 1.0.0
                            - Required Exiled Version: 2.1.18
                            - Prefix: LogArchiver
                            - Priority: Medium
                       Light Control:
                            - Author: Marco15453
                            - Version: 1.3.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: light_control
                            - Priority: Medium
                       Exiled.CustomRoles:
                            - Author: Exiled Team
                            - Version: 4.1.7.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_custom_roles
                            - Priority: Medium
                       WaitAndChillReborn:
                            - Author: Michal78900
                            - Version: 4.0.0
                            - Required Exiled Version: 4.1.2
                            - Prefix: wait_and_chill_reborn
                            - Priority: Medium
                       Stalky106:
                            - Author: RogerFK
                            - Version: 3.0.0.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: ST106
                            - Priority: Medium
                       DiscordIntegration:
                            - Author: Exiled Team
                            - Version: 5.0.1.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: discord_integration
                            - Priority: Medium
                       Admin Tools:
                            - Author: Originally by Galaxy119. Modifications by KoukoCocoa & Thomasjosif
                            - Version: 4.0.0.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: AT
                            - Priority: Medium
                       RemoteKeycard:
                            - Disabled
                            - Author: Beryl
                            - Version: 3.0.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: remotekeycard
                            - Priority: Medium
                       CustomItems:
                            - Author: Exiled Team
                            - Version: 4.0.2.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: custom_items
                            - Priority: Medium
                       Exiled.CreditTags:
                            - Author: Babyboucher20 & iRebbok & Exiled Team
                            - Version: 4.1.7.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_credits
                            - Priority: Medium
                       SCP1162:
                            - Author: xRoier
                            - Version: 4.0.0
                            - Required Exiled Version: 4.0.0
                            - Prefix: scp1162
                            - Priority: Medium
                       Exiled.Updater:
                            - Author: Exiled.Updater
                            - Version: 3.1.1.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_updater
                            - Priority: Medium
                       Scp008X:
                            - Author: DGvagabond
                            - Version: 3.1.0.0
                            - Required Exiled Version: 4.1.5
                            - Prefix: scp008_x
                            - Priority: Medium
                       MapEditorReborn:
                            - Disabled
                            - Author: Michal78900 (original idea by Killers0992)
                            - Version: 1.3.0
                            - Required Exiled Version: 4.0.0
                            - Prefix: map_editor_reborn
                            - Priority: Medium
                       CustomRoles:
                            - Author: Galaxy119
                            - Version: 2.0.0.0
                            - Required Exiled Version: 4.1.5
                            - Prefix: CustomRoles
                            - Priority: Medium
                       SupplyDrop:
                            - Author: Wafel, KadeDev, JesusQC
                            - Version: 3.0.0
                            - Required Exiled Version: 4.0.0
                            - Prefix: SD
                            - Priority: Medium
                       Exiled.CustomItems:
                            - Author: Exiled Team
                            - Version: 4.1.7.0
                            - Required Exiled Version: 4.1.7.0
                            - Prefix: exiled_custom_items
                            - Priority: Medium
                       Smelly096:
                            - Author: x3rt
                            - Version: 1.0.0
                            - Required Exiled Version: 3.0.0
                            - Prefix: smelly096
                            - Priority: Lowest**

Additional context
Add any other context about the problem here.

Rock dupe

if a rock collides with multiple objects it will spawn as multiple items

CI Guns crash the server

Describe the bug
I added CustomItems to my server, then it crashes when the users use the customitems guns.

To Reproduce
Steps to reproduce the behavior:
I just don't know what my users are doing exactly, just, when they shot a customitem gun sometimes it crashes the server.

Server logs
No MA errors.
SCP Log:
Exception in MessageHandler: NullReferenceException
at (wrapper managed-to-native) UnityEngine.Component.get_gameObject(UnityEngine.Component)
at (wrapper dynamic-method) InventorySystem.Items.Firearms.BasicMessages.FirearmBasicMessagesHandler.InventorySystem.Items.Firearms.BasicMessages.FirearmBasicMessagesHandler.ServerRequestReceived_Patch0(Mirror.NetworkConnection,InventorySystem.Items.Firearms.BasicMessages.RequestMessage)
at (wrapper delegate-invoke) System.Action2[Mirror.NetworkConnection,InventorySystem.Items.Firearms.BasicMessages.RequestMessage].invoke_void_T1_T2(Mirror.NetworkConnection,InventorySystem.Items.Firearms.BasicMessages.RequestMessage) at Mirror.MessagePacking+<>c__DisplayClass4_02[T,C].b__0 (Mirror.NetworkConnection conn, Mirror.NetworkReader reader, System.Int32 channelId) [0x0006f] in <240cbb768a5946aca743b4225af5ecba>:0
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

Found 'null' entry in observing list for connectionId=0. Please call NetworkServer.Destroy to destroy networked objects. Don't use GameObject.Destroy.
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)

EXILED Version ("latest" is not a version):
im tinybrain 😂

coin doesn't work

when i drop coin in other location than pocket, spawns 2 coins.
when i drop coin in pocket it desn't work.

InsideLczWc broken i thonk

lucky_cfg:

How long the coin will stay spawned inside the PD.

duration: 2

Where on the map items should spawn, and their % chance of spawning in each location.

spawn_locations:
InsideLczWc: 50

The Custom Item ID for this item.

id: 5

The description of this item show to players when they obtain it.

description: Bu eşyayı SCP-106'nın cep boyutunda yere atarsan büyülü olaylar yaşayabilirsin.

The name of this item shown to players when they obtain it.

name: Şans Parası

How many of this item are allowed to naturally spawn on the map when a round starts. 0 = unlimited

spawn_limit: 1
When i do the spawn chance 100 it still not spawns but if i set its spawnpoint to InsideGateA it works well

changing item category

an option to make a item act like its a different item type than the item its based on - right now rock is counted as a scp but scp-127 isnt

NoCategory
Keycard
Medical
Radio
Weapon
Grenade
SCPItem
MicroHID

Duplicate items when player dies

Describe the bug
If a player is holding a customitem and dies, they will drop two of the same things.

To Reproduce
Steps to reproduce the behavior:
Give yourself a CustomItem
Die in any way (I would jump down 939's pit)

Expected behavior
Expected to just drop everything the player was holding

Server logs
None relating to this, other then just me dying.

EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total: 20
Active: 20
Disabled: 0

Additional context
Add any other context about the problem here.

quality of life changes

blacklisted EMP doors config - probably make 106 room and gate A/B blacklisted by default

914 support - allow custom 914 recipes to either use or create custom items

equip message - toggleable for each item in settings same as pickup one but lasts only 1s mainly usefull due to situations like having lethal injection and adrenaline in invenory at once

make lethal injection use the adrenaline animation - it just waits and kills you without even touching you

SCP-2818 isn't working

Describe the bug
Shot the scp-2818, and it doesn't works.

To Reproduce
Steps to reproduce the behavior:
Shot an scp-2818.

Server logs
image

EXILED Version ("latest" is not a version):
3.0.3-beta | 4.0.0 for CustomItems

Results of show plugins command in console:
I only have enabled CustomItems, i opened a server in local to test it.

Additional context
N/A

EM-119 and IG-119 aren't exploding on collision

Describe the bug
EM-119 and IG-119 aren't exploding on collision.

To Reproduce
Throw a EM-119/IG-119 grenade.

Server logs
Please include a pastebin of your localadmin log file (or both MA_log and SCP_log files if you use MultiAdmin) from the time in which the bug occured

EXILED Version ("latest" is not a version):
3.0.3-beta | 4.0.0 for CustomItems

Results of show plugins command in console:
I only have enabled CustomItems, i opened a server in local to test it.

Additional context
image
image

Also EM-119 isn't working on the surface.

TG-119 breaks custom items

being tranqualized turns all custom items into normal ones eg.
1499 -> 268
TG-119 -> flashbang

and so on

grenade launcher broken

Description - the grenade launcher is broken, you can reload it and spray and 100 grenades fly out the end.

To Reproduce
im not sure how to reproduce, but it randomly could fire infinite grenades.

here is a clip of the issue - https://streamable.com/hcgziw

Expected behavior
the grenade launcher to shoot 1/3 grenades then reload, not 100.

Server logs
https://pastebin.com/EUEggfwU

EXILED Version ("latest" is not a version): - Version: 3.0.3.0

Results of show plugins command in console:

Additional context
Add any other context about the problem here
LocalAdmin Log 2021-10-04 16.36.21.txt
.

Autogun server crash

It seems that the autogun is making our server crash after it has been used. We are using Exiled 3.0.4

[12:28:53] [ERROR] [Exiled.Events] Method "OnInternalShooting" of the class "Exiled.CustomItems.API.Features.CustomWeapon" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.ShootingEventArgs, Exiled.Events, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null]]"

[12:28:53] [ERROR] [Exiled.Events] System.NullReferenceException: Object reference not set to an instance of an object

at Exiled.API.Features.Player.ShowHitMarker () [0x00026] in :0

at CustomItems.Items.AutoGun.OnShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00133] in :0

at Exiled.CustomItems.API.Features.CustomWeapon.OnInternalShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00014] in :0

at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00024] in :0

[12:28:53] [ERROR] [Exiled.Events] Method "OnInternalShooting" of the class "Exiled.CustomItems.API.Features.CustomWeapon" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.ShootingEventArgs, Exiled.Events, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null]]"

[12:28:53] [ERROR] [Exiled.Events] System.NullReferenceException: Object reference not set to an instance of an object

at Exiled.API.Features.Player.ShowHitMarker () [0x00026] in :0

at CustomItems.Items.AutoGun.OnShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00133] in :0

at Exiled.CustomItems.API.Features.CustomWeapon.OnInternalShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00014] in :0

at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00024] in :0

[12:28:53] [ERROR] [Exiled.Events] Method "OnInternalShooting" of the class "Exiled.CustomItems.API.Features.CustomWeapon" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.ShootingEventArgs, Exiled.Events, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null]]"

[12:28:53] [ERROR] [Exiled.Events] System.NullReferenceException: Object reference not set to an instance of an object

at Exiled.API.Features.Player.ShowHitMarker () [0x00026] in :0

at CustomItems.Items.AutoGun.OnShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00133] in :0

at Exiled.CustomItems.API.Features.CustomWeapon.OnInternalShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00014] in :0

at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00024] in :0

[12:28:54] [ERROR] [Exiled.Events] Method "OnInternalShooting" of the class "Exiled.CustomItems.API.Features.CustomWeapon" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.ShootingEventArgs, Exiled.Events, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null]]"

[12:28:54] [ERROR] [Exiled.Events] System.NullReferenceException: Object reference not set to an instance of an object

at Exiled.API.Features.Player.ShowHitMarker () [0x00026] in :0

at CustomItems.Items.AutoGun.OnShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00133] in :0

at Exiled.CustomItems.API.Features.CustomWeapon.OnInternalShooting (Exiled.Events.EventArgs.ShootingEventArgs ev) [0x00014] in :0

at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00024] in :0

Detonate command does not work

Describe the bug
When attempting to run .detonate in the in-game console without holding the detonator item, an error is produced.

To Reproduce
Steps to reproduce the behavior:

  1. Give yourself C4-119
  2. Place it on the ground
  3. Run .detonate in the console
  4. Observe the error

Expected behavior
The C4 charge detonates.

Server logs
There are no error logs in the server's console, but this shows in the in-game console:
in-game console

EXILED Version ("latest" is not a version):
Exiled.Loader:4.1.6

Results of show plugins command in console:
https://paste.hep.gg/gymub.yaml

Additional context
It should probably show a message saying "You don't have the detonator (Radio) in your hand!" if it is enabled.

Grenade Launcher will blow up in your face sometimes

Describe the bug
Randomly, when shooting the grenade launcher, the grenade blows up right in your face instead of shooting, and it kinda hurts

To Reproduce
Steps to reproduce the behavior:
Get a grenade launcher
Shoot until it does it

Expected behavior
Expecting the grenade's fuse to not explode right away.
Server logs
None, other than me dying
EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total: 20
Active: 20
Disabled: 0

Additional context
Add any other context about the problem here.

1499 bug not fully patched

using 1499 in the top elevator when nuke explodes / lcz gets decontaminated still works

also unrelated is it possible to add the tags on your own issue or do repository owners need to do that

ImplosionGrenade messes with NTF/Chaos respawn/EmpGrenade error

https://github.com/Exiled-Team/CustomItems/blob/main/CustomItems/Items/ImplosionGrenade.cs
The ImplosionGrenade messes with ListPool, not returning them properly and not making NTF/Chaos to respawn correctly and I also get this NRE:

Method "OnTeleporting" of the class "CustomItems.Items.ImplosionGrenade" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.TeleportingEventArgs, Exiled.Events, Version=2.9.4.0, Culture=neutral, PublicKeyToken=null]]"
System.NullReferenceException: Object reference not set to an instance of an object
  at CustomItems.Items.ImplosionGrenade.OnTeleporting (Exiled.Events.EventArgs.TeleportingEventArgs ev) [0x0000c] in <3f64af8e26ec4c249c4064ff07bf607b>:0 
  at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00027] in <f85642f12bab44379b1b935ba78b0d94>:0 

Which is caused because OnTeleporting is trying to access to a null effectedPlayers list.
Imo effectedPlayers should be a HashSet.

I get this error aswell from the EmpGrande:

Method "OnExplodingGrenade" of the class "CustomItems.Items.EmpGrenade" caused an exception when handling the event "Exiled.Events.Events+CustomEventHandler`1[[Exiled.Events.EventArgs.ExplodingGrenadeEventArgs, Exiled.Events, Version=2.9.4.0, Culture=neutral, PublicKeyToken=null]]"
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
  at Mirror.SyncList`1+SyncListEnumerator[T].MoveNext () [0x00013] in <38635505dd7a40388901824d65d58e4a>:0 
  at CustomItems.Items.EmpGrenade.OnExplodingGrenade (Exiled.Events.EventArgs.ExplodingGrenadeEventArgs ev) [0x00370] in <3f64af8e26ec4c249c4064ff07bf607b>:0 
  at Exiled.Events.Extensions.Event.InvokeSafely[T] (Exiled.Events.Events+CustomEventHandler`1[TEventArgs] ev, T arg) [0x00024] in <55a453c56d4c44328cd29bc3cf3d76f7>:0 

SCP-1499 exploitable bug

using SCP-1499 as nuke is about to explode / decontamination start doesn't kill you allowing to stall the game by being in an inaccessible part of the map

C4 Bomb command not working

Describe the bug
The C4 .detonate command doesn't work. Instead, it outputs an error.

To Reproduce
Steps to reproduce the behavior:
Give yourself a C4 in-game
Throw it
Type .detonate in the console

Expected behavior
Expected to detonate the gernade

Server logs
No output in Server Logs

EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total Number of Plugins: 20
Enabled Plugins: 20
Disabled Plugins: 0

Additional context
None

GL-119 bugs

it treats modded grenades based on a frag grenade as frag grenades (IG-119) either remove it taking them or make them actually have the modded effects

reloading it while it is full still consumes grenades

make it set your 7.62 to 1 if you have none while holding it so it can be reloaded without 7.62 ammo

shotgun may be broken

i suspect the shotgun is broken i belive this because:

a zombie survived max ammo of point blank shots

unlimited SCP once temp removed a role due to a broken shotgun and readded it after fixing it

EMP Grenade doesn't lock checkpoints

Doors that auto-close (Checkpoints and 106's doors) are not locked open. Instead, the door opens before automatically closing a few seconds later. After closing, the door will be locked closed for the remainder of the EMP's duration.

LC-119 drops twice

if LC-119 is dropped outside of pocket dimension it drops twice this can be used to lag the server as it gets duplicated

Grenade Launcher wont load C4s correctly

Describe the bug
The Grenade Launcher will load with a C4 in a players inventory, but wont remove it from the players inventory once loaded. It sometimes does this with normal grenades too.

To Reproduce
Steps to reproduce the behavior:
Get a Grenade Launcher
Give yourself C4 grenades
Reload it

Expected behavior
Unsure if it is supposed to even load grenades, but if it is, it should remove it from the persons inventory,

Server logs
None

EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total: 20
Active: 20
Disabled: 0

Additional context
Add any other context about the problem here.

SCP-127 can regen ammo above limit

the check only happens if the ammo is lower than max not if current ammo + regen_amount is above max (if its above max set it to max)

No grenade recieved when unloading grenade launcher

Describe the bug
You loose your grenade when unloading your grenade launcher

To Reproduce
Steps to reproduce the behavior:
Give yourself a grenade launcher
Load it then unload it

Expected behavior
Supposed to receive the grenade that was loaded

Server logs
Nothing in server logs

EXILED Version ("latest" is not a version):
3.7.2

Results of show plugins command in console:
Total Plugins: 20
Active Plugins: 20
Disabled Plugins: 0

Additional context
Add any other context about the problem here.

Item Suggestion

This is sort of a strange suggestion, but a parachute that players can use to jump from high places, like surface, 939's room, and 106's room without dying. The player might take a slight amount of damage (like 5) when hitting the ground but will survive.

Sorry I used a bug template, the blank templates didn't give an assignee

1499 bug

the location of 1499 dimension allows players to shoot players on surface (this can only be achived if you have cola or increased
time making its use in a real situation rare)

[suggestion] better custom item recognition

when you pick up a custom item it says "you have picked up a CustomItemName" even if it should use an eg. emp

when you hold a custom item in hand it should say "you are holding a/an CustomItemName" toggleable for individual items as a property incase the showhint overwrites a different hint used by the item

dropping it should say "you have dropped a/an CustomItemName"

drop and equip dont say the description and the showhints are only 1s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.