multiple conditionals
Posted: 27 Mar 2021 22:47
by mizura
Hello!
Is there a way to use multiple conditionals in one line?
For example "If BLAH + BLAH2", then goto (instead of just "If BLAH")
or for multiple conditionals do we need to add an extra if and there's no actual if(BLAH + BLAH2) kind of ++ option?
If BLAH
If BLAH2
goto
endif
endif
I figured I could work around it by using text variables but then ended up having to double-if anyway, lol..
Thanks-
Re: multiple conditionals
Posted: 28 Mar 2021 11:13
by idaot
Hi, it is possible to inline commands without any generic text. I don't think it's the most ideal way to execute commands but I've yet to find anything wrong with it. Below is an example, check the guide for inlined commands here: https://naninovel.com/guide/naninovel-s ... text-lines
[if score>3][camera offset:4,10][else][camera offset:-6,10][endif]
Alternatively, consider using @gosub to relocate the conditional statements elsewhere in case you want free up clutter in your script: https://naninovel.com/api/#gosub
Re: multiple conditionals
Posted: 29 Mar 2021 12:28
by mizura
Hello!
Just to double check, is there a way to plug two ifs into that? Like if score>3 AND if score<15 or would it still have to be [if score>3][if score<15][this][endif][endif]
Re: multiple conditionals
Posted: 29 Mar 2021 12:50
by Elringus
Sure, you can chain conditionals, eg: @goto Script if:score>3&score<15
. Find more examples in the docs: https://naninovel.com/guide/naninovel-s ... -execution
Re: multiple conditionals
Posted: 30 Mar 2021 01:21
by mizura
Thank you!
Do those all have to end up to a goto command if it's more than one line of text?
I'm trying to make this type of script cleaner:
@if AIsInParty="true"
@if BIsInParty="true"
Both of these people are in your party
Hurray
@else
Just A is in your party
Sadface
@endif
@endif
Would I need to put something like :
@goto Bothhere if:"(!AIsInParty && !BIsInParty)"
#Bothhere
Both of these people are in your party :)
Hurray
Or can this be cleaned up better?
[On a similar note, I thought I saw somewhere how to add in more than one character at a time but I can't seem to find that either.. To insert multiple characters is it Wait:false ? I tried to just put a comma after @char and it errored, hah.]
Re: multiple conditionals
Posted: 30 Mar 2021 18:57
by idaot
Yes, that's one way of doing it in a clean manner. If you feel like the clutter is overwhelming then I recommend working with the IDE extension which has syntax highlighting as well as the possibility to collapse chained commands by hovering the cursor inbetween the line number and first command. https://naninovel.com/guide/ide-extensi ... -extension

In regards to characters appearing synchronously, there are a couple of ways (such as @show in which you can list the characters separated by a comma). It isn't possible to control multiple characters with @char command, instead you should add a wait:false to the first @char if modifying two characters simultaneously.
So for example:
@char Kohaku wait:false
@char Yuko