public void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args) { RegionBuff rb = Array.Find(config.regionbuffs, p => p.regionName == args.Region.Name && p.buffs.Count > 0); if (rb == null) { return; } if (hasAnnounced[args.Player.Index].Contains(args.Region.Name)) { return; } args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", rb.buffs.Keys.Select(p => Main.buffName[p]))); hasAnnounced[args.Player.Index].Add(args.Region.Name); //KeyValuePair<string, List<int>> regionkvp; //regionkvp = new KeyValuePair<string, List<int>>("null", new List<int>() { 0 }); //foreach (RegionBuff rb in config.regionbuffs) //{ // if (rb.regionName == args.Region.Name && rb.buffIDs.Count > 0) // { // regionkvp = kvp; // } //} //if (regionkvp.Key != "null" && !hasAnnounced[args.Player.Index].Contains(args.Region.Name)) //{ // args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", regionkvp.Value.Select(p => Main.buffName[p]))); // hasAnnounced[args.Player.Index].Add(args.Region.Name); //} }
private async void OnRegionEntered(RegionHooks.RegionEnteredEventArgs e) { var city = await Cities.FindByRegionAsync(e.Region.Name); if (city != null) { var first = city.Discovered.Count == 0; if (!e.Player.HasPermission("citiez.all") && !city.Discovered.Contains(e.Player.Account.ID) && await Cities.DiscoverAsync(city.Name, e.Player)) { if (first && await Cities.AddDiscoveryAsync(city.Name, e.Player)) { e.Player.SendInfoMessage(string.Format(Config.FirstDiscoveredCity, city.Name)); } e.Player.SendInfoMessage(string.Format(Config.DiscoveredCity, city.Name)); } var discovery = await Cities.GetDiscoveryAsync(city.Name); if (discovery == null) { return; } e.Player.SendInfoMessage(string.Format(Config.WelcomeMessage, city.Name, discovery.User.Name)); } }
private void OnRegionEntered(RegionHooks.RegionEnteredEventArgs e) { var player = e.Player; var playerInfo = player.GetOrCreatePlayerInfo(); var region = _manager.Get(e.Region.Name); if (region == null) { return; } if (!player.TPlayer.hostile && region.HasAction(RegionAction.ForcePvp)) { player.TPlayer.hostile = true; NetMessage.SendData((int)PacketTypes.TogglePvp, -1, -1, NetworkText.Empty, player.Index); player.SendInfoMessage("You have entered a PvP area, your PvP is now forced."); } if (player.TPlayer.hostile && region.HasAction(RegionAction.ForcePvpOff)) { player.TPlayer.hostile = false; NetMessage.SendData((int)PacketTypes.TogglePvp, -1, -1, NetworkText.Empty, player.Index); player.SendInfoMessage("You have entered a PvP free area, your PvP is now forced off."); } if (region.HasAction(RegionAction.TempGroup) && region.TempGroup != null) { playerInfo.PreviousGroup = player.Group; player.Group = region.TempGroup; player.SendInfoMessage( $"Your group has been changed to '{TShock.Utils.ColorTag(region.TempGroup.Name, new Color(region.TempGroup.R, region.TempGroup.G, region.TempGroup.B))}' due to region setup."); } }
void OnRegionEnter(RegionHooks.RegionEnteredEventArgs e) { if (e.Region.Name.Contains(regionName)) // сисянчик попал в сеть склада { NetMessage.SendData(14, -1, e.Player.Index, null, e.Player.Index, false.ToInt()); // сисянчика закутали в сеть склада шобы невидно его было } }
public void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args) { RegionBuff rb = Array.Find(config.regionbuffs, p => p.regionName == args.Region.Name && p.buffs.Count > 0); if (rb == null) { return; } if (hasAnnounced[args.Player.Index].Contains(args.Region.Name)) { return; } args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", rb.buffs.Keys.Select(p => Main.buffName[p]))); hasAnnounced[args.Player.Index].Add(args.Region.Name); }
public void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args) { var Start = DateTime.Now; var PlayerGroup = args.Player.Group.Name; lock (Database.Broadcasts) foreach (Broadcast broadcast in Database.Broadcasts) { if (Timeout(Start)) { return; } if (broadcast == null || !broadcast.Enabled || !broadcast.Groups.Contains(PlayerGroup)) { continue; } List <string> msgs = broadcast.Messages; for (int i = 0; i < msgs.Count; i++) { msgs[i] = msgs[i].Replace("{player}", args.Player.Name); msgs[i] = msgs[i].Replace("{region}", args.Player.CurrentRegion.Name); } foreach (string reg in broadcast.TriggerRegions) { if (args.Player.CurrentRegion.Name == reg) { if (broadcast.RegionTriggerTo == "all") { BroadcastToAll(msgs, broadcast.Color); } else if (broadcast.RegionTriggerTo == "region") { BroadcastToRegion(reg, msgs, broadcast.Color); } else if (broadcast.RegionTriggerTo == "self") { BroadcastToPlayer(args.Player.Index, msgs, broadcast.Color); } } } } }
public void OnRegionEnter(RegionHooks.RegionEnteredEventArgs args) { RegionBuff rb = config.regionbuffs.FirstOrDefault(p => p.regionName == args.Region.Name && p.buffs.Count > 0); if (rb == null) { return; } //Probably occurs when this is thrown before Greet (ie when spawning) if (!hasAnnounced.ContainsKey(args.Player.Index)) { return; } if (hasAnnounced[args.Player.Index].Contains(args.Region.Name)) { return; } args.Player.SendSuccessMessage("You have entered a region with the following buffs enabled: {0}", string.Join(", ", rb.buffs.Keys.Select(p => TShock.Utils.GetBuffName(p)))); hasAnnounced[args.Player.Index].Add(args.Region.Name); }
private void OnRegionEntered(RegionHooks.RegionEnteredEventArgs args) { var rt = RtRegions.GetRtRegionByRegionId(args.Region.ID); if (rt == null) { return; } var dt = args.Player.GetData <RtPlayer>(Rtdataname); if (dt == null) { return; } if (rt.HasEvent(Events.EnterMsg)) { if (string.IsNullOrWhiteSpace(rt.EnterMsg)) { args.Player.SendInfoMessage("You have entered region {0}", args.Region.Name); } else { args.Player.SendMessage(rt.EnterMsg, Color.White); } } if (rt.HasEvent(Events.Message) && !string.IsNullOrWhiteSpace(rt.Message)) { args.Player.SendInfoMessage(rt.Message, args.Region.Name); } if (rt.HasEvent(Events.TempGroup) && rt.TempGroup != null && !args.Player.HasPermission("regiontrigger.bypass.tempgroup")) { if (rt.TempGroup == null) { TShock.Log.ConsoleError("TempGroup in region '{0}' is not valid!", args.Region.Name); } else { args.Player.tempGroup = rt.TempGroup; args.Player.SendInfoMessage("Your group has been changed to {0} in this region.", rt.TempGroup.Name); } } if (rt.HasEvent(Events.Kill) && !args.Player.HasPermission("regiontrigger.bypass.kill")) { args.Player.DamagePlayer(9999); args.Player.SendInfoMessage("You were killed!"); } if (rt.HasEvent(Events.Godmode)) { args.Player.GodMode = true; args.Player.SendInfoMessage("You are now in godmode!"); } if (rt.HasEvent(Events.Pvp) && !args.Player.HasPermission("regiontrigger.bypass.pvp")) { dt.Pvp = true; if (!args.Player.TPlayer.hostile) { args.Player.TPlayer.hostile = true; args.Player.SendData(PacketTypes.TogglePvp, "", args.Player.Index); TSPlayer.All.SendData(PacketTypes.TogglePvp, "", args.Player.Index); args.Player.SendInfoMessage("Your PvP status is forced enabled in this region!"); } } if (rt.HasEvent(Events.NoPvp) && !args.Player.HasPermission("regiontrigger.bypass.nopvp")) { dt.Pvp = false; dt.NoPvp = true; if (args.Player.TPlayer.hostile) { args.Player.TPlayer.hostile = false; args.Player.SendData(PacketTypes.TogglePvp, "", args.Player.Index); TSPlayer.All.SendData(PacketTypes.TogglePvp, "", args.Player.Index); args.Player.SendInfoMessage("You can't enable PvP in this region!"); } } if (rt.HasEvent(Events.Private) && !args.Player.HasPermission("regiontrigger.bypass.private")) { args.Player.Spawn(); args.Player.SendErrorMessage("You don't have permission to enter that region."); } }