Macros only working in /talktoself

1507145323

Edited 1507146112
It used to work in every chat, not too sure what happened...... I copy n pasted it for when i want to edit it. I know the },| mess up when u want to make an advanced command with the Drop-Down Prompts for Roll Queries and it reverts back to buggy characters once u save and re-open it (why i save the extended macro in a wordpard with },| replaced by their html codes) Heres what it looks like: ?{Use wich weapon?|Light Crossbow (80/320ft), &{template:default}{{name=Light Crossbow}} {{Attack vs AC=[[1d20ro<1+@{Shaun|dexterity_mod} +@{Shaun|pb} ]] [[d20ro<1 +@{Shaun|pb} +@{Shaun|dexterity_mod} ]] adv/dis}} {{On a Hit= [[1d8+@{Shaun|dexterity_mod} ]] Damage}} {{Critical Add= [[1d8]] Damage}} {{Properties= Piercing (80/320ft}}}|Mace, &{template:default} {{name=Mace}} {{Attack vs AC=[[1d20ro<1+@{Shaun|pb}+@{Shaun|strength_mod} ]] [[d20ro<1+@{Shaun|pb} +@{Shaun|strength_mod} ]] adv/dis}} {{On a Hit= [[1d6+@{Shaun|strength_mod} ]] Damage}} {{Critical Add= [[1d6]] Damage}} {{Properties= Bludgeoning}}|Spear (20/60ft), &{template:default} {{name=Spear }} {{Atk vs AC=[[1d20ro<1+@{Shaun|pb}+@{Shaun|strength_mod} ]] [[d20ro<1+@{Shaun|pb} +@{Shaun|strength_mod} ]] adv/dis}} {{On a Hit= [[1d6+@{Shaun|strength_mod} ]] Damage}} {{Crit Add= [[1d6]] Damage}} {{2H Hit= [[1d8+@{Shaun|strength_mod} ]] Damage}} {{2H Critical = [[1d8]] Damage}} {{Properties= Piercing, Versatile, Thrown(20/60ft)}}|Sacred Flame (60ft), &{template:default}{{name=Sacred Flame}} {{Dex Sav DC=[[8+@{Shaun|wisdom_mod} +@{Shaun|pb} ]] }} {{On Failure= [[1d8]] Radiant Dmg}}} pretty much pops up a drop-down menu to make a default template for the weapon i choose (crossbow, mace, spear or sacred flame) and rerolls 1's from the halfling lucky racial feature. (with a 2nd roll for advantage/disadvantage and critial dmg dice roll) Im having the same issue with my basic crossbow macro that would work also evrywhere. Heres a pictures of the basic template for the macro (in /talktoself)(after selecting crossbow in dropdown) and what happens when i do it in regular chat. Plz help a noob :D
1507147324
Scott C.
Pro
API Scripter
When you are out of talktomyself does the dropdown select pop up, or does it just output to chat? Also, I would highly recommend making these macros as character abilities, then you don't need to worry about your html encoding being eaten, and you won't need to specify a character in your attribute calls.
1507147429

Edited 1507148025
-Yes the popup comes up. -Dont know how to make them as character abilities. Id like to have it as a button on the screen, not sure i can make a button on the screen from a character sheet ability. Don't want to click it in the character sheet.
1507149087

