private void RestrictCommands(ZoneProps zone, Player player) { foreach (string cmd in zone.blockedCommands) { player.RestrictCommand(cmd); } }
private void StartRadiationListener(Player player, ZoneProps zone) { var timer = RadiationListener[player] = new Timer(); timer.Interval = zone.radiationInterval; timer.AutoReset = true; timer.Enabled = true; timer.Elapsed += (x, y) => { player.AddRads(zone.radiationAmount); }; }
private void OnEntityDeployed(Player player, Entity e, Player actualplacer) { if (e != null && !e.IsDestroyed) { ZoneProps nearbyzone = GetZoneAtLocation(actualplacer.Location) ?? null; if (nearbyzone != null) { if (nearbyzone.blockBuilding) { float radius = nearbyzone.radius; float dist = Vector3.Distance(actualplacer.Location, util.ConvertStringToVector3(nearbyzone.location)); if (dist < radius) { e.Destroy(); player.MessageFrom(chat_Name, color_red + $"You are not allowed to build inside zone '{nearbyzone.name}'"); } } } } }