Jouer une musique de combat
-
Je précise que playMusic n’existe pas, j’ai donc testé avec un playRecord
-
Heu oui, playRecord.
this.worldObj.playRecord(“nom du son”, (int)this.posX, (int)this.posY, (int)this.posZ);
ça marche pas ? -
Désolé ça n’a pas l’air de marcher

Code :
Dans onLivingUpdate()if(this.getHealth() <= 999.0F && this.getHealth() >= 500.0F) { this.worldObj.playRecord("dragons:music.boss.fire_dragon", (int)this.posX, (int)this.posY, (int)this.posZ); } else if(this.getHealth() <= 499.0F && this.getHealth() >= 1.0F) { this.worldObj.playRecord("dragons:music.boss.fire_dragon_second_half", (int)this.posX, (int)this.posY, (int)this.posZ); }PS : Excuse moi de ne pas t’avoir répondu directement car ces derniers temps je n’ai pas pu venir sur le forum.
-
Essaie de jouer un son de base du jeu, et donne le résultat

-
on peut faire ne sorte que quand le joueur aggro une entité sa joue la musique?
-
@Gugu42
Non j’ai testé, ça ne marche pas (en plus comme les sons ne sont pas par défaut et qu’il faut les ajouter ça revient au même).@isador34
Je ne sais pas.PS: Encore désolé pour cette longue période sans réponse.
-
Mets un System.out.println(“quelque chose pour vérifier que le code est exécuté”);
-
Att sinon demain je te passe des code qui marche
-
@robin4002
Ok je testeEDIT: le code fonctionne, j’ai un retour à chaque fois (la musique ne marche quand même pas)
@isador34
Merci
Ah je crois que je viens de comprendre mon erreur (et oui, prendre du recul, ça marche ! :))
Le code de lancement est dans la méthode getLivingSound(). Or, celle(ci exécute le code à CHAQUE SECONDE (ou tick je sais pas).
Il faudrait donc que j’utilise une autre méthode ou un condition dans le genre :if(musiqueFinie == true) { lancerMusique(); } else {} -
moi ca mon mod qui jouer de la musique je fessai ca:
ma classe qui enregistre les sons:@ForgeSubscribe public void onSound(SoundLoadEvent event) { try { event.manager.soundPoolSounds.addSound("modid:tonSon.ogg"); } catch(Exception e) { System.out.println("Failed to registry sound"); }et dans ma condition:
FMLClientHandler.instance().getClient().sndManager.playSoundFX("modid:tonSon", 1.0F, 1.0F);