by DST » Tue Jul 08, 2008 3:25 am
There are lots of things that can actually cause this, don't get too worried.
I'm not sure how your problem is working out - does the boss flicker, does he move far away and come back, does he hide behind the background?
The first one it to check your code for = errors. This one seems obvious but it happens a lot...Saying if(canjump=0) will MAKE canjump=0. Make sure there are no single ='s in if checks, and no double ='s in the rest of the code.
This can make it do something different than what you thought it was doing. == compares; = makes it so.
The second one is to remove any parent/child relationships the boss may have, and replace them with drawactor>x=boss.x, y=boss.y(-offset) of course. See if that makes the problem go away.
If you don't have child/parent, check your variables. (if you are using variables). Sometimes we end up asking for whole numbers when they are really decimal places, in that case we should use (round) or (float) to choose which. In that case, you can be asking ge to round up a number on its own that keeps changing while its doing it.
Also, check the ZDEPTH of the boss actor vs. the background, or anything else that could fight with him. Ge doesn't like it when two overlapping actors have the same zdepth.
If all that fails, and you're still stumped, post your files so someone who is experienced can take a look at them.
I made a similiar post a year ago, only in my case the boss came back after he was dead. I had nothing in the code that would make him do that. But there it was. So I decided it was a GE error, until a friend put me up to the challenge. He wanted me to prove it, so I removed every actor and script in the game except for the player, his weapons, the backgrounds, and the boss. And the problem didn't happen.
I went thru that code 300 times. There doesn't seem to be anything wrong. What happened, I think, is that something I didn't say in the code, that should have been said, that left the program trying to decide something that had no way to decide. The constant decision making was interpreted by windows as a buffer overflow, and the game crashed.
I never did fix it....i just went on to other games....which is why i'm so interested in your problem...i still want to make that game work.