http://www.mediafire.com/?x3ntodcbx8onaxc
Instead of looking up positions, storing them in variables, then comparing the variables. Its easier just to compare the positions all at once with a script. The problem is you have to understand Ruby language in the first place, and then you have to study the rgss so you know what to reference.
The player's position is:
$game_player.x , $game_player.y
A event's position is:
$game_map.events[id].x , $game_map.events[id].y
(id is event's id number list at the top of the event window)
You can make a conditional branch with script selected and type:
$game_player.x == $game_map.events[id].x
to compare the player's x and the event's x without storing them in variables.
You can also use .moveto(x,y) to move an event to a new spot. In this case, the iceball is event #5, and I want to move to start at the player's location. So the script would look like this:
x = $game_player.x
y = $game_player.y
$game_map.events[5].moveto(x ,y)
In the Demo there is an enemy that'll throw a fire ball at you when you are in his line of sight. Technically, when you are on either his x or y axis, and he is facing you. This involves 3 conditional branches. Lets say he is facing down, then you would need to have the same X coordinate and his Y coordinate would have to be greater then yours. So you would nest three branches like this:
conditional branch: if event is facing down
>conditional branch: if $game_map.events[whateverID].x == $game_player.x
>>conditional branch: if $game_map.events[whateverID].y >= $game_player.y
>>> throw Fireball
I tired documenting the event pages with comments because you have to scroll through a lot conditional branches. It looks like a lot of work but its mostly just copy and paste with a small change.