OKAY, So I cannot do skype but we can look into a different means of doing it. I also cannot do 7, on short notice, because I have to go to dinner. I probably could do 8 though.
Randomly spawning sprites, assuming that you use SPVAR for everything and not different variables, can be done by checking for the next available sprite, and creating a new sprite in a random location.
example:
IF RND(300)==0 THEN
FOR I=0 TO 511:IF !SPUSED(I) THEN BREAK:NEXT
SPSET I,80
SPVAR I,0,RND(50):SPVAR I,1,RND(50)
ENDIF
But that's a crude example, but it hopefully it will help.
The problem that I see is that NM is not being set to NM+1. Basically, rather than saying "PRINT?NM+1" you should do "INC NM:PRINT?NM". If you don't understand why, it's because you're passing NM+1 to print, which increments that copy of the data but not the actual thing. But I'll assume that you'll understand, and not go too far into how code works.
Yeah, I know. That which is too far of a stretch will not be compiled. Some things I am trying to add but may not happen, and that's ok. If there's a reason to really need it, then I'll make an alternative (like char being strings). But this is just a thing that I decided to see how far could go.
There is no way to animate a specific BG tile. However, if it is something as simple as opening a door, you could just place the new tile there, which would override the old one. You could potentially have it be dynamic, but it would most likely make the rest of the program freeze if you coded it simply.
So after you've set up the collision you would want to do something like
VAR SIZE=3
WHILE TRUE
IF SPHITSP(...) THEN INC SIZE
SPSCALE 0,SIZE/100
WEND
or something of the like. Hope this helps!
So I know that Start will end a program, but there's one problem - it doesn't work during pop-up dialogues. Is there a way to terminate it if I accidently made it pop-up repetetively?
Hooray! Say hello to voids! You can make void functions and call them just like regular! On a side note, I need to make main global, as it's not working otherwise with pointers. Pointers work inside of main though.