Edited 1507149194
Scott C.
Pro
API Scripter
Hmm, ok, this is sounding like a chat log corruption. Can you ask your GM to clear the chat archive from their game settings page? Note that this must be done from the game settings page, not in game. The page should look like this for your GM to do this: EDIT: Before asking your GM to do that, can you post a screencap of what the drop down looks like when you are out of talktoyourself? Preferably with the drop down expanded down. /END EDIT As for making them as character abilities, you just make them on the attributes/abilities tab of your character. You can make character abilities token actions (they'll only show on tokens representing that character), or have them show in the macro bar simply by clicking the appropriate checkbox for each ability after you've made it.
Nice reply  :D   Ill ask her to try that and thx for the quick ability explanation, sounds nice, ill have to try that later.
1507150239

Edited 1507150266
Scott C.
Pro
API Scripter
Ok, yeah, your drop down isn't displaying any of the errors that come from html encoding issues. I'd ask her to clear the chat archive and see if that fixes it. Glad it was an informative post. Happy Rolling, Scott
1507151351

Edited 1507151369
------------------SOLVED/CLOSED-------------------------
1507152079
Scott C.
Pro
API Scripter
Good to hear
1 last thing, not too sure where to search for this, u mentionned: you won't need to specify a character in your attribute calls. ... do i just delete the character name from [[d20ro<1 +@{Shaun|dexterity_mod}+@{Shaun|pb} ]] ??
Yeah, you just remove the Shaun| bit so it's just @{dexterity_mod} for example.
1507157218

Edited 1507157933
hell yeah, ty kind sir. Making these macros as abilities is WAYYY better, and easily sharable, thx all again
1507159860
Scott C.
Pro
API Scripter
Of course
Damn, me again lol. is there a maximum to dropdown menus? like 15? cause my last 3 skills arent showing up as available options ?{Select Skill|Athletics, &{template:default}{{name=Athletics}} {{adv/dis=[[1d20ro<1+@{strength_mod} ]] [[d20ro<1 +@{strength_mod} ]] }} {{Guidance = + [[1d4]]}}|Acrobatics, &{template:default}{{name=Acrobatics}} {{adv/dis=[[1d20ro<1+@{dexterity_mod}+@{pb} ]] [[d20ro<1 +@{dexterity_mod}+@{pb} ]] }} {{Guidance = + [[1d4]]}}|Sleight of Hand, &{template:default}{{name=Sleight of Hand}} {{adv/dis=[[1d20ro<1+@{dexterity_mod} ]] [[d20ro<1 +@{dexterity_mod} ]] }} {{Guidance = + [[1d4]]}}|Stealth, &{template:default}{{name=Stealth}} {{adv/dis=[[1d20ro<1+@{dexterity_mod} ]] [[d20ro<1 +@{dexterity_mod} ]] }} {{Guidance = + [[1d4]]}}|Arcana, &{template:default}{{name=Arcana}} {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} {{Guidance = + [[1d4]]}}|History, &{template:default}{{name=History}} {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} {{Guidance = + [[1d4]]}}|Investigation, &{template:default}{{name=Investigation}} {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} {{Guidance = + [[1d4]]}}|Nature, &{template:default}{{name=Nature}} {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} {{Guidance = + [[1d4]]}}|Religion, &{template:default}{{name=Religion}} {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} {{Guidance = + [[1d4]]}}|Animal Handling, &{template:default}{{name=Animal Handling}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] }} {{Guidance = + [[1d4]]}}|Insight, &{template:default}{{name=Insight}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] }} {{Guidance = + [[1d4]]}}|Medicine, &{template:default}{{name=Medicine}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] }} {{Guidance = + [[1d4]]}}|Perception, &{template:default}{{name=Perception}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] }} {{Guidance = + [[1d4]]}}|Survival, &{template:default}{{name=Survival}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] }} {{Guidance = + [[1d4]]}}|Deception, &{template:default}{{name=Deception}} {{adv/dis=[[1d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod}} ]] }} {{Guidance = + [[1d4]]}} |Intimidation, &{template:default}{{name=Intimidation}} {{adv/dis=[[1d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod}} ]] }} {{Guidance = + [[1d4]]}}|Performance, &{template:default}{{name=Performance}} {{adv/dis=[[1d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod}} ]] }} {{Guidance = + [[1d4]]}}|Persuasion, &{template:default}{{name=Persuasion}} {{adv/dis=[[1d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod}} ]] }} {{Guidance = + [[1d4]]}}|}
If there is a limit it's not done by number of options, i just tested a dropdown with 20 options that showed all of them.
1507162018

