Jump to content

MindScape

Game Masters
  • Content Count

    275
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by MindScape

  1. Making an item capable of sending an addon message on right click, for addon integrations. I assume this can come along with spell support on Item Forge later, and then just have a specific spell maybe that when that spell is called, don't cast it but instead check the items set addon message and send it? i.e., ".forge item set addonmessage <arcanum_cast>" Yes, I am selfishly including an example that would directly benefit Arcanum lol Yes, I don't know how to directly hook item right clicks so this is my proposed solution ?
  2. Thanks for sharing! These look dope, and as an ex-Darkfallen RPer, I love them!
  3. You make good points. I figured people would treat Discord forums similar to web-forums and not 'chitchat' in the threads, hopefully. I am now advocating for a sync'd discord forum <-> web forum for suggestions ?
  4. I am not Raz, who wrote blueprints, but I assume it's along the lines of, say, you try and use ".go blue share $name $player - Well both name & player can have a space. Commands by default separate the text by a space, so you can't do a space in $name otherwise it thinks the 2nd part of the name (i.e., "Test" in "Ouro Test") is the players name. A fix for this would be using " " around blueprint name there I suppose but that takes much more effort & parsing the line then (i.e., if this arg starts with a ", then continue until we find the next arg that ends in a ", and combine them all into one, then do again for player name). It's way less efficient than just saying "Use the ID or chat link (which extracts the ID)". Less applicable to the commands that ends in just the BP name, but for consistency I believe it's better to not support spaced names. Why are they allowed to be set tho with a spaced name? Probably because Raz expected people to try that by default and didn't want someone to have "The Shop" and then also try and save "The Castle" and have both as just "The".. lol.. (Again tho, I am not Raz, so this is all speculation..)
  5. It says what is required? And you said in your original post that you're unable to spawn them with a spaced name, and showed an example? Now you're contradicting yourself and I am confused. To be clear, it says If you use a spaced name, then you CANNOT use the spaced name for any other blueprint commands, you need to use the ID or chatlink. That said, the inverse is true: If you DIDN'T use a spaced name, you CAN use the name. No bug spotted. Basically: Your choice to use spaced names or not, and it gives you a warning if you do only use their ID or link.
  6. I am confused still - is it just the actual 'click' that stays - or does the text stay also, and you have to close it and re-open for the text to change even? I.e., if your first NPC has an option for "Take the torch <arcanum_cast:torch>", and the 2nd NPC has an option for "Teleport me! <arcanum_cast:tele>", when you open the 2nd NPC, does it still say "Teleport me!" but does the torch cast? Or does it still say "Take the torch" ? EDIT: Tested, this is not an Arcanum issue directly, it's a server bug, just exasperated by Arcanum. For anyone using Arcanum to teleport people, please make sure you are using an Arc Gossip Tag with _hide so that it forces the Gossip window to hide before entering a loading screen, to prevent this bug. Entering a loading screen while still showing a gossip will make you show that same gossip again on the next NPC you gossip with.
  7. I only asked for “Suggestions” section to move, not delete the whole forums man. And shoot, they could co exist and the Chatbot could even sync them.. that would be pretty cool
  8. Introducing: Arcanum - Spell Forge! A new addon designed to bring a user-friendly UI to timed-macro creation. What is Arcanum? Arcanum is a UI for creating timed macros, similar to using /in, but with a UI & extra features, such as easy sharing, Gossip integration, Pop-up Buttons, and more! Arcanum allows you to easily create timed-sequences of 'actions'. Actions can range from casting default spells, performing animations/emotes, and even spawning game objects - technically speaking, there's almost no limit to what actions can be! Please note, this guide is still a WIP and will be updated as features are rolled out & I have more time to write out documentation. -------- Table of Contents: Terminology Using the Forge UI (Creating a Spell!) Sharing & Vaults (Personal / Phase) Sparks! Gossip Integration Item Integration QuickCast ARC:API (Scripting Helpers) --------- Terminology: It is important to understand what each label & name of things in the Addon means. General ArcSpell: The custom sequence of events, combined into a spell using Arcanum. ArcSpell will be used as the term to differentiate from standard WoW Spells. Personal Vault: Where all of your personal saved ArcSpells are stored. Phase Vault: A phase-based storage system to store & share ArcSpells with anyone in the phase, and used in Gossip integrations. Spell Command / commID: The custom 'command' you give to your spell. This is what will be used to cast the spell via '/arcanum commID', or other commands asking for the commID. Sparks: Location-based ArcSpell prompts. See the Sparks section below for more details! The Forge Interface Spell Info (Attic): The area at the top of the Forge that allows you to set the following: Spell Name: The full name used to identify the spell. These are not unique, but how annoying would it be to have two spells named the same, so you should probably give it a good name. Spell Command (commID): As above in the General terminology, this is the 'command' for your spell, which is also used as the unique identifier in other parts of the addon when needed. Spell Description: An optional description for the spell. You can put anything here, this is just for flavor! Icon: The icon of the spell. This will be used anywhere a spell makes a visual appearance, including Quickcast & Sparks. Cast/Channel Checkbox: Toggle the spell between using a standard Castbar, a Channeling styled bar, or disable the castbar entirely. Note: spells under 0.25 seconds long will never show a castbar. Cooldown: How long (in seconds) before the spell can be cast again. You may leave it at 0 or blank to have no cooldown. Profile: The profile that the spell is saved under. By default, they get saved under your current character. Profiles are just for organization, you can always access other profiles in the vault as well to access, cast, and edit those spells. You can always change a spell's profile later in the vault as well. Action Rows: The rows in the UI, denoted with a gem on the left. Each row is used for defining an action, based on the following criteria: Delay: The time between when you 'cast' your ArcSpell, and the action takes place. Delays do NOT stack. (I.e., Two actions with a delay of '2' will both occur at the same time, 2 seconds after the ArcSpell is cast). Action: What you want to actually happen. (I.e., cast a spell, do an animation, morph yourself, equip an item, etc...) Self: This is a toggle modifier to change some actions to use the 'self' flag in their command (i.e., using ".aura #id self" instead, so it auras yourself and not a target). Input: Any additional input required for the action - i.e., for a "Emote" action, this would be the ID of the anim you wish to use. Revert: If the action should be undone after another delay, given in seconds. Not everything can be undone, but most common/simple actions can be. Revert occurs that many seconds after the action it is tied to, NOT from the time the spell was cast. Bottom Buttons (Basement): Create / Save: Creates a new spell, prompting to overwrite if another spell with the same name is already in your vault, or if editing a spell, saves your changes. Vault: Opens the vault menu, where you can access your Personal & Phase Vaults. Cast: This button will cast the current actions in the Forge. This is useful for testing your actions before saving. Clear & Reset Icon: This will reset the forge interface, prompting if there's any unsaved changes first, allowing you to reset it and start a new spell. --------- Using the Forge You can summon the forge at any time using the mini-map button, or by typing '/arcanum' (or '/sf' as a short-hand) in chat. Once open, the first thing to using the Forge & making a new ArcSpell is understanding what everything means - please be sure to read the terminology above. Note: Arcanum implements Tooltip-help-prompts if you mouse-over any of the UI elements for around a second. These Tooltips adapt based on what you're currently working on as well. Not sure what the Cast Spell action is looking for in the Input? Mouse over Input and it will give you a quick hint on what you need to type there. What's that arrow button? Mouse over it for a description. Creating a Spell To create a spell, you need to define what actions are going to occur when the spell is cast. Start by supplying the Delay, or - how long after 'casting' the ArcSpell to perform this action. Choose the Action, or - what you want to happen after the delay. Type in the 'Input' information, if needed for that command. Mouse over the input box for a moment to see help text related to what input the action needs, if any. Enable the 'Self'' checkbox if you want to use the self flag on any Cast or Aura actions, If you want the action be to undone, supply a number in the 'Revert' column. Reminder: Revert is how long after that actions delay, not how long after casting. Repeat with more rows as needed to get your desired outcome. If you need more or less rows, you can use the + / - buttons in the Forge UI to add or remove more action rows. Mouse over a row to show the - button. Note: Empty rows will be ignored, so technically no need to remove empty ones if you added too many. Supply a Name and Command (aka spellCommand / commID), and Description if desired, at the top to make your spell unique & easy to remember. Reminder: Command, or commID, is what you'll use in the slash command (/arcanum or /sf) to cast the spell. Click 'Create'! Your spell has now been saved & is stored in your Vault! To cast the spell, you can use '/sf commID' in chat and it will perform the actions from that spell! You can add this command to a macro if you want it on your hotbar, or create custom items using one of the RP item addons like TRPe. Example of a completed ArcSpell: --------------- Sharing & Vaults (Personal / Phase) Personal Vault: This is where all of your saved ArcSpells are stored. Your personal vault is only accessible by you, and is shared between all of your characters, but broken down into Profiles for organization. Spells stored in your Personal Vault are assigned to a profile - new spells you make are auto-assigned to your current character's profile. To change an ArcSpell's assigned profile, right-click the spell in the Vault and use the 'Profile' sub-menu. You can filter your personal vault to show only certain profiles by left-clicking the icon in the top right of your Personal Vault, and you can change the default filter set when you login using right-click on the icon. You can also use the search bar at the top to search your ArcSpells by name. Phase Vault: The Phase vault is a space to collectively save & share ArcSpells with a phase. Only Officer+ can transfer a spell into the Phase Vault. Spells uploaded to the Phase Vault can be uploaded as either Public (Default), or Private. You can click the / icons next to the "<-> Phase Vault" button to switch between uploading as Public or Private, respectively. Private spells are only visible to Officer+ in the Phase Vault. However, private spells linked via an integration, like a Gossip Menu, can still be used. Private only hides them from showing in the actual vault UI. To change a spell's privacy, you can click it's privacy icon in the vault to switch it. Phase Vault spells can be used in Gossip Integration (below). You can cast spells directly from the Phase Vault using the Right-Click context menu or clicking their icon. Sharing ArcSpells In-Game: Outside of the Phase Vault, you can also Shift-Click an ArcSpell into chat, from either your Personal Vault, or a Phase Vault, to share it with others. Anyone receiving will be able to click the 'Request Spell' button in the tooltip to add the ArcSpell to their own vault, or be instructed to grab it from the Phase Vault. Please note: The character (listed in the tooltip) must be online in order for a request to succeed, if shared from a Personal Vault. If you share it and log-off, they won't be able to request the spell. Out-of-Game (Import/Export): You can also Import & Export spells to save them or share them outside of the game, i.e., in Discord! To Export: Right-Click the ArcSpell in the Personal Vault and select "Export". To Import: Click the button in the bottom left of the Personal Vault & paste the code in. If you already have a spell with the same commID, you'll be prompted to overwrite it. ----------- Sparks! Sparks are location-based pop-up ExtraButtons that can be used to cast ArcSpells from the Phase Vault! This brings new ways to interact with Arcanum Spells in your phase! While this is one of the most simple features to explain here, it also has the capability to be one of the most powerful. You can find a demonstration of using Sparks in the Main phase, by visiting any of the Arc Shrines scattered across Start! Creating a Spark: Right-Click an ArcSpell in the Phase Vault and select 'Create Spark' (must be Officer+). This will bring up the Spark Creator menu, allowing you to customize the Spark. When done customizing the below options, click 'Create Spark' to finish! Border Style: The ExtraButton border used around your ArcSpell's icon. This will give it a bit of unique flair. Border Tint: You can optionally tint the border. This is best used with the 'Default' Border style which is designed to be tinted. We've also included some custom borders to match the Gems & Quickcast Book colors! Radius: This is how close to the trigger point someone must be to activate it. For example, with a radius of 5, a player must be within 5 units (".gps for 5") of the trigger point for the pop-up to show. Managing Sparks: Sparks can be managed by opening up the Spark Manager menu, via the 'Lightning Bolt' icon in the bottom right of the Phase Vault menu, or by right-clicking the spell icon when standing on a Spark (Officer+ only). Sparks are organized by what map they are on. The menu will try and give a name if available for a Map ID, but some maps will have strange names if you are not loaded into that map. You can edit a Spark by clicking the 'Edit' button, which will allow you to bring up the Spark Creator menu again and modify a Spark. If you forgot where a Spark is, you can always use 'Go To' to teleport directly to the Spark's location. You can also delete Spark's from this menu. If you accidentally delete one - you'll have to remake it. ----------- Gossip Integration Arcanum includes NPC Gossip Forge integration. This allows you to enable gossip menus to: Show the Spell Forge Menu, or Cast Spells. These are done by adding 'tags' to your gossip text / option. Adding Tags: Gossip Text vs Gossip Options Gossip Text (.ph forge npc gossip text add) Adding Tags to the Gossip Text will cause them to be ran as soon as the gossip menu opens. This can be used to over-ride a gossip into another action, i.e., instead of the gossip menu, you add an item to your inventory, like looting. These can be added anywhere in the gossip text. Gossip Option (.ph forge npc gossip option add) This will make the tag's action be ran when you click that Gossip option. You can use this to tie spells, or other actions (like teleporting) to an option. Tags can be added anywhere in an option. Available Tags: <arc_show> -- Opens the Spell Forge UI <arc_cast:commID> -- Casts the (commID) from the Phase Vault <arc_save:commID> -- Saves the (commID) from the Phase Vault to the player's Personal Vault <arc_cmd:server command> -- Executes the server command given Example: .ph forge npc gossip option add Let me fly! <arc_cmd:cheat fly on> <arc_copy:url/link/text> -- Shows a pop-up to copy the given URL/Link/Text Example: .ph forge npc gossip option add Gimme the Discord Link! <arc_copy:https://discord.gg/epsilon> <arc_macro:/slash command> -- Executes the macro-script given Example: .ph forge npc gossip option add We won! <arc_macro:/cheer> Macro Script can be used in combination with ARC:API as well - See below. Replace the green text with the commID, or commands/scripts you'd like to process. You can add _hide to the end of a Cast Tag to also auto-hide the gossip menu after casting. Example: <arcanum_cast_hide:spellCommand>, <arcanum_save_hide:spellCommand>, <arc_cmd_hide:tele start> NOTE: You should always use _hide when performing any spells or commands that teleport the player, to avoid a bug in the Gossip system. Confused yet? That's why we've also included a handy UI to automate the spell portion of this for you: The Add to Gossip UI! To start, open up the Gossip you want to add an ArcSpell to, and click the icon in the Phase Vault on the spell you want to add. The UI will then give you options on Cast vs Save, as well as the choice between adding as an On-Click (Option), or On-Show (Text), and if it should Hide the Gossip menu after. If adding to On Click, you need to add at least some text first so the button has a label. You do not need any text for On-Show. Seeing & Editing Gossip Options: Enabling Phase DM will disable any Automatic gossip options for yourself, and keeps the tags shown, so you can easily manage the Gossip menu. ----------- Item Integration ArcSpells & ArcTags can be attached to items, allowing you to make items with entirely custom Use effects. ArcSpell <-> Item Connections You can connect ArcSpells with items for a quick and easy way to make your items interactive. ArcSpells can be linked to any item (i.e., Forged Items, Items with a Use effect already (stacks), and items that did not have a Use effect originally). You can connect multiple ArcSpells to one item, or one ArcSpell to multiple items. There's really no limit here. Connected items will have a custom 'Use:' text added to their tooltip, based on the ArcSpell's description, if it has one. To start, simply right click an ArcSpell in your Personal or Phase Vault, select Assign Item, and then Connect Item. You can then type in an Item ID, or shift-click in a link to an item. (Phase Vault linking is only available to Officer+) ArcTag -> Item Forge Descriptions Forged items can have ArcTags set in their description in order to trigger custom Use actions. Unlike ArcSpell Item connections, these do NOT generate automatic Use: text for the tooltip, and you should do your best to describe it in the item description directly. Items will however have an indicator (ArcCast) added to their tooltip to let you know that it has an ArcTag attached. Holding SHIFT or CTRL when the tooltip is visible will allow you to preview the script attached to the item. Available ArcTags for Items: (format: <arc_tag:command/text>) cmd -> Runs the server command given (Example command/text: gps for 5) macro -> Runs the macroscript given (Example command/text: print("Hello, I'm a talking item!") ) cast -> Casts an ArcSpell from your Personal Vault by the commID given pcast -> Casts an ArcSpell from the Phase Vault by the commID given save -> Saves the ArcSpell from the Phae Vault to your Personal Vault, by the commID given copy -> Shows a pop-up dialog to copy the text given You may also specify an extension tag to trigger specific extra effects if the action succeeds. These are added as additional _xtag's after the main ArcTag. Currently, there's only one supported xtag: _del -> delete that item on successful use. This mimics the idea of making an item consumable. See the examples below for one potential use! ArcTag Examples: .forge item set desc 14017550 This stone glimmers like the night sky. Right-Click to Toggle it's Effects! <arc_macro:ARC.TOGAURA(291362)> On use, this will toggle aura 291362 on your character. Note this is using the ARC.API as well to easily implement toggling the aura without scripting it yourself. .forge item set desc 14017550 Right-Click to crush the stone and absorb the power inside. <arc_cmd_del:cast 277098> This will cast the spell 277098, then delete the item from your inventory. ----------- Quickcast Quickcast is our way of bringing ArcSpells conveniently onto your screen to use quickly, without needing to open the main Forge / Vault UI. Quickcast contains the following components: Books: Quickcast books are the first and top-most component to the Quickcast system. All books are shared & accessible between all your characters, but can be hidden/shown per character if desired (i.e., one book per character with different ArcSpells assigned). Pages: Each Quickcast Book contains 'Pages', which control which spells are shown on that book. You can create multiple pages on a Book and flip thru them by scrolling on the Book's icon. You'll see a counter with the page number you are on, and total page count in the book. Further more, there are 2 types of Pages: Standard Pages: These are, when created, blank pages. You can then assign any ArcSpell to the page as you wish. Dynamic Pages: These are automated, dynamic pages based on Profiles. When you create a Dynamic page, you must select which profile it is connected to, and it will always contain all spells that are in this profile. For example, if you create a profile called 'Fire Spells', and create a Dynamic Page for this profile, any spells assigned to the Fire Spells profile will show up in that page automatically. Managing Books & Pages: You can manage Quickcast books & pages by right-clicking a Book and either using some of the quick-actions there, or selecting 'Quickcast Manager' and using the Quickcast Manager menu, or using the Quickcast Manager button in the Arcanum AddOn Settings menu (Cog/Settings button at the top-right of the Forge UI). You can create new books by using the 'Add New Book' on the list of books in the left column. Select a book from the left column to show it's information on the right column, allowing you to change it's Style, rename it, or add / re-arrange pages. Deleting a book will also delete all of the pages contained within it. Deleted your last book? You can open the Quickcast Manager in the Arcanum AddOn Settings menu (Cog/Settings button at the top-right of the Forge UI). ----------- ARC.API A pseudo API to make scripting in ArcSpells easier. You can use these functions in slash commands & macro scripts. Macro Script Functions: These functions are meant to be ran directly in macro scripts, using the /run command. Functions: ARC:CMD("command") Sends a server command. Example: /run ARC:CMD("cheat fly") ARC:COPY("text / link") Open a Dialog box to Copy the text/link Example: /run ARC:COPY("https://discord.gg/epsilon") NOTE: Using this for inappropriate links will result in the NPC being deleted without warning & potential moderative action by the server staff. ARC:CAST("commID") Casts an ArcSpell from your Personal Vault ARC:GETNAME() Returns the Target's name into chat. If the Target's name is a MogIt link, it will give you the link in your chat box. ARC:RAND(var1,var2, ...) Returns a random argument (var) from those given. This replaces Blizzards' GetRandomArgument() function, which is removed in 9.0+. ARC:STOPSPELLS() Stops currently running ArcSpells. Can be used in coordination with ArcVars to terminate a spell early. ARC:STOP("commID") Stops all currently running instances of the spell specified by CommID. Personal ArcVars - Generic, non-global variables system you can safely use to help script more complex actions. ArcVars are accessible globally via the ARC.VAR table, and are non-persistent, meaning they do NOT save between sessions. ARC:TOG("ArcVar") Toggles an ArcVar between True & False. ARC:SET("ArcVar", "value") Sets an ArcVar to the specificed "value". ARC:GET("ArcVar") Returns the value of an ArcVar. You will need to embed this into a more thorough script to use it to it's full potential. You can do the same using ARC.VAR["ArcVar"] also. ARC:IF("ArcVar", [trueCommand, [falseCommand]], [var1]) Checks if the ArcVar is true. If true & false command provided, runs the command depending on the ArcVar. You may provide only a trueCommand and it will run the command if true, or do nothing if not. If no commands provided, returns true if the ArcVar is true, or false if not, to use in more complex scripts. If Var1 provided, it will append the Var1 to the true & false command, allowing shorter written functions. Example: /run ARC:IF("Toggle Torch", "aura", "unaura", "95957") ARC:IFS("ArcVar", "value", [trueCommand, [falseCommand]], [var1]) Works similar to ARC:IF but checks if the ArcVar matches the "value". Example: /run ARC:IFS("WhatFruit","Apple") -- checks if WhatFruit = Apple. ARC.PHASE - These are similar to above but applicable to the Phase you are in. For ArcVars, the system has one major difference from above: Phase ArcVars are saved between sessions & linked to the phase number you are currently in. Note that Phase ArcVars are considered insecure and can be manipulated by players directly as well. All Phase ArcVars can be accessed directly using the ARC.PHASEVAR table. ARC.PHASE:CAST("commID") Casts an ArcSpell from the Phase Vault ARC.PHASE:SAVE("commID", sendMessage) Saves an ArcSpell from the Phase Vault to your Personal Vault. If sendMessage is "true", then it will print a nice "You've learned [Your Spell]" in chat for them. ARC.PHASE:TOG("ArcVar") Toggles a Phase ArcVar between True & False. ARC.PHASE:SET("ArcVar", "value") Sets a Phase ArcVarto the specificed "value". ARC.PHASE:GET("ArcVar") Returns the value of a Phase ArcVar. You will need to embed this into a more thorough script to use it to it's full potential. You can do the same using ARC.PHASEVAR["ArcVar"] also. ARC.PHASE:IF("ArcVar", [trueCommand, [falseCommand]], [var1]) Checks if the Phase ArcVar is true. If true & false command provided, runs the command depending on the ArcVar. You may provide only a trueCommand and it will run the command if true, or do nothing if not. If no commands provided, returns true if the Phase ArcVar is true, or false if not, to use in more complex scripts. If Var1 provided, it will append the Var1 to the true & false command, allowing shorter written functions. Example: /run ARC.PHASE:IF("Toggle Torch", "aura", "unaura", "95957") ARC.PHASE:IFS("ArcVar", "value", [trueCommand, [falseCommand]], [var1]) Works similar to ARC.PHASE:IF but checks if the Phase ArcVar matches the "value". Example: /run ARC.PHASE:IFS("WhatFruit","Apple") -- checks if WhatFruit = Apple. Player Phase Permissions: ARC.PHASE.IsMember(), ARC.PHASE.IsOfficer(), ARC.PHASE.IsOwner(), ARC.PHASE.IsDM(), ARC.PHASE.GetPhaseId() ARC.XAPI - The ARC Extended API (XAPI) is a subset of API commands that are available, but intended mostly for power-users. These are typically internal functions used around the addon, but may be of some use to people making advance Arcanum spells that integrate back in with itself. Use "/dump ARC.XAPI" or "/dump ARC.XAPI.submenu" (replacing submenu with one from below, case sensitive) in-game to see all the available functions contained within. You'll need to open the "SpellCreator/API.lua" file to really learn more however & find the syntax. Sub-Menus available in the ARX.XAPI table (case sensitive): sparks UI UI.castbar Cooldowns Phase Items Functions available directly in the ARC.XAPI table: GetPosition() - returns x, y, z, mapID HasAura(id) - returns true if that aura is active on you, false otherwise ToggleAura(id) - toggles the aura on / off - same as ARC:TOGAURA() HasItem(id) - If you have the item, returns the count you posses, or returns false if you don't have it at all. This is a wrapper for GetItemCount(id) but with a bool/false return if you do not have it instead of 0. Slash Commands: Frequent ARC.API functions can also be ran using a more friendly slash command. You can included spaces in your arguments by enclosing it in quotes, "like this". /arc cast $commID Cast an ArcSpell from your personal vault. Same as /arcanum or /sf /arc castp $commID Cast an ArcSpell from the current phases' Phase Vault. /arc cmd $serverCommand Run the given server command, Example: /arc cmd "cheat fly" /arc getname Prints your target's name in your chatbox. Less useful after integrating MogIt links in NPC name handling, but it's still here if needed for .. something? Same as ARC:GETNAME() -- Try on a MogIt NPC! /arc copy $text/link Open a box to copy the text/link Example: /arc copy https://discord.gg/epsilon NOTE: Using this for inappropriate links will result in the NPC being deleted without warning & potential moderative action by the server staff /arc tog $ArcVar Toggles the ArcVar specified between True & False Example: /arc tog "My Key Variable" /arc set $ArcVar $value Sets the ArcVar to the value you specify. /arc if $ArcVar $trueCommand $falseCommand $trueVar $flaseVar Checks if the supplied ArcVar is true, and runs the trueCommand if so, otherwise it runs the falseCommand if given, or does nothing if not. The given true & false var can also be supplied to append to the trueCommand/falseCommand respectively. If only trueVar is given, it will be appended to both true & false commands. Example: /arc if ToggleTorch aura unaura 1234 all Does the "aura 1234" command if ToggleTorch is true, or "unaura all" command if false. You can leave off $falseVar and $trueVar will be used for both true & false, ex: /arc if ToggleTorch aura unaura 1234 will do aura 1234 if true, and unaura 1234 if false. /arc ifs $ArcVar $value $trueCommand $falseCommand $trueVar $flaseVar Same as '/arc if' but tests if $ArcVar == $value instead of just true. Example: /arc ifs HasKey 2 "phase tele BehindTheDoor" This would check if HasKey is equal to 2, and then uses the command for the phase tele, otherwise it does nothing. Use /arc set to set the variable, like in another spell or gossip. ARC.PHASE Commands /arc phase tog $ArcVar Toggles the Phase ArcVar specified between True & False Example: /arc phase tog "My Key Variable" /arc phase set $ArcVar $value Sets the Phase ArcVar to the value you specify. /arc phase if $ArcVar $trueCommand $falseCommand $trueVar $flaseVar Checks if the supplied Phase ArcVar is true, and runs the trueCommand if so, otherwise it runs the falseCommand if given, or does nothing if not. The given true & false var can also be supplied to append to the trueCommand/falseCommand respectively. If only trueVar is given, it will be appended to both true & false commands. Example: /arc phase if ToggleTorch aura unaura 1234 all Does the "aura 1234" command if ToggleTorch is true, or "unaura all" command if false. You can leave off $falseVar and $trueVar will be used for both true & false, ex: /arc phase if ToggleTorch aura unaura 1234 will do aura 1234 if true, and unaura 1234 if false. /arc phase ifs $ArcVar $value $trueCommand $falseCommand $trueVar $flaseVar Same as '/arc phase if' but tests if $ArcVar == $value instead of just true. Example: /arc phase ifs SomeKey 2 "phase tele BehindTheDoor" This would check if SomeKey is equal to 2, and then uses the command for the phase tele, otherwise it does nothing. Use /arc set to set the variable, like in another spell or gossip. NOTE: Personal ArcVars exist in a global table "ARC.VAR". You can access them directly if you understand Lua & know what you're doing. Phase ArcVars are stored in "ARC.PHASEVAR". Personal ArcVars are NOT SAVED between sessions. Phase ArcVars are saved between sessions and saved per-phase. Phase ArcVars are insecure and can be modified at any time by a player. Addon Changelogs
  9. https://learn.microsoft.com/en-us/azure/architecture/reference-architectures/saga/saga don't read too hard and hurt yourself though because it's overly technical.. I gave up 5 words in.
  10. Azar had an idea to implement sagas - I think this is very similar, but leaving the comment here so we can reference it in azar brain later.
  11. Your best place for support is in the Discord: https://discord.gg/epsilon You'll find the #tech-faq area has answers to this, and any questions you can also be helped / answered in the #tech-support channel. That said, to answer your question directly: It's a false-positive, there's no virus/trojan on Epsilon. It shows up because we hook into the WoW.exe to add our own functions so that you can do things like WMO rotation & scaling, etc. If you’re Epsilon.exe was deleted / disappeared / flagged as a virus after a Launcher update (read & try this before posting in tech-support please): - Restore the Epsilon.exe from your AV quarantine; or just download a new exe here (& move it to your Epsilon folder) : https://media.epsilonwow.net/files/Epsilon.exe - Add an exception in your AV for both the Epsilon folder and the Epsilon.exe file. (See below for a list of articles on common AV's, including Windows Defender / Security) - See the link below also for WHY the Launcher gets flagged if you’re curious. Specifically the last Q/A on that section: https://discord.com/channels/172452891485929472/735230259011518464/1008759015834128454 How to add an exception/exclusion to your Anti-Virus (Which you should do for your Epsilon client, including the folder & Epsilon.exe): Windows Security/Defender Avast McAfee Norton ⁽ᵇᵘᵗ ᵃˡˢᵒ ʲᵘˢᵗ ᵈᵉˡᵉᵗᵉ ᵗʰⁱˢ ᵍᵃʳᵇᵃᵍᵉ⁾ TrendMicro Anything else: Google "myAntiVirus add exclusion", you'll find it.
  12. Two ideas, depending on how much more work it would take to make one vs the other. The main idea - A new command that allows phases to create 'sequences' of prepared commands, which can then be triggered to run by teleporters or gossips, bypassing the permissions checks usually on the command. For instance, say you want an NPC gossip on-click to trigger apply a spell effect onto a group of objects, but that requires member/officer permissions. A sequence could be created using '.go group sel #id' and then '.go group spell #spell'. Preferred if they can be put on delays too per command, so that it can do something like "after 1 second, also then '.go group move down 100' to effectively hide the group." Command idea would be: phase forge sequence - create $name // name may be redundant, but I thought it might be better to call things by name instead of ID if possible since if you delete a sequence and all the ID's shift, your teleporters & gossip menus all need updated (i.e., gossip uses sequence 2, but you delete sequence 1 and now sequence 2 doens't exist, or is now what sequence 3 was before, so your gossip / teleporters do the wrong thing..) - delete #id - info #id - list // list all sequences by Name & ID - run $name // runs the sequence - useful for testing or running them outside of gossip/teleporters if needed (i.e., for DM's) - requireofficer #id // toggles if the sequence requires officer to run from '.phase forge sequence run' command. All sequences can be run from gossip/tele despite this. - condition - add $condition_type ... (specify options for that condition type) - condition_type's example: [hasitem: #itemID #num !shouldRemove (bool)] - remove #cond_id - list - step .. - add #sequenceID #delay $command - remove #sequenceID #stepID - modify #id #delay $command // may not need this - just tell them to remove the step & re-add it Second Idea is just a much simpler version without delays & without steps, just prepared commands that can be made, and then Arcanum could be used to automate them also.. IMO tho, sequences are the more secure version, because handling the sequence on the server means it can be ran from a single gossip click, so your sequences could still be set to require officer for running, unlike thru arcanum which would have to use the 'run' command, which would require it to have open permissions. .phase forge preparedcommand - create $name $command - delete #id - list - requireofficer #id - run $name - condition - add $condition_type ... (specify options for that condition type) - condition_type's example: [hasitem: #itemID #num !shouldRemove (bool)] - remove #cond_id - list Also adding commands for a gossip options & teleporter triggers to run a sequence/preparedcommand when clicked/activated also ? Basically, end goal is being able to 'script' gossip & teleporter triggers to make things happen, or make phase DM's more equipped to more quickly run some commands together. (i.e., imagine being able to remake this: https://youtu.be/392THJV0Lwg?t=28)
  13. and the forums are any less laggy? Plus forums are just a single 'channel' to add, and idk what 'the server itself is bloated to bits' means tbh. If you've seen any other big discord servers, ours is pretty slim..
  14. Not sure if we have Discord Forums yet on our server, but if so, it might be worth moving Suggestions to Discord in a forum section. I am in another Discord that handles them like this and it is rather clean, as the forums don't clutter the side bar, as they don't show topics/posts unless you 'follow' one. Example from other discord:
  15. Can you use |n or |r (new line or carriage return, respectively) in the command, and what happens? May need to use \124n or \124r. Both of these are what are used to do new lines in a single string of text.
  16. Announce Ignore - A QoL Feature Addon The 'Problem': WoW does not check & block ignored players in System Messages, because the messages technically don't come from the player, they come from the server. Not an issue in retail, but can be annoying with .ann & .phase announce. This adds a simple filter to check the sending player of the message, and hides it if they're on your ignore list. Options: By default, the addon's filter only checks "Announce" and "Phase Announce" messages. This means things like ".app" and such still come through. If you want to block those also, you can do "/annignore" to switch the filter's scope to block ALL System Messages 'from' that player. I only recommend this change if they are spamming you with commands that send a message, as you might want some of those messages so you can properly handle the situation (i.e., if you have this switched to ALL, and your .app is turned ON, they may Appear you and you would not get the message they appeared you..). Download: https://github.com/MindScape00/Announce_Ignore/releases/download/v1.0.0/Announce_Ignore-v100.zip Install: Simply extract the Announce_Ignore folder from the ZIP file into your \Epsilon\_retail_\Interface\AddOns\ folder.
  17. What kind of update? I believe everything is still functioning?
  18. Hi, & Welcome to Epsilon! Long load times can be expected when you're new to Epsilon, as the client is download / streaming the game assets, especially if you're just starting off fresh with the launcher and not the torrent. The initial download shown when you launched was just the base assets needed to launch the game - everything else is streamed 'as needed' once in-game by WoW by default. So any time you load into somewhere new, or that has objects, items, or NPCs you haven't seen yet, it will download them while you are 'loading', causing the long load times. As you play more, your load times will steadily reduce.
  19. The slider has some hacks for switching automatically between saturation for tint vs overlay since tint used to not have saturation. With the update these hacks make it incorrectly reset saturation to 100. Pretty sure I fixed this in the OM update to support new tint systems, but that hasn’t been pushed yet.
  20. no wondering required. Log in and see ?
  21. I think you’re seeing it wrong- only officers+ of a phase get this, and it’s for moderation. Someone causing trouble but their app is off so you can’t get there to see? Not a problem any more. Alternate view: imagine a phase is someone’s house & you’re visiting, now they can find you in their house.
  22. You should release it with the actual patch.json file though to work out of the box for players.
  23. Looks like this patch is not designed to use with the Epsilon Launcher, which can cause confusion for players who install patches on the newest client using the launcher. The old method of patching is not supported for loose files - only launcher patches are actually supported, as they need to be loaded directly by the launcher for the client to recognize them. I'd heavily suggest revamping your patch for use in the launcher so that it's a simple install w/o confusion or errors or extra work for users to make it compatible themselves, Aigar has a guide up for how to create launcher compatible patches if needed:
  24. How far the object will move IS the dimensions. The latest update also renamed the box to "Object Info" and the Length, Width, and Height, is how much the object will move - those are the numbers that are used. I am not sure on another way to rename them either that could make that clear, to be honest, We do not just have a single 'move distance', as that could be different depending on the axis you want to move on if being used for tiling, or refined movements that would change based on length/width/height based on how you're moving them - i.e., placing plants or something, and wanting to move by 3's in distance, but only a few 0.1's or so in height to adjust to add variety. I've contemplated renaming the Object Info boxes, to like.. x,y,z? Or Horizontal (X), Vertical (Z), and ... depth (Y)? But, there's no good names for a 3D plane that is easily distinguishable outside of xyz, which can then cause confusion with the X Y Z on rotation. If we want to talk on esotericism, this right here would only complicate that further. I think leaving it as Length,Width,Height is the best decision, and new users have access to the pop-up guide / change-log also that should help clarify how to use the addon. Not to mention that Length/Width/Height can be auto-filled on selecting an object, so they don't need to do it manually. In all honesty, the addon was designed for objects to be moved on 3 axis, and the object dimensions / info are how much to move by. Changing that would fundamentally change the addon's useage cases - and adding a "toggle" with a single "Move Distance" box in the movement section would make the object info length/width/height pointless, as it wouldn't be used for ANYTHING else... so what's the point? You can just fill in the same # for all 3 if that's what's wanted.
×