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 dop...@gmail.com 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 tiddlywiki+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/3371f109-4072-4280-9a2b-700057888999n%40googlegroups.com.

Reply via email to