Edited 1507162284
didnt think of that, derp, my deception skill is not doing its thing, only deception in a purple box apears...without the rolls...time to go thru that part of code i guess, even if it seems fine. Might be blocking the rest of it from going thru. edit: nope seems good, damnit. guess ill try deleting deception and redoing the last 4
1507162267

Edited 1507162529
I think you missed the 1 in front of d20 on the second roll of deception, if that helps. Also you don't need the pipe, |, before the last curly bracket. I don't think it will affect the roll query but just so you know for the future. Also also, you can take the {{Guidance=+[[1d4]]}} out of each option of the query and put it just once after the query. as long as it's in the same line as the query it should still work.
1507162349

Edited 1507162451
damn u good, im not a coder, these walls of text are overwhelming sometimes, *brofist* edit...but i see alot of 1's missing all over, ill try changing em all
1507162772

Edited 1507163218
yeah still stuuck with a purple box written deception and max of 15 options in menu. guess theres a max in there somewhere....lame
1507163328
To help with the walls of text. You'll be happy to know that queries and roll templates can span multiple lines without issue. For example. &{template:default} {{name= Name }} {{ row }} Works the same as. &{template:default} {{name=Name}} {{row}} The only stipulation is that the next part of the roll template, must be on the same line as the ending of the previous part. Queries can also do this so I like to separate each |label,value to a line for example ?{Query |Label1,value1 |Label2,value2 } Hopefully you are able to use these formatting tricks to help understand the macros a little better.
k, still doesnt work tho lol. Ill try to make the next macro abit easier to read
I was gonna suggest that^ next, you could the nest the macros to save a lot of the repeating. I think I've found the problem, on your second d20 roll for the charisma skill checks you've put @{charisma_mod}} with 2 closing curly brackets instead of one. Hopefully that helps.
1507163620

