I mean, what sort of combo is there before you place the stairs?
Is the old combo type still in effect afterward?
And if you change it, does it make any difference?
I'm just trying to think of some reason this might be happening, and I haven't been able to reproduce it myself.
Edit: Wait, now I'm seeing it. Hm, that's definitely not right.
Edit again: Okay, try moving the FFC after you place the stairs. It seems like it might be blocking them somehow.
Yeah, something's definitely not working right here.
Okay, I'll try that. ...Yep, that was the problem. By the way, in the second FFC script I showed, for some reason, the check for the enemies isn't working right. It'll activate whether there are any enemies on the screen or not. =/ And by the way, I took out the ClearSprites() part because it deleted all enemies on-screen... (I forgot that enemies count as NPCs....)
Now that I think about it, it's probably supposed to block the stairs like that. Need it to do that sort of thing for moving platforms and such. Still, it's failing to get the FFC's position properly for some reason...
For the enemies thing, try using Trace() to check the value of Screen->NumNPCs(). Be sure it's what you think it is. Also, make sure it's actually being activated where you think, since it looks like there's more than one way it can happen.
Just give it a number and it'll record it in allegro.log when it executes.
So if you put Trace(5); in your code, it'll put "5.0000" in allegro.log whenever it runs that line.
Since you can only trace numbers, be sure to use distinctive ones to mark what's what.
If you see nothing at all, it'd be a good idea to trace some other things to be sure it's doing what you think it's doing.
If, for example, you have this:
... You might try this instead:Code:if (condition) { int ScrnNPCs = Screen->NumNPCs(); Trace(ScrnNPCs); // ... } else { // ... }
Code:if (condition) { int ScrnNPCs = Screen->NumNPCs(); Trace(1111); Trace(ScrnNPCs); // ... } else { Trace(2222); // ... }
I tried doing another Trace (Using "2101", since I'm REALLY into AYB stuff now. XD), but... It never appeared in Allegro.log. Here's the output:
Please note that for some reason, the NPCCOUNT thing seems to happen AFTER a check for a certain inventory item in Link's inventory.... What's up with that?Code:SETV d2,0 SETR d3,REFFFC PUSHR d3 PUSHR d2 SETR d4,SP SETV d2,0 SETV d2,0.0001 COMPAREV d2,0 GOTOTRUE 133 SETR d2,gd2 PUSHR d2 SETV d2,0 POP d3 COMPARER d2,d3 GOTOTRUE 18 SETV d2,0 GOTO 19 SETV d2,0.0001 SETV d3,0 COMPAREV d2,0 GOTOTRUE 30 SETV d2,1 SETR gd1,d2 PUSHR d4 SETV d2,28 PUSHR d2 GOTO 137 POP d4 GOTO 126 SETV d3,0 SETR d2,gd2 PUSHR d2 SETV d2,1 POP d3 COMPARER d2,d3 GOTOTRUE 39 SETV d2,0 GOTO 40 SETV d2,0.0001 SETV d3,0 COMPAREV d2,0 GOTOTRUE 92 PUSHR d4 SETV d2,49 PUSHR d2 SETR d2,gd0 PUSHR d2 GOTO 150 POP d4 SETR d6,d4 ADDV d6,1 STOREI d2,d6 PUSHR d4 SETV d2,59 PUSHR d2 SETV d2,2101 PUSHR d2 GOTO 140 POP d4 PUSHR d4 SETV d2,68 PUSHR d2 SETR d6,d4 ADDV d6,1 LOADI d2,d6 PUSHR d2 GOTO 140 POP d4 SETR d6,d4 ADDV d6,1 LOADI d2,d6 PUSHR d2 SETV d2,0 POP d3 COMPARER d2,d3 GOTOTRUE 79 SETV d2,0 GOTO 80 SETV d2,0.0001 SETV d3,0 COMPAREV d2,0 GOTOTRUE 90 SETV d2,1 SETR gd1,d2 PUSHR d4 SETV d2,89 PUSHR d2 GOTO 137 POP d4 SETV d2,0 GOTO 125 SETV d3,0 SETR d2,gd2 PUSHR d2 SETV d2,3 POP d3 COMPARER d2,d3 GOTOTRUE 101 SETV d2,0 GOTO 102 SETV d2,0.0001 SETV d3,0 COMPAREV d2,0 GOTOTRUE 124 PUSHR d4 SETV d2,113 PUSHR d2 SETR d2,gd0 PUSHR d2 SETR d2,gd4 PUSHR d2 GOTO 144 POP d4 COMPAREV d2,0 GOTOTRUE 123 SETV d2,1 SETR gd1,d2 PUSHR d4 SETV d2,122 PUSHR d2 GOTO 137 POP d4 SETV d2,0 SETV d2,0 SETV d3,0 SETV d3,0 PUSHR d4 SETV d2,131 PUSHR d2 GOTO 137 POP d4 GOTO 6 SETV d2,0 SETV d3,0 POP d3 QUIT WAITFRAME POP d3 GOTOR d3 POP d3 TRACER d3 POP d3 GOTOR d3 POP d0 POP d3 SETR d5,d3 SETR d2,LINKITEMD POP d3 GOTOR d3 POP d3 SETR d5,d3 SETR d2,NPCCOUNT POP d3 GOTOR d3
Wait... Are you not running the script in the game before looking for the output? 'Cause you have to do that first.
There are currently 1 users browsing this thread. (0 members and 1 guests)