There's a function to find platform below defined coords called checkplatformbelow(x, z, y) with x, y, z are the checking coords. If the function finds a platform, it will return the handle of the platform. You can then decide if finding a platform is enough to be considered as being on top of a platform. Or run more checks to decide being on top of a platform condition.
Then there's a function to find wall at defined coords called checkwall(x,z) with x and z are the checking coords. If there were a wall there, it will return the height of the wall. You should compare blood's y with the height to decide if blood is on top of a wall or not.
There might be more checks needed to decide being on top of a platform or not but those are the basics.