PDA

View Full Version : Ruleset Wizard - The new Ruleset development environment



Pages : 1 [2] 3 4 5

psicodelix
January 5th, 2021, 17:57
Ok, I'll check it out

greybeardgunner70
January 6th, 2021, 10:58
Thanks for your help with the CT, issues resolved. Another question:

On the NPC sheet, I know I can use "Can Grow" and "Multiline Spacing" to allow multiple lines of text. However, how do I get the other text fields to shift down when the text box grows beyond its anchors/position in the window? See image. Is this where "Stack with Control" comes into play?
42631

psicodelix
January 6th, 2021, 11:13
Thanks for your help with the CT, issues resolved. Another question:

On the NPC sheet, I know I can use "Can Grow" and "Multiline Spacing" to allow multiple lines of text. However, how do I get the other text fields to shift down when the text box grows beyond its anchors/position in the window? See image. Is this where "Stack with Control" comes into play?
42631

that is, you can find an example in this video:

https://youtu.be/UDgQRvMsUSM

greybeardgunner70
January 6th, 2021, 12:49
Very helpful. However, what syntax do I use with multiple stacks? For example, in your tutorial video, if you added a Field 3 below 1 and 2, how would you enter more than one "fieldx" in "Stack with Control" for Field 3?

damned
January 6th, 2021, 13:06
You stack to the field that can grow and is immediately above you

greybeardgunner70
January 6th, 2021, 13:33
Right, but what if Field 1 AND Field 2 can grow? What would you use in Field 3?

greybeardgunner70
January 6th, 2021, 13:42
I have three fields that I want to be able to grow on my NPC sheet. (1) "equipment" (2) "money" and (3) "phys_skills"
I can set up the control so that "money" moves as "equipment" grows.
However, when I place "money" in the control stack of the third field ("phys_skills"), I get an error. See image.
42633

damned
January 6th, 2021, 13:51
f2 moves when f1 grows
f3 should anchor to f2

greybeardgunner70
January 6th, 2021, 14:03
f2 moves when f1 grows
f3 should anchor to f2

When I do that, I get the error in the post above.

I even went back and changed the naming convention to field1, field2, field3, etc.

damned
January 6th, 2021, 14:04
That error suggests that money either doesnt exist or isnt defined properly

greybeardgunner70
January 6th, 2021, 14:07
Its a copy of "equipment" the only changes were labeling and position.

damned
January 6th, 2021, 14:19
Doesnt look like you can stack with a list.
You will need to change the order - at least for now.

damned
January 6th, 2021, 14:24
remove the last field - is your money list displaying?

greybeardgunner70
January 6th, 2021, 14:28
"money" is a shortened label for Money and Valuables. The window is just a text space, no list.

damned
January 6th, 2021, 14:29
It can anchor to a list.
There is something wrong in the list.
Fix the list.

damned
January 6th, 2021, 14:29
Edit: fix money
Im pretty sure money isnt setup right

damned
January 6th, 2021, 14:30
Dont anchor to a label. Anchor to the data field.

psicodelix
January 6th, 2021, 18:00
I have three fields that I want to be able to grow on my NPC sheet. (1) "equipment" (2) "money" and (3) "phys_skills"
I can set up the control so that "money" moves as "equipment" grows.
However, when I place "money" in the control stack of the third field ("phys_skills"), I get an error. See image.
42633

I can't see the attached image. Please send me the updated project so I can determine the problem.

damned
January 6th, 2021, 21:36
You cant really see anything from the image

https://www.fantasygrounds.com/forums/attachment.php?attachmentid=42633

psicodelix
January 7th, 2021, 07:58
I have three fields that I want to be able to grow on my NPC sheet. (1) "equipment" (2) "money" and (3) "phys_skills"
I can set up the control so that "money" moves as "equipment" grows.
However, when I place "money" in the control stack of the third field ("phys_skills"), I get an error. See image.
42633

Okay, here's what happens:

When stacking the controls, those underneath must refer to the position of those above. In order for FG to process them correctly, the upper controls must appear in the XML file before the lower ones, otherwise an error occurs because it cannot find the control with which it has to anchor.
If the controls are created in the Wizard in the same order that they are going to be stacked, there is no problem, but if the order is altered, at some point the FG will try to anchor a control to another that has not yet been rendered.

To fix this, the controls must be set to the same z-index (stacking)order in which they are seen on screen. To achieve this you must go field by field, from top to bottom, selecting each field (only for fields that require stacking)and pressing the Bring to front button. This way you will get the controls to have this structure and to be stacked correctly:

42663

damned
January 7th, 2021, 11:17
Basically what is happening is that phys_skills is appearing in the underlying code before money is so it cant anchor to money.
I was sending you down the wrong route...

greybeardgunner70
January 7th, 2021, 12:01
Works beautifully! Thanks!

drvolk
January 8th, 2021, 11:17
Currently the "linkfield" asset which came with 0.4.4 shows the "button_link" icon, no matter if the "recordname" of that control is set or not.
What i have to to that the "button_link_empty" is displayed in this case ?

drvolk
January 8th, 2021, 11:32
Currently the "linkfield" asset which came with 0.4.4 shows the "button_link" icon, no matter if the "recordname" of that control is set or not.
What i have to to that the "button_link_empty" is displayed in this case ?

I found out myself: The "window class name" of that control has to be empty. So i have to add a "onDrop" function to check that the dropped window is of the correct class :)

psicodelix
January 8th, 2021, 12:10
I found out myself: The "window class name" of that control has to be empty. So i have to add a "onDrop" function to check that the dropped window is of the correct class :)

Yes, that's right. Remember to set the Allow Drop property to true to make the control can receive dropped links.

psicodelix
January 15th, 2021, 20:38
There is a new update, and with it we reach 0.4.9!

https://www.rulesetwizard.com/0-4-9-update/

damned
January 16th, 2021, 01:57
And the Wizard gets better again!

drvolk
January 21st, 2021, 07:45
I have an issue with the "Icon Cycle" Asset:

If you define a "Default icon" then this icon seams to be just a clone of a new Item in the cycle list, but without the tooltip of the original icon (if defined in the item collection attribute).
I looked into the generated XML and into the "button_iconcycler.lua" of the "CoreRPG" ruleset.
This schript evaluated the "parameters" "nodefault", "defaulttooltipres" and "defaulttooltip" which could not be set within the Asset of the RSW in the "Items" collection attribute.

I think this cause the issue that i have to click twice to the "default" icon to cycle to the next icon. And for the first click there is no tooltip on this icon ...

psicodelix
January 21st, 2021, 07:53
The Default Icon is only the image shown for the blank default item.

As you noticed, there is a nodefault property that can be used to remove the default blank item (I've just noticed it too), and it will be added to the next release, but in the meantime you can use it with custom properties:

- Add a custom property to the icon cycler
- Set the Parent element to parameters
- Set the Property Name to nodefault

This should do the work.

drvolk
January 21st, 2021, 08:00
Thanks for the fast response.

I will try your workaround to set the "defaulttooltip" and "defaulttooltipres" properties because i want the default icon.

UPDATE:

Ok, i realy have to set the "nodefault" as you described to get not a "cloned" default icon.
I missinterpreted the meaning of that flag.

Thanks for your help!

psicodelix
January 21st, 2021, 08:05
In fact, if you use the nodefault parameter your first item becomes the default.

maugrim8866
January 21st, 2021, 16:37
What an amazing tool and contribution to the Fantasy Grounds community. Great Work!
I have looked through the forums and watched some on the video tutorials. Great work as always Damned.

I have not seen this question posed yet, so I thought I would ask here.

Can the Ruleset Wizard tool be used to add a shared sheet for players to store data in the 5e ruleset? Like a Wagon inventory, or Starship cargo hold?
Could this be used to create a Stronghold Sheet from Matthew Colville's -Stronghold and Followers for 5e? Or a Starship sheet from SW5e?
I know full automation would be complex, but I am curious if this would work better than a Note entry in the 5e Ruleset just to get started? Similar to the Starfinder ruleset, but for 5e.

Thanks again for all your efforts and support to the FG community.

damned
January 21st, 2021, 22:11
Players cannot edit records they dont own. So there is no ability to have a shared record you can all edit.
In Player Agency extension I allow players to "append" data to a record using some OOB.
It would be possible to use OOB to allow a player to edit a record but there could be instances when one or more players tries to edit the same data and there is no mechanism to prevent this.

BTW the Ruleset Wizard is all psicodelixs work - nothing to do with me. My videos are just to show you the tool in action. All credit for the Wizard goes to psicodelix.

maugrim8866
January 21st, 2021, 22:16
Players cannot edit records they dont own. So there is no ability to have a shared record you can all edit.
In Player Agency extension I allow players to "append" data to a record using some OOB.
It would be possible to use OOB to allow a player to edit a record but there could be instances when one or more players tries to edit the same data and there is no mechanism to prevent this.

BTW the Ruleset Wizard is all psicodelixs work - nothing to do with me. My videos are just to show you the tool in action. All credit for the Wizard goes to psicodelix.

Understood, thank you Damned.
I know psicodelix created the Ruleset Wizard, I was thanking you for the tutorial videos.

damned
January 21st, 2021, 22:19
You can totally build the Stronghold record sheet / campaign tool in the Ruleset Wizard.
But how to use it in reality is something more complex.

Does each player have their own stronghold or they often share one?
If they each have their own you could create a link or list on the Charsheet and allow the players to create a record on their sheet like they can with Weapons and Equipment. They cant create these in the public list but they can create them on their sheets.

psicodelix
January 23rd, 2021, 17:07
There is a new update!

https://www.rulesetwizard.com/0-5-0-update/

drvolk
January 24th, 2021, 10:43
Thanks psicodelix!

This update is (again) amazing!

Valyar
January 25th, 2021, 11:34
I have practical questions related to ruleset and extension I have for Mork Borg and Wrath & Glory:

What would be the process to migrate existing ruleset or extension to Ruleset Wizard to use its convenient features without replicating the work done already?
Is there a way to export the work in folder rather than .pak or .ext file for quick and easy editing for example (as having extra step to extract is inconvenient)?

damned
January 25th, 2021, 12:10
Hi Valyar,

You cant import an existing ruleset simply into the RW environment. You can create xml and Lua files in the RW.
You wouldnt want to do it the way you are describing - otherwise every time you export from the Wizard it will overwrite any files you have edited. If you decide to go with the RW to develop something you then stay within the RW. As above you can create xml and Lua files in the RW and that is how you would do your custom code and/or import existing code.

meathome
January 31st, 2021, 03:15
Hi! Recently bought it. Very helpful tool. Amazing work. I do have a comfort/usability issue and don't know where to post feedback like that so i am trying here. It seems that file handles for added images like for frames etc stay opened all the time (even after removing them from the ruleset wizard wizard project) until i close the program, This makes overwriting the image files from a different application (like gimp) impossible until rw is closed and reopened. It is quite a hassle since i don't prepare all my images beforehand and do lots of tweaks and edits. I have not tried with the newest version yet (maybe this is already solved)

damned
January 31st, 2021, 03:32
I experience the same often.
I I try to do all my image tweaks in bursts because of this.

psicodelix
January 31st, 2021, 09:27
I'm glad you like it. I'll check it out and see what I can do.

dungeongrub
January 31st, 2021, 22:07
I don't seem to be able to enter anything in the dice roll field at the moment. Is anyone else experiencing this problem? I loaded the newest update yesterday.

psicodelix
February 1st, 2021, 06:51
I don't seem to be able to enter anything in the dice roll field at the moment. Is anyone else experiencing this problem? I loaded the newest update yesterday.

It seems to be working properly.

This is a compound property, you have to unfold it to access and edit its sub-properties by pressing the down arrow button next to it.

If the problem persists try to re-create the control.

damned
February 1st, 2021, 07:11
It would be nice for Dice Roll to be expanded by default :)

dungeongrub
February 1st, 2021, 08:01
It seems to be working properly.

This is a compound property, you have to unfold it to access and edit its sub-properties by pressing the down arrow button next to it.

If the problem persists try to re-create the control.

Yeah, I'm an idiot. My brain didn't register the arrow for the drop-down.
Thanks for replying so quickly. This tool is fantastic, though this is what I was expecting from Unity to be honest! I hope the company realises that your project is keeping people like me, who don't play D&D or Pathfinder, using Fantasy Grounds.
Currently I'm working on a Zweihänder ruleset with no automation. I will post it when I'm done in the hope it'll be useful to someone.

