internal void InvokePlayerItemUseEvent(Player player, Api.Items.SynapseItem item, ItemInteractState state, ref bool allow) { var ev = new PlayerItemInteractEventArgs { Player = player, CurrentItem = item, State = state, Allow = allow, }; PlayerItemUseEvent?.Invoke(ev); allow = ev.Allow; }
public CommandResult Execute(CommandContext context) { var result = new CommandResult(); if (context.Arguments.Count < 2) { result.Message = "Missing parameter! Command Usage: give player itemid"; result.State = CommandResultState.Error; return(result); } var player = Server.Get.GetPlayer(context.Arguments.FirstElement()); if (player == null) { result.Message = "No Player was found"; result.State = CommandResultState.Error; return(result); } if (!int.TryParse(context.Arguments.ElementAt(1), out var id)) { result.Message = "Invalid Parameter for ItemID"; result.State = CommandResultState.Error; return(result); } float durabillity = 0; uint sight = 0; float xsize = 1; float ysize = 1; float zsize = 1; if (context.Arguments.Count > 2) { if (!float.TryParse(context.Arguments.ElementAt(2), out durabillity)) { result.Message = "Invalid Parameter for Durabillity"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 3) { if (!uint.TryParse(context.Arguments.ElementAt(3), out sight)) { result.Message = "Invalid Parameter for Attachements"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 4) { if (!float.TryParse(context.Arguments.ElementAt(4), out xsize)) { result.Message = "Invalid Parameter for XSize"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 5) { if (!float.TryParse(context.Arguments.ElementAt(5), out ysize)) { result.Message = "Invalid Parameter for YSize"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 6) { if (!float.TryParse(context.Arguments.ElementAt(6), out zsize)) { result.Message = "Invalid Parameter for ZSize"; result.State = CommandResultState.Error; return(result); } } if (!Server.Get.ItemManager.IsIDRegistered(id)) { result.Message = "No Item with this ItemId was found"; result.State = CommandResultState.Error; return(result); } var item = new Api.Items.SynapseItem(id) { Scale = new UnityEngine.Vector3(xsize, ysize, zsize), }; player.Inventory.AddItem(item); item.Durabillity = durabillity; item.WeaponAttachments = sight; result.Message = "Added Item to Players Inventory!"; result.State = CommandResultState.Ok; return(result); }
public CommandResult Execute(CommandContext context) { var result = new CommandResult(); if (!context.Player.HasPermission("synapse.command.give")) { result.Message = "You don't have permission to use this command"; result.State = CommandResultState.NoPermission; return(result); } if (context.Arguments.Count < 2) { result.Message = "Missing parameter! Command Usage: give player itemid"; result.State = CommandResultState.Error; return(result); } var player = Server.Get.GetPlayer(context.Arguments.FirstElement()); if (player == null) { result.Message = "No Player was found"; result.State = CommandResultState.Error; return(result); } if (!int.TryParse(context.Arguments.ElementAt(1), out var id)) { result.Message = "Invalid Parameter for ItemID"; result.State = CommandResultState.Error; return(result); } float durabillity = 0; int sight = 0; int barrel = 0; int other = 0; float xsize = 1; float ysize = 1; float zsize = 1; if (context.Arguments.Count > 2) { if (!float.TryParse(context.Arguments.ElementAt(2), out durabillity)) { result.Message = "Invalid Parameter for Durabillity"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 3) { if (!int.TryParse(context.Arguments.ElementAt(3), out sight)) { result.Message = "Invalid Parameter for Sight"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 4) { if (!int.TryParse(context.Arguments.ElementAt(4), out barrel)) { result.Message = "Invalid Parameter for Barrel"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 5) { if (!int.TryParse(context.Arguments.ElementAt(5), out other)) { result.Message = "Invalid Parameter for Other"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 6) { if (!float.TryParse(context.Arguments.ElementAt(6), out xsize)) { result.Message = "Invalid Parameter for XSize"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 7) { if (!float.TryParse(context.Arguments.ElementAt(7), out ysize)) { result.Message = "Invalid Parameter for YSize"; result.State = CommandResultState.Error; return(result); } } if (context.Arguments.Count > 8) { if (!float.TryParse(context.Arguments.ElementAt(8), out zsize)) { result.Message = "Invalid Parameter for ZSize"; result.State = CommandResultState.Error; return(result); } } if (!Server.Get.ItemManager.IsIDRegistered(id)) { result.Message = "No Item with this ItemId was found"; result.State = CommandResultState.Error; return(result); } var item = new Api.Items.SynapseItem(id, durabillity, sight, barrel, other); item.Scale = new UnityEngine.Vector3(xsize, ysize, zsize); player.Inventory.AddItem(item); result.Message = "Added Item to Players Inventory!"; result.State = CommandResultState.Ok; return(result); }