private void ManageSign(UnturnedPlayer uPlayer, InteractableSign Sign) { if (Sign.text == null || Sign.text == "" || !Sign.text.Contains("~") || !uPlayer.HasPermission("signteleporter.teleport")) { return; } int[] Coordinates; try { Coordinates = Array.ConvertAll(Sign.text.Split('~', '~')[1].Split(','), s => int.Parse(s)); } catch (Exception ex) { UnturnedChat.Say(uPlayer, "There has been an error teleporting from sign!", Color.red); Logger.LogWarning($"There has been an Error, contact Mr.Kwabs#9751 or [email protected] with the following:\n[Recieving Coordinates]"); Logger.Log($"{ex}", ConsoleColor.DarkYellow); return; } try { uPlayer.Teleport(new Vector3(Coordinates[0], Coordinates[1], Coordinates[2]), uPlayer.Player.look.rot); } catch (Exception ex) { UnturnedChat.Say(uPlayer, "There has been an error teleporting from sign!", Color.red); Logger.LogWarning($"There has been an Error, contact Mr.Kwabs#9751 or [email protected] with the following:\n[Attempting Teleport]"); Logger.Log($"{ex}", ConsoleColor.DarkYellow); return; } UnturnedChat.Say(uPlayer, "Successfully teleported from Sign!", Color.yellow); Logger.LogWarning($"{uPlayer.DisplayName} has teleported to {new Vector3(Coordinates[0], Coordinates[1], Coordinates[2])} from a sign!"); return; }
private void OnModifySignRequested(CSteamID steamId, InteractableSign sign, // lgtm [cs/too-many-ref-parameters] ref string text, ref bool shouldAllow) { var drop = BarricadeManager.FindBarricadeByRootTransform(sign.transform); if (drop == null) { return; } var buildable = new UnturnedBarricadeBuildable(drop); var nativePlayer = PlayerTool.getPlayer(steamId); var player = GetUnturnedPlayer(nativePlayer); var @event = new UnturnedSignModifyingEvent(buildable, player, text) { IsCancelled = !shouldAllow }; Emit(@event); text = @event.Text; shouldAllow = [email protected]; }
private bool AllowTeleport(InteractableSign Sign) { if (AllowedIDs.Contains(Sign.owner.ToString())) { return(true); } return(false); }
private void ManageSign(UnturnedPlayer uPlayer, InteractableSign Sign) { if (Sign.text == null || Sign.text == "" || !Sign.text.Contains("*") || !uPlayer.HasPermission("signurl")) { return; } string URL = Sign.text.Split('*', '*')[1].ToString(); uPlayer.Player.sendBrowserRequest(Instance.Configuration.Instance.DefaultDesc, URL); }
static bool ServerSetSignTextInternalPrefix(InteractableSign sign, ref string trimmedText) { Door door = SellDoorPlugin.Instance.DoorService.GetDoorOrItem(sign.transform); if (door != null) { trimmedText = SellDoorPlugin.Instance.DoorService.GetSignText(door); } return(true); }
private void ManageSign(UnturnedPlayer uPlayer, InteractableSign Sign) { if (Sign.text == null || Sign.text == "" || !Sign.text.Contains("*") || !Sign.text.Contains("~") || !uPlayer.HasPermission("signurlteleport")) { return; } int[] Coordinates; if (Sign.text.Contains("*")) { string URL = Sign.text.Split('*', '*')[1].ToString(); uPlayer.Player.sendBrowserRequest(Instance.Configuration.Instance.DefaultDesc, URL); } else { try { Coordinates = Array.ConvertAll(Sign.text.Split('~', '~')[1].Split(','), s => int.Parse(s)); } catch (Exception ex) { UnturnedChat.Say(uPlayer, "There has been an error using this sign!", Color.red); Logger.LogWarning($"There has been an error!"); Logger.Log($"{ex}", ConsoleColor.DarkYellow); return; } try { uPlayer.Teleport(new Vector3(Coordinates[0], Coordinates[1], Coordinates[2]), uPlayer.Player.look.rot); } catch (Exception ex) { UnturnedChat.Say(uPlayer, "There has been an error teleporting from sign!", Color.red); Logger.LogWarning($"There has been an Error, contact Mr.Kwabs#9751 or [email protected] with the following:\n[Attempting Teleport]"); Logger.Log($"{ex}", ConsoleColor.DarkYellow); return; } UnturnedChat.Say(uPlayer, "Successfully teleported from Sign!", Color.yellow); Logger.LogWarning($"{uPlayer.DisplayName} has teleported to {new Vector3(Coordinates[0], Coordinates[1], Coordinates[2])} from a sign!"); return; } }
public void UpdateSign(string text) { if (Transform == null) { return; } if (!BarricadeManager.tryGetInfo(Transform, out _, out _, out _, out _, out _, out BarricadeDrop drop)) { return; } InteractableSign interactableSign = drop.interactable as InteractableSign; if (interactableSign == null) { return; } BarricadeManager.ServerSetSignText(interactableSign, text); }
private void OnGesture(UnturnedPlayer user, UnturnedPlayerEvents.PlayerGesture gesture) { if (gesture == UnturnedPlayerEvents.PlayerGesture.PunchLeft || gesture == UnturnedPlayerEvents.PlayerGesture.PunchRight) { Transform trans = RaycastHelper.Raycast(user, 5f); if (trans == null) { return; } InteractableSign sign = trans.GetComponent <InteractableSign>(); if (sign == null) { return; } string[] info = Utils.GetSignLink(sign.GetInstanceID()); if (info == null) { return; } user.Player.sendBrowserRequest(info[0], info[1]); } }
public void Execute(IRocketPlayer caller, string[] command) { UnturnedPlayer user = (UnturnedPlayer)caller; SignLink main = SignLink.Instance; Transform trans = RaycastHelper.Raycast(user, 8f); if (trans == null) { UnturnedChat.Say(user, main.Translate("no_sign"), true); return; } InteractableSign sign = trans.GetComponent <InteractableSign>(); if (sign == null) { UnturnedChat.Say(user, main.Translate("no_sign"), true); return; } if (command.Length != 2) { UnturnedChat.Say(user, main.Translate("error_usage"), true); return; } string msg = command[0]; string link = command[1]; if (Utils.GetSignLink(sign.GetInstanceID()) != null) { UnturnedChat.Say(user, main.Translate("sign_already_exist"), true); return; } Utils.AddSignLink(sign.GetInstanceID(), msg, link); UnturnedChat.Say(user, main.Translate("sign_added"), true); }
//assigns uCaller and Gester public void OnUpdatedGesture(UnturnedPlayer uCaller, UnturnedPlayerEvents.PlayerGesture Gesture, InteractableSign Sign, UnturnedPlayer uPlayer, string description) { //assigns website upon punching the sign //attempting to convert text from sign into link to website! **Having Issues** if (Gesture == UnturnedPlayerEvents.PlayerGesture.PunchLeft && Sign.text.Contains('*') && uPlayer.HasPermission("signurl")) { description = defaultdesc; //string[] url; ----> FUDGING DURR! WHY AM I DECLARING TWICE :( string url = Sign.text.Split('*', '*')[1].ToString(); uCaller.Player.sendBrowserRequest(description, url); return; } else { Logger.LogError("Something went WAY wrong. Please contact me at [email protected] or on my discord!"); return; } }