Welcome to Bukkit France

Inscrivez-vous maintenant pour profiter d'un accès total à tout le contenu offert par la meilleur communauté Bukkit française ! Une fois inscrit et connecté, vous pourrez contribuez à la communauté en postant vos propres sujets et questions ou en répondant à ceux existants. Vous pourrez aussi customiser votre profil, recevoir des points de réputations, communiquer avec les autres membres via le chat, et plus encore! 

  • Annonces

    • Pskyco

      Bukkit France passe sous Discord !   02/20/16

      Bukkit France est désormais passé sur Discord, au revoir donc notre vieux Teamspeak ! Téléchargez le client et venez nous rejoindre sur notre salon en suivant les instructions suivantes.
      M-à-j du 25/02/2017 : Désormais, seuls les comptes actifs sur le forum se verront donner l'accès au Discord, ce dernier n'est pas une plateforme d'aide de la même manière que le chat.
Splliter

Communiquer avec son serveur Craftbukkit sans utiliser son packet

158 messages dans ce sujet

Il vas faloir revoire tes conditions en java ! Il y a seul if tous les autres sont des else if le seul qui doit rester en else c'est sa

else this.mc.ingameGUI.getChatGUI().printChatMessage(par1Packet3Chat.message);

et il doit y en avoir qu'un seul !! Je voit pour tes codes dés que je suis chez moi

Partager ce message


Lien à poster
Partager sur d’autres sites

Problème de chat régler par contre toujours un problème pour la musique

Elle ne veut pas s’arrêter j'ai beau essayer avec .pauseAllSound() et .stopAllSound() rien n'y fait :/

Partager ce message


Lien à poster
Partager sur d’autres sites

Va dans SoundManager.java regarde toutes les variables et cherche les trucs qui pourrait t'être utile sinon test :

mc.sndManager.playSoundFX("random.kynareth", 0F, 0F);

Pas sur du tout

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai déjà regarde dans SoundManager.java c'est la ou j'ai pris le stopAllSound et pauseAllSound..

j'ai essayer avec le OF, OF, mais ça ne marche pas :/

Partager ce message


Lien à poster
Partager sur d’autres sites

Tient j'ai bricolé un petit truc à l'arache c'est à mettre dans soundmanager.java

    public void modplaySoundFX(String par1Str)
{
float par2;
if (loaded && this.options.soundVolume != 0.0F)
{
SoundPoolEntry var4 = this.soundPoolStreaming.getRandomSoundFromSoundPool(par1Str);

if (var4 != null)
{
this.latestSoundID = (this.latestSoundID + 1) % 256;
String var5 = "cartasiane";
sndSystem.newSource(false, var5, var4.soundUrl, var4.soundName, false, 0.0F, 0.0F, 0.0F, 0, 0.0F);


par2 = 1.0F;


par2 *= 0.25F;
sndSystem.setPitch(var5, 1f);
sndSystem.setVolume(var5, par2 * this.options.soundVolume);
sndSystem.play(var5);
}
if (var4 == null){
sndSystem.setVolume("streaming", 0F);
System.out.println("sa passe sm");
}


}

}

Apres tu a juste à mettre sa : mc.sndManager.modplaySoundFX(null);

Il faudra juste déclarer les variables dans Minecraft.java

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci d'avoir pris le temps de faire cette petite fonction.

Mais le problème persiste, j'ai du mal déclarer dans Minecraft.java (enfaite je suis quasi sur même)

Avant de m'insulter je tiens à vous prévenir que mes connaissances en Java sont égale à 0, je suis dans la catégorie des gens qui "saute" l'étape apprentissage Java et qui passe directement au "modding" même si ce que je fait est une application bête des tuto's, j'essaie quand même de régler quelque problème par moi même, des fois ça passe des fois non.

Voici la déclaration que j'ai fait.

public SoundManager modplaySoundFX = new SoundManager();

Pour le téléchargement des ressources voici l'erreur que eclipse me donne :

java.io.FileNotFoundException: https://dl.dropboxusercontent.com/u/99494170/Ressources/
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1623)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
at java.net.URL.openStream(URL.java:1037)
at net.minecraft.src.ThreadDownloadResources.run(ThreadDownloadResources.java:49)
Someone is closing me!