damned
February 1st, 2021, 08:50
Currently I'm working on a Zweihänder ruleset with no automation. I will post it when I'm done in the hope it'll be useful to someone.

Screenshots please!

psicodelix
February 1st, 2021, 11:43
Yeah, I'm an idiot. My brain didn't register the arrow for the drop-down.
Thanks for replying so quickly. This tool is fantastic, though this is what I was expecting from Unity to be honest! I hope the company realises that your project is keeping people like me, who don't play D&D or Pathfinder, using Fantasy Grounds.
Currently I'm working on a Zweihänder ruleset with no automation. I will post it when I'm done in the hope it'll be useful to someone.

Don't worry, this property isn't as intuitive as it should, I'll try to improve it.

+1 to screenshots!

UrsaTeddy
February 5th, 2021, 05:25
Hi,

I have been watching damned's videos on his usage of this tool and am quite intrigued.

Are there any plans for creating this tool for Mac OS at all? Since FG runs on Macs?

If not, has it been tested within Wine?

psicodelix
February 5th, 2021, 06:52
Hi,

I have been watching damned's videos on his usage of this tool and am quite intrigued.

Are there any plans for creating this tool for Mac OS at all? Since FG runs on Macs?

If not, has it been tested within Wine?


Hi,

no, there are no plans to migrate the application to MaxOS, but I do have references from a user who uses it on a MacBook running virtualbox.

In any case you can download the demo from the website and try it for yourself. The demo allows you to test all the features of the program, including generating working extensions and rulesets.

With the demo you can also do all the tutorials on my youtube channel.

UrsaTeddy
February 5th, 2021, 08:03
Great thanks.

I run an Intel Mac so I also run parallels - however I always find native apps faster.

Would love to help out if you ever decide to migrate to the Mac.

ikschroeder
February 7th, 2021, 20:34
Hello,
the Ruleset Wizard is amazing. I like to use it.
I have one question on using rolls. Is it possible to bring the name oder databasenode of the field to the ActionHandler? Maybe by using something like self.getName() in the Additional data? I would like to give more Information to the players: “John attacks using xy (= the Name of the weapon) … “. Writing the field name manually in the additional data works but I would like to use this for a List of weapons / a list of abilities. And there seems no way to transfer the information from list entries.

Ingo

P.S. Sorry for posting the question in your blog too. I found this thread later.

psicodelix
February 7th, 2021, 20:53
No problem, I answer here too.

You can use the AdditionalData struture to pass your own custom data to the action handler function from the onBeforeDiceRoll() function.


You could do something like this:


function onBeforeDiceRoll()
local nodeWin = window.getDatabaseNode();
DiceRollAdditionalInfo[“attackname”] = DB.getValue(nodeWin, “attackname”);
end

and in the action handler function you can get the value with:



local attackname = rRoll[“attackname”];

however the easiest way would be using the Roll Description Text property, here you can reference other fields with the {} operator, like this:


attacking with {attackname}

damned
February 7th, 2021, 21:19
Here is a pic of how to do it very easily in the GUI.

https://www.fantasygrounds.com/forums/attachment.php?attachmentid=43547


43547

ikschroeder
February 7th, 2021, 21:49
Thanks to both of you for the answers. The code from psicodelix works great for me! Haven't had the time to try the other way. Maybe in the nearer future i'll try to get that running for me!

Ingo

ColinBuckler
February 14th, 2021, 13:23
Hi,

Just purchased yesterday and its working great.....

A couple of minor thoughts:

- How about a dark mode? (or even custom themes?)

- When the contents of a object/tab has been amended, highlight this (small icon on the tab or maybe just bold the name on the tab). Obviously clear/unbold upon saving.

- An option to disable CTL+G popping up a save dialog. Just save the .ext file.

psicodelix
February 14th, 2021, 17:42
Hi Colin, and welcome.

Dark mode is already on the wish list, I often miss it too. It's not at the top of the list, but it will come soon.


Rright now I'm modifying the internal structure of the archive, to allow collaboration of different users on the same project, versioning and source code control, git integration, etc, which will take some time.


About tracking changes in properties (including undo action) will come right after this.


The option about ctrl+G is fine, I will add it in the next revision.

Kevlyn
February 19th, 2021, 04:47
Okay, I have some code I want to run that relies on two different inputs, a Dropdown List and a Number Field. I've tried two approaches with this:

I created a scripts folder, and added the code to a script file, class_handler
I added a Custom Property, as provided in earlier examples with a Property Name: script and Attributes: file="scripts/class_handler.lua". I also tried file="../scripts/class_handler.lua" just because it's not a subfolder of campaign.

The second approach was that I copied the function into the Window itself, so that it would be available in the compiled file.

Both approaches yielded an error of: Script execution error: [string "combo_class"]:28 attempt to call global 'onClassLevelChange' (a nil value)

The function is as follows:


function onClassLevelChange()

local nodeWin = window.getDatabaseNode();

local sClass = nodeWin.getChild("combo_class").getValue();

Debug.chat("combo_class", sClass);
end

And the code I'm using in my DropDown List is:

function onValueChanged()

onClassLevelChange();
end

Any idea how to get this to work, as I do not want duplicated code if I can prevent it.

damned
February 19th, 2021, 04:54
Do something like this on each element:



<script>
function onValueChanged()
local nodeWin = window.getDatabaseNode();
CharacterUpdate.updateSomething(nodeWin);
end
</script>


and this in ruleset.xml



<script name="CharacterUpdate" file="scripts/manager_characterupdate.lua" />


and this in manager_characterupdate.lua



function updateSomething(nodeWin)
local nPerception = nodeWin.getChild("abilities.perception.tempmodifier").getValue();
local nStealthMod = nodeWin.getChild("def.stealth.mod").getValue();
nodeWin.getChild("def.stealth.score").setValue(nDefenceStealth);
end

psicodelix
February 19th, 2021, 07:33
your first definition of the script is correct (script/class_handler.lua), however I've found a strange behaviour testing it that makes your approach not work.

the final code for your control would be something like this:


<script>
function onValueChanged()
onClassLevelChange();
end
</script>
<script file="scripts/class_handler.lua"></script>


with this order of xml tags FG seems unable to find the functions in class_handler.lua.

If you change the code to



<script file="scripts/class_handler.lua"></script>
<script>
function onValueChanged()
onClassLevelChange();
end
</script>


for some reason it works.

This change is not possible with the wizard, only by editing the final code, but since it is quite requested I will add a script file property in the controls in the next update.

meanwhile you can use a global script as Damned suggested.

Kevlyn
February 20th, 2021, 16:40
Thanks for the help with that Damned and psicodelix. Here's the next thing that I want to do, and the challenge is that I cannot find where the object is declared to know how to change it.

I have a Dice Field object and I want to alter the dice in it from a script. How do I do that? I checked out the generated .pak file and saw that Dice Field gets transformed into <simpledice>, so I went hunting for that to see if there were functions somewhere that I could examine to figure out how to make those changes. I'm going to go searching again, but I thought I would ask as so far I have not found any documentation for the simpledice object.

Thanks again for the assist!

damned
February 20th, 2021, 23:50
I dont use Dice Fields but what i would try is:

Launch a campaign and then store some different data in at least 2 dice fields.
Do /save and then open the db.xml in your code editor and see what the data looks like in there.
Then write some code to manipulate the db directly.

psicodelix
February 21st, 2021, 16:18
Thanks for the help with that Damned and psicodelix. Here's the next thing that I want to do, and the challenge is that I cannot find where the object is declared to know how to change it.

I have a Dice Field object and I want to alter the dice in it from a script. How do I do that? I checked out the generated .pak file and saw that Dice Field gets transformed into <simpledice>, so I went hunting for that to see if there were functions somewhere that I could examine to figure out how to make those changes. I'm going to go searching again, but I thought I would ask as so far I have not found any documentation for the simpledice object.

Thanks again for the assist!

You can use the setValue method of the dice field as follows:



window.DieField1.setValue('d10+d4');

Kevlyn
February 21st, 2021, 16:22
Thanks psiodelix, I was just getting back on here this morning to report that it was, in fact, as simple as using setValue("diestring")!

psicodelix
February 21st, 2021, 17:27
Great!

dungeongrub
February 21st, 2021, 20:47
So... I was ready to post some screen shots, but though I'd try things out by loading a second instance of Unity via LAN. Unfortunately, it appears I have missed something out... I can't seem to add add any detail fields on the second instance or see the details fields I was able to add as a GM (see screenshot attached). Any ideas??
44094

damned
February 21st, 2021, 21:23
So... I was ready to post some screen shots, but though I'd try things out by loading a second instance of Unity via LAN. Unfortunately, it appears I have missed something out... I can't seem to add add any detail fields on the second instance or see the details fields I was able to add as a GM (see screenshot attached). Any ideas??
44094

have you used any of the Invisible or GMOnly settings on those panels/controls/frames?

deer_buster
February 21st, 2021, 21:43
Are there any plans to be able to import an extension to convert it to a RSW project? Just bought it a couple of days ago...really liking it so far

damned
February 21st, 2021, 21:51
The complexity of importing someone elses code into a GUI tool is massive... I cant see it ever happening tbh.

deer_buster
February 21st, 2021, 21:56
Also, I was thinking that if we could specify a ruleset to pull in the frames and other assets that would be available...

dungeongrub
February 21st, 2021, 21:57
have you used any of the Invisible or GMOnly settings on those panels/controls/frames?

I don't think so; I have attached a screenshot to see if you can spot anything obvious! Thanks for your help!
44099
...plus, in the hope I can avoid looking like I am always whinging about something and show that I have done something constructive, I have attached the Zweihander ruleset I have developed so far! It's got a couple of house rules.
44100 44101 44102 44103

deer_buster
February 21st, 2021, 22:10
The complexity of importing someone elses code into a GUI tool is massive... I cant see it ever happening tbh.

seems like the knowledge of how to write an extension is there, reading shouldn't be too much of a stretch

psicodelix
February 21st, 2021, 22:29
As damned says, it is very complicated, but also goes against the layering philosophy of rulesets. If you import all the classes of a ruleset to make modifications you would be creating a whole fork, so any change or update in the base ruleset would not be reflected in yours.


On the other hand, importing graphical elements such as frames and icons is much easier, and can be useful. I will add it to the wish list.

psicodelix
February 21st, 2021, 22:33
I don't think so; I have attached a screenshot to see if you can spot anything obvious! Thanks for your help!
44099
...plus, in the hope I can avoid looking like I am always whinging about something and show that I have done something constructive, I have attached the Zweihander ruleset I have developed so far! It's got a couple of house rules.
44100 44101 44102 44103

Awesome work!!!!

Could you attach the source code of the problematic window class?

Kevlyn
February 21st, 2021, 23:05
Hi, it's me again. Now I'm diving into the Window List object, and I want to make changes to the list via code.

Is there a way, via code, to do the following things?
Add a new entry, I tried addItem and addEntry, but got nil values there.
Clear the list of all items
Delete an item from the list, though I doubt I use that, as I'd likely just wipe the list and recreate it.

Thanks so far for all of your help!

psicodelix
February 22nd, 2021, 07:05
Hi, it's me again. Now I'm diving into the Window List object, and I want to make changes to the list via code.

Is there a way, via code, to do the following things?
Add a new entry, I tried addItem and addEntry, but got nil values there.
Clear the list of all items
Delete an item from the list, though I doubt I use that, as I'd likely just wipe the list and recreate it.

Thanks so far for all of your help!

You can find all the methods available for the FG objects in the developer guide:

https://fantasygroundsunity.atlassian.net/wiki/spaces/FGCP/pages/996644285/Developer+Guide

specifically on the window lists:

https://fantasygroundsunity.atlassian.net/wiki/spaces/FGCP/pages/996645260/windowlist

to create a new entry just call the createWindow method:


window.mylist.createWindow();

to delete entries you have to get the reference to its database node and delete it:



local w = window.mylist.getWindowAt(1);
local node = w.getDatabaseNode();
node.delete();

Kevlyn
February 22nd, 2021, 08:43
psicodelix, I tried a dozen or more ways to do this, but nothing has worked.

My list object name is specialability_list, my datasource name is .specialabilities and I have tried

window.specialabilities.createWindow() a nil value
window.getDatabaseNode().specialabilities.createWi ndow() a nil value
window.getDatabaseNode().getChild("specialabilities").createWindow() a nil value

And probably several other iterations, plus using getChildren() to see if I can see the node at all. Nothing seems to be working, or maybe I'm just too tired to see it. Any pointers from here?

