diff --git a/FastColoredTextBox/SyntaxHighlighter.cs b/FastColoredTextBox/SyntaxHighlighter.cs index 815f6aa8..f0ed9811 100644 --- a/FastColoredTextBox/SyntaxHighlighter.cs +++ b/FastColoredTextBox/SyntaxHighlighter.cs @@ -359,7 +359,7 @@ protected void InitRazorRegex() RazorCommandRegex = new Regex( - @"\b(attack|cast|dress|undress|dressconfig|target|targettype|targetrelloc|dress|drop|waitfortarget|wft|dclick|dclicktype|dclickvar|usetype|useobject|droprelloc|lift|lifttype|waitforgump|gumpresponse|gumpclose|menu|menuresponse|waitformenu|promptresponse|waitforprompt|hotkey|say|msg|overhead|sysmsg|wait|pause|waitforstat|setability|setlasttarget|lasttarget|setvar|skill|useskill|walk|script|useonce|organizer|organize|org|restock|scav|scavenger|potion|clearsysmsg|clearjournal|whisper|yell|emote)\b", + @"\b(attack|cast|dress|undress|dressconfig|target|targettype|targetrelloc|dress|drop|waitfortarget|wft|dclick|dclicktype|dclickvar|usetype|useobject|droprelloc|lift|lifttype|waitforgump|gumpresponse|gumpclose|menu|menuresponse|waitformenu|promptresponse|waitforprompt|hotkey|say|msg|overhead|sysmsg|wait|pause|waitforstat|setability|setlasttarget|lasttarget|setvar|skill|useskill|walk|script|useonce|organizer|organize|org|restock|scav|scavenger|potion|clearsysmsg|clearjournal|whisper|yell|emote|waitforsysmsg|wfsysmsg)\b", RegexCompiledOption); RazorLayerRegex = diff --git a/Razor/Scripts/Commands.cs b/Razor/Scripts/Commands.cs index b65195e3..3f8840df 100644 --- a/Razor/Scripts/Commands.cs +++ b/Razor/Scripts/Commands.cs @@ -94,6 +94,8 @@ public static void Register() // General Waits/Pauses Interpreter.RegisterCommandHandler("wait", Pause); //PauseAction Interpreter.RegisterCommandHandler("pause", Pause); //PauseAction + Interpreter.RegisterCommandHandler("waitforsysmsg", WaitForSysMsg); + Interpreter.RegisterCommandHandler("wfsysmsg", WaitForSysMsg); // Misc Interpreter.RegisterCommandHandler("setability", SetAbility); //SetAbilityAction @@ -1246,5 +1248,15 @@ private static bool Potion(string command, Argument[] args, bool quiet, bool for return true; } + + public static bool WaitForSysMsg(string command, Argument[] args, bool quiet, bool force) + { + if (args.Length < 1) + { + throw new RunTimeError(null, "Usage: waitforsysmsg 'message to wait for'"); + } + + return SystemMessages.Exists(args[0].AsString()); + } } } \ No newline at end of file diff --git a/Razor/Scripts/ScriptManager.cs b/Razor/Scripts/ScriptManager.cs index 126043bc..45fc44c0 100644 --- a/Razor/Scripts/ScriptManager.cs +++ b/Razor/Scripts/ScriptManager.cs @@ -480,7 +480,9 @@ public static void InitScriptEditor() "promptresponse", "restock", "say", "whisper", "yell", "emote", "script", "scavenger", "sell", "setability", "setlasttarget", "setvar", "skill", "sysmsg", "target", "targettype", "targetrelloc", "undress", "useonce", "walk", - "wait", "pause", "waitforgump", "waitformenu", "waitforprompt", "waitfortarget", "clearsysmsg", "clearjournal" + "wait", "pause", "waitforgump", "waitformenu", "waitforprompt", "waitfortarget", "clearsysmsg", "clearjournal", + "waitforsysmsg" + }; #endregion @@ -729,6 +731,12 @@ public static void InitScriptEditor() "clearjournal\n"); descriptionCommands.Add("clearjournal", tooltip); + tooltip = new ToolTipDescriptions("waitforsysmsg", + new[] { "waitforsysmsg" }, "N/A", + "This command will pause the script until the message defined is in the system message queue.", + "waitforsysmsg 'message here'\n"); + descriptionCommands.Add("waitforsysmsg", tooltip); + #endregion if (!Config.GetBool("DisableScriptTooltips")) diff --git a/appveyor.yml b/appveyor.yml index 4fe668ce..b510be43 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,10 +41,4 @@ deploy: prerelease: true force_update: true skip_commits: - message: /\[chore\]/ - files: - - help/ - - docs/ - - '**/*.md' - - '**/*.ps1' - - '**/*.yml' + message: /\[chore\]/ diff --git a/help/docs/guide/commands.md b/help/docs/guide/commands.md index 4c63f62d..3c5314bc 100644 --- a/help/docs/guide/commands.md +++ b/help/docs/guide/commands.md @@ -683,6 +683,19 @@ waitforprompt promptresponse 'to home' ``` +## waitforsysmsg + +Syntax: `waitforsysmsg` or `wfsysmsg` + +Description: This command will wait a specific message to be added to the system message queue before continuing. + +Example: + +```csharp +waitforsysmsg 'ready to go' +overhead 'Ready!' +``` + ## waitfortarget Syntax: `waitfortarget [pause in milliseconds]` or `wft [pause in milliseconds]`