[Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Moderators: dorpond, trevor, Azhrei, giliath, Gamerdude, jay, Mr.Ice
Forum rules
This forum is LOCKED. If a thread belongs here, use the "Report" feature of the post to let a moderator know to move it. General discussion should occur in the User Creations or MapTool forums.
This forum is LOCKED. If a thread belongs here, use the "Report" feature of the post to let a moderator know to move it. General discussion should occur in the User Creations or MapTool forums.
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Hi Telarus,
I always like to check out others FW's to see if I can 'borrow' neat idead from them . I especially like the DM screen, very nice touch and its something for me to consider.
Anyhoo, I did notice one thing: your forms are a bit slow to load even the 'static' ones. So (I did not check) but have you cached your forms? If not I would sincerely consider it as it speeds up your forms incredibly. Basically what you do in case of static forms (forms that never change like you gm screen) is run the html once, encode the result and store it on a lib token. Then when a gm or player wants to access the form, you retrieve the value from the lib token, decode it and put the result in the form, e.g.:
form("dm screen"):{[r:decode(getLibProperty("form1","lib:token"))]}.
You can also use this trick for dynamic forms (forms that WILL change) e.g. character sheets, there are basically two tricks:
1. store the cache locally on the corresponding token, then when someone updates their character, simply rebuild the cache value
2. use dynamic caching: http://forums.rptools.net/viewtopic.php?f=20&t=16324
note: I use all three methods in my FW.
Keep up the good work, very nice FW!!
I always like to check out others FW's to see if I can 'borrow' neat idead from them . I especially like the DM screen, very nice touch and its something for me to consider.
Anyhoo, I did notice one thing: your forms are a bit slow to load even the 'static' ones. So (I did not check) but have you cached your forms? If not I would sincerely consider it as it speeds up your forms incredibly. Basically what you do in case of static forms (forms that never change like you gm screen) is run the html once, encode the result and store it on a lib token. Then when a gm or player wants to access the form, you retrieve the value from the lib token, decode it and put the result in the form, e.g.:
form("dm screen"):{[r:decode(getLibProperty("form1","lib:token"))]}.
You can also use this trick for dynamic forms (forms that WILL change) e.g. character sheets, there are basically two tricks:
1. store the cache locally on the corresponding token, then when someone updates their character, simply rebuild the cache value
2. use dynamic caching: http://forums.rptools.net/viewtopic.php?f=20&t=16324
note: I use all three methods in my FW.
Keep up the good work, very nice FW!!
GETTING STARTED WITH MAPTOOLS - TUTORIALS, DOCS, VIDEOS, TOOLS, ETC
DISCORD (the new MT forum!)
My stuff
Excel Tools: Table and Light editors
MT Tools: Bag of Tricks: Tools for Maptool, Dungeon Builder I, Dungeon Builder II,onMouseOverEvent.
Frameworks: Dark Heresy, Rogue Trader, Deathwatch, Black Crusade, Only War, SET Card Game, RoboRally
Wiki: Debugging Tutorial, Speed Up Your Macros, Working With Two CODE Levels, Shortcut Keys, Avoiding Stack Overflow, READ THIS
DISCORD (the new MT forum!)
My stuff
Excel Tools: Table and Light editors
MT Tools: Bag of Tricks: Tools for Maptool, Dungeon Builder I, Dungeon Builder II,onMouseOverEvent.
Frameworks: Dark Heresy, Rogue Trader, Deathwatch, Black Crusade, Only War, SET Card Game, RoboRally
Wiki: Debugging Tutorial, Speed Up Your Macros, Working With Two CODE Levels, Shortcut Keys, Avoiding Stack Overflow, READ THIS
-
- Cave Troll
- Posts: 60
- Joined: Fri Apr 15, 2011 10:25 am
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Yo Adrian! I DID IT!!!
So I got the inventory setup on my campaign and I think this is pretty do-able.
The good news- I have a merchant, Inventory tracking, a way to track and attune spell matrices and a function for tracking thread weaving to items, group patterns etc. It stores and manages all the necessary information.
The bad news is i cant figure out how to modify the macros to pull information from the right json file on a couple of key functions. I can input the different items stats, I can equip them- but i cant make a list of equipped items pop up and there's a typo or 2- wanna take a look?
So I got the inventory setup on my campaign and I think this is pretty do-able.
The good news- I have a merchant, Inventory tracking, a way to track and attune spell matrices and a function for tracking thread weaving to items, group patterns etc. It stores and manages all the necessary information.
The bad news is i cant figure out how to modify the macros to pull information from the right json file on a couple of key functions. I can input the different items stats, I can equip them- but i cant make a list of equipped items pop up and there's a typo or 2- wanna take a look?
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Turned out that the version was the problem. The .cmpgn file seems to be blank and even eats up the default grassland map in older versions of maptool. I fell victim to one of the classic blunders - the most famous is never get involved in a land war in asia, but only slightly less well known is this - update your darned software!
Thanks Telarus. And thanks Soultroubadour for offering up what help you could think of.
Earthdawn forever, baby!
Pel
Thanks Telarus. And thanks Soultroubadour for offering up what help you could think of.
Earthdawn forever, baby!
Pel
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
wolph42 wrote:Hi Telarus,
I always like to check out others FW's to see if I can 'borrow' neat idead from them . I especially like the DM screen, very nice touch and its something for me to consider.
Anyhoo, I did notice one thing: your forms are a bit slow to load even the 'static' ones. So (I did not check) but have you cached your forms? If not I would sincerely consider it as it speeds up your forms incredibly. Basically what you do in case of static forms (forms that never change like you gm screen) is run the html once, encode the result and store it on a lib token. Then when a gm or player wants to access the form, you retrieve the value from the lib token, decode it and put the result in the form, e.g.:
form("dm screen"):{[r:decode(getLibProperty("form1","lib:token"))]}.
You can also use this trick for dynamic forms (forms that WILL change) e.g. character sheets, there are basically two tricks:
1. store the cache locally on the corresponding token, then when someone updates their character, simply rebuild the cache value
2. use dynamic caching: http://forums.rptools.net/viewtopic.php?f=20&t=16324
note: I use all three methods in my FW.
Keep up the good work, very nice FW!!
Sweet! This is exactly what I was going to be researching next, but only had strformat() to start with. Thanks man!
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Soultroubadour wrote:Yo Adrian! I DID IT!!!
So I got the inventory setup on my campaign and I think this is pretty do-able.
The good news- I have a merchant, Inventory tracking, a way to track and attune spell matrices and a function for tracking thread weaving to items, group patterns etc. It stores and manages all the necessary information.
The bad news is i cant figure out how to modify the macros to pull information from the right json file on a couple of key functions. I can input the different items stats, I can equip them- but i cant make a list of equipped items pop up and there's a typo or 2- wanna take a look?
Great timing. I'm fixing up the journal bug today and writing a custom new journal entry dialog, and then was going to start looking at inventory.
Do you want to post your *.cmpgn ? I'll definitely take a look, I've been getting kinda good with JSONs recently.
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Hey Telarus,
Right now my group is looking to revert to 1.0 tonight for this week. HOWEVER, if you get progress on the inventory and journal stuff and can get it done with some time to spare, let me know. Good luck!
Right now my group is looking to revert to 1.0 tonight for this week. HOWEVER, if you get progress on the inventory and journal stuff and can get it done with some time to spare, let me know. Good luck!
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Sounds good, the player's will get more immersion out of the session.
I've been meaning to ask. What Circles are your players, currently?
I've been re-thinking how to create high circle Adept tokens. The current bare-bones advancement structure is pretty good for "new characters"...but that won't always be the case.
So, the easiest current workflow would be (& this might not be obvious to everyone):
- Make 1st Circle Token.
- Have GM assign loads of LP.
- Have GM manually Set the Circle to the desired Circle (this opens up all the Discipline Talents in the character sheet).
- Have GM add any Optional Talents required.
- Have the GM edit each Talent Rank manually to the desired rank, then, using the GM Screen, calculate how much LP that cost and then use the SPEND LP button to make note of that arbitrary LP deduction.
- Same w/ Skills.
This will cut down on pointless ranking/circling/ranking/circling...
I've been looking into strformat() and I've finally wrapped my head around it's syntax, so I'll be slightly redesigning the form html. I've also been looking at Soultroubador's work. Very nice progress man!
I've written a macro to output the JSON objects and arrays to the chat in a nicely formatted version, so you can at least check that until we get a frame'd display.
Works by Impersonating the token, then pressing the macro button.
[code=php][H: inventoriesList = "Bazaar,Equipment,Threadweaving,Grimoire"]
[R, FOREACH(inv, inventoriesList, ""), CODE:
{
[H: inventory = getProperty(inv, currentToken()) ]
[H, IF(isPropertyEmpty(inv) == 1): inventory = json.set("{}", "NAME", inv)]
[H: broadcast("<pre>"+json.indent( inventory)+"</pre>")]
}
] [/code]
I've been meaning to ask. What Circles are your players, currently?
I've been re-thinking how to create high circle Adept tokens. The current bare-bones advancement structure is pretty good for "new characters"...but that won't always be the case.
So, the easiest current workflow would be (& this might not be obvious to everyone):
- Make 1st Circle Token.
- Have GM assign loads of LP.
- Have GM manually Set the Circle to the desired Circle (this opens up all the Discipline Talents in the character sheet).
- Have GM add any Optional Talents required.
- Have the GM edit each Talent Rank manually to the desired rank, then, using the GM Screen, calculate how much LP that cost and then use the SPEND LP button to make note of that arbitrary LP deduction.
- Same w/ Skills.
This will cut down on pointless ranking/circling/ranking/circling...
I've been looking into strformat() and I've finally wrapped my head around it's syntax, so I'll be slightly redesigning the form html. I've also been looking at Soultroubador's work. Very nice progress man!
I've written a macro to output the JSON objects and arrays to the chat in a nicely formatted version, so you can at least check that until we get a frame'd display.
Works by Impersonating the token, then pressing the macro button.
[code=php][H: inventoriesList = "Bazaar,Equipment,Threadweaving,Grimoire"]
[R, FOREACH(inv, inventoriesList, ""), CODE:
{
[H: inventory = getProperty(inv, currentToken()) ]
[H, IF(isPropertyEmpty(inv) == 1): inventory = json.set("{}", "NAME", inv)]
[H: broadcast("<pre>"+json.indent( inventory)+"</pre>")]
}
] [/code]
Last edited by Telarus on Sat Dec 10, 2011 10:09 pm, edited 1 time in total.
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
For mine they are now 2nd circle. But things are progressing smoothly. I'll brainstorm ways in my own time in terms of the method. But, off to rping!
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
[*MODERATOR NOTICE*] Back on the first page of this thread Souldtroubadour provided a .campaign file for folks to download. That post has been spun off to it's own thread: [Earthdawn 3rd Edition] Soultroubadour'S ED3 FW 'Bazar' Campaign
REASON: It provides a new/modified version of the original file - by a different author.
Until my authorities can be fixed, it is in the main "User Creations" area.
Thank you
GamerDude
REASON: It provides a new/modified version of the original file - by a different author.
Until my authorities can be fixed, it is in the main "User Creations" area.
Thank you
GamerDude
Al B. USAF RET.
*Chief Organizer and Bottle Washer - 'User Creations' Forum*
MT Framework Directory **LISTING** (UPDT 2012-02-10)
*Chief Organizer and Bottle Washer - 'User Creations' Forum*
MT Framework Directory **LISTING** (UPDT 2012-02-10)
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Any new development done on this framework?
Just curious...
Just curious...
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
*Cracks his knuckles* My team is coming out of retirement. Telarus, you still care about finishing this up? If so, let me know.
There are a few rough bugs that are possibly easy fixes. I'll see what I can do, (Such as GetNames not referencing the token correctly) but for now we're going to use a google Doc for inventory, so you don't need to worry about that overhaul.
There are a few rough bugs that are possibly easy fixes. I'll see what I can do, (Such as GetNames not referencing the token correctly) but for now we're going to use a google Doc for inventory, so you don't need to worry about that overhaul.
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Current Status/Journal:
- Wow, it's amazing how much easier it is to come back to this and work on it with a backbone of what I learned. It's a LOT easier to go further and do things better. It's also easy to realize.. man, I did a lot of things way to stupid back in the day.
My current goals are to recreate the potential of a small "quicksheet" that you can roll your talents/skills on, easily manage damage, etc. With the new property set of 2.0, this is going rather easily, as a lot of what you'd expect is very intuitive. (Point to Telarus, Properties are done exceptionally well, pat on back buddy!)
After toying and working with it, the inventory is just not usable as the way it is. It's "too much" information. For now we're going to work on a joint Google Doc spreadsheet until either Telarus is willing to give it a second tackle or I am willing to see what I can do. That'll be down the road though. For example, a majority of the fluff can be removed to tooltips, allowing each time to take up "one line" instead of 3-4. It would also be nice to have frames that look just like the tables in the rest of the spreadsheet.
As I achieve success, I'll be posting my notes/results here.
CURRENT WORKINGS/SELF-TEACHINGS:
- Wow, it's amazing how much easier it is to come back to this and work on it with a backbone of what I learned. It's a LOT easier to go further and do things better. It's also easy to realize.. man, I did a lot of things way to stupid back in the day.
My current goals are to recreate the potential of a small "quicksheet" that you can roll your talents/skills on, easily manage damage, etc. With the new property set of 2.0, this is going rather easily, as a lot of what you'd expect is very intuitive. (Point to Telarus, Properties are done exceptionally well, pat on back buddy!)
After toying and working with it, the inventory is just not usable as the way it is. It's "too much" information. For now we're going to work on a joint Google Doc spreadsheet until either Telarus is willing to give it a second tackle or I am willing to see what I can do. That'll be down the road though. For example, a majority of the fluff can be removed to tooltips, allowing each time to take up "one line" instead of 3-4. It would also be nice to have frames that look just like the tables in the rest of the spreadsheet.
As I achieve success, I'll be posting my notes/results here.
CURRENT WORKINGS/SELF-TEACHINGS:
- Quicksheet: Basic formatting/planning
- Macro: A basic attack macro to learn how to incorporate all the properties, from damage to wounding to defenses to states/modifiers.
- Macro: A Declaration Macro/frame to learn how to create HTML frames and correctly transfer data using Json.
- Inventory - Needs a basic rework of the user interface to be simpler
- Looks like GM has to "spend legend points" for the user, this could be due to incomplete code/concept
- There seems to be times when creating a character, the knowledge points don't get spent correctly. Thus leaving "2 remaining points" they have to skip.
- Some skills, I think Knowledge, don't incorporate Attribute steps (so RANK step to roll, not RANK+PER to roll)
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
So, I've been working a lot today on a basic "attack/Damage" macro for our game coming up. It's turned rather complex for what I want to do with it. So far it does the following:
1. Creates a form that comes up, asking for the basics. What type of attack, what attack modifier, add karma, attack to stun, etc.
2. It also asks if you will use a primary or secondary weapon
It then opens a new input window that does the damage side
1. It asks the base damage
2. The forged modifier of the weapon
3. Any combat modifiers
It then saves that data to the token (I know the properties are temporary, when the inventory is fixed and I learn how to call data from the weapons in it, I'll use those instead)
It also incorporates wound, damage dealing, armor defeating hits, stun vs lethal damage, multi-selected token attacking, armor application, applying deflection bonuses to the reduction of the armor defeating chance. Much of this is because of the natural functions that Telarus put in. It's working out well. I'm still realizing things I need to put in, but it's a good work in progress so far.
It's spheghetti code though. I'll need to get it much more organized at a later time, but if it works, it works for now. It's great to learn from.
Telarus, if you get around, I would love to know if you would come back to this project. There are a few things I am curious about. Thanks!
1. Creates a form that comes up, asking for the basics. What type of attack, what attack modifier, add karma, attack to stun, etc.
2. It also asks if you will use a primary or secondary weapon
It then opens a new input window that does the damage side
1. It asks the base damage
2. The forged modifier of the weapon
3. Any combat modifiers
It then saves that data to the token (I know the properties are temporary, when the inventory is fixed and I learn how to call data from the weapons in it, I'll use those instead)
It also incorporates wound, damage dealing, armor defeating hits, stun vs lethal damage, multi-selected token attacking, armor application, applying deflection bonuses to the reduction of the armor defeating chance. Much of this is because of the natural functions that Telarus put in. It's working out well. I'm still realizing things I need to put in, but it's a good work in progress so far.
It's spheghetti code though. I'll need to get it much more organized at a later time, but if it works, it works for now. It's great to learn from.
Telarus, if you get around, I would love to know if you would come back to this project. There are a few things I am curious about. Thanks!
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Well, found a gamebreaker bug, don't know how to fix it though.
Apparhently when you setup the token, a set of HTML is created that includes the tables for your character. For some reason your token id changes over time. When this happens, it doesn't match with the HTML and therefore it can't reference the actual ranks that are intended.
The way to fix it would be to either update the html as the token name changes, or find a way to stabilize the token name. That or use a different way to track it, but I don't have a clue... Until this is fixed, I can't use the system though. Going to have to research a lot I guess.
Apparhently when you setup the token, a set of HTML is created that includes the tables for your character. For some reason your token id changes over time. When this happens, it doesn't match with the HTML and therefore it can't reference the actual ranks that are intended.
The way to fix it would be to either update the html as the token name changes, or find a way to stabilize the token name. That or use a different way to track it, but I don't have a clue... Until this is fixed, I can't use the system though. Going to have to research a lot I guess.
-
- Cave Troll
- Posts: 70
- Joined: Fri Jul 17, 2009 7:51 pm
Re: [Earthdawn 3rd Edition] Telarus' ED3 Framework v2.0
Found the crucial bug that's holding me back right now...
So, in BuildPowersTable (which is called when creating a token) it calls the following code at the top of the table:
Since this is ONLY called when creating a character, it stores the "ID" of the current token in the HTML. Now, for some reason later on, the token ID of the token can change over time, saves, etc. I don't know the specifics... but it does change.
Whenever I hit the header that's created by this (In the case of many tokens, "Beastmaster talents" for this example, it should bring up a window that associates with the token's talents and I should be able to edit it. However, right now, I'm unable to do so.
The error message I get in this example is:
And the only line that references the words "GetName" in "editFrame" is:
In short, as you create a character, your character's initial ID is saved in stone in the HTML. Then it calls the editFrame function when you click, but as the token ID is changed over time, I can't find an easy way of changing the code to allow for this instance...
I need to research WHAT changes the token ID over time so we can avoid it I guess. Into the forums I go....
So, in BuildPowersTable (which is called when creating a token) it calls the following code at the top of the table:
Code: Select all
H, IF(arg(0) == "ed3.disciplinetalents" ), FOREACH(disc, json.fields(ed3.discipline), ""), CODE:{
[H: linkText = decode(disc)+' Talents']
[H: linkArgs = json.set("{}", "ID", id, "FLAG", encode(linkText), "PAGE", 1)]
[H: linkCode = macroLink(upper(linkText),'editFrame@lib:ED3_frame','none', linkArgs)]
[H: tableHTML = tableHTML + "<tr>
<th align='center' valign='top' colspan=4 nowrap='NOWRAP' class='header'>
<span title='<html>Click to view the <b>"+linkText+"</b> Details.</html>'>
<b>"+linkCode+"</b>
</span>
</th>
Whenever I hit the header that's created by this (In the case of many tokens, "Beastmaster talents" for this example, it should bring up a window that associates with the token's talents and I should be able to edit it. However, right now, I'm unable to do so.
The error message I get in this example is:
Code: Select all
Error executing "getName": the token name or id "C0A801675BD24DB87300000080080043" is unknown.
Code: Select all
[H: name = getName(id)]
I need to research WHAT changes the token ID over time so we can avoid it I guess. Into the forums I go....