psicodelix
February 22nd, 2021, 09:03
does the list have the Allow Create property set to true?

dungeongrub
February 22nd, 2021, 11:11
Awesome work!!!!

Could you attach the source code of the problematic window class?

Errrrr.... How do I find that? Sorry, I haven't wrapped my brain around a lot of the basics!

Thanks for the kind feedback though. Still some work to do.

psicodelix
February 22nd, 2021, 11:23
If you right-click on the window in the ruleset explorer you'll see the view source code option. This opens an editor with the FG source code for the window. With this source code we can track the origin of the problem.

Trenloe
February 22nd, 2021, 14:15
psicodelix, I tried a dozen or more ways to do this, but nothing has worked.

My list object name is specialability_list, my datasource name is .specialabilities and I have tried

window.specialabilities.createWindow() a nil value
window.getDatabaseNode().specialabilities.createWi ndow() a nil value
window.getDatabaseNode().getChild("specialabilities").createWindow() a nil value

And probably several other iterations, plus using getChildren() to see if I can see the node at all. Nothing seems to be working, or maybe I'm just too tired to see it. Any pointers from here?

You can't "createWindow" against a database node - FG doesn't know where to create that window.

You need to createWindow against the windowlist GUI control - "specialability_list" in this case.

https://fantasygroundsunity.atlassian.net/wiki/spaces/FGCP/pages/996645260/windowlist#createWindow

Assuming your code is running within the window scope, use window.specialability_list.createWindow() - as per the example in post #326 above.

Kevlyn
February 22nd, 2021, 14:56
Thanks Trenloe, that was where I was going wrong!

dungeongrub
February 22nd, 2021, 20:52
Awesome work!!!!

Could you attach the source code of the problematic window class?

Thanks, the first one is:

<?xml version="1.0" encoding="ISO-8859-1"?>

-<root>


-<windowclass name="TraitDetail">


-<placement>

<size width="530" height="117"/>

</placement>


-<sheetdata>


-<combobox name="ComboBox_trait">


-<frame>

<name>fielddark</name>

<offset>8,0,8,0</offset>

</frame>

<bounds>357,34,104,30</bounds>

<listdirection>down</listdirection>

<script> function onInit() super.onInit(); add("Talent","Talent"); add("Trait","Trait"); add("Drawback","Drawback"); add("Disorder","Disorder"); add("Taint of Chaos","Taint of Chaos"); end </script>

</combobox>


-<stringfield name="StringField_traitname">

<bounds>26,7,483,20</bounds>

<color>#FF800000</color>

<empty textres="TraitDetail_StringField_traitname_EmptyText"/>

<lineoffset default="on">0</lineoffset>

<font>DOMISC_20</font>

</stringfield>


-<combobox name="ComboBox_type">


-<frame>

<name>fielddark</name>

<offset>8,0,8,0</offset>

</frame>

<bounds>239,34,104,30</bounds>

<listdirection>down</listdirection>

<script> function onInit() super.onInit(); add("",""); add("Ancestral","Ancestral"); add("Professional","Professional"); add("Special","Special"); add("Bonus Adv.","Bonus Adv."); add("Unique Adv.","Unique Adv."); end </script>

</combobox>


-<stringfield name="StringField_TraitEffect">


-<frame>

<name>fielddark</name>

<offset>8,0,8,0</offset>

</frame>


-<anchored>

<left offset="23"/>

<right offset="-17"/>

<top offset="63"/>

</anchored>

<multilinespacing>30</multilinespacing>

<font>ACaslon_bold_20</font>

</stringfield>


-<stringcontrol name="Label1">

<bounds>25,46,49,20</bounds>

<static textres="TraitDetail_Label1_LabelCaption"/>

<font>CaslonPro_15</font>

</stringcontrol>

</sheetdata>

</windowclass>

</root>

psicodelix
February 23rd, 2021, 07:20
please, send the main trait window source code too.

deer_buster
February 23rd, 2021, 20:49
When you click on add folder, can you please set focus to the text box for the folder's name? That would really go for any popup that is prompting for a name (e.g. add XML, Script, etc.)

psicodelix
February 24th, 2021, 08:27
When you click on add folder, can you please set focus to the text box for the folder's name? That would really go for any popup that is prompting for a name (e.g. add XML, Script, etc.)

Ok.

dungeongrub
February 24th, 2021, 13:57
please, send the main trait window source code too.

Thank you for your help; I built this into the Abilities part of the character sheet and this is the only code I can get (by right clicking):

<?xml version="1.0" encoding="ISO-8859-1"?>

-<root>


-<windowclass name="charsheet_abilities">


-<placement>

<size width="610" height="526"/>

</placement>


-<sizelimits resize="both">

<maximum width="615" height="700"/>

<minimum width="500" height="500"/>

<dynamic/>

</sizelimits>


-<sheetdata>


-<genericcontrol name="IconControl2">

<bounds>6,33,-10,-5</bounds>

</genericcontrol>


-<windowlist name="TraitList">


-<anchored>

<left offset="41"/>

<right offset="-69"/>

<top offset="41"/>

<bottom offset="-12"/>

</anchored>

<gmeditonly/>

<class>TraitDetail</class>

<datasource>TraitList</datasource>

<allowcreate/>

<allowdelete/>

</windowlist>


-<scrollbarcontrol name="ScrollBar1">


-<frame>

<name>scrollbar_base</name>

</frame>

<bounds>-65,37,23,-15</bounds>

<target>TraitList</target>


-<normal name="scrollbutton_normal">

<minimum height="scrollbutton_normal"/>

</normal>

</scrollbarcontrol>

</sheetdata>

</windowclass>

</root>

psicodelix
February 24th, 2021, 15:00
at a first glance, I think the datasource of your list should be .TraitList (note the dot before the name), as the data source must be relative.

Kevlyn
February 25th, 2021, 01:53
Okay, my last challenge for this exercise is to add modifiers to a Dice Field when the dice are dragged off. I have added the information into the control's Dice Roll section, but that does not do anything.

I'm wondering if I need to set Control Custom Properties for the Dice Field, but if so then what fields exactly need to be set or how can I customize the dice rolled, for instance sending a message to the chat box that indicates which weapon was attacked with and what the skill modifier is for the weapon.

Thanks in advance for the help!!

psicodelix
February 25th, 2021, 06:49
Okay, my last challenge for this exercise is to add modifiers to a Dice Field when the dice are dragged off. I have added the information into the control's Dice Roll section, but that does not do anything.

I'm wondering if I need to set Control Custom Properties for the Dice Field, but if so then what fields exactly need to be set or how can I customize the dice rolled, for instance sending a message to the chat box that indicates which weapon was attacked with and what the skill modifier is for the weapon.

Thanks in advance for the help!!

to make a dice field add a modifier to the roll set
- Allow drag & drop to: true
- Dice roll string to: + {modifierfield}

to set the description for the roll you can set the Roll Description Property, for example.

Attack with {weaponname}


you can find more advanced examples of dice handling in the Ruleset Wizard Core demo project.

Kevlyn
February 25th, 2021, 07:29
to make a dice field add a modifier to the roll set
- Allow drag & drop to: true
- Dice roll string to: + {modifierfield}

to set the description for the roll you can set the Roll Description Property, for example.

Attack with {weaponname}


you can find more advanced examples of dice handling in the Ruleset Wizard Core demo project.

And I had to set the Rollable field to True before it would generate the code.

psicodelix
February 25th, 2021, 07:34
oh, yes

Kevlyn
February 25th, 2021, 07:55
I was doing some testing and I discovered that with a Number Field configured like this:

Allow drag & drop: True
Dice Roll string: 1d20 + {weapon_attack} (2 in this case)
Reset Modifier Stack: True
Roll Description: {weapon_name} [{weapon_skill}: {weapon_attack}]
Use Modifier Stack: True

And then I apply a modifier to the stack of +1 the following things happen.
When I drag the die out to the chat window and drop it, the modifier stack is cleared but never used.
When I double click the number field, the modifier stack is used and then cleared.

Bug?

dungeongrub
February 25th, 2021, 08:25
at a first glance, I think the datasource of your list should be .TraitList (note the dot before the name), as the data source must be relative.

This worked a treat on the Trait List and Weapon List that wasn't showing up on the player sheet, thank you! However, despite duplicating everything on a sub window that holds the same type of expandable/editable list (titles 'Magick'), the same fix isn't working. I noticed when going through everything there was a typo (I left a 'k' off the end of the datasource in the FGWindow I think) which has now been corrected, however, I wonder if the original typo is somewhere in code elsewhere other than the FGWindows (for the Detail or the List on the sub tab)? I have looked at the code and can't see anything wrong:
<?xml version="1.0" encoding="ISO-8859-1"?>

-<root>


-<windowclass name="sub4">


-<placement>

<size width="610" height="700"/>

</placement>


-<sizelimits resize="both">

<maximum width="615" height="700"/>

<minimum width="615" height="500"/>

</sizelimits>


-<sheetdata>


-<stringcontrol name="Label6">

<bounds>275,47,47,33</bounds>

<static textres="sub4_Label6_LabelCaption"/>

<font>ACaslon_bold_25</font>

</stringcontrol>


-<stringcontrol name="Label5">

<bounds>81,46,47,33</bounds>

<static textres="sub4_Label5_LabelCaption"/>

<font>ACaslon_bold_25</font>

</stringcontrol>


-<number name="NumberField_ib">

<bounds>88,45,23,35</bounds>

<font>DOMISC_30</font>

</number>


-<stringcontrol name="Label2">

<bounds>18,27,201,20</bounds>

<color>#FF800000</color>

<static textres="sub4_Label2_LabelCaption"/>

<font>DOMISC_20</font>

</stringcontrol>


-<stringcontrol name="Label3">

<bounds>216,26,173,20</bounds>

<color>#FF800000</color>

<static textres="sub4_Label3_LabelCaption"/>

<font>DOMISC_20</font>

</stringcontrol>


-<number name="NumberField_wb">

<bounds>281,45,23,35</bounds>

<font>DOMISC_30</font>

</number>


-<stringcontrol name="Label4">

<bounds>396,26,173,20</bounds>

<color>#FF800000</color>

<static textres="sub4_Label4_LabelCaption"/>

<font>DOMISC_20</font>

</stringcontrol>


-<number name="NumberField_Incantation">

<bounds>452,45,33,35</bounds>

<font>DOMISC_30</font>

</number>


-<scrollbarcontrol name="ScrollBar2">


-<frame>

<name>scrollbar_base</name>

</frame>

<bounds>-33,88,18,-48</bounds>

<target>MagickList</target>


-<normal name="scrollbutton_normal">

<minimum height="scrollbutton_normal"/>

</normal>

</scrollbarcontrol>


-<stringcontrol name="Label1">

<bounds>485,54,17,27</bounds>

<static textres="sub4_Label1_LabelCaption"/>

<font>CaslonAntique_20</font>

</stringcontrol>


-<windowlist name="MagickList">

<bounds>34,86,-36,-43</bounds>

<class>MagickDetail</class>

<datasource>.MagickList</datasource>

<allowcreate/>

<allowdelete/>

</windowlist>

</sheetdata>

</windowclass>

</root>

psicodelix
February 26th, 2021, 06:59
I can't find anyting wrong. Try to re-create it from scratch, starting with a single field to narrow the problem.

dungeongrub
February 26th, 2021, 08:12
I can't find anyting wrong. Try to re-create it from scratch, starting with a single field to narrow the problem.

Will do. Thanks for looking at this for me.

Kevlyn
February 26th, 2021, 21:57
Okay, I want to keep track of the hit points rolled for each level. I've got a list setup for it, but there wasn't really room on the sheet for it. So I created a new window for it, and I've setup the ability from the sheet to open/close the window and that part works nicely. The problem comes when I'm in the roll handler and I have received the rActor, how can I add an entry to the list if the window isn't open? Here's the entry with the data from db.xml



<hitpointrolls>
<holder name="me" owner="true" />
<id-00001>
<holder name="me" owner="true" />
<hitpointitem_roll type="number">4</hitpointitem_roll>
</id-00001>
</hitpointrolls>

damned
February 26th, 2021, 22:59
dont write to the Window - write to the database.

dungeongrub
February 27th, 2021, 14:13
I can't find anyting wrong. Try to re-create it from scratch, starting with a single field to narrow the problem.
Duplicated one of the other fields, one or two amendments and now works perfectly, thank you!

psicodelix
February 27th, 2021, 21:56
Great!

ColinBuckler
February 27th, 2021, 22:24
Minor Suggestions:

(1) Maintain a recent list of projects opened.
(2) Remember the last folder a project was opened from.
(3) On the project tab - have a generate to export directory option.

As this is a powerful tool and a nightmare to review the variety of posts in a single thread - is there any opportunity that this program could have its own sub forum?

psicodelix
February 28th, 2021, 00:35
Ok, #1 and #2 added to wishlist, #3 is already included in next release.

About a new sub forum, it is true that it would be useful, but it is not up to me.

greybeardgunner70
March 4th, 2021, 21:57
I am wanting to create a few different inventory lists (not the inventories inherent in CoreRPG, but a simple list with text boxes and numberboxes for weight) for armor, pack, purse, other, etc. And I would like to give the players the ability to "check" if a particular piece of equipment is "equipped" and therefore added to their current "Load." "Load" being the combined weight of items carried that determines encumbrance.

Is the checkbox the easiest way to do this? How would I link a checkbox to a function?

damned
March 4th, 2021, 22:24
In 5E it uses an Icon Cycler (Im pretty sure) but the method of checking would be the same.

psicodelix
March 4th, 2021, 23:44
Yes, you can use a checkbox for a simpler use.

To link it to a function you can define the onValueChanged event for the checkbox and write your logic in it (e.g. call a function to calculate the current load)

ikschroeder
March 6th, 2021, 15:17
Hy,

i would like to test the new git integration in 0.6.0. Having activated the advanced settings and filled in user and email for my gitlab account i see no git icon in an existing project. Is there more to do or is the feature only for new projects? What i have done is starting the Ruleset Wizard after filling in the data.

Yours sincerely
Ingo

psicodelix
March 6th, 2021, 16:07
Hi Ingo,

You must initialize the git repository in the project folder by yourself. Once this is done the wizard detects it and allows you to commit to it.



git init

YAKO SOMEDAKY
March 6th, 2021, 16:36
If I purchase the Ruleset Wizard can I use it to work with the rulesets and thus have a more efficient and faster way to make extensions to the desired rulesets?

psicodelix
March 6th, 2021, 16:49
If I purchase the Ruleset Wizard can I use it to work with the rulesets and thus have a more efficient and faster way to make extensions to the desired rulesets?

Probably not. The Wizard does not allow you to work with existing rulesets, you must create your ruleset or extension from scratch.
Also creating extensions implies to have a high knowledge of the ruleset you are modifying, and the Wizard can't help you much in that.


In the video tutorials in my signature you can see examples of what the Wizard can do.

damned
March 7th, 2021, 04:25
yako you do have a reasonable knowledge already of extensions etc
It wont help you edit existing extensions but creating new ones... yes.
Also it doesnt write a lot of Lua for you - it does write plenty of XML, Lua is still (mostly) in your court.

Konami
March 7th, 2021, 14:13
Hi RW creators,
I'm evaluating to jump in your project, please just a couple of questions because i'm unable to find those inside your website:

1) Is RW compatible with FG and FG Unity too ? (I think yes, but better ask)
2) Is RW the cost one shot ? or you plan to switch to monthly fee payment once the final version will be released ?
Note: could be useful to have those informations on your website too ;)

Thank you, I go back to watch Damned tutorials!

Have a nice day
Paolo

psicodelix
March 7th, 2021, 20:07
Hi Paolo

RW is compatible with FGC and FGU, although some advanced roll engine mechanics are available only in FGU.
The cost is for a lifetime license.

You can download a free demo from my web site and try it for yourself. All my tutorials can be done with the demo version.

dungeongrub
March 14th, 2021, 18:47
Hi All, can anyone tell me what the name is for the field in the Core RPG main NPC sheet that will allow me to manually type in rolls? I struggle with finding the right place to look in the file system.

I am drawing up a Dungeon Crawl Classics ruleset for an upcoming game and have found I'm unable to drag/drop unusual die types into a rollable field, so will have to put the manual rolls field back into the sheet.

Many thanks!

Myrdin Potter
March 14th, 2021, 18:55
Hi All, can anyone tell me what the name is for the field in the Core RPG main NPC sheet that will allow me to manually type in rolls? I struggle with finding the right place to look in the file system.

I am drawing up a Dungeon Crawl Classics ruleset for an upcoming game and have found I'm unable to drag/drop unusual die types into a rollable field, so will have to put the manual rolls field back into the sheet.

Many thanks!

You do realize that there already is a very good DCC ruleset available, right? If this is some offshoot of the main system, it might be much easier to write an extension to the existing DCC ruleset instead of recreating from scratch.

dungeongrub
March 14th, 2021, 19:29
You do realize that there already is a very good DCC ruleset available, right? If this is some offshoot of the main system, it might be much easier to write an extension to the existing DCC ruleset instead of recreating from scratch.

Nope, didn't realise, is it a free one? I'll take a look for it.

Myrdin Potter
March 14th, 2021, 19:31
Not free (anymore, it started off as a community ruleset and was free). But the price includes the rulebook and a ton of automation. Officially licensed by Goodman games.

dungeongrub
March 14th, 2021, 19:39
Not free (anymore, it started off as a community ruleset and was free). But the price includes the rulebook and a ton of automation. Officially licensed by Goodman games.

Ah right, thank you. I would rather make my own as I can't guarantee my players will engage with it. I can't get half of them to update their character sheets for other games let alone read the rulebooks so I don't intend shelling out more money. I wanted some automation for NPCs to save me some time in game and enjoy tinkering with the Ruleset Wizard, though to my shame I am really no good at doing anything past the basics!

damned
March 14th, 2021, 22:07
can you explain a bit more what you are trying to achieve?

dungeongrub
March 14th, 2021, 23:44
can you explain a bit more what you are trying to achieve?

I did want to have dice fields for odd dice (e.g. d16, d24, d30). I can make these dice rolls happen by using a number field with a dice string inputted, however, I can't then drag those dice strings into the rollable dice field. Therefore, I was going to revert back to the written dice string fields that are on the CoreRPG NPC sheet and write the dice formulas in for my monsters (similar to the MoreCore sheets, e.g. 'Action Dice':1d16). I am just after where I would get the code for that part of the CoreRPG NPC Main sheet. Either that, or I wonder how difficult it would be to add rollable dice that I could drag and drop that will add to the existing array at the bottom of the screen??

psicodelix
March 15th, 2021, 08:04
To do this you should replace the npc_roll.lua and write your own logic, but is quite complex. The parseComponents function splits the whole skill string in individual skill parts, and the action function is where the roll is created from the skill parts, check them out.

frostbyte000jm
March 20th, 2021, 16:22
Before I reinvent the wheel, has anyone created a generic ruleset/ext so they can just get started with a project instead of creating folder structures, frames, and other blah that you are probably going to do with every project?

I don't mind making one for myself (and others if they desire), I just didn't want to if someone else has done the leg work.

damned
March 21st, 2021, 01:01
As I started (ahem) another project last night I was thinking I need to create a template project to start from...
As I tend to do many things in a similar way I could probably do something like that for my projects.

frostbyte000jm
March 24th, 2021, 01:52
Bug Report

I am unclear if this has been posted (also if this is not the place to report bugs, I missed that too).

In Project Properties, can you add trimming to all the lines? I accidently left a space in my ruleset/extension name and it was erroring out on convert. It took me a while to figure out where I went wrong.

damned
March 24th, 2021, 01:56
I just wanna add my 2c here again.

I love this program!
It lowers the barrier to entry on character sheet creation by so much its incredible.
Full ruleset creation still requires you to learn a lot about the Fantasy Grounds engine and CoreRPG but to build really functional Character Sheets is a breeze!

psicodelix
March 24th, 2021, 07:58
Bug Report

I am unclear if this has been posted (also if this is not the place to report bugs, I missed that too).

In Project Properties, can you add trimming to all the lines? I accidently left a space in my ruleset/extension name and it was erroring out on convert. It took me a while to figure out where I went wrong.

Ok, I'll add it to the next build.

frostbyte000jm
March 24th, 2021, 23:11
I just wanna add my 2c here again.

I love this program!
It lowers the barrier to entry on character sheet creation by so much its incredible.
Full ruleset creation still requires you to learn a lot about the Fantasy Grounds engine and CoreRPG but to build really functional Character Sheets is a breeze!

I want to back Damned up 100% on this.

The only part of development I do not like in FG is the XML stuff. It is super frustrating and I feel like there is not enuff help, and I am a software developer by trade (granted I do not work in XML and LUA). This tool gets me quickly past the boring and tedious parts of FG development and straight into what I want to work on, the logic.

So far, this program has been awesome. Thank you @psicodelix. You did a great job.

Dragonrose0
March 30th, 2021, 05:31
this looks like it could be just what I'm looking for. I want to make a rule set for the new SMG Robotech RPG. unfortunately for me, I am unemployed and have no income. I looked at the demo and played with it a little. however, it will not allow me to save anything. I know no XML so I don't suppose anyone is working on a rule set for Robotech from Strange Machine games?

If and when I get back on my feet I will look into this again

damned
March 30th, 2021, 06:23
Hey Dragonrose0

You might find you can do a lot of it within MoreCore in the interim.

Dragonrose0
March 30th, 2021, 12:29
i am looking into it. actually watching your YouTube vids to try to mod it

damned
March 30th, 2021, 12:47
The MoreCore videos are pretty old now and there are many more features and rolls available these days... but this conversation should probably move to another thread :)

frostbyte000jm
April 1st, 2021, 04:00
I have a petty request.

Ctrl+D: This will duplicate a line of code. This is seen in a few IDEs.

Example: if I have something like:

Debug.chat("bob");

and I click somewhere in that line of code and press Ctrl+D I will get

Debug.chat("bob");
Debug.chat("bob");

I know there are much bigger things for you to work on in here, but it would save me a lot of time when developing.

psicodelix
April 1st, 2021, 07:21
Ok, added to wishlist.

frostbyte000jm
April 19th, 2021, 21:00
I have more petty request, I am a coder in real life, so I am lazy.

Could we have Copy Path?

basically if you right click a file you can choose copy path. it will copy something that looks like: "desktop/scripts/my_file.lua" so we can paste in the scripts field?

Also could we get a hotkey for (un)commenting out. I don't think I really care what the key is. I just want to select a bunch of text, press something, and it comments/uncomments the text.

frostbyte000jm
April 21st, 2021, 01:12
Ok, you are probably going to start charging me. If you ever reconsider and create a Patreon I would join (assuming affordability).

This is not a petty request, but a functionality request. With Check Box, I would like to be able to change the on and off icon. My workaround is create a template and then use Custom Control. But it would be nice to just set the on Icon and off Icon state from the properties of the checkbox.

This thing has saved me a ton of hours. You're amazing. I can't wait to see what you bring out next for us.

psicodelix
April 23rd, 2021, 22:43
Hi Frostbyte,

The truth is that I haven't had much feedbak from the last updates and I don't really know where to focus the next ones. I guess there have been too many changes in a short time and users need time to assimilate them.

your comments are much appreciated, I will add your requests to the wishlist.

Lensman
April 24th, 2021, 03:10
Ok, you are probably going to start charging me. If you ever reconsider and create a Patreon I would join (assuming affordability).


I agree with the Patreon request - having the ability to vote on upcoming enhancements would be a huge plus, and if the patreon allowed members to download Ruleset Wizard files that are used in the youtube videos from the channel, that would also be a huge plus!

just my 2 cents,
Lensman

frostbyte000jm
April 24th, 2021, 05:35
If I am not being annoying there are a few pieces I would like to see a little better and some features I would really appreciate. I will gather a list.

I know I bought into this a while back, but I am finally getting around to using it. This thing is magic. It saves me a ton to time.

I am working on a template and I hope to do a short video series here soon showing all the pieces.

Dragonrose0
April 27th, 2021, 06:13
I was finally able to purchase a key and am starting to use the program. I have not done enough with it to have an opinion or any suggestions about the program itself. however, I have been going through the tutorial vids from the site and I have 2 issues. 1 the total silence makes it hard to focus on for the duration of the videos. 2 the magnification is only where the mouse is sitting and often makes it impossible to read what you're typing.

The info imparted in the vids is informative and I look forward to digging into the app but I thought this was worth bringing up.

Edit: so I kept watching the Vids and on the next one you stopped using the magnifaction.

johnecc
April 27th, 2021, 09:00
Yeah, I agree with you about the official vids. You may want to look at a series of videos made by Damned, https://www.youtube.com/playlist?list=PLsgd1zJLdiKXtdLt1FBYjZrJUtJWCjGmT