Merci d'avance de l'aide apportée.

Partager ce message


Lien à poster
Partager sur d’autres sites

pour l'universalité de la fonction j'ai utilisé une REGEX :

        if (par1Packet3Chat.message.startsWith("** "))
{
String nameArea = par1Packet3Chat.message;
Pattern p = Pattern.compile("** (.*)");
Matcher m = p.matcher(nameArea);
if(m.matches())
{
nameArea = m.group(1);
}
mc.ingameGUI.DisplayArea(nameArea);
}

mais je ne sais pas comment empecher que les étoiles (**) soi prise en compte comme une caractère de regex (0 , 1 ou plusieurs itinérances possibles)

et autre demande :

est il possible de faire un autre message mais cette fois ci autre par ?

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne sais pas ce qu'est un Matcher ni un Pattern ;)

Je n'ai pas l'intention d'aller voire car sa plus de 5 mois que j'ai arrêter de coder !

Néanmoins pour enlever tes étoiles essaie un String.substring

est il possible de faire un autre message mais cette fois ci autre par ?

What ?

Partager ce message


Lien à poster
Partager sur d’autres sites
mais je ne sais pas comment empecher que les étoiles (**) soi prise en compte comme une caractère de regex (0 , 1 ou plusieurs itinérances possibles)

Avec les caractères d'échappement. Pour les regexp java, le caractère d'échappemment est comme souvent l'antislash => "\*\* (.*)". Mais comme l'antislash est aussi un caractère d'échappemment pour les String java. Il faut eux meme les échapper dans ton code => "\\*\\* (.*)".

Note à part, pour utiliser les Regexp en Java il est recommandé en général de compiler le Pattern une bonne fois pour toute et de le réutiliser.

Partager ce message


Lien à poster
Partager sur d’autres sites

@aumgn : Merci , j'avais déjà utilisé le \ mais sa me faisait une erreur et je n'avait pas pensé a un deuxième \

@Splliter : quand je parle de mettre un autre message c'est de mettre , par exemple , un message quand un joueur se connecte en bas a droite de l'écran et donc d'avoir et le message d'entrée dans la zone et le message de connexion des joueurs ... je suis claire ?

Partager ce message


Lien à poster
Partager sur d’autres sites

En gros c'est d'avoir le méssage d'entrer dans la zone au centre de l'écran et avoir un petit méssage en bas a droite quand un joueur se connecte ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Voila ! Alélouya ! Bref , j'ai pas trouver le moyen de le faire

Partager ce message


Lien à poster
Partager sur d’autres sites

Je voulais savoir, ece ce que c'est normale que le jeu freeze 2-3 seconde avant de lancé une musique ?

Partager ce message


Lien à poster
Partager sur d’autres sites
Je voulais savoir, ece ce que c'est normale que le jeu freeze 2-3 seconde avant de lancé une musique ?

Ta musique doit être vraiment lourde alors

Edit : J'ai une solution change SoundFX par le streaming

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne pense pas que ça viens de la musique car j'en ait une d'environ 1 minutes et c'est la même durée de freeze

Pour le changement SoundFx > Streaming, maintenant la musique ne veut plus s'enclencher, je pense avoir loupé quelque chose.

Voici le code dans NetClientHandler

if (par1Packet3Chat.message.startsWith("\u00A7b ** Royaume de Thorvir"))

{

mc.sndManager.playStreaming("random.thorvir", 1.0F, 1.0F, currentServerMaxPlayers);
mc.ingameGUI.DisplayCity("\u00A7b Royaume de Thorvir");

}


else if (par1Packet3Chat.message.startsWith("\u00A7b ** Vous quittez le Royaume de Thorvir"))

{

mc.sndManager.playStreaming("random.thorvir", 0.0F, 0.0F, currentServerMaxPlayers);
mc.ingameGUI.DisplayCity("\u00A7b Vous quittez le Royaume de Thorvir");

}

Partager ce message


Lien à poster
Partager sur d’autres sites
mc.sndManager.playStreaming("random.thorvir", 1.0F, 1.0F, currentServerMaxPlayers);

WTF O_O

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai fait une bêtise je suppose :/

Partager ce message


Lien à poster
Partager sur d’autres sites

