I respect your attempt an eventing ABS. I, in fact, I am doing the same. I can answer 2 of your 3 questions. For the ranged attacks, try this...
Control Variable 1 = Player's Map Y
Control Variable 2 = Enemies Map Y
Conditional Branch Variable 1 = Variable 2
Comment : The above makes sure your Y axis is aligned. Now you are either left or right of him, on the same Y axis.
Control Variable 1 = Player's Map X
Control Variable 2 = Enemies Map X
Control Variable 2 -=8
Comment : Subtract 8 from Variable Enemies X. This means it is now 8 tiles to the left of where the enemy originally was.
Conditional Branch Variable 1 (Greater than or equal to) Variable 2
Comment : Lets assume your X is greater than.
Control Variable 2 = Enemies Map X
Conditional Branch Variable 1 (Less than or equal to) Variable 2
Comment : Assuming that now you aren't greater than Var 2, you would HAVE to be 8 tiles or less from his left side. This is where you insert your attack. Such as a conditional button press or something and have it call a common event. It would then attack the enemy from a range. The enemy NEEDS to be a parallel process for this to work.
Just repeat the above to have him check all sides. If you need a complete detailed list of events doing this, just message me personally and I will gladly make you one. I would need to know how your attacks are set up though.
For the second question about strength... There are multiple ways to do this. If you have levels in your game, make the lvl = a variable, and every time you level the variable goes up by 1. In your attack, make it say that if the variable = 1 you only do 1 dmg. If the variable = 5 (meaning you are now level 5) you do 2 damage instead. Have this controlled by a condition controlling the variable. Str can be set up the exact same way, just link your strength to a variable. If your strength increases it can add to the LVL variable, or run off its own.
I am terribly sorry if I made any of this sound complicated, I am currently running on little sleep.