Dragonrose0
April 27th, 2021, 11:57
going through them now
good so far

psicodelix
April 27th, 2021, 18:46
yes, the videos are a bit outdated, most of them were made with the first versions of the wizard. It is probably time to update them.

frostbyte000jm
April 28th, 2021, 04:07
Before I reinvent the wheel, has anyone created a generic ruleset/ext so they can just get started with a project instead of creating folder structures, frames, and other blah that you are probably going to do with every project?

I don't mind making one for myself (and others if they desire), I just didn't want to if someone else has done the leg work.

So I started on this project.

It is slow moving because I work, school, and life, but hopefully I can keep adding content for a while.

https://youtube.com/playlist?list=PLdNTLeOzaWPsvJacBBGA62ZWJFD3Jf_eb

damned
April 28th, 2021, 04:38
Ive been watching your videos frostbyte - some interesting stuff happening there.
Im going to do another set of videos for a short ruleset build that will have all the current GUI/operations in it.

damned
April 28th, 2021, 13:43
New Video Series begins...
https://youtu.be/cbyUQ_TZjng

psicodelix
April 28th, 2021, 20:23
Awesome work guys!

I'm working on a reworked Combat Tracker template. As soon as it is ready I will share it so you can include it in your projects.

damned
April 28th, 2021, 21:17
Awesome work guys!

I'm working on a reworked Combat Tracker template. As soon as it is ready I will share it so you can include it in your projects.

Best news ever!

frostbyte000jm
April 29th, 2021, 13:34
Can’t wait to see it.

Last night I was working on an NPC sheet. That, for some reason, was a little tricky, but I got it.

Is there a way to make window list not so spread out?

In the combat tracker, the effect list is very tight, not sure what to change to get the same effect.

Hopefully my next vid will be edited in time for a 5pm EST drop. It is showing off what I have done so far in the CT.

damned
April 30th, 2021, 15:24
https://www.youtube.com/watch?v=cbyUQ_TZjng&list=PLsgd1zJLdiKWRuwd05UhJizjp_Au0q9AR

3 parts uploaded and maybe another 3 or 4 to go...

frostbyte000jm (what does your name mean?) has also been uploading some pretty cool stuff here -

https://www.youtube.com/watch?v=kZWtRmqREEo&list=PLdNTLeOzaWPsvJacBBGA62ZWJFD3Jf_eb

frostbyte000jm
April 30th, 2021, 15:46
https://www.youtube.com/watch?v=cbyUQ_TZjng&list=PLsgd1zJLdiKWRuwd05UhJizjp_Au0q9AR

3 parts uploaded and maybe another 3 or 4 to go...

frostbyte000jm (what does your name mean?) has also been uploading some pretty cool stuff here -

https://www.youtube.com/watch?v=kZWtRmqREEo&list=PLdNTLeOzaWPsvJacBBGA62ZWJFD3Jf_eb

Thank you! I am loving your videos as well. Once I complete this template I am going to work on customizing a new ruleset for Werewolf the Apocalypse. You are very skilled at layout, and I am getting a lot of good ideas from your vids.

When I started TTRPG (btw: that is pronounced titer-pig, make it a thing): my first game was Star Wars WEG, then World of Darkness, next came a kind of superhero/x-men type game called Aberrant. I built a character that was a computer hacker and I was working in a cold room where pipping exploded and I got ice powers and cyberkinesis (https://abberrantseattle.obsidianportal.com/wikis/cyberkinesis). My super hero name was Frostbyte (a play on frostbite and digital bytes).

Since then it has been my go to gamer/username tag, but it is often taken so I just got used to 000JM (JM is my initials James Martin). People often shorten it to Frost.

Probably more information you wanted. I am dropping my next video today and taking a break for the weekend. I will hopefully have more stuff for you all starting next Tuesday.

frostbyte000jm
April 30th, 2021, 20:21
Last video this week uploaded.

I use RSW to change the ModStack. Enjoy!

https://www.youtube.com/watch?v=kZWtRmqREEo&list=PLdNTLeOzaWPsvJacBBGA62ZWJFD3Jf_eb

mattekure
April 30th, 2021, 22:19
EDIT NEVERMIND - I need to pay attention more to whats already in there. All the functions I mention are already listed as properties. I just need to use them correctly.

I have an extension that inserts a button into the header of a parcel record. It inserts it on the right, between the name field and the lock/unlock record. This was easy enough doing it by hand in xml, but I was wondering how I might do it with RSW.

My handwritten xml code looks like this.



<windowclass name="parcel_header" merge="join">
<sheetdata>
<buttoncontrol name="idAll" insertbefore="name">
<anchored width="22" height="20">
<top offset = "5" />
<right parent="rightanchor" anchor="left" relation="relative" offset="0" />
</anchored>
........


I understand I would need to set up the custom anchoring to use the "rightanchor" that already exists on the window. But how can I implement the "insertbefore=" bit on the buttoncontrol? Thats what allows it to insert between the two controls without having to touch or edit them at all. They automatically adjust around my button.

frostbyte000jm
April 30th, 2021, 22:26
What about if you made it as a Template and then used a custom control to place it? Kind of like my sword button I used. I have my file shared on GitHub, link is in the video

frostbyte000jm
May 1st, 2021, 05:13
Here is my Need / Greed / Bug list. Over the last week I was shooting the videos of what I am working on and these were the things that jumped out at me using RSW. Again, I love the product and everything you have done. If nothing else changes I will still be happy with my purchase. But it seems like you’re not ready to let off the gas yet. I can not wait to see what 1.0 look like. This is the best tool for Fantasy Grounds yet.

Bug List:
Issue: Arrow keys lose focus when editing properties.
This is my biggest gripe. I can’t tell how much stuff I have accidently messed up because of this.
Steps to reproduce:

Add a Number Field
Click on Name and name it “num_some_something”
Click before the “s” in “something”
Backspace out the “some_”
Press arrow right to move to the end of “something”
Here you will notice it loses focus



Issue: Console reports it cannot find fonts “idactivefont” and “idinactivefont”.
These two fonts are included in the dropdown default list in RSW. You can use one of my files from the video. I have all the fonts setup on page 1 of the character sheet. It is probably safe to remove these two.

Need List:
Feature: Double Click to Highlight
On an XML page when you have an attribute with the name of something_something_dark_side, and you double click it, it will highlight the whole thing. But when it is LUA with the same name, it will only highlight 1 word. I would like _ be considered a valid character when it is testing what to highlight.
I know it sounds petty, but I often use an underscore in my names and I often fail when clicking and dragging.

Feature: Rearrange Tabs to organize and close
I would like to rearrange tabs for better organization. Right now I have to close them all and open them in the order desired. Clicking and dragging them to the proper location would be nice, but I could even live with a right click, move left or right option. I would like to also have the options: Close one, close all, close all to the right. It can have close left as well.

Greed List:
Feature: A LUA toolbox.
I would like on the LUA page to be able to store common LUA commands like:
“Debug.chat(“blah: “,blah);” or “for i,j in pairs(blah) do …” I would also like the same dropdown list that is on the window sheets “onInit” “onDrop”…
The expectation is the tool with have a few preloaded functions, but we would also be able to add our own functions.

Feature: Files and Folders should sort after name applied
My ruleset is small right now, but I have misplaced a file or 2 because I was looking for it in alphabetical order. Did not realize it was not sorted. When my ruleset starts to get heavy, it is going to be harder to find the file I am looking for.

Feature: More Keyboard Shortcuts
Ctrl+D: Duplicate Line
Ctrl+/ : Comment line
Ctrl+Shift+/ : Comment Block
Ctrl+Shift+F: Search everywhere. <I was looking where I used a string the other day and 20 files later, I found it>

Feature: Intelligent Code Completion
Ok, I know I am very much wishful thinking here. I am not sure if this is just an API or what. I know IntelliJ has code completion for LUA. I have no idea what it takes to make this, and I am a CS major. I never created an IDE before. BUT It would be super nice.

I hope I am not coming off as being too greedy. Any one of these features making into future builds will make me ecstatic. Thank you again for bringing such an awesome tool into our hands.

psicodelix
May 1st, 2021, 21:46
Thank you, all the bug reports and feature requests are welcome.

And although I have had to slow down the pace of development in the last few weeks, no, I don't plan to stop development as long as I can think of improvements to make to the wizard.

rjunkin
May 6th, 2021, 09:13
I have a quick question.

I am attempting to input a ruleset for my group. I want to automate the math. How do I get the fields to add together? For instance Initiative, Dexterity bonus and miscellaneous that the Initiative field hase the end number.

damned
May 6th, 2021, 11:00
Lots of instruction here: https://www.youtube.com/watch?v=cbyUQ_TZjng&list=PLsgd1zJLdiKWRuwd05UhJizjp_Au0q9AR
Here: https://www.youtube.com/watch?v=gcgaQBtbYVA&list=PLsgd1zJLdiKW_5z-N6qS4ya4PLgZ0ARfM
and Here: https://www.youtube.com/watch?v=GJKyTSl_KEQ&list=PLsgd1zJLdiKXjOJMhcyk_lUQ2YW28exyP

rjunkin
May 6th, 2021, 16:41
Lots of instruction here: https://www.youtube.com/watch?v=cbyU...hJizjp_Au0q9AR
Here: https://www.youtube.com/watch?v=gcga...S4ya4PLgZ0ARfM
and Here: https://www.youtube.com/watch?v=GJKy...k_lUQ2YW28exyP


I have been watching the vids. Can't find the info I need. Can you tell me which video you posted that in?

damned
May 6th, 2021, 16:59
2 main ways you would do this.

If its a few fields only with simple calculations add something like this in the script section of the fields that contribute to the final number.



function onInit()
onValueChanged();
end

function onValueChanged()
local nodeWin = window.getDatabaseNode();
local nDexBonus = nodeWin.getChild("dex_bonus").getValue();
local nInitMisc = nodeWin.getChild("init_misc").getValue();

nodeWin.getChild("init").setValue(nDexBonus+nInitMisc);

end

You would do this on both dex_bonus and init_misc

If you have a lot of interactions you would separate the script into a script file and just call the scripts.
Similar code. More streamlined but a little more thought needed in setup.

frostbyte000jm
May 6th, 2021, 17:56
I have a quick question.

I am attempting to input a ruleset for my group. I want to automate the math. How do I get the fields to add together? For instance Initiative, Dexterity bonus and miscellaneous that the Initiative field hase the end number.

Something to keep in mind. This type of code is always a push (addHandler is the only exception. But those should be last resorts) and not a pull.

What that means. In Excel I can add cell C1 by saying =A1+B1. This is a pull. You are in C1 and you are pulling the values form A1 and B1.

In most programming languages it is a push. So you have three objects (and for simplicity we will call them A1, B1, and C1) if you want C1 to sum A1 and B1, you need to push that from A1 and B1.

Damned has a good example to show you how.

(Forgive me if I over explained, I just saw your question and wanted to make sure we were all in the same mindset)

psicodelix
May 7th, 2021, 22:17
I have a quick question.

I am attempting to input a ruleset for my group. I want to automate the math. How do I get the fields to add together? For instance Initiative, Dexterity bonus and miscellaneous that the Initiative field hase the end number.

You can find an easy example here:

https://www.youtube.com/watch?v=FdDsSmpt2mM

you can find more short video tutorials in my youtube channel, link below.

damned
May 8th, 2021, 00:47
Hi Guys,

Im posting a video a day as I build this DBR ruleset.
https://www.youtube.com/watch?v=cbyUQ_TZjng&list=PLsgd1zJLdiKWRuwd05UhJizjp_Au0q9AR
10 videos so far and the end is in sight!

frostbyte000jm
May 9th, 2021, 16:08
version 0.6.5
Removed idactivefont and idinactivefont from global font list.
Mitigated some weird behavior with arrow keys in properties box.

Thank you! I have removed those fonts from my template. keyboarding in the properties box is still kind of weird. after removing some text, then trying to use the arrow keys it just keeps me still. Then pressing Home or End will throw you to the first or last tab.

Added Option List (radio button list) control to toolbox.
Added On/Off icon properties to Check Box control.
Added Dice Roll properties to Icon control

NICE! I can make good use out of all these.

Allow to rearrange tabs by drag and drop.

OMG! Thank you 3000. This is super helpful for me. I tend to have a lot of tabs open and the only way I can do that is if I keep them organized.


These updates were great, thank you so much. The only thing I noticed when running the update is I had to reset my start menu icon, but that really isn't a big deal. It seemed to work well though.

psicodelix
May 9th, 2021, 18:17
Thank you for your comments.

The property box is proving to be problematic. After trying many approaches I have only managed to mitigate the problem somewhat to avoid unwanted changes in the designer, but I am still working on it.

frostbyte000jm
May 9th, 2021, 19:12
Well know that your work is appreciated. Thank you

mrgrey
May 13th, 2021, 18:29
So, on the one hand, I'm really tempted to pick up a copy of this at some point (since an IDE for ruleset development would be really nice). On the other hand, I'm a Linux user, and wine doesn't like .net framework 4.7 or 4.8 these days. When I tried running using mono, the program started, but crashed after I attempted to start a new project; after installing .net 4.8, the program crashes upon opening the serial code dialogue box. Are there any plans to either port to .net 5 or 6, or else to support Linux or Mac in any other way?

Edit: Specifically, I get "Error processing the license key: Exception from HRESULT 0x88980406"

psicodelix
May 13th, 2021, 20:08
Ruleset Wizard uses the .Net WPF framework, that isn't supported in mono, and there aren't plans for porting the software to other platforms, sorry.

jharp
May 15th, 2021, 14:52
What a great tool. It has made my first ruleset creation a lot easier.

A couple of features I'm hoping you can add:

1. A Generate/ Generate as... sort of like save / save as. It would be nice that once I do my first generate it just remembers that for the next and doesn't prompt for a filename/path.
2. On Generate it generates and then switches focus to Fantasy Grounds automatically. Would be nice if it could then send a defined key (say F1) to Fantasy Grounds to issue a reload. Would be nice to be able to define that key in a preference area or in Project properties.

Thanks again for the great tool.

Jason

frostbyte000jm
May 15th, 2021, 15:16
What a great tool. It has made my first ruleset creation a lot easier.

A couple of features I'm hoping you can add:

1. A Generate/ Generate as... sort of like save / save as. It would be nice that once I do my first generate it just remembers that for the next and doesn't prompt for a filename/path.
2. On Generate it generates and then switches focus to Fantasy Grounds automatically. Would be nice if it could then send a defined key (say F1) to Fantasy Grounds to issue a reload. Would be nice to be able to define that key in a preference area or in Project properties.

Thanks again for the great tool.

Jason

#1 you can do. After you generate your first (btw, don’t know if you saw that ctrl +g generates), click on the properties. The very bottom field, add your file to.

Then from that moment on press ctrl+s, ctrl+g and alt+tab to FG and you’re set.

I added /reload to my F2 key so I have a quick keystrokes and my FG is reloading with the updated ruleset.

jharp
May 16th, 2021, 05:10
#1 you can do. After you generate your first (btw, don’t know if you saw that ctrl +g generates), click on the properties. The very bottom field, add your file to.

Then from that moment on press ctrl+s, ctrl+g and alt+tab to FG and you’re set.

I added /reload to my F2 key so I have a quick keystrokes and my FG is reloading with the updated ruleset.

Thanks I'll add my file to the properties. I did know of the ctrl+g but this makes it nicer.

Thanks,

damned
May 16th, 2021, 05:34
Thanks I'll add my file to the properties. I did know of the ctrl+g but this makes it nicer.

Thanks,

What are you working on and screenshots please!!!

frostbyte000jm
May 19th, 2021, 01:40
It has been a while, but I started making some new videos showing the awesome power of Ruleset Wizard.
https://youtube.com/playlist?list=PLdNTLeOzaWPsvJacBBGA62ZWJFD3Jf_eb

Enjoy.

frostbyte000jm
May 19th, 2021, 21:19
#Request

Can I get the LUA Code Editor Window to save its location?

I know I ask for the cheapest of things, but I am lazy and needy.

Thank you again. I tried and failed a few times to make this current project. I could not have done it with out RSW

psicodelix
May 20th, 2021, 10:13
#Request

Can I get the LUA Code Editor Window to save its location?

I know I ask for the cheapest of things, but I am lazy and needy.

Thank you again. I tried and failed a few times to make this current project. I could not have done it with out RSW


I often miss that feature too. I will include it in the next update.

frostbyte000jm
May 21st, 2021, 22:18
I have a complaint. Your combat sheet template is better than mine. I now need to make mine better. :P

Nice updates. Thank you.

Lensman
June 8th, 2021, 06:19
Hi All!

Hope everyone has been well.

I need some help with 3 issues:

1) I have tables that I created in fantasy grounds, is there a way to link that data to the items Class Property of a dropdown list within Ruleset Wizard? The hope is the table data becomes the choices within the drop-down. (and maybe even making it possible to randomize the choice). Is this something that is on the to do list, or could it be added?

2) I am trying to replace the regular number field on a sheet with selectable dots, (See image below).
47422

I have tried using the counter list tool, but that doesn't seem to work. Can anyone offer help on how to make this, (or where to look for coding examples)?

3) I also want to create a damage type that uses a rotation of boxes, (See image below):

47423

I am having some difficulty figuring out how to create this in either RW or in Lua Code. Can anyone offer some suggestions?

As always, Thanks!
Lensman

damned
June 8th, 2021, 06:30
1. I think you will need to do it in Lua and duplicate the table info in Lua arrays.
2. Counter list does work - watch the (silent) video tutorial on it - most likely you are setting min and max incorrectly.
3. No idea what that means

Lensman
June 8th, 2021, 07:31
1. I think you will need to do it in Lua and duplicate the table info in Lua arrays.
2. Counter list does work - watch the (silent) video tutorial on it - most likely you are setting min and max incorrectly.
3. No idea what that means

for the third item, what i would like is a row of empty boxes (the first selection) when I click on an individual box, it moves to the second selection, a third click moves to the third selection, and so forth. (I'm thinking of a damage table where 1 hit only 1/2 fills the box, subsequent damage can fill in the box, and as the character heals, he gets back 1/2 of a box, then it goes back to empty).

Hope that clarifies the third one.

on the 2nd one, while I can type in the number, and the boxes fill in, I can not do the reverse. Ideally, for each dot i click, it fills in and raises the count by 1.

I'll look into arrays, and how to work with them, still struggling with Lua...

thanks again!
Lensman

damned
June 8th, 2021, 07:47
3. I have no existing examples - you will have to nut that one out yourself :bandit:
2. Watch the video - I just did one on the weekend - I was doing it wrong until I watched the video - it works as you described it should
1. I have a WiP that displays a random message when someone dies etc

here is an example.


aDamage1 = {"(Fail)\nYou are hit and take damage!","(Fail)\nYou take damage!","(Fail)\nYou are wounded - take damage!","(Fail)\nOuch! Take damage!"};


function resolveAttack(rSource, rTarget, rRoll)

local nSkill = tonumber(rRoll.nSkill);
local nAttack = rRoll.aDice[1].result + rRoll.aDice[2].result + nSkill;

local rMessage = ActionsManager.createActionMessage(rSource, rRoll);

if rTarget == nil then
rMessage.text = rMessage.text .. " Attack Roll";
Comm.deliverChatMessage(rMessage);
else
local nTarget = DB.getValue(rTarget.sCTNode .. ".reach") + math.random(6) + math.random(6);
if nAttack < nTarget then
sResult = dataLibrary.aDamage1[math.random(4)];
elseif nAttack > nTarget then
sResult = dataLibrary.aDamage2[math.random(4)];
else
sResult = dataLibrary.aDamage3[math.random(6)];
end
rMessage.text = rMessage.text .. " vs " .. rTarget.sName .. " (" .. nTarget .. ")\n" .. sResult;
Comm.deliverChatMessage(rMessage);
end

end

icecrmman
June 9th, 2021, 03:11
Love the product wish I was more talented.
I am wanting to change a roll value by one dice "d6 to a d8 or d12 to d10" depending on the stack modifier. Does one of your videos demonstrate this action?

damned
June 9th, 2021, 03:27
Hopefully by next week I will have uploaded a ruleset for my little pony. It might give you some clues. Not the same mechanic but a little similar.

icecrmman
June 9th, 2021, 03:32
Hopefully by next week I will have uploaded a ruleset for my little pony. It might give you some clues. Not the same mechanic but a little similar.

Thanks Damned I have watched all of your videos and I look forward to the aforementioned one.

psicodelix
June 9th, 2021, 06:16
you can get some clues in my development blog:

https://www.rulesetwizard.com/new-major-update-the-dice-roll-engine/

icecrmman
June 9th, 2021, 18:09
Thanks, psicodelix
I absolutely love this tool my wife purchased it for me last Christmas and I have logged a lot of hours.
I always get excited when I see there's an update because I know it's going to make something I am doing easier.

psicodelix
June 9th, 2021, 20:30
I'm glad you're enjoying it :D

Watch out for the next update that will come with LUA code autocompletion...

dungeongrub
June 9th, 2021, 20:34
Hi all; can I ask for some help please? ...This may be a simple one to answer... I want to add buttons with pre-defined bonuses or penalties (e.g. three buttons: -1, -2, -3), that work so each time you click on one (or more) they add to the modifier stack. Not sure if this would need to be coded or if there's a simpler way. As always, I'm in awe of how clever you all are so please be gentle if there is an explanation that involves anything more than writing a line or two! Many, many thanks.

psicodelix
June 9th, 2021, 20:49
Yes, add a button and type this code:



function onButtonPress()
ModifierStack.addSlot("description", 1);
end

dungeongrub
June 9th, 2021, 21:09
Yes, add a button and type this code:



function onButtonPress()
ModifierStack.addSlot("description", 1);
end


It works!!! Brilliant, thank you for the quick solution Psicodelix

damned
June 10th, 2021, 03:08
I absolutely love this tool my wife purchased it for me last Christmas and I have logged a lot of hours.

Your wife is on the ball!

icecrmman
June 11th, 2021, 03:25
Your wife is on the ball!

Yes she is

jharp
June 11th, 2021, 16:09
Any chance we can get an option that allows placement of tabs vs spaces in the editor on hitting tab key? I just note that the preference at FG is tabs.

Thanks,
Jason

-------------------
XML and Lua File Formatting (for maximum compatibility across FG team and developers)
Use tabs for indenting (not spaces)
Use Windows style line breaks.
Other Notes
Use comments in LUA to explain the purpose of code functions and large or complex sections of code

drvolk
June 16th, 2021, 12:41
So, on the one hand, I'm really tempted to pick up a copy of this at some point (since an IDE for ruleset development would be really nice). On the other hand, I'm a Linux user, and wine doesn't like .net framework 4.7 or 4.8 these days. When I tried running using mono, the program started, but crashed after I attempted to start a new project; after installing .net 4.8, the program crashes upon opening the serial code dialogue box. Are there any plans to either port to .net 5 or 6, or else to support Linux or Mac in any other way?

Edit: Specifically, I get "Error processing the license key: Exception from HRESULT 0x88980406"

I followed the instruction unter "https://www.reddit.com/r/linux4noobs/comments/firqs9/getting_windows_wpf_applications_to_run_with_wine/" an got it run under Linux , with wine (currently wine-6.10 Staging).

i intalled "winetricks --force -q dotnet472" and "winetricks -q d3dcompiler_47". I also ADD the regedit entries:

wine reg ADD 'HKCU\Software\Wine\DllOverrides' '/f' '/v' 'd3d9' '/t' 'REG_SZ' '/d' 'native'
wine reg add "HKCU\\SOFTWARE\\Microsoft\\Avalon.Graphics" /v DisableHWAcceleration /t REG_DWORD /d 1 /f

I am not sure what did the trick, but now it seams to be running unter my linux environment without any problems (but i still have to test it a while to be sure everything realy works ...)

psicodelix
June 16th, 2021, 12:49
I followed the instruction unter "https://www.reddit.com/r/linux4noobs/comments/firqs9/getting_windows_wpf_applications_to_run_with_wine/" an got it run under Linux , with wine (currently wine-6.10 Staging).

i intalled "winetricks --force -q dotnet472" and "winetricks -q d3dcompiler_47". I also ADD the regedit entries:

wine reg ADD 'HKCU\Software\Wine\DllOverrides' '/f' '/v' 'd3d9' '/t' 'REG_SZ' '/d' 'native'
wine reg add "HKCU\\SOFTWARE\\Microsoft\\Avalon.Graphics" /v DisableHWAcceleration /t REG_DWORD /d 1 /f

I am not sure what did the trick, but now it seams to be running unter my linux environment without any problems (but i still have to test it a while to be sure everything realy works ...)


Great!

jharp
June 17th, 2021, 06:04
What are you working on and screenshots please!!!

When I have something I'm proud of I'll give some screenshots. Given the quality of your videos I won't want to show it for a bit. :) Your videos are my go to research. Thanks greatly.

damned
June 17th, 2021, 06:08
When I have something I'm proud of I'll give some screenshots. Given the quality of your videos I won't want to show it for a bit. :) Your videos are my go to research. Thanks greatly.

Truly - feel free to share and to ask for any pointers or tips. I love seeing what people are working on - and it also stops me from stepping on someones toes!

psicodelix
June 17th, 2021, 06:38
Any chance we can get an option that allows placement of tabs vs spaces in the editor on hitting tab key? I just note that the preference at FG is tabs.


sorry, missed that message. Ok, added to wishlist.

jharp
June 18th, 2021, 11:56
First off thanks to everyone for the enormous amount of work that I am able to build off of when working on my rulesets. It is greatly appreciated by the new to this product. I love Ruleset Wizard and the videos that Damned has produced. In addition to the information here I often unpack the ruleset files to see how others have done their work. However, it seems that some rulesets are provided only as vaulted assets. I stumbled across this when I purchased the Conan ruleset. I thought it might be of interest to other Ruleset Wizard people to know if certain modules are vaulted or not. If you DM me with other rulesets and whether they are vaulted or not I'll update my post. I obtained the listing from my store orders page. Let me know if you would prefer I use a new thread.


Status Vendor Module ID Description Type Gameplay ManufacturerComment
Vault Steam MUH052117FGM Robert E Howard's Conan Roleplaying Game Ruleset Conan 2d20 Modiphius Entertainment Ltd. Entire package vaulted
Non-Vault Steam DGASW3 Savage Worlds Deluxe Ruleset Ruleset Savage Worlds Pinnacle Entertainment Group --

damned
June 18th, 2021, 13:09
Roughly (there may be some exceptions) the free rulesets that come with FG are unvaulted.
SWADE and SaWo are unvaulted.
I think that DCC might be unvaulted.
Other Store rulesets are all vaulted.
Community rulesets are unvaulted.

jharp
June 25th, 2021, 16:35
Bug?

I note that you can select multiple items in the Object Explorer and then you can use the pointer keys to move those objects. It love that. Is there a way to do that with only a single object selected in the object explorer? If I select only a single object and then hover in the main panel, the pointer keys interact with the list in the object explorer rather than the position of the object. I know I could alter the bring forward and such but it would be nice to be able to move a single object after selecting it in the object explorer.

Thanks,
Jason

psicodelix
June 25th, 2021, 19:56
Bug?

I note that you can select multiple items in the Object Explorer and then you can use the pointer keys to move those objects. It love that. Is there a way to do that with only a single object selected in the object explorer? If I select only a single object and then hover in the main panel, the pointer keys interact with the list in the object explorer rather than the position of the object. I know I could alter the bring forward and such but it would be nice to be able to move a single object after selecting it in the object explorer.

Thanks,
Jason

Yes, it would be more useful, I'll do some tests to see what I can do.

jharp
June 26th, 2021, 23:43
Bug report

1. In a window it allows the naming of an item with a - character but on reload of that window it gives an error that it is an invalid name.
2. Select an item in the main area that is not the top or bottom item in the object explorer. Ctrl-C / Ctrl-V. New object is now in the list at the bottom. Select that object in the main window or in the object explorer and attempt to send-back and it wont. Close window and reopen and you can now move it as expected.

Jason

psicodelix
June 27th, 2021, 01:03
Bug report

1. In a window it allows the naming of an item with a - character but on reload of that window it gives an error that it is an invalid name.
2. Select an item in the main area that is not the top or bottom item in the object explorer. Ctrl-C / Ctrl-V. New object is now in the list at the bottom. Select that object in the main window or in the object explorer and attempt to send-back and it wont. Close window and reopen and you can now move it as expected.

Jason

Ok, thanks for the report, I'll fix it.

jharp
June 29th, 2021, 21:10
Hello all,

I'm looking to create a button like the one in template_campaign.xml for button_vehicle_type.

<template name="button_vehicle_type">
<button_text_sm>
<anchored to="buttonanchor" width="80">
<top />
<left anchor="right" relation="relative" offset="5" />
</anchored>
<state textres="vehicle_button_type" />
<script>
function onButtonPress()
local w = Interface.findWindow("reference_groupedlist", "reference.vehiclebytype");
if w then
Interface.toggleWindow("reference_groupedlist", "reference.vehiclebytype");
else
w = Interface.openWindow("reference_groupedlist", "reference.vehiclebytype");
w.init({ sRecordType = "vehicle", sListView = "bytype" });
end
end
</script>
</button_text_sm>
</template>

I know that in Ruleset Wizard I could create a template_campaign.xml file and manage the XML myself but I'm wondering if there is a way in Ruleset Wizard to create a Window and have the items in the window actually written out as a set of templates. Can that be done with some custom property in the window definition? I'm looking to avoid the XML maintenance if I can.

Thanks,
Jason

psicodelix
July 1st, 2021, 07:46
I know that in Ruleset Wizard I could create a template_campaign.xml file and manage the XML myself but I'm wondering if there is a way in Ruleset Wizard to create a Window and have the items in the window actually written out as a set of templates. Can that be done with some custom property in the window definition? I'm looking to avoid the XML maintenance if I can.

Jason

The template editor is something that has been on the wish list since the beginning of the development, and has been relegated behind other features, but it will come at some point.


Right now the only way to create templates is through XML.

jharp
July 1st, 2021, 14:37
Thanks. I'm sure there is a lot on that list. Keep up the great work and thanks for creating such a wonderful tool.
Jason

jharp
July 7th, 2021, 22:36
Bug Report (let me know if you would prefer I have a single post with reports and just edit that post as needed)

1. If you have an item highlighted in the main window (it has the selection box around the object selected) and then change tabs and then change back to the original tab the selection box disappears. It is actually still selected as seen in the object explorer and I can actually still move the object.

Jason

psicodelix
July 8th, 2021, 19:20
Bug Report (let me know if you would prefer I have a single post with reports and just edit that post as needed)

1. If you have an item highlighted in the main window (it has the selection box around the object selected) and then change tabs and then change back to the original tab the selection box disappears. It is actually still selected as seen in the object explorer and I can actually still move the object.

Jason

Hi Jason, a new post with new bug reports is ok.

Ok, I'll fix this problem in the next update.

jharp
July 9th, 2021, 17:46
QoL Feature Request

1. If you highlight a line and hit - then it comments out the lines. If the lines are already commented out in the first column then remove the comments in the front of the line (keeping any comments that might exist elsewhere in the line)

psicodelix
July 10th, 2021, 15:32
QoL Feature Request

1. If you highlight a line and hit - then it comments out the lines. If the lines are already commented out in the first column then remove the comments in the front of the line (keeping any comments that might exist elsewhere in the line)

Ok, added to wishlist

jharp
July 11th, 2021, 16:21
Bug / Lazy user protection

1. Frame Offset field is not updated prior to save/publish. (likely affects all fields but frame offset is easy to test)

Repeat by doing:
1. Change a frame offset field (don't leave the field)
2. Ctrl-G (you can also do Ctrl-S with a Ctrl-G and it still doesn't update)
3. Refresh fantasy grounds - and you will note that the update didn't take.

If you click such that the field loses focus prior to the Ctrl-G then it works fine.


2. If you click in a field in the Properties list, say the middle of some text, then start to type an edit, you will lose the ability to use arrow keys to move within the text.


Harpo

psicodelix
July 12th, 2021, 19:16
1. Frame Offset field is not updated prior to save/publish. (likely affects all fields but frame offset is easy to test)

Repeat by doing:
1. Change a frame offset field (don't leave the field)
2. Ctrl-G (you can also do Ctrl-S with a Ctrl-G and it still doesn't update)
3. Refresh fantasy grounds - and you will note that the update didn't take.

If you click such that the field loses focus prior to the Ctrl-G then it works fine.



Sorry, I can't reproduce the problem, following your instructions it seems to work fine.

Are you on the latest version? can anyone else reproduce the error?

psicodelix
July 12th, 2021, 19:18
2. If you click in a field in the Properties list, say the middle of some text, then start to type an edit, you will lose the ability to use arrow keys to move within the text.

Harpo

Yes, I have yet to review the way the property list works. Disabling the keys is to avoid another set of problems, but it is in the ToDo list.

jharp
July 12th, 2021, 19:59
I have attached a zip with a .rwp and a campaign.

In the charsheet_main if you modify the Frame Offset associated with the WindowList1 and without leaving the field hit ctrl-s, ctrl-g then reload the campaign it will not have updated the offset.

Once I click outside of the Frame Offset field it will ctrl-s, ctrl-g with updates as expected. And I forgot to reply that I do have the latest version of Ruleset Wizard.

Harpo.

drvolk
July 14th, 2021, 13:30
I tried to implement a "combined filter" for a feats list in a charsheet but i cant get it to work.
I defined a "stringCylcer" where i can set the feats type which should be shown in the featslist and a stringfield (advanced template : filter, like in the ruleset wizard video tutorial for filters)m which with i wanted to be able to filter the featslist of the selected feats type.

I tried to find out how all that filter stuff works with the FG Framework but i did not get it .. :( .. There is a "applyFilter" and "onFilter" method on windowlists i noticed by how can i trigger the "onFilter" for all windowlist enties with the filter logic of the combined filter creterias ?

UPDATE:
I found a (the?) solution. When changing the "stringCycler" i will close all windows of the featslist und reopen only a new window for the featslist nodes with the featstype of the cycler.
Maybe there is a better way but this works just fine ...

psicodelix
July 14th, 2021, 23:46
The onFilter function is called for each list entry every time the list is reordered or new entries are added. In this function you have a reference of the item being evaluated (w) and you can compare its values with those of the filter criterias (the string cycler and the string filter). Then the function must return true if the item meets the criteria and should be showed, and false otherwise.

psicodelix
July 15th, 2021, 00:02
In the charsheet_main if you modify the Frame Offset associated with the WindowList1 and without leaving the field hit ctrl-s, ctrl-g then reload the campaign it will not have updated the offset.
Harpo.

It is strange because in my tests with this project and following the steps to the letter the property is updated correctly in the ruleset.


Anyway, in the next update I will force the validation of the property by pressing Ctrl-G to try to avoid this problem.

drvolk
July 15th, 2021, 09:55
The onFilter function is called for each list entry every time the list is reordered or new entries are added. In this function you have a reference of the item being evaluated (w) and you can compare its values with those of the filter criterias (the string cycler and the string filter). Then the function must return true if the item meets the criteria and should be showed, and false otherwise.

Thanks for that helpfull explanation! But how can i trigger a "reorder" of a windolist (featslist) within onValueChanged of the string_cycler control then ?
I could add and delete a dummy entry into the windowlist maybe, but maybe there is also a better way ?

psicodelix
July 15th, 2021, 17:35
Thanks for that helpfull explanation! But how can i trigger a "reorder" of a windolist (featslist) within onValueChanged of the string_cycler control then ?
I could add and delete a dummy entry into the windowlist maybe, but maybe there is also a better way ?

the applyFilter function should do the work:

https://www.fantasygrounds.com/refdoc/windowlist.xcp#applyFilter

psicodelix
July 16th, 2021, 00:53
For those who want to start using Git with their projects but don't know how, here is a tutorial:

https://www.rulesetwizard.com/advanced-development-and-git-integration/

drvolk
July 19th, 2021, 15:46
The Default Icon is only the image shown for the blank default item.

As you noticed, there is a nodefault property that can be used to remove the default blank item (I've just noticed it too), and it will be added to the next release, but in the meantime you can use it with custom properties:

- Add a custom property to the icon cycler
- Set the Parent element to parameters
- Set the Property Name to nodefault

This should do the work.

I am not sure if the problem is here again or if I am using the described workaround incorrectly but i got the empty item entry again :(

Here is the XML for it:


<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<windowclass name="NewWindow">
<placement>
<size height="117" width="299" />
</placement>
<sheetdata>
<button_stringcycler name="StringCycler1" merge="join">
<frame>
<name>fielddark</name>
<offset>0,0,0,0</offset>
</frame>
<bounds>18,17,252,65</bounds>
<parameters>
<labelsres>NewWindow_StringCycler1_Label_Label1|NewWindow_Str ingCycler1_Label_Label2</labelsres>
<values>Value1|Value2</values>
</parameters>
<parameters>
<nodefault></nodefault>
</parameters>
</button_stringcycler>
</sheetdata>
</windowclass>
</root>

psicodelix
July 19th, 2021, 16:15
That's for the Icon Cycler, and you are using a string cycler, which does not have the same properties.

drvolk
July 19th, 2021, 18:33
Thanks, that explains it ! .. so, my next little subproject will be an own string_cycler template wihch also will have an "add" method to be able to init the item list by an array :)

jharp
July 19th, 2021, 22:02
BUG - Likely you already know this and it is on the list but here it is...

1. In the font viewer it doesn't seem to reflect the select font in some cases. Of particular note is the Open Sans fonts from Google. In the font viewer it doesn't show anything different between regular/bold/italic. This then reflects in the sizing of items in a window view.

If I find out the reason I'll update this post.

--edit: tried to fix by adding the OpenSans fonts to the Ruleset Wizard install location but this didn't assist. Trying installing them to the window system but also didn't remedy. Let me know if there is some info I can get to help fix this. I'm working around the issue but it would be great if I didn't have to view in FGU to verify positioning.

--edit2: Solution seems that Ruleset Wizard needs to have a complete path to the font and not a relative path (I have the Use advanced development options checked). If they have a full path the preview is as expected.

Also,

Is there a trick to getting the window designer / FGU result to have the same size and rendering?

48302

The left side is the size in Ruleset Wizard and the right is the result in FGU. Should I have the FGU gui size at something other than 1.0?

Thanks,
Jason

psicodelix
July 20th, 2021, 07:02
BUG - Likely you already know this and it is on the list but here it is...

1. In the font viewer it doesn't seem to reflect the select font in some cases. Of particular note is the Open Sans fonts from Google. In the font viewer it doesn't show anything different between regular/bold/italic. This then reflects in the sizing of items in a window view.

If I find out the reason I'll update this post.

--edit: tried to fix by adding the OpenSans fonts to the Ruleset Wizard install location but this didn't assist. Trying installing them to the window system but also didn't remedy. Let me know if there is some info I can get to help fix this. I'm working around the issue but it would be great if I didn't have to view in FGU to verify positioning.

--edit2: Solution seems that Ruleset Wizard needs to have a complete path to the font and not a relative path (I have the Use advanced development options checked). If they have a full path the preview is as expected.

Also,

Is there a trick to getting the window designer / FGU result to have the same size and rendering?

48302

The left side is the size in Ruleset Wizard and the right is the result in FGU. Should I have the FGU gui size at something other than 1.0?

Thanks,
Jason

Ok, thanks for the report, I'll check it out and fix it in the next update.

psicodelix
July 20th, 2021, 08:50
BUG - Likely you already know this and it is on the list but here it is...

1. In the font viewer it doesn't seem to reflect the select font in some cases. Of particular note is the Open Sans fonts from Google. In the font viewer it doesn't show anything different between regular/bold/italic. This then reflects in the sizing of items in a window view.

If I find out the reason I'll update this post.

--edit: tried to fix by adding the OpenSans fonts to the Ruleset Wizard install location but this didn't assist. Trying installing them to the window system but also didn't remedy. Let me know if there is some info I can get to help fix this. I'm working around the issue but it would be great if I didn't have to view in FGU to verify positioning.

--edit2: Solution seems that Ruleset Wizard needs to have a complete path to the font and not a relative path (I have the Use advanced development options checked). If they have a full path the preview is as expected.

Also,

Is there a trick to getting the window designer / FGU result to have the same size and rendering?

48302

The left side is the size in Ruleset Wizard and the right is the result in FGU. Should I have the FGU gui size at something other than 1.0?

Thanks,
Jason

Ok, thanks for the report, there seems to be a problem with the relative paths in the font editor. Regarding the different size, the problem is that RW uses the size in points to render the text and FG uses pixels.


I will fix both in the next update.

jharp
July 23rd, 2021, 09:31
0.7.3 is wonderful I love it. Thanks for the font fixes they work wonderfully. I have confirmed the relative path and the rendering size. Having the quick comment and uncomment is a great quality of life improvement.

Thanks again,
Jason

psicodelix
July 23rd, 2021, 10:35
0.7.3 is wonderful I love it. Thanks for the font fixes they work wonderfully. I have confirmed the relative path and the rendering size. Having the quick comment and uncomment is a great quality of life improvement.

Thanks again,
Jason

glad you like it, thanks for the feedback :)

shadoe42
July 26th, 2021, 16:04
I have been kicking around a "better" character sheet for Fate Core. Mainly I wanted to get the actual Fate Core sheet in there with the pyramid skill tree etc... anyway I have run into an issue that I just cannot figure out. I KNOW its probably something silly.
All my string fields work except one. And one of them is unclickable when I load it into FG. First pic.... you will see the field in question highlighted. @nd pic.. unclickable inside FG

And I just cannot for the life of me figure out why that field is not clickable. I even ended up copying the name field one since I knew that was clickable.

I was trying to do this as an extension on Fate Core. IF I switch it over to a full rule set suddenly it works then if I switch it back to an extension it then still works .... see pic number 3

48406
48407
48408

psicodelix
July 26th, 2021, 17:52
I have been kicking around a "better" character sheet for Fate Core. Mainly I wanted to get the actual Fate Core sheet in there with the pyramid skill tree etc... anyway I have run into an issue that I just cannot figure out. I KNOW its probably something silly.
All my string fields work except one. And one of them is unclickable when I load it into FG. First pic.... you will see the field in question highlighted. @nd pic.. unclickable inside FG

And I just cannot for the life of me figure out why that field is not clickable. I even ended up copying the name field one since I knew that was clickable.

I was trying to do this as an extension on Fate Core. IF I switch it over to a full rule set suddenly it works then if I switch it back to an extension it then still works .... see pic number 3


Please, paste the full properties window of the problematic control.

shadoe42
July 26th, 2021, 19:04
Monitor won;t let me get it all in one go..so here are a couple shots of it. Like I said I got it to work as a full ruleset..then when I took that and did a save as extension it continued to work :)

48410

48411

psicodelix
July 26th, 2021, 19:37
it's odd, properties seem to be ok.

shadoe42
July 26th, 2021, 20:23
Yea I just chalked it up to weirdness.. closed everything down and reoppenned :)
Ironically since I posted this I went back and re did this whole thing a bit to give me more control and let me do nifty stuff easier. Like in the skill like now you can double click or drag&drop to get a die roll with the modifier already applied.
once I finally figured out the correct field to reference for the name haha.

psicodelix
July 26th, 2021, 20:59
great!

shadoe42
July 27th, 2021, 02:10
Can you turn off the double click to roll on a string field? when you have it set to roll die? I want it to only roll on drag and drop

psicodelix
July 28th, 2021, 08:23
Can you turn off the double click to roll on a string field? when you have it set to roll die? I want it to only roll on drag and drop

I'm afraid that option is not currently available.

shadoe42
July 28th, 2021, 13:05
I'm afraid that option is not currently available.

oooo can we put it on the wish list? :)

shadoe42
July 29th, 2021, 00:40
EDIT: Got it figured out by basically creating a new charsheet window and then just making all the stat bits subwindows.


Sub window question. I have my main char sheet window... and then three sub windows. How do I make the main sheet be the one that opens when you open the character sheet? Its opening the first tab window first. I tried making it an item in the collection but that did not work. In this case would I need to make the "main" charsheet also a subwindow?

jharp
August 13th, 2021, 16:28
BUG - 0.7.4

I recompiled with 0.7.4 a working project and now it doesn't load. I looked at the extension.xml file and noticed that the entire code is in this line....

<includefile source="&lt;root&gt;&#xD;&#xA; &lt;windowclass na

So it is trying to load a file with that name. LOL.

I'm rolling back to 0.7.3. Let me know if you need anything from me.

EDIT: Under 0.7.3 that same line is <includefile source="type2.xml" />

Jason

psicodelix
August 13th, 2021, 20:27
ok, I have seen the problem, I will compile a hotfix asap.

psicodelix
August 13th, 2021, 22:08
Uploaded version 0.7.5 which should fix the problem. Let me know if you find any other problems.

damned
August 14th, 2021, 03:34
EDIT: Got it figured out by basically creating a new charsheet window and then just making all the stat bits subwindows.


Sub window question. I have my main char sheet window... and then three sub windows. How do I make the main sheet be the one that opens when you open the character sheet? Its opening the first tab window first. I tried making it an item in the collection but that did not work. In this case would I need to make the "main" charsheet also a subwindow?

Control it with your visible statements in onInit()

ikschroeder
August 18th, 2021, 14:28
Hello,
i'm working on a project and have an issue with the automatic creating of the pak - File. It seems that some of the deleted files will stay in the rwp - File and be used to create the base.xml File for the pak.

I had tested with Frostbyte Frostcore framework and tried the dice and modifier stack from there. Having recognized it doesn't help me, i wanted to remove it and deleted the files in the gui. Then i created a new pak - File, distributed it and reloaded the server. The changes for modifier and dice stack still were there. So i started the server again. It didn't help.

I then looked at the rwp file with Notepad++ and found out, that the files and scripts were still in the rwp - File and were put into the base.xml of every pak - File.

Has this happened to anyone else?

Ingo

damned
August 18th, 2021, 15:11
Are you on a current/recent build?
I think I experienced something like this many months ago but nothing recently.

ikschroeder
August 18th, 2021, 15:56
yes, Version 0.7.5 Golem should be the current version.

damned
August 19th, 2021, 01:56
You might try creating a new project and importing this project and then dragging import files into main (new) project and export and test?

psicodelix
August 19th, 2021, 07:44
Hello,
i'm working on a project and have an issue with the automatic creating of the pak - File. It seems that some of the deleted files will stay in the rwp - File and be used to create the base.xml File for the pak.

I had tested with Frostbyte Frostcore framework and tried the dice and modifier stack from there. Having recognized it doesn't help me, i wanted to remove it and deleted the files in the gui. Then i created a new pak - File, distributed it and reloaded the server. The changes for modifier and dice stack still were there. So i started the server again. It didn't help.

I then looked at the rwp file with Notepad++ and found out, that the files and scripts were still in the rwp - File and were put into the base.xml of every pak - File.

Has this happened to anyone else?

Ingo

that problem was fixed several updates ago. Try to do what damend said, if it doesn't work send me the file to check it.

ikschroeder
August 19th, 2021, 09:55
Problem still exists, sorry. Have tried damned suggestion but the files still appear in the base.xml.

The files all have to do with dicestack / modifierstack
<includefile source="graphics/decals/dicestack.xml" />
<includefile source="graphics/decals/modifierstack.xml" />
<script name="DiceStack" file="graphics/fonts/DiceStack.lua" />
<script name="dicestack_modifier" file="graphics/fonts/dicestack_modifier.lua" />
<script name="ModifierStack" file="graphics/fonts/ModifierStack.lua" />

Thanks for helping!

psicodelix
August 19th, 2021, 10:37
I have tried to delete those files and generate the pak file and everything works fine.


On the other hand, the dicestack and modifier stack files are located in folders that do not correspond to them, and maybe that is why they are going unnoticed even though they are there.

Check the graphics/decals and graphics/fonts folders in your project, and delete the files there.

ikschroeder
August 20th, 2021, 07:01
Sorry for replying this late. Thought i had send an answer before.

Having deleted the files all works fine. but i'm quite sure i had not moved the files to that directories. And looking at the latest backup, they were in other directories.

Anyway, many thanks for the fast help. Now i can move on to other problems. ;-)

Ingo

Lensman
August 29th, 2021, 23:04
I would like to request the ability to create custom map pins for windows.
This is something I know is on the fantasy grounds official wish-list, but it is my hope that you will be able to come up with something as well. The basic idea would be to be able to have either a different colored pin appear in maps that are hard-set to a window type, (as an example, red for story, Quests could be green, Encounters could be black, etc.).

Alternately, maybe a custom file could be used within the ruleset wizard. I envision that the creator could have a specifically-named folder that holds the files, then when creating the page, the file to use for the pin could be set (or referenced), in a manner similar to setting either a page frame, or the icon cycler function as it currently works.

From what I've found searching the forum, the issue was summed up as:

It's in the core application. You can't change these on the fly. All you can do is change the base icons via the <imagesettings> entry in gameelements.xml which sets the single icon for all shortcut pins. (Source: https://www.fantasygrounds.com/forums/showthread.php?33477-Pin-Color-Extension)

As always, thanks for all your hard work!

damned
August 30th, 2021, 00:27
This is not something that can be done by extension/ruleset.