Ok, after careful debugging i've found HOW it is not working but not why. For some reason if the scrollbar on the stage area is not all the way up, the varible that says if i'm on ground is set to 1. If i scroll the bar all the way to the top it goes to what it should be, 0, causing my guy to fall. This means either the varible cannot be set or my IF INSIDE statements are returning true when they shouldn't. Should the postion of the scrolbars effect the setting of varibles or the effectiveness of the INSIDE test? PLEEZ help me, i'm desperate. Heres the part that controls falling. 125 is the name of the character sprite.
--clip--
set ground = 0
set clipl = 0
set clipr = 0
repeat with i = 2 to 150
if i < 125 or i > 130 then
if sprite(125).right >= sprite(i).left and sprite(125).left <= sprite(i).right then
if inside(point(sprite(125).loch + 10, sprite(125).locv + sprite(125).height / 2), sprite(i).rect) then
ground = 1
end if
if inside(point(sprite(125).loch - 15, sprite(125).locv + sprite(125).height / 2), sprite(i).rect) then
ground = 1
end if
end if
----------
if inside(point(sprite(125).left + 40, sprite(125).bottom - 15), sprite(i).rect) then
clipl = 1
end if
if inside(point(sprite(125).left + 40, sprite(125).top + 15), sprite(i).rect) then
clipl = 1
end if
if inside(point(sprite(125).right - 40, sprite(125).bottom - 15), sprite(i).rect) then
clipr = 1
end if
if inside(point(sprite(125).right - 40, sprite(125).top + 10), sprite(i).rect) then
clipr = 1
end if
if inside(point(sprite(125).right, sprite(125).top), sprite(i).rect) then
jumppower = 0
jump = 0
end if
if inside(point(sprite(125).left, sprite(125).top), sprite(i).rect) then
jumppower = 0
jump = 0
end if
end if
end repeat