EV Nova Control Bits for Windows

I need help with finding control bits to use for windows. I am using the EVNEW editor to creat a large storyline where the Federation and BII get eliminated and the Rebels, Polaris, and Britanians (new gov I put in). When it is completed, your charachter owns all of the Fed. Systems and the systems have a gov. of Britanians (i only added one system for the britanians. also I want it to be like a main storyline where you cant do another one.

------------------

(This message has been edited by Avatar7 (edited 01-26-2004).)

you should be able to find the bits used by things at: (url="http://"http://www.ev-nova.net/walkthrough/")http://www.ev-nova.net/walkthrough/(/url)

------------------

thanks. its fairly useful. I still dont really understand what all these control bits are really used for (ie how to activate /deactivate

------------------

From "The Nova Bible":

Quote

Axxx - if mission ID xxx is currently active, abort it.

Fxxx - if mission ID xxx is currently active, cause it to fail.

Sxxx - start mission ID xxx automatically.

Gxxx - grant one of outfit item ID xxx to the player

Dxxx - remove (Delete) one of outfit item ID xxx from the player

Mxxx - move the player to system xxx. The player will be put on top of the first stellar in the system, or in the center of the system if no stellars exist there.

Nxxx - move the player to system xxx. The player will remain at the same x/y coordinates, relative to the center of the system.

Cxxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and won't be given any of the default weapons or items that come with ship type xxx.

Exxx - change the player's ship to ship type (ID) xxx. The player will keep all of his previous outfit items and will also be given all of the default weapons and items that come with ship type xxx.

Hxxx - change the player's ship to ship type (ID) xxx. The player will lose any nonpersistent outfit items he previously had, but will be given all of the default weapons and items that come with ship type xxx.

Kxxx - activate rank ID xxx.

Lxxx - deactivate rank ID xxx.

Pxxx - play sound with ID xxx.

Yxxx - destroy stellar ID xxx.

Uxxx - regenerate (Un-destroy) stellar ID xxx.

Qxxx - make the player immediately leave (absquatulate) whatever stellar he's landed on and return to space, and show a message at the bottom of the screen. The message is randomly selected from the STR# resource with ID xxx, and is parsed for mission text tags (e.g. <PSN> and <PRK> ) but not text-selection tags like those above (e.g. {G "he" "she"} ) (see dësc and mďsn resource descriptions for more examples)

Txxx - change the name (Title) of the player's ship to a string randomly selected from STR# resource ID xxx. The previous ship name will be substituted for any '*' characters which are encountered in the new string.

Xxxx - make system ID xxx be explored.

For the mission bits, I'll use b275 as an example. b275 is set by the first Polaris Mission. To clear b275, use the ! operator.

Lit Nerd

------------------
"O For a Muse of Fire, that would ascend
The brightest Heauen of Inuention:
A Kingdome for a Stage, Princes to Act,
And Monarchs to behold the swelling Scene." Henry V

Thanks Lit Nerd. this will really help out.

------------------

You're welcome. If you want a guide as to what NCBs (Nova Control Bits) are set in the stock scenarion can be found on the (url="http://"http://www.ambrosiasw.com/games/evn/addons.html")Addons Page(/url) under the Guides Section.

Lit Nerd

Edit: 1000th Post. 🙂

------------------
"O For a Muse of Fire, that would ascend
The brightest Heauen of Inuention:
A Kingdome for a Stage, Princes to Act,
And Monarchs to behold the swelling Scene." Henry V

(This message has been edited by Lit Nerd (edited 01-28-2004).)

another thing, I'v inputed a new system into the EVN world but i cant figure out how to get the desc working. I'v put descs into the plug but it doesn't want to associate the spob to the desc. Any help please?

------------------
How do you prove that you exist?... mabey we don't exist...

Quote

Originally posted by Avatar7:
**another thing, I'v inputed a new system into the EVN world but i cant figure out how to get the desc working. I'v put descs into the plug but it doesn't want to associate the spob to the desc. Any help please?

**

Are you sure you're using the right ID ?
The spaceport desc should have the same ID as the spob, and the bar desc has ID 10000 + spob ID - 128.

------------------
(url="http://"http://www.evula.com")EVula(/url) | (url="http://"http://www.Evula.com/survival_guide")EVula's survival guide(/url) | (url="http://"http://pftn.evula.net")Pilot File Trade Network(/url) | (url="http://"http://www.ev-nova.net")EV-Nova(/url) | (url="http://"http://home.comcast.net/~slagblah/")Slagblah's home page(/url) | (url="http://"http://home.comcast.net/~slagblah/pilotlog.html")pilotlog(/url)
(url="http://"http://www.resexcellence.com/support_files/resedit.shtml")ResEdit(/url) | (url="http://"http://w00tware.ev-nova.net/")W00tWare(/url) | (url="http://"http://www.ariossoftware.com/programs/evone/")EVONE(/url) | (url="http://"http://davidarthur.evula.net/mc.php")Mission Computer(/url) | (url="http://"http://home.comcast.net/~slagblah/PilotlogAnalyzer.hqx")Slagblah's pilotlog analyzer(/url)
Visit my (url="http://"http://perso.wanadoo.fr/straven")home page(/url) ! ••• You want to know the statistics for a ship/weapon/outfit of Nova or Polycon ? check 'em (url="http://"http://perso.wanadoo.fr/straven/datasheets")here(/url)!
My plugins: ( (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=plugins&display;=date&file;=outfits_enabler_v1.1.sit")Outfit Enabler(/url) ) | ( (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=guides&display;=date&file;=ResUsedList_v1.0.6.txt.sit")ResUsedList(/url) ) | ( (url="http://"http://www.ambrosiasw.com/cgi-bin/vftp/show.pl?product=evn&category;=plugins&display;=date&file;=Mission_Expansion_v1.0.0.sit")Mission Expansion(/url) )

Since we're on the subject, could someone explain how bits work specifically in EVNEW. I am trying to connect a series of missions together in a new plug for windows, but I'm confused when I get to the following parts of the editing window for missions:

AvailBits: !(b275 | b512) & !((b511 | b515) | b6666)
OnAccept: b511
OnRefuse: b6666
OnSuccess: b275 b515 b518
OnFailure: !b511
OnAbort: !b511

The bits listed above were included just as an example.

But what does the b### and !b### mean, how are they related, and how are the values determined? And please, don't give me a textbook answer from the EVN Bible, cuz' I haven't yet been able to understand that stuff. I'M A DUMMY!!!

------------------
We brought nothing into this world, nor can we take anything out. So we shall be content with these necessary things.

Quote

Originally posted by MavHunterExtreme:
AvailBits: !(b275 | b512) & !((b511 | b515) | b6666)
OnAccept: b511
OnRefuse: b6666
OnSuccess: b275 b515 b518
OnFailure: !b511
OnAbort: !b511

Availbits controls what bits--if any--must be set or must be clear in order for the mission to appear. In the example given, the availbits translates to: Neither b275 nor b512 and neither (b511 nor b515) nor b6666. In other words, if any of the 5 bits are set, the mission will not appear.

On accept refers to what happens when you take the mission. In this case, b511 is set.

On refuse refers to what happens if you refuse the mission. In this case, b6666 is set.

On success refers to the bits that are set if you complete the mission successfully. In this case, b275, b515, and b518.

On failure refers to what happens if you fail. In this case, b511 is cleared.

On abort refers to what happens if you abort. In this case, b511 is cleared.

Going back to the avail bits, we can then learn a few things. The mission wants b275 and b515 to be clear in order to get the mission because the on success condition sets b275 and b515. This prevents you from getting a mission that you have already done. The mission wants b511 to be clear because accepting the mission sets b511. Since the mission is for a major string in Nova's stock scenario, this matters. The mission wants b6666 to be clear because that's set if you refuse the mission.

Lit Nerd

------------------
"O For a Muse of Fire, that would ascend
The brightest Heauen of Inuention:
A Kingdome for a Stage, Princes to Act,
And Monarchs to behold the swelling Scene." Henry V

Quote

Originally posted by Lit Nerd:
**Availbits controls what bits--if any--must be set or must be clear in order for the mission to appear. In the example given, the availbits translates to: Neither b275 nor b512 and neither (b511 nor b515) nor b6666. In other words, if any of the 5 bits are set, the mission will not appear.

On accept refers to what happens when you take the mission. In this case, b511 is set.

On refuse refers to what happens if you refuse the mission. In this case, b6666 is set.

On success refers to the bits that are set if you complete the mission successfully. In this case, b275, b515, and b518.

On failure refers to what happens if you fail. In this case, b511 is cleared.

On abort refers to what happens if you abort. In this case, b511 is cleared.

Going back to the avail bits, we can then learn a few things. The mission wants b275 and b515 to be clear in order to get the mission because the on success condition sets b275 and b515. This prevents you from getting a mission that you have already done. The mission wants b511 to be clear because accepting the mission sets b511. Since the mission is for a major string in Nova's stock scenario, this matters. The mission wants b6666 to be clear because that's set if you refuse the mission.

Lit Nerd

**

So how do you know what numbers you need for the bit fields when connecting missions together?

------------------
We brought nothing into this world, nor can we take anything out. So we shall be content with these necessary things.

Quote

Originally posted by MavHunterExtreme:
**So how do you know what numbers you need for the bit fields when connecting missions together?

**

How do we know what bit numbers to use?
We choose them arbitrarally. Bits can be numbered b0-b9999, though most of these arnt used in stock nova (and are left open to plugin developers).

There is no reason ATMOS had to choose b511 and b515 as the storyline exclusion bits - they just picked them and then used them. Now, if we wanted to add a new storyline/mission to nova, we would of course have to make sure we didnt use the same bits that Nova does accidentally (unless we wanted to consider the bits from the stock scenario, for example, if we wanted to have our storyline mutually exclusive with the nova storylines.)

Hopefully there would be some order to the bits we used (a storyline we made would use all consecutive bits, there would be no bits hanging around in the middle of a big range of unused bits, etc), but they dont have to be. I think ATMOS chose the bits they used by taping a chart of all the possible mission bits to the wall and throwing darts at it (atleast the bits used for each storyline are continuous, usually). 😛 (I am sure there was a method to thier madness, but I'll be damned if i can figure it out)

Now an example:
If we decide to use bits starting at 1000 for a new storyline, the first mission might look like:
Availability: !b1000 & !b1001
OnSuccess: b1000 <Dont offer again if player has done it
OnRefuse: b1001 <Dont offer again if player has refused it

The second mission might look like
Availability: b1000 & !b1002
OnSuccess: b1002
If the player refused the first mission, b1001 would be set, and thus that mission wont be offered again.
If the player completed the first mission, b1000 would be set, and that would make the second mission available, and cause the first mission to not be offered again.
Note: If this was a storyline that would want to be mutually exclusive with the Nova storylines, the first mission would want to look like this:
Availability: (!b1000 & !b1001)&!(b511 | b515)
OnAccept: b511
OnAbort: !b511
OnSuccess: b1000 b515
OnRefuse: b1001
(because we want it to act like a main storyline in nova, we would want to do the same things that the stock scenario does: Set b511 when the player accepts the first mission in a string, and b515 when they complete it)

Also:
To expand on what was said by someone else, in a TEST string (such as an availability field)
bxxx & byyy (Both bits xxx and yyy must be set)
bxxx | byyy (One or both of xxx and yyy must be set)
!bxxx & byyy (bit xxx must not be set, bit yyy must be)
bxxx & (byyy & bzzz) (Bits xxx,yyy,and zzz must be set)
Etc.
There are a few operators other than bxxx (that test for ship type, outfit type, ranks, etc)
Be aware that bxxx & byyy & bzzz is WRONG, and will cause Nova to behave strangely (see: not the way you want it to). When writing test strings, you must parenthesize religiously.
bxxx byyy is also WRONG.

Set strings are alot simpler - they are just a space-separated list of commands:
Bxxx (set bit xxx)
!bxxx (unset bit xxx)
^bxxx (set bit xxx if it isnt set, unset it if it is - Unused in stock scenario)
There are also a pile of other crazy set opperators that can destroy planets, start, abort, and fail missions, and so on.
-Az

------------------
It is here. EVNEW Public Beta (url="http://"http://www.aznt.com/EVN/EVNEW")www.aznt.com/EVN/EVNEW(/url)
Stuffit is a piece of .sit.

(This message has been edited by Azratax2 (edited 02-04-2004).)

(This message has been edited by Azratax2 (edited 02-04-2004).)

(This message has been edited by Azratax2 (edited 02-04-2004).)

Just to add to what Az said, be careful with your parentheses in test strings. Consider the following:

1. b1 & (b2 | b3) (Evaluates to true if b1 is set and at least one of b2 and b3 is set)
2. (b1 & b2) | b3 (Evaluates to true if both b1 and b2 are set, or if just b3 is set)

3. !b1 & !b2 (Evaluates to true of both b1 and b2 are not set)
4. !(b1 & b2) (Evaluates to true if either of b1 or b2 is not set)

5. !b1 | !b2 (Evaluates to true if either of b1 or b2 is not set; same as #4)
6. !(b1 | b2) (Evaluates to true if both b1 and b2 are not set; same as #3)

Note that both (b1 & (b2 & b3)) and ((b1 & b2) & b3) are the same, since they all evaluate to true if and only if all of b1, b2, and b3 are set, so the order of parenthesization doesn't matter in that case. However, if you have ands, ors, and nots intermixed, you can be sure that the order of parenthesization WILL matter, as in the cases above. If you leave out parentheses, Nova will get confused and it is likely that your bit string will be interpreted incorrectly.

------------------
Get (url="http://"http://www.aznt.com/EVN/EVNEW")EVNEW(/url) - the free, open-source EVN plugin Editor for Windows!

We should make a "Boolean illogic* for dummmies" add-on or guide for people to read online or download. 😉

At any rate, here is what I add: when you create a pilot, all bits are cleared (except if the only-one-used-in-the-standard-scenario-and-multiple-not-working-for-PCs chär ressource states some must change), so bits that are documented as unused are for sure clear, should the user never have used other plugs, that is. Therefore, checking for b509 (dunno if actually used, just a random bit) will not be true unless you put something else that sets it. You should also clearly make the differency between SET expressions, that set bits and do stuff, whose name begins by On (OnRefuse, OnSuccess, ect) and TEST expressions, that check for bits and other stuff.

There are some rules that you may find useful for tests:
bxxx & (byyy | bzzz) = (bxxx & byyy) | (bxxx & bzzz) distributivity
bxxx | (byyy & bzzz) = (bxxx | byyy) & (bxxx | bzzz)
!(bxxx & byyy) = !bxxx | !byyy De Morgan rules
!(bxxx | byyy) = !bxxx & !byyy

Therefore, the example you gave can actually be simplified:
!(b275 | b512) & !((b511 | b515) | b6666) becomes !((b275 | b512) | ((b511 | b515) | b6666)): not any of them. Or you can also make this:
!(b275 | b512) & !((b511 | b515) | b6666) becomes (!b275 & !b512) & (!(b511 | b515) & !b6666) who in turns becomes (!b275 & !b512) & ((!b511 & !b515) & !b6666): not that one and not this one and not... 'tis the same thing

I advise you to put parentheses everywhere, even if there is no possible confusion, as it's clearer and less bug-prone. And before writing/modifying a test expression, as yourself clearly what you want it to test and for which cases it's true and for which it's supposed not to be.

One last thing: on Macs we deal with exactly the same stuff.

*copyright ATMOS 🙂

------------------
The (url="http://"https://secure.ambrosiasw.com/cgi-bin/store/hazel.cgi?action=serve&item;=breakdown.html&BREAKDOWN;_SKUID=1480")Ambrosia Mac CD(/url) with other registrations - 5$. Paying for (url="http://"http://www.ambrosiasw.com/games/evn/")EV Nova(/url) as it's such a great game - 30$.
The (url="http://"http://www.ambrosiasw.com/games/evn/tshirts.html")1337 EV Nova T-shirt(/url) - 22$. The (url="http://"http://w00tware.ev-nova.net/")NovaTools(/url) by wOOtWare to tinker with your Nova - FREE!
The feeling you're a Nova geek - priceless.
There are things you can't buy or that are free, for everything else, there's indeed Eurocard Mastercard.

(This message has been edited by Zacha Pedro (edited 02-05-2004).)

(quote)Originally posted by Zacha Pedro:
*We should make a "Boolean illogic for dummmies" add-on or guide for people to read online or download.:)

EDIT: Could someone post a link to the post where the used and unused bits are listed. I was able to find it earlier but now I can't seem to find it. It would be much appreciated.

------------------
How do you prove that you exist?... mabey we don't exist...~Vivi Ornentier~

(This message has been edited by Avatar7 (edited 02-06-2004).)
**