THIS. I don't know how to thank you. I actually tried something similar, 
but I probably try to calculate vars all in one line (like: <$vars a=2 b=3 
c=a+b>) it obviously didn't work and I thought it just couldn't work with 
vars. Thanks again!

On Thursday, 11 March 2021 at 14:09:58 UTC+1 [email protected] wrote:

> Something like this:
>
> <$vars lev1={{!!levello1}} lev2={{!!levello2}} hd1={{{ 
> [title{!!class}get[hd]] }}} hd2={{{ [title{!!class}get[hd]] }}}
> conmod={{{ [<currentTiddler>get[modcon]] }}}>
>
> <$vars hps={{{ [<hd1>multiply[2]subtract[2]] }}} hp1={{{ 
> [<lev1>multiply<hd1>] }}} hp2={{{ [<lev2>multiply<hd2>] }}} lev={{{ 
> [<lev1>add<lev2>] }}}>
>
> <$vars hpcon={{{ [<conmod>multiply<lev>] }}}>
>
> <$vars hitpoints={{{ [<hps>add<hp1>add<h2>add<hpcon>] }}}>
>
> <!-- further actions here -->
>
> </$vars>
> </$vars>
> </$vars>
> </$vars>
>
> Only use action-setfield with the final values you wish to save.
>
> On Thursday, March 11, 2021 at 1:24:57 PM UTC+1 Saq Imtiaz wrote:
>
>> In the same block of action strings, you cannot set tiddler/field values 
>> and retrieve the updated values. Try saving the interim values as variables 
>> instead of in temp tiddlers.
>>
>> On Thursday, March 11, 2021 at 1:03:35 PM UTC+1 [email protected] wrote:
>>
>>> Hi all. I'm in need of a macro (or something else?) that calculates a 
>>> bunch of fields together in an expression. I'm trying to do with plugins 
>>> like calc and playing around with variables and action widgets but nothing 
>>> seems to work. In my last attempt I made a huge button full of actions that 
>>> stored fields in a temp tiddler, with vars that recovered those fields to 
>>> use in other action setfields... It was monstrous and still it didn't work.
>>>
>>> I believe I need a macro - actually, probably a javascript one. But I 
>>> don't know where to start; I don't know much about java and making macros 
>>> in general. Can anyone point me to the best path I should follow, or help 
>>> in any way?
>>>
>>> The macro should:
>>>
>>> from tiddler-1:
>>> get field-a-1, field-a-2, field-b-1, field-b-2, field-n
>>>
>>> from both tiddler-a and tiddler-b (which are stored as values in 
>>> field-a-1 and field-b-1):
>>> get field-x, so to get field-x-a and field-x-b to keep around for calcs.
>>>
>>> these are all fields I manually set up.
>>>
>>> then:
>>>
>>> multiply field-x-a and field-a-2, and keep the result around (let's say 
>>> var-a)
>>> multiply field-x-b and field-b-2, the same (var-b)
>>>
>>> add field-a-2 and field-b-2, to store as field-y in tiddler-1
>>>
>>> multiply field-n and field-z, and get var-n
>>>
>>> add together var-a, var-b and var-n, and store the result as field-z in 
>>> tiddler-z
>>>
>>>
>>> this is my last attempt (embed in a button). There's one more small 
>>> calc, but it is just a sum that involves one field, so it's non relevant at 
>>> the moment.
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="lev1" 
>>> $value={{!!levello1}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="lev2" 
>>> $value={{!!levello2}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hd1" $value={{{ 
>>> [title{!!class}get[hd]] }}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hd2" $value={{{ 
>>> [title{!!class}get[hd]] }}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="conmod" $value={{{ 
>>> [<currentTiddler>get[modcon]] }}}/>
>>>
>>> <$vars lev1={{{ [[$:/temp/HPCalc]get[lev1]] }}} lev2={{{ 
>>> [[$:/temp/HPCalc]get[lev2]] }}} hd1={{{ [[$:/temp/HPCalc]get[hd1]] }}} 
>>> hd2={{{ [[$:/temp/HPCalc]get[hd2]] }}}
>>> conmod={{{ [[$:/temp/HPCalc]get[conmod]] }}}>
>>>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hps" $value={{{ 
>>> [<hd1>multiply[2]subtract[2]] }}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hp1" $value={{{ 
>>> [<lev1>multiply<hd1>] }}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hp2" $value={{{ 
>>> [<lev2>multiply<hd2>] }}}/>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="lev" $value={{{ 
>>> [<lev1>add<lev2>] }}}/>
>>>
>>> <$vars hps={{{ [[$:/temp/HPCalc]get[hps]] }}} hp1={{{ 
>>> [[$:/temp/HPCalc]get[hp1]] }}} hp2={{{ [[$:/temp/HPCalc]get[hp2]] }}} 
>>> lev={{{ [[$:/temp/HPCalc]get[lev]] }}}>
>>>
>>> <$action-setfield $tiddler=":$/temp/HPCalc" $field="hpcon" $value={{{ 
>>> [<conmod>multiply<lev>] }}}/>
>>>
>>> <$vars hpcon={{{ [title[$:/temp/HPCalc]get[hpcon]] }}}>
>>>
>>> <$action-setfield $tiddler=<<currentTiddler>> $field="hitpoints" 
>>> $value={{{ [<hps>add<hp1>add<h2>add<hpcon>] }}}/>
>>> <$action-setfield $tiddler=<<currentTiddler>> $field="level" $value={{{ 
>>> [<lev>] }}}/>
>>>
>>> </$vars>
>>> </$vars>
>>> </$vars>
>>>
>>> if you played you know what, you know what this is about :P
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/16599cda-dd5d-4f4e-a795-e41a9c6a406an%40googlegroups.com.

Reply via email to