En ce moment je suis entrain de faire un jeu FPS;
j'ai écrit un script en C# :
Code : Tout sélectionner
if (ChangementArme)
{
Debug.Log("Changement d'arme appuyer");
bool Arme0 = (!Couteau.activeSelf && !Gun.activeSelf && !Shotgun.activeSelf);
bool Arme1 = (Couteau.activeSelf && !Gun.activeSelf && !Shotgun.activeSelf);
bool Arme2 = (!Couteau.activeSelf && Gun.activeSelf && !Shotgun.activeSelf);
bool Arme3 = (!Couteau.activeSelf && !Gun.activeSelf && Shotgun.activeSelf);
if (Arme0) Arme = 0;
if (Arme1) Arme = 1;
if (Arme2) Arme = 2;
if (Arme3) Arme = 3;
bool MunitGun1 = (Munit + DansChargeur > 0);
bool MunitShotgun = bullet > 0;
if (Arme == 0) Arme = 1;
if (Arme == 1 && !MunitGun1 && !MunitShotgun) Arme = 0;
if (Arme == 1 && MunitGun1) Arme = 2;
if (Arme == 2 && !MunitShotgun) Arme = 0;
if (Arme == 2 && MunitShotgun) Arme = 3;
if (Arme == 3) Arme = 0;
bool Intermediaire = (Arme != 3 || (Arme == 3 && !MunitShotgun));
if (Arme != 2 && Intermediaire && GunReloaded)
{
Arme = 2;
GunReloaded = false;
}
if (Arme != 3 && ShotgunReloaded)
{
Arme = 3;
ShotgunReloaded = false;
}
switch (Arme)
{
case 0:
Couteau.SetActive(false);
SangLame.SetActive(false);
Gun.SetActive(false);
Shotgun.SetActive(false);
FeuGun.SetActive(false);
FeuShotgun.SetActive(false);
break;
case 1:
Couteau.SetActive(true);
SangLame.SetActive(false);
Gun.SetActive(false);
Shotgun.SetActive(false);
FeuGun.SetActive(false);
FeuShotgun.SetActive(false);
break;
case 2:
Couteau.SetActive(false);
SangLame.SetActive(false);
Gun.SetActive(true);
Shotgun.SetActive(false);
FeuGun.SetActive(false);
FeuShotgun.SetActive(false);
break;
case 3:
Couteau.SetActive(false);
SangLame.SetActive(false);
Gun.SetActive(false);
Shotgun.SetActive(true);
FeuGun.SetActive(false);
FeuShotgun.SetActive(false);
break;
}
}
Qu'est-ce qui ne va pas ? Merci d'avance pour votre aide.
Ce que j'ai c'est :
- si je n'ai pas d'arme je ne peux pas charger autre chose.
- si je lance la recharge du fusil en premier je peux passer au couteau et revenir sans arme, mais dès que je recharge le pistolet je repasse sans arme et je ne peux changer.
- si je lance la recharge du pistolet en premier je ne peux pas avoir une arme, je suis sans arme tout le temps.