Enfaite quand j'ai mis le PlayStreaming, il me manqué un float, du coup par Default c’était "currentServerMaxPlayers", ou alors "0", les deux ne fonctionnent pas.

ps : Merci pour la récompense :)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avais chargé Splliter de te donner ma solution sur Skype, mais il n'est apparemment pas repassé sur le forum , donc j'envoie la solution pour ceux pour qui le problème persiste.

Il suffit d'ajouter cette méthode dans la classe SoundManager.java :

Pour l'appeler , même principe que pour la methode playSoundFX (mêmes arguments en somme)

Tout est dans la doc de la fonction , mais s'il y a des problèmes je peux toujours expliquer.

 /**
* @see {@code sndSystem.newStreamingSource(false, var5, var6.soundUrl, var6.soundName, false, 0.0F, 0.0F, 0.0F,0,0.0F);} Seule ligne modifiée
* @author Coco51
* <b><u><p>Explications :</p></u></b>
* <p>
* En complément du tutoriel de Splliter sur la manière d'ajouter des sons,
* Voici une méthode permettant de jouer les sons de taille plus lourde.
*
* Ces sons doivent alors être déclarés comme streaming dans le fichier Ressources.xml
* <p>
* La différence entre cette methode et la methode {@link #playStreaming(String, float, float, float)}
* réside dans le fait que le son est comparé à un <u><i>SFX</i></u> , et donc son volume est équivalent à n'importe quel endroit.
*
* @see La méthode d'origine : {@link #playStreaming(String, float, float, float)}
* @see La méthode des SFX : {@link #playSoundFX(String, float, float)}
* </p>
*/
public void playStreamingFX(String par1Str , float par2 , float par3)
{
if (loaded && (this.options.soundVolume != 0.0F || par1Str == null))
{
String var5 = "streaming";

if (sndSystem.playing(var5))
{
sndSystem.stop(var5);
}

if (par1Str != null)
{
SoundPoolEntry var6 = this.soundPoolStreaming.getRandomSoundFromSoundPool(par1Str);

if (var6 != null)
{
if (sndSystem.playing("BgMusic"))
{
sndSystem.stop("BgMusic");
}

float var7 = 16.0F;
sndSystem.newStreamingSource(false, var5, var6.soundUrl, var6.soundName, false, 0.0F, 0.0F, 0.0F,0,0.0F);
sndSystem.setVolume(var5, 0.5F * this.options.soundVolume);
sndSystem.play(var5);
}
}
}
}

2 personnes aiment ça

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai eu beau retourner la fonction dans tout les sens mais j'ai toujours un problème qui persiste, maintenant la musique ne veut plus se lancer.

J'ai bien mis les musiques dans le fichier Streaming maintenant, j'ai déclaré la fonction à la place de modsoundFX dans SoundManager.

Voici les codes dans NetClientHandler.

public void handleChat(Packet3Chat par1Packet3Chat)
{

if (par1Packet3Chat.message.startsWith("\u00A7b ** Royaume de Thorvir"))

{

mc.sndManager.playStreamingFX("streaming.thorvir", 1.0F, 1.0F);
mc.ingameGUI.DisplayCity("\u00A7b Royaume de Thorvir");

}


else if (par1Packet3Chat.message.startsWith("\u00A7b ** Vous quittez le Royaume de Thorvir"))

{

mc.sndManager.playStreamingFX("streaming.thorvir", 0.0F, 0.0F);
mc.ingameGUI.DisplayCity("\u00A7b Vous quittez le Royaume de Thorvir");

}

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas besoin du mettre "streaming." en argument de la fonction il me semble "thorvir" devrait marcher tout simplement.

Si cela ne marche toujours pas , vérifie aussi ton Ressources.xml (si tu l'utilise pour download les ressources)

Partager ce message


Lien à poster
Partager sur d’autres sites

C'était le streaming. qui causais un problème par contre dans la condition inverse (quand ont quitte la ville) j'ai bien mis en paramètre 0.0F et 0.0F mais quand le message "Vous quittez..." apparaît la musique s'éteint mais se relance.

Je ne voit pas d'ou peut venir se petit problème :/

Partager ce message


Lien à poster
Partager sur d’autres sites

Utilise plutot : mc.sndManager.playStreamingFX(null, 0.0F, 0.0F);

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.