Edited 1507163640
oh damn, okay, new to all this, yall are amasingly helpfull. Starting to understand why code is so spaced out. Damn troubleshooting. Mistake learned  :D     post saved
1507164347
Here's how I would change the macro. &{template:default} {{name=?{Select Skill |Athletics,Athletics&#125;&#125; {{adv/dis=[[d20ro<1+@{strength_mod} ]] [[d20ro<1 +@{strength_mod} ]] |Acrobatics,Acrobatics&#125;&#125; {{adv/dis=[[d20ro<1+@{dexterity_mod}+@{pb} ]] [[d20ro<1 +@{dexterity_mod}+@{pb} ]] |Sleight of Hand,Sleight of Hand&#125;&#125; {{adv/dis=[[d20ro<1+@{dexterity_mod} ]] [[d20ro<1 +@{dexterity_mod} ]] |Stealth,Stealth&#125;&#125; {{adv/dis=[[d20ro<1+@{dexterity_mod} ]] [[d20ro<1 +@{dexterity_mod} ]] |Arcana,Arcana&#125;&#125; {{adv/dis=[[d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] |History,History&#125;&#125; {{adv/dis=[[d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] |Investigation,Investigation&#125;&#125; {{adv/dis=[[d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] |Nature,Nature&#125;&#125; {{adv/dis=[[d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] |Religion,Religion&#125;&#125; {{adv/dis=[[d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] |Animal Handling,Animal Handling&#125;&#125; {{adv/dis=[[d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] |Insight,Insight&#125;&#125; {{adv/dis=[[d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] |Medicine,Medicine&#125;&#125; {{adv/dis=[[d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] |Perception,Perception&#125;&#125; {{adv/dis=[[d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb} ]] |Survival,Survival&#125;&#125; {{adv/dis=[[d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] |Deception,Deception&#125;&#125; {{adv/dis=[[d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod} ]] |Intimidation,Intimidation&#125;&#125; {{adv/dis=[[d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod} ]] |Performance,Performance&#125;&#125; {{adv/dis=[[d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod} ]] |Persuasion,Persuasion&#125;&#125; {{adv/dis=[[d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod} ]] }}} {{Guidance = + [[1d4]]}} First thing you will notice is that I moved &{template:default} {{name= and }} {{Guidance = + [[1d4]]}} out of the query. They were repeated each time and were, in my opinion, taking up space thus making it harder to read. Secondly, I put each skill on it's own line thus making it easier to read when you go back through. Not to mention it would making it easier to add another option to the query. Lastly, to get it so that the HTML encoded values appear in the roll20 forum, I replace each instance of &# with &amp;#. Essentially HTML encoding the HTML encoded value. If you use an external text editor (always nice), you might even need to further encode the values. For example when I get ready to post it here is do a find/replace of &# with &amp;amp#
1507164409
It can be overwhelming to learn, but we've all been there so don't hesitate to ask. The community here is amazing and sometimes we even think it's a game to answer posts as quickly as possible.
Goddman it, I just spent ages trying to make the macro, just for Kyle G. to make it quicker and better haha. For my own's sake here's the macro I came up with: &{template:default} ?{Select Attribute|Strength,   {{name=Athletics}} {{adv/dis=[[1d20ro<1+@{strength_mod} ]] [[d20ro<1 +@{strength_mod} ]] }} |Dexterity, {{adv/dis=[[1d20ro<1+@{dexterity_mod} ]] [[d20ro<1 +@{dexterity_mod}]] }} ?{Select Skill |Acrobatics, {{name=Acrobatics}} {{adv/dis=[[1d20ro<1+@{dexterity_mod}+@{pb} ]] [[d20ro<1 +@{dexterity_mod}+@{pb} ]] }} |Sleight of Hand, {{name=Sleight of Hand}} |Stealth, {{name=Stealth}} } |Intelligence, {{adv/dis=[[1d20ro<1+@{intelligence_mod} ]] [[d20ro<1 +@{intelligence_mod} ]] }} ?{Select Skill |Arcana, {{name=Arcana}} |History, {{name=History}} |Investigation,{{name=Investigation}} |Nature, {{name=Nature}} |Religion, {{name=Religion}} } |Wisdom, {{adv/dis=[[1d20ro<1+@{wisdom_mod} +@{pb} ]] [[d20ro<1 +@{wisdom_mod} +@{pb}; ]] }} ?{Select Skill|Animal Handling, {{name=Animal Handling}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] }} |Insight, {{name=Insight}} |Medicine, {{name=Medicine}} |Perception, {{name=Perception}} |Survival, {{name=Survival}} {{adv/dis=[[1d20ro<1+@{wisdom_mod} ]] [[d20ro<1 +@{wisdom_mod} ]] }} } |Charisma, {{adv/dis=[[1d20ro<1+@{charisma_mod} ]] [[d20ro<1 +@{charisma_mod} ]] }} ?{Select Skill|Deception, {{name=Deception}} |Intimidation, {{name=Intimidation}} |Performance, {{name=Performance}} |Persuasion, {{name=Persuasion}} } } {{Guidance = + [[1d4]]}} P.S. Other Kyle's is a lot better
im speachless.....u guys make me want to get into this even more  :D
I tried to steal this macro and when using it I got the following error: "TypeError: Cannot read property 'substring' of undefined" Do you know what might cause this?
1507285020
Ziechael
Pro
Sheet Author
API Scripter
You will need to use it as an ability on a characters journal otherwise it doesn't know where to pull the attributes from... alternatively you could prefix each attribute call with selected| or target| to use it as a universal macro.
Using it as a token action won't work?
1507288032
Ziechael
Pro
Sheet Author
API Scripter
From the collections menu you mean? You'll still have to supply a 'selected' or 'target' keyword so that the macro knows what you are using it on or for. Adding it as an ability and marking that as a token action would work fine however.
dont forget the macro rerolls 1 from the lucky halfling trait, delete the ro<1 after the d20s
1507680984
OMFG I'm also just starting to learn about macros and you guys are GODS!! This is helping me out so much with my own macros! I started to DM last month and I'm loving macros!
1507681995
to SCOTT C.  Thanks to you suggesting deleting chat log for his issue, that FIXED my chat issue I had in my own game! Anytime I was using a macro or trying to type, previous chat would appear instead of what I was trying to do! Clearing the chat log fixed my issue! :D
1507690041
Scott C.
Pro
API Scripter
Glad it helped, anytime you have a chat bug,clear that archive.
1507727263

Edited 1507729955
I couldn't get that huge Skill macro to work for me because the query doesn't allow any curly brackets inside it in order to work. Maybe I just did it wrong. This is what I ended up with instead: (Note that these attribute names are for the 5e OGL char sheet) (Mine is setup to be used with any character so you need to select the token first!!) /w gm &{template:default} {{name=@{selected|character_name}:Skill Check}} {{?{Select Skill |Athletics, Athletics =[[d20+@{selected|athletics_bonus} ]] [[d20+@{selected|athletics_bonus} ]] |Acrobatics, Acrobatics =[[d20+@{selected|acrobatics_bonus} ]] [[d20+@{selected|acrobatics_bonus} ]] |Sleight of Hand, Sleight of Hand =[[d20+@{selected|sleight_of_hand_bonus} ]] [[d20+@{selected|sleight_of_hand_bonus} ]] |Stealth, Stealth =[[d20+@{selected|stealth_bonus} ]] [[d20+@{selected|stealth_bonus} ]] |Arcana, Arcana =[[d20+@{selected|arcana_bonus} ]] [[d20+@{selected|arcana_bonus} ]] |History, History =[[d20+@{selected|history_bonus} ]] [[d20+@{selected|history_bonus} ]] |Investigation, Investigation =[[d20+@{selected|investigation_bonus} ]] [[d20+@{selected|investigation_bonus} ]] |Nature, Nature =[[d20+@{selected|nature_bonus} ]] [[d20+@{selected|nature_bonus} ]] |Religion, Religion =[[d20+@{selected|religion_bonus} ]] [[d20+@{selected|religion_bonus} ]] |Animal Handling, Animal Handling =[[d20+@{selected|animal_handling_bonus} ]] [[d20+@{selected|animal_handling_bonus} ]] |Insight, Insight =[[d20+@{selected|insight_bonus} ]] [[d20+@{selected|insight_bonus} ]] |Medicine, Medicine =[[d20+@{selected|medicine_bonus} ]] [[d20+@{selected|medicine_bonus} ]] |Perception, Perception =[[d20+@{selected|perception_bonus} ]] [[d20+@{selected|perception_bonus} ]] |Survival, Survival =[[d20+@{selected|survival_bonus} ]] [[d20+@{selected|survival_bonus} ]] |Deception, Deception =[[d20+@{selected|deception_bonus} ]] [[d20+@{selected|deception_bonus} ]] |Intimidation, Intimidation =[[d20+@{selected|intimidation_bonus} ]] [[d20+@{selected|intimidation_bonus} ]] |Performance, Performance =[[d20+@{selected|performance_bonus} ]] [[d20+@{selected|performance_bonus} ]] |Persuasion, Persuasion =[[d20+@{selected|persuasion_bonus} ]] [[d20+@{selected|persuasion_bonus} ]]}}} {{?{Guidance/Bless|Yes, Guidance/Bless= + [[1d4]] |No, No guidance/bless}}} {{?{Inspiration|Yes, Inspiration= + [[1d8]] |No, No inspiration}}}
In Kyle's original post you'll see that he's replaced some of the } with } and &#125; if you copy and paste his code exactly it should work as an ability macro. If you wanted to make a global macro (ones called with #) like you seem to be trying this will only work if you edit it and save it once and never reopen the macro to edit it. This is due to global macros converting the HTML encoding of } and the like back into } when you open up the editor. That's why it's recommended to do things like this as abilities, it can work with global macros it's just very awkward.
1507854902
Kyle said: In Kyle's original post you'll see that he's replaced some of the } with } and } if you copy and paste his code exactly it should work as an ability macro. If you wanted to make a global macro (ones called with #) like you seem to be trying this will only work if you edit it and save it once and never reopen the macro to edit it. This is due to global macros converting the HTML encoding of } and the like back into } when you open up the editor. That's why it's recommended to do things like this as abilities, it can work with global macros it's just very awkward. Ahhhh! Thanks man. Yeah that really sucks for me because I hate making Character sheet abilities because they're a pain in the butt to always copy/paste to another sheet whereas by having them in the Collections tab, I can simply use the same macro for all my PCs and NPCs :P Thanks for the tip and I'll try it with } in every closing } :)
1507855260
Slyder said: Kyle said: In Kyle's original post you'll see that he's replaced some of the } with } and } if you copy and paste his code exactly it should work as an ability macro. If you wanted to make a global macro (ones called with #) like you seem to be trying this will only work if you edit it and save it once and never reopen the macro to edit it. This is due to global macros converting the HTML encoding of } and the like back into } when you open up the editor. That's why it's recommended to do things like this as abilities, it can work with global macros it's just very awkward. Ahhhh! Thanks man. Yeah that really sucks for me because I hate making Character sheet abilities because they're a pain in the butt to always copy/paste to another sheet whereas by having them in the Collections tab, I can simply use the same macro for all my PCs and NPCs :P Thanks for the tip and I'll try it with } in every closing } :) I would recommend keeping track/making changes to a global macro in an external text editor (I like Notepad++). You don't have to worry about the global macro eating the HTML encoded values this way and simply copy the entire macro back into the global macro each time you make a change.
1507855415
But if I do use HTML codes in my macro, when it comes to testing it, it won't automatically convert the html code right? Only once I click on save?
1507855614
I've never used Notepad ++ but just installed it. How to I configure it to test my macros and see if it will work on Roll20?
1507855937
I don't know how notepad ++ works for macros but so far I'm loving what I copy/pasted in it! I saw 2 mistakes I had in my code! :D
1507855984
All the testing will be done on roll20, not in Notepad++. In roll20, it will automatically convert the HTML code only when you go to edit the macro in roll20. Hence making the change in Notepad++ and copying for testing.
1507856684
Ok so as soon as I reopen the macro to edit it, it'll screw everything up so I need to write the code in Notepad, replace all my Closing Characters with the & codes, copy/paste it in Roll20 and then I'll be able to test it? As soon as I hit save, then roll20 will be replacing the & codes?
1507856948
Slyder said: Ok so as soon as I reopen the macro to edit it, it'll screw everything up so I need to write the code in Notepad, replace all my Closing Characters with the & codes, copy/paste it in Roll20 and then I'll be able to test it? As soon as I hit save, then roll20 will be replacing the & codes? No, not when you hit save. When you reopen the macro to edit it, the that's when it replaces the & codes. If you don't reopen it, the & codes are replace when you run the macro (and that's when they are needed to be converted).
1507857089
ok so as long as I don't hit "Save", which closes the editor, then I can keep editing and testing the macro? :) Thanks
1507857133
when when do I NEED to replace the Characters with the & codes? Should I just always use & codes when writing my macros?
1507858942
I think you need to review the information  here
1507943550

Edited 1507948367
Paste the code with the &codes into whatever macro ur making. If you make the macro in Abilities of a character sheet, it will always stay with the &codes everytime you open to edit it. If you make it a regular macro not in the character sheet; After pasting the code with the &codes, saving it, then closing it, u cant edit it anymore . That macro will work until u reopen its code (you will see all the &codes will be converted) and then save it. It will be saved as is, bugging the code. So dont close the macro after pasting it, until you are done editing it to work . Or save it with &codes in word.