Question about VisBits

Ok, 'Problem with' is probably more accurate...

So, err, here's my (latest) problem.
I have two syst resources that represent two versions of the same system. Thus they share almost all the same spob's (all except one, the new one which is supposed to 'appear' as a result of the switch). They're numbers 128 and 129. I have a mission, from a planet in that system, which moves the player from one system to the other, using set expression b4 N129. Visibility test for system 128 is "!b4", test for system 129 is "b4".
I can't think of any reason this wouldn't work, but when the switch takes place, I end up with behavior like that described for having two systems visible at the same time that contain the same spobs. (Spobs are invisible on main screen, though they show up on radar. Cannot be landed up or selected, but NPC ships treat them as normal).
Help?

You might want to lay off the N129 and see what happens. I think that that might be the problem, but I might be wrong.

I ran into this problem in Nebula. Make sure you have qxxx before the nxxx, otherwise it won't work. You can't move a player if they're on a planet.

@cosmic_nusiance, on Sep 12 2007, 10:53 AM, said in Question about VisBits:

I ran into this problem in Nebula. Make sure you have qxxx before the nxxx, otherwise it won't work. You can't move a player if they're on a planet.

I tried this, and it still didn't work. :huh:

This post has been edited by Otter : 12 September 2007 - 04:08 PM

Have you tried starting with a new pilot?

Also, you need a STR# for qxxx. You can't just say "qxxx".

This post has been edited by Cosmic_Nusiance : 12 September 2007 - 04:56 PM

@cosmic_nusiance, on Sep 12 2007, 05:55 PM, said in Question about VisBits:

Have you tried starting with a new pilot?

Also, you need a STR# for qxxx. You can't just say "qxxx".

Yes, I'm just using q128 (the default names str#), until it works correctly.
I've tried using a new pilot (several times. I hacked the mission so that it would be availible right away, for convenience.)
The latest development is this: if I exit to the main Nova screen (hit escape, that is), and then re-enter the ship, it fixes the problem. My current theory is that there's some sort of redraw or refresh that should be happening and isn't. I suppose I could just make a STR# to display that says "Note from Otter: If you can't see any planets, exit to the main screen and re-enter your ship."
Which would admittedly be funny, but might get old after a while (I'm planning to use this trick several times over the course of the storyline(s), in order to give the illusion of a dynamically evolving system).

This post has been edited by Otter : 12 September 2007 - 05:07 PM

Do what zapp said. Delete the Nxxx and see what happens.

@guy, on Sep 12 2007, 06:24 PM, said in Question about VisBits:

Do what zapp said. Delete the Nxxx and see what happens.

At the risk of sounding very dense...
If I remove the N129, won't the player stay in system 128 (which doesn't even contain the spob they're trying to reach)?

Well, you want to make sure everything else works before trying to pivot it all on one expression that probably isn't the problem.

You dare question Guy? And me?! Besides, whoever said the Nova engine made sense? It's usually these little things that mess stuff up.

Nothing good n life makes sense. I can't imagine questioning Guy, but Da Uncatchable is another story...

Well, I've pulled out the N129. As I rather expected, everything works fine - except that the player is left stuck in a system that doesn't even contain their destination.
I'm gonna put it back in now.

Now what did that solve? You know that it works fine. Start looking for other conflicts.

@cosmic_nusiance, on Sep 12 2007, 11:40 PM, said in Question about VisBits:

Now what did that solve? You know that it works fine. Start looking for other conflicts.

We've estabilished that:
1. it works as long as the player remains in system 128.
2. remaining in 128 is unhelpful, since they need to reach a destination in 129.
3. 129 replaces 128, and their visbits are mutually exclusive.
4. Even though bit 4 is set (meaning 128 should be hidden, and 129 should be shown), if the player is not moved, they can continue to fly around system 128.
5. if they player is moved to system 129, everything is messed up until they exit to the main screen and re-enter their ship.
6. I'm grumpy, Guy is unquestionable, and the universe is incomprehensible.

Not sure where to go from here.

Just to check: Have you started a new pilot? That'll do it.

@cosmic_nusiance, on Sep 12 2007, 11:53 PM, said in Question about VisBits:

Just to check: Have you started a new pilot? That'll do it.

Yeah, I start new pilots every few minutes. The entire 5-mission string currently takes about 2 minutes to complete, so it's not that hard. I'm afraid the oddness is still there.

@otter, on Sep 13 2007, 12:01 AM, said in Question about VisBits:

Yeah, I start new pilots every few minutes. The entire 5-mission string currently takes about 2 minutes to complete, so it's not that hard. I'm afraid the oddness is still there.

Hmmm... Try throwing out all the bits and expressions in that mission and re-entering them. Also, do you have them like "bxxx byyy" or "bxxx & byyy"?

@cosmic_nusiance, on Sep 13 2007, 12:09 AM, said in Question about VisBits:

Hmmm... Try throwing out all the bits and expressions in that mission and re-entering them. Also, do you have them like "bxxx byyy" or "bxxx & byyy"?

Now trying Ye Olde NCB Shuffle.
Since this is a set expression, there's no & in it.

The 'offer mission if' test is "((b9 & !b4) & b15)". You'll have to pretty much take my word for it that this causes it to be offered at the correct time.
The problematic expression is the set expression "q25000 b4 N129".
(STR# 25000 contains such gems as 'Otter is very sorry about this bug. Please exit to the main screen, re-enter your ship, and all will be well')

Try q25000 & b4 & n129. It's the &s that made the deference for me.

@cosmic_nusiance, on Sep 13 2007, 01:58 AM, said in Question about VisBits:

Try q25000 & b4 & n129. It's the &s that made the deference for me.

Does not appear to help, I'm afraid. :blink: