Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Unity + Photon] Méthode RPC ne fonctionne pas

2 septembre 2019 à 20:22:40

Bonjour,

Voilà je code en ce moment un jeu sur Unity à l'aide du plug-in PUN. Quand un joueur tire sur un autre joueur et le tue j'aimerai que le joueur qui a tiré gagne les munition du joueur mort. Seulement je n'y arrive pas.

Pourtant, je fais bien

view.RPC("ammunition", killer.owner, i, weapon.GetAmmunition(i));    

avec Weapon.GetAmmunition(i) qui recupere le nombre de munition de l'arme i, et sourtout killer.owner qui est celui qui a tué le joueur...

[PunRPC]
void hurt(int viewID, int damage, int killerID)
{
    if (view.viewID == viewID)
    {
        health -= damage;
        gui.SetHeathBar(health);

        if (health <= 0)
        {
            PhotonView killer = PhotonView.Find(killerID);

            view.RPC("death", PhotonTargets.All, view.owner.NickName, killer.owner.NickName);
                
            for (int i = 0; i < (int) Weapon.Weapons.NumWeapons; i++)
                view.RPC("ammunition", killer.owner,  i, weapon.GetAmmunition(i));

            Respawn();
        }
    }
}

[PunRPC]
void death(string nickname, string killerName)
{
    gui.UpdateInfo("<color=cyan>" + killerName + "</color> killed <color=cyan>" + nickname + "</color>");
    
    GameObject effect = Instantiate(deathEffect, transform.position, Quaternion.Euler(-90, 0, 0));
    Destroy(effect, effect.GetComponent<ParticleSystem>().main.duration);
}

[PunRPC]
void ammunition(int weapon, int ammunition)
{
    this.weapon.AddAmmunition(weapon, ammunition);
}
public void AddAmmunition(int weapon, int ammo)
{
    ammunition[weapon] += ammo;
    gui.SetWeaponAmmunition(weapon, ammunition[weapon]);
}


Merci d'avance pour votre aide.

  • Partager sur Facebook
  • Partager sur Twitter

Mon jeu multi online gratuit : https://gamejolt.com/games/space-war/482884

4 septembre 2019 à 12:08:56

Pas de message d'erreurs dans la console ?

Pas de possibilité d'avoir un débogueur lors de l'exécution ?

  • Partager sur Facebook
  • Partager sur Twitter
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.