Accueil Forums J’ai besoin d’aide Unity3D [C#] Problème systeme de vie Répondre à : [C#] Problème systeme de vie

#1548

Zhass
Participant

Je te propose de changer tes scripts parce qu’ils sont assez redondants ^^

Du coup te voilà un code que je pense qu’il est fonctionnel (je suis pas chez moi sur Unity donc c’est un peux en impro ^^ )

Script Weapon :

public int damage = 25;
private int Health = 0;

Void OnCollisionEnter(Collision col)
{
if(col.gameobject.tag == “Enemy”)
{
Health = col.gameobject.GetComponent<DestroyObject>().Health; //donc la on récupère la variable public health de tes ennemis touchés
Health -= damage; //pas besoins de créer une fonction pour ça, tu peux le faire avec une simple ligne 🙂
}
}

Script sur les ennemies (DestroyObject) :

public int Health = 100; //ici c’est la variable qu’on récupère dans le script weapon quand cet ennemi sera touché.

if(Health <= 0)
{
Destoy(this.gameobject); //si il n’a plus de vie, on détruit l’object qui possède ce script (pas besoins de faire la fonction Dead ici aussi ) 😉
}

Voilà, je pense que cela fonctionnera. Si il y a un problème tu me dis 😉