public async void OnChangingItem(ChangingItemEventArgs ev) { if (Instance.Config.EventsToLog.ChangingPlayerItem && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack)) { await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.ItemChanged, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.OldItem.id, ev.NewItem.id))).ConfigureAwait(false); } }
/// <inheritdoc/> protected override void OnChanging(ChangingItemEventArgs ev) { if (ev.Player.Ammo[(int)AmmoType.Nato9] == 0) { ev.Player.Ammo[(int)AmmoType.Nato9] = 1; } }
internal void OnChangingItem(ChangingItemEventArgs ev) { if (!ev.Player.UseGhostItem(ev.NewItem.id)) { ev.Player.Inventory.curItem = ItemType.Coin; } }
private void OnChangingItem(ChangingItemEventArgs ev) { if (Check(ev.NewItem)) { foreach (string effect in Scp714Effects) { if (!ev.Player.EnableEffect(effect, 999f, false)) { Log.Error($"\"{effect}\" is not a valid effect name."); } } } else if (Check(ev.OldItem)) { if (!string.IsNullOrEmpty(TakeOffMessage)) { ev.Player.ShowHint(TakeOffMessage); } foreach (string effect in Scp714Effects) { try { ev.Player.DisableEffect((EffectType)Enum.Parse(typeof(EffectType), effect, true)); } catch (Exception) { Log.Error($"\"{effect}\" is not a valid effect name."); continue; } } } }
public void OnChangingItem(ChangingItemEventArgs ev) { if (SimpleCuffProtection.DisallowUncuffing && ev.NewItem.id == ItemType.Disarmer && Handcuffs.ContainsKey(ev.Player)) { ev.Player.Broadcast(3, "<b>If you'd like to uncuff the player you have cuffed earlier, drop the <color=#8A2BE2>Disarmer</color> by right-clicking on it in the inventory wheel.</b>"); } }
public void OnChangingItem(ChangingItemEventArgs ev) { Timing.CallDelayed(0.1f, () => { ev.Player.SendCustomSyncVar(ServerConfigSynchronizer.Singleton.netIdentity, typeof(ServerConfigSynchronizer), nameof(ServerConfigSynchronizer.Singleton.NetworkHumanWalkSpeedMultiplier), Util.GetFinalSpeedMultiplier(ev.Player.ReferenceHub, false)); ev.Player.SendCustomSyncVar(ServerConfigSynchronizer.Singleton.netIdentity, typeof(ServerConfigSynchronizer), nameof(ServerConfigSynchronizer.Singleton.NetworkHumanSprintSpeedMultiplier), Util.GetFinalSpeedMultiplier(ev.Player.ReferenceHub, true)); }); }
internal void OnItemChanged(ChangingItemEventArgs ev) { if (ev.NewItem.id.IsWeapon()) { ev.Player.ReferenceHub.playerEffectsController.EnableEffect <CustomPlayerEffects.Disabled>(); } else { ev.Player.ReferenceHub.playerEffectsController.DisableEffect <CustomPlayerEffects.Disabled>(); } }
/// <inheritdoc cref="Exiled.Events.Handlers.Player.OnChangingItem(ChangingItemEventArgs)"/> public void OnChangingItem(ChangingItemEventArgs ev) { Timing.CallDelayed(2f, () => { if (ev.Player?.CurrentItem is Firearm firearm) { Log.Info($"{ev.Player.Nickname} has a firearm!"); firearm.Recoil = new RecoilSettings(0, 0, 0, 0, 0, 0); } }); Log.Info($"{ev.Player.Nickname} is changing his {(ev.Player?.CurrentItem is null ? "NONE" : ev.Player?.CurrentItem?.Type.ToString())} item to {(ev.NewItem is null ? "NONE" : ev.NewItem.Type.ToString())}!"); }
private static void Prefix(Inventory __instance, int i) { try { if (__instance.itemUniq == i) { return; } int oldItemIndex = __instance.GetItemIndex(); if (oldItemIndex == -1 && i == -1) { return; } Inventory.SyncItemInfo oldItem = oldItemIndex == -1 ? new Inventory.SyncItemInfo() { id = ItemType.None } : __instance.GetItemInHand(); Inventory.SyncItemInfo newItem = new Inventory.SyncItemInfo() { id = ItemType.None }; foreach (Inventory.SyncItemInfo item in __instance.items) { if (item.uniq == i) { newItem = item; } } var ev = new ChangingItemEventArgs(API.Features.Player.Get(__instance.gameObject), oldItem, newItem); Player.OnChangingItem(ev); oldItemIndex = __instance.GetItemIndex(); if (oldItemIndex != -1) { __instance.items[oldItemIndex] = ev.OldItem; } } catch (Exception e) { Exiled.API.Features.Log.Error($"Exiled.Events.Patches.Events.Player.ChangingItem: {e}\n{e.StackTrace}"); } }
/*internal void ChangingGroup(ChangingGroupEventArgs ev) * { * }*/ internal void ChangingItem(ChangingItemEventArgs ev) { if (Plugin.Instance.Config.ChangingItem == "") { return; } string message = Plugin.Instance.Config.ChangingItem.Replace("%player%", ev.Player.ToString()); message = message.Replace("%newitem%", ev.NewItem.id.ToString()); message = message.Replace("%olditem%", ev.OldItem.id.ToString()); if (Plugin.Instance.Config.debug_to_console) { Log.Debug(message: "[ " + Plugin.Instance.Config.player_name + "] " + message); } Plugin.sendWebHook(Plugin.Instance.Config.player_url, message, Plugin.Instance.Config.player_name); }
private static void Prefix(Inventory __instance, int i) { if (__instance.itemUniq == i) { return; } int oldItemIndex = __instance.GetItemIndex(); if (oldItemIndex == -1 && i == -1) { return; } Inventory.SyncItemInfo oldItem = oldItemIndex == -1 ? new Inventory.SyncItemInfo() { id = ItemType.None } : __instance.GetItemInHand(); Inventory.SyncItemInfo newItem = new Inventory.SyncItemInfo() { id = ItemType.None }; foreach (Inventory.SyncItemInfo item in __instance.items) { if (item.uniq == i) { newItem = item; } } var ev = new ChangingItemEventArgs(API.Features.Player.Get(__instance.gameObject), oldItem, newItem); Player.OnChangingItem(ev); oldItemIndex = __instance.GetItemIndex(); if (oldItemIndex != -1) { __instance.items[oldItemIndex] = ev.OldItem; } return; }
private void OnChangingItem(ChangingItemEventArgs ev) { if (Check(ev.NewItem)) { foreach (string effect in Scp714Effects) { ev.Player.ReferenceHub.playerEffectsController.EnableByString(effect, 999f, false); } } else if (Check(ev.OldItem)) { if (!string.IsNullOrEmpty(TakeOffMessage)) { ev.Player.ShowHint(TakeOffMessage); } foreach (string effect in Scp714Effects) { ev.Player.ReferenceHub.playerEffectsController.ChangeByString(effect, 0); } } }
/// <summary> /// Invoked before changing a player changes the item in his hand. /// </summary> /// <param name="ev">The <see cref="ChangingItemEventArgs"/> instance.</param> public static void OnChangingItem(ChangingItemEventArgs ev) => ChangingItem.InvokeSafely(ev);
/// <inheritdoc cref="Events.Handlers.Player.OnChangingItem(ChangingItemEventArgs)"/> public void OnChangingItem(ChangingItemEventArgs ev) { Log.Info($"{ev.Player?.Nickname} is changing his {ev.OldItem.id} item to {ev.NewItem.id}!"); }