-
December 13th, 2023, 06:57 #1071
The first step would be to create a dedicated folder for your project and put the rwp file in it. Then you create a subfolder for the images, put the graphic files in it and add them to the project.
The last step is to make the wizard use relative paths. For this the simple option is to change the path by hand (by default the wizard uses absolute paths) and leave only the relative part, e.g. yourimgfolder\yourgraphicfile.png.
Another option is to check the advanced development option in the project options. With this option the wizard will use relative paths automatically (as long as the file is in a subfolder) but it will also create other source code management files and folders that you may not be interested in.
In any case, once the files have the relative path you can compress the whole folder and send it to someone else and everything will work correctly.Ruleset Wizard
The Ruleset Development Environment
www.rulesetwizard.com
Ruleset Wizard Tutorials
Damned's Ruleset Wizard Tutorials
-
December 21st, 2023, 21:35 #1072
- Join Date
- May 2020
- Posts
- 33
Hi Psicodelix, i have two questions to this action function, you use in your ruleset template (I modified it for my own RW based ruleset but only for the string values shown in chat output):
function action(draginfo)
local nodeWin = window.getDatabaseNode();
local rActor = ActorManager.resolveActor(nodeWin.getChild("...... .")); -- To reach Character node
local rRoll = {};
rRoll.sType = "effect";
rRoll.aDice = {};
rRoll.nMod = 0;
rRoll.effect = window.name.getValue();
rRoll.nDuration = window.duration.getValue();
rRoll.sDesc = rRoll.effect .. " : " .. DB.getValue(nodeWin, "wirkung", "") .. "[" ..DB.getValue(nodeWin, "manoever_cycler", "") .. "]";
ActionsManager.performAction(draginfo, rActor, rRoll);
end
First: Is it possible to send that information shown in chat also in the effects field in the CT by ButtonPress (I can handle a ButtonPress command for a chat output)? If so, could you provide an idea, what the proper command/ way is?
Second: is it possible to reach the CoreRPG given field "duration" in the CT to set my operator from the according charsheet field as duration in the CT?
I know about different extensions dealing with actions/ effects for different rulesets. But they are much to complicated for me as non-coder to adapt. I am looking for a good aproach to have an automation for sending an effect in a despriptive way to the CT with the duration beside of dropping it by drag&drop (that works for the description except duration with this function and the corresponding onDragStart command). everything above that is a fruit, hanging too high for me. beside that I am interested in a way to learn about or see a template for RW, that allows such things
Wish you the best and a merry christmas!
Elawyn
-
January 14th, 2024, 14:10 #1073
- Join Date
- Nov 2017
- Location
- North Carolina, USA
- Posts
- 266
Issue with scrolling on CS Inventory window.
I have been developing a Harnmaster character sheet using Ruleset Wizard. Everything is working peachy and how I want it, with one exception. When a player fills out their Inventory to the point scrolling is required, when they scroll there are spaces created between items that make it hard to tell exactly where you are. I realize this is very much a third party use of FGU and you guys aren't at all beholden to help someone who is essentially tinkering with your product, but I was hoping perhaps this was something you had run into before and you could tell me what's causing it. I have increased the size of the windowlist thinking perhaps there were built in limits to how small it could be, but that didn't change things. Clicking on anything in the window, resets the list (edit list, item info icon, etc). See image.
inven1.PNG
inven2.PNG
Moderator: Moved to the Ruleset Wizard thread.Last edited by Zacchaeus; January 14th, 2024 at 15:19.
-
January 15th, 2024, 12:44 #1074
- Join Date
- Nov 2017
- Location
- North Carolina, USA
- Posts
- 266
-
January 16th, 2024, 00:56 #1075
Send me the project file(s) and Ill have a look.
-
February 9th, 2024, 18:39 #1076
- Join Date
- Dec 2018
- Location
- England, UK
- Posts
- 194
Hi all, not sure if this is the best lace for this query but here goes.
I am still working through building the ruleset for Battletech and part of my update requires the roll of a dice within the function of another roll. I am using the ActionsManager.performAction function. The functions rolls the dice okay but the value it shows in the chat is always 0, never the number actually rolled. The code I am using is below:
local rAreaRoll = {
sType = "Dice",
sDesc = "Explosive Damage",
aDice = {type = "d6"},
nMod = 0,
nBonuses = 0,
TN = 0
};
Debug.chat("Roll",rAreaRoll);
ActionsManager.performAction(nil, rSource, rAreaRoll);
local rMessage = ActionsManager.createActionMessage(rSource, rAreaRoll);
rMessage.text = rMessage.text .. "vs " .. sNodeID;
Comm.deliverChatMessage(rMessage);
Can anyone point me in the right direction to get the desired output in the chat window?
-
February 9th, 2024, 19:30 #1077
Try this for your rRoll Table.
local rRoll = {};
rRoll.sType = "explosive";
rRoll.aDice = "d6";
rRoll.nBonuses = 0
rRoll.nMod = 0;
rRoll.sDesc = "Explosive Damage",
I wouldnt use Dice
Also make sure you have this.
function onInit()
ActionsManager.registerResultHandler("explosive", ExplosiveHandler);
end
then it will look for a function named "ExplosiveHandler" and dump your results into thathttps://forge.fantasygrounds.com/shop/items/199/view
Old School Essentials Ruleset
https://www.dmsguild.com/product/352...eon-Builder-5E
5e Random Dungeon Generator!
-
February 9th, 2024, 19:47 #1078
- Join Date
- Dec 2018
- Location
- England, UK
- Posts
- 194
-
March 7th, 2024, 19:34 #1079
- Join Date
- Dec 2018
- Location
- England, UK
- Posts
- 194
Hi all, I have another query regarding the setTarget function for Tokeninstance.
The code below works fine for the host but the setTarget line doesn't work for the client. This is the third line from the end of the code
function onBeforeDiceRoll()
local nodeWin = window.getDatabaseNode();
local nodeChar = DB.getParent(DB.getParent(nodeWin));
Debug.chat(nodeWin,nodeChar);
local sDamageType = "";
local sAttackNode = DB.getChild(nodeChar,"inventorylist");
local sWeaponName = nodeWin.getChild("name").getValue();
Debug.chat(sAttackNode);
for k, v in pairs(sAttackNode.getChildren()) do
local sName = DB.getValue(v,"name");
-- Debug.console("Item Name = ",sName);
if sName == sWeaponName then
nAPValue = DB.getValue(v,"item_ap_value");
sDamageType = DB.getValue(v,"item_damage_type");
-- Debug.chat(sDamageType);
end
end
if string.lower(sDamageType) == "explosive" then
-- local rCreature = nodeChar.getChild(sSkillList);
-- local sAttackPointNode = nodeChar.getChild("areanode").getValue();
local sAttackPointNode = DB.getChild(nodeChar,"areanode").getValue();
-- Debug.chat(nodeChar,sAttackPointNode);
-- local rSourceAttackPoint = ActorManager.resolveActor(sAttackPointNode);
local rSource = ActorManager.resolveActor(nodeChar);
local nodeSourceCT = rSource.sCTNode;
local tokenSource = CombatManager.getTokenFromCT(nodeSourceCT);
Debug.chat(rSourceAttackPoint,rSource,tokenSource) ;
local tokenAttackPoint = CombatManager.getTokenFromCT(sAttackPointNode);
local imageAreaPoint = ImageManager.getImageControl(tokenAttackPoint);
Debug.chat("Token/Image",tokenAttackPoint,imageAreaPoint);
local aCTTokensTable = {};
local nTargetDistance,nAPValue = 0;
local nDamage = nodeWin.getChild("personal_damage").getValue();
-- Debug.chat("image",tokenAttackPoint,imageAreaPoint ,nDamage);
nTargetDistance = nDamage;
-- Debug.chat("distances",nAPValue,nDamage,nTargetDis tance);
aCTTokensTable = imageAreaPoint.getTokensWithinDistance(tokenAttack Point, nTargetDistance);
-- aCTTokens = tokenAttackPoint.getTargets();
Debug.chat(aCTTokensTable);
-- Set Targets in range of explosion point
-- managerDamage.AreaTargets(nTargetDistance,nodeChar ,sDamageType);
for k, v in pairs(aCTTokensTable) do
tokenSource.setTarget(true, aCTTokensTable[k].getId());
Debug.chat("Check");
end
-- Clear Explosion point token targeting
tokenSource.setTarget(false, tokenAttackPoint.getId());
end
end
The process goes into the for k,v in pairs loop but just doesn't set the targets for the client side.
Any suggestions?
-
March 10th, 2024, 20:14 #1080
- Join Date
- Dec 2018
- Location
- England, UK
- Posts
- 194
Update on the previous message. I have resolved my issue. It was a timing issue with when the code to set the targets was being called. I've moved it to the attack roll button in a function on AfterDiceRoll. This works a treat for both the host and the client.
Thread Information
Users Browsing this Thread
There are currently 3 users browsing this thread. (0 members and 3 guests)
Bookmarks