Logic node

hello,

I am looking for a node to script a complex logic with if then else in text style. I think i have seen something like that here, but I can’t find it.

regards

Check out the Automata node:

automata (animation)

@Tonfilm did some great documentation here:

graphicalautomata

For complex logic i’m can recommend you use dynamic plugins. Just check Template (Value) for example.

hi,

how can i solve the following?

i have several inputs from udp

if updString == string1 then
videoplay=1

else if udpString == string2 AND videotime < 500 then
videoplay=0
videomode = “pause”
videostopTime = 2000

else if udpString = string3 AND videomode == pause then
videoplay = 1

else if updString = string4 then
videostoptime = 4000

there are a view more inputs like that.

can i do this with automata?
how can i get more inputs and output nodes into the automata node?

regards

thats exactly what automata is for, try to follow the steps from the graphical automata page to generate the code and paste it into the automata (using inspektor). the you will get the in and out pins.

if coding is more your style, then create a dynamic plugin: plugins

ok, i go into the dynamic plugins…

2 questions:

when i get an udp string from flash theres an #0 at the end. when i show the string in an IOString it look fine without the #0 at the end.

when i check inside the plugin myFMoviePlayPin isn’t 1 when i send “hello”!!! why…

and why can’t i create boolean pins… something like can convert bool to plugin Interface bool.

if (fUDPInput[i](i)] == "hello"){
   FMoviePlay = 1;
   // FMoviePlayBool=true;
else
   FMoviePlay = 0;
   // FMoviePlayBool=false;
end if

and why i have to make the SpreadMax loop when i change one value.

regards

i wuld try with a = (String) node first, to find out the exact string you have to check for. the #0 means there is one character more, but i cant say which one it is…

creating a bool input is as simple as

ISpread<bool> FMyBoolPin;

to assign it you need to write

FMyBoolPin[sliceNumber](sliceNumber) = true;

or so…

you do not have to make a loop to SpreadMax, how you handle the spreads in the evaluate method is up to you. the loop is just a common practice.

upd filtered with regex, everything is fine…

dynamic plugins are great! I always got into trouble with large patches when i have to fix a bug or change a behaviour a few month later. now i can take the things i lovvvve in visual mode… everything else in nice programming!

THANXS!!!