diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java index 5fdd7996be..393008f7fe 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatConfig.java @@ -126,4 +126,15 @@ public interface ClanChatConfig extends Config { return false; } + + @ConfigItem( + keyName = "clanTabChat", + name = "Clan Tab Chat", + description = "Allows clan chat without prepending '/' to messages when on clan tab", + position = 8 + ) + default boolean clanTabChat() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java index fcc8728e92..d166916b7e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/clanchat/ClanChatPlugin.java @@ -60,6 +60,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.PlayerDespawned; import net.runelite.api.events.PlayerSpawned; +import net.runelite.api.events.ScriptCallbackEvent; import net.runelite.api.events.VarClientStrChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -491,6 +492,19 @@ public class ClanChatPlugin extends Plugin activityBuffer.clear(); } + @Subscribe + public void onScriptCallbackEvent(ScriptCallbackEvent scriptCallbackEvent) + { + if (!scriptCallbackEvent.getEventName().equalsIgnoreCase("clanchatInput")) + { + return; + } + + final int[] intStack = client.getIntStack(); + final int size = client.getIntStackSize(); + intStack[size - 1] = config.clanTabChat() ? 1 : 0; + } + int getClanAmount() { return clanMembers.size(); diff --git a/runelite-client/src/main/scripts/CommandScript.rs2asm b/runelite-client/src/main/scripts/CommandScript.rs2asm index 0926703d6b..1c523d5aa2 100644 --- a/runelite-client/src/main/scripts/CommandScript.rs2asm +++ b/runelite-client/src/main/scripts/CommandScript.rs2asm @@ -37,6 +37,11 @@ LABEL20: invoke 1972 iconst 1 if_icmpeq LABEL31 + iconst 0 ; Modified to enable clanchat input + sconst "clanchatInput" + runelite_callback + iconst 1 + if_icmpeq LABEL31 ; Compare to 1 jump LABEL37 LABEL31: get_varc_int 41