response to first message, you're dog is f-ing adorable. Do
you teach coding for a living? I am still even a bit too beginner to have
understood ALL of your explanation, but i did understand quite a bit and I 100%
understood it conceptually, but I am still learning all the vocabulary, naming
conventions and basic syntax. You are a VERY good teacher! Despite not understanding all of it, I understand the "conflicts" it could cause. If I want to use it for something with multiple instances of the same character, like a monster, I can use the token_ids. I am talking about followers (I play 2nd edition, so I am not sure if those still exist as they used to, but based on Charisma, people could have a certain number of followers). So, my fighter has a buddy he picked up along the way because my group needed another fighter. His character sheet is held by the player, but... a lot of the time, the group splits and they split the fighters up so one goes with the mage, the other with the priest. When that happens, I pass control of the follower to whomever he is exploring with. That means, I click on Grunt, then click on whomever he is supposed to follow. What I want is a button the players can push that says "I control Grunt now". And since there will only ever be one instance of Grunt (unless I doing a Doppelganger or mirror thing) on a map. So it would be nice to just have the player push a macro button and 1) token mod passes control to that player (I have this working already) and he follows that character on the map (only works with the clicking). If it could hard select Grunt without all the clicking. My drood also has a fox for whom I would also create that button, for instance, when she goes hunting with the fighters. I just think it would be an EXTRA layer of specificity that would be great in this API script so we have BOTH of those functionalities. Of course then people have to know, "this only works if you only have one instance of Grunt on the page" or whatever, but the choice would be nice so that function can be global. Wherever Grunt exists, he can be controlled with one click instead of three or four. Message 2 regarding spawn. Again, conceptually, totall
understood. And yes, that is what I want to do. I want to have a "pile of monsters" that don't have character sheets (the exact scnario is I have monsters that will only EVER appear in this adventuer because they are location-specific and I don't feel like creating 30 character sheets for a clan of druids) and when one trap in their perimeter is triggered, they all appear from the trees and surround the players to take them captive. Since I can't know in advance on my open play map which trap exactly they will trip, I want the druids "waiting at every trap" so they spawn at whichever they happen to trigger. Then I can just jump to the GM layer and delete extras or, if I am understanding you correctly, what you are suggesting would grab them from the GM layer, put them on the token layer and move them to surround the trap at whatever offset I want so I wouldn't have to even do that. So, conceptually, I think I got it. Practically, ummm, huh what? I wouldn't begin to know the syntax or
construction to build that macro code. Like I said, I pull a SIMPLE piece of code
like a LITTLE tiny macro like: !token-mod --set
bar3_current|-[[?{Damage|0}]] or !Spawn {{--name|Goblin --offset|0,0}}.
When I first saw these two macros (the first roll20 macros I played around with), I immediately understood what they were saying more or les. The only thing I couldn't "translate" right away was the question mark in front of the "Damage". That was very quickly clear when I ran the macro.. It makes the system ask you a question with whatever is in the {}. The rest was obvious. What I have ZERO clue about is, how is "damage" defined in the underlying code? How is the "set" command coded in that, the "!token-mod" call, "name", etc.? I can run the front end stuff so to say and I can LOOK at the underlying JS in github, but I can't really translate all of it and there are like a billion other folders with little files in them that I have NO idea what they are or what they do, etc. That is why Token Contoller is a good piece of code for me to look at because the JS is pretty small, but I am not far enough along that I could change that successfully in any meaningful way. However, since he has all the versions and I have been staring at the most recent for several days now, if he DOES implement this change, I will pull the new code and put them side-by-side and go look for all the changes he just added. That is how I learn. Since I know EXACTLY what he was adding, since I asked for it, I can go in and see, "ok, here is where he added a new line to define the character.id stuff and it's behavior," check the other pages of code in the package folder and other folders and see if there are changes there, etc. and what those changes do within the code. I am a linguist in real life, so learning coding is just like any other language, but I have to learn the vocabulary and "grammar" and syntax first. But this is a little like discovering an ancient language that no one speaks (because no one in my environment speaks it!) so I have to refer to a "Rosetta Stone" and I only have like a quarter of that stone... I can glean a lot just from a mix of instinct, having learned Apple Basic when I was like 8 (yes, apple basic, does anyone else remember the turtle?, so I guess that would be ancient Sumerian) and I stayed up with it until around, I think C? C++ (Hellenic Greek), can't remember. Then I learned some HTML in the early 2000s (Auld English). Then my first encounters with js was WoW in the 2010s (That weird movie way people spoke in the 1940s). So, I can sort of muck around reading it, but it's like reading a language I only partly understand, sometimes whole sentences, then I won't understand two paragraphs, so the next fragment or sentence I do understand makes no sense because I have no context from the stuff between. So I have to have little tiny snippets of code to play with or a finished code that works and I understand and then I break it and fix it so I can see what happens. I am VERY bad at learning forward. I need to backward engineer something so I can understand it properly first, THEN go try to build my own thing. Is there a way we can connect on this platform outside of this post? This is probably SUPER boring for anyone else who might read it.