Hola makeros, hoy vengo para ver si me pueden ayudar con un pequeño problema.
Estoy creando un rpg y antes haciendo el sistema de ataque de los enemigos me he dado cuenta de que no se como aplicar la defensa.

Me explico, yo lo que quiere es que contra mas defensa tenga el jugador, menos daño te hará el enemigo.
He pensado en una manera que seria:

si el jugador tiene
defensa = 5

y el enemigo
ataque = 10

pues que haya algún código que le reste al ataque la defensa del jugador
10 (ataque) - 5 (defensa) = 5 ataque final del enemigo


Esta seria una manera sencilla y la que se me ha ocurrido, pero la cuestión es que no se como aplicarlo u.u

Pues todo depende de vos y como sea tu juego.

pero a grandes rasgos podría ser
daño=PJ.defensa-enemigo.ataque

Hay muchas formas, por ejemplo si el daño es recibido y calculado de tu personaje puede ser:

daño=defensa-"nombre objeto enemigo".ataque

Esto lo que hace es calcular la variable "daño" (que puede ser calculada al momento de colisionar con tu enemigo) teniendo en cuenta la variable "defensa" que ya estableciste en tu pj y le restas la variable "ataque" del enemigo.

De todas formas es un sistema muy sencillo y facil de calcular para el jugador, podrías quizás dividir el ataque por la defensa.

Vale, gracias ya lo tengo resuelto, aun que me queda como incompleto xk me he dado cuenta de que si la defensa del jugado supera los puntos de ataque del enemigo, cuando te ataca en vez de restar o no hacerte ningún tipo de daño (que es lo que yo busco) me recupera vida xD


te pongo el codigo que he usado:

global.vida-=(global.ataque_bat-global.defensa);

he intentado solucionarlo con este codigo:

if global.vida > global.ataque_bat
{
    global.ataque_bat = 0
}


Pero no funciona :/

y esto es un problema por que no puedo superar los 25 puntos de daño que hace el enemigo y si cada vez que sube de nivel el pj se le suma 1 punto de defensa (hay 30 niveles) como que las cuentas no salen xD

Intenta con hacer esto:
if (global.ataque_bat-global.defensa)>0
{global.vida-=(global.ataque_bat-global.defensa);}


Se supone que si la defensa supera al ataque, no te resta nada