okay. i looked at the code. it seemed alright. the collision is good. i tested the code. it worked good.
about doing special things when you get on a special tile. put this in all of the move subs.
sub specialevent
'this sub checks whether you step on a certain tile. in
'this demo, you step on certain tile coordinates, it turns the screen black, but all you can see is the player. when
'you move again, it turns the screen visible again.
if map(worldData.toprow, worldData.topcol) = map(3,6) then
'this checks if you step on those special spots. if you
'want something different (stepping on tile 6 or 7, or
'whatever, scroll to the -----'s...
cls
putplayerpic
endif
'---------------------------END---------------------------
'now, if you want to step on a certain tile that drains hp,
'for example, here's what you should put.
subspiketile
if map(worlddata.topcol, worlddata.toprow).tile = 6 then
'say the number 6 is the "spike tile." if the players
'coordinates equal that special tile, then it drains hp.
mainplayerhp = mainplayerhp -100
endif
endsub
'please note that i made this on the fly. if some of the
'code is wrong, don't accuse me of giving you false code.
'just fix it up. Often all it is is a missing ENDIF, or
'maybe THEN. The qb editor will tell ya

PLEASE e-mail
'me and tell me more about your game. i can help you. if
'you don't want my help, then i could give you the e-mail
'addresses of friends that are expert game programmers,
'like Darkdread, or Tenshi or them.
PLEASE REPLY. I NEED YOU TO REPLY SO I CAN HELP YOU>