• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Faire une astuce random

    Anciennes versions
    1.6.4
    5
    10
    1532
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Ama
      Ama dernière édition par

      Bonjour !

      Je cherche à faire des astuces random comme sur beaucoup de jeux, le problème c’est que je n’y arrive pas !

      Je me suis renseigner du côté du splash text mais rien ! Il ne me charge pas le splash.txt

      PS: Je passe par une classe intermédiaire (inutile je pense), mais bon:

      GuiAstuces:

      :::

      package net.viruz.client;
      
      import java.io.BufferedReader;
      import java.io.IOException;
      import java.io.InputStreamReader;
      import java.util.ArrayList;
      import java.util.Random;
      
      import org.apache.commons.io.Charsets;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.gui.GuiScreen;
      import net.minecraft.util.ResourceLocation;
      
      public class GuiAstuces extends GuiScreen
      {
      /** The RNG used by the Main Menu Screen. */
      private static final Random rand = new Random();
      
      /** The splash message. */
      public static String splashText = "Erreur lors du chargement des astuces de jeu";
      private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
      
      public GuiAstuces()
      {
      BufferedReader bufferedreader = null;
      String s;
      
      try
      {
      ArrayList arraylist = new ArrayList();
      bufferedreader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(splashTexts).getInputStream(), Charsets.UTF_8));
      
      while ((s = bufferedreader.readLine()) != null)
      {
      s = s.trim();
      
      if (!s.isEmpty())
      {
      arraylist.add(s);
      }
      }
      
      do
      {
      this.splashText = (String)arraylist.get(rand.nextInt(arraylist.size()));
      }
      while (this.splashText.hashCode() == 125780783);
      }
      catch (IOException ioexception)
      {
      ;
      }
      finally
      {
      if (bufferedreader != null)
      {
      try
      {
      bufferedreader.close();
      }
      catch (IOException ioexception1)
      {
      ;
      }
      }
      }
      
      }
      
      }
      
      

      :::

      GuiConnexion dans drawString:

      :::

      GL11.glPushMatrix();
      GL11.glTranslatef((float)(this.width / 2 + 90), 70.0F, 0.0F);
      GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
      float f1 = 1.8F - MathHelper.abs(MathHelper.sin((float)(Minecraft.getSystemTime() % 1000L) / 1000.0F * (float)Math.PI * 2.0F) * 0.1F);
      f1 = f1 * 100.0F / (float)(this.fontRenderer.getStringWidth(GuiAstuces.splashText) + 32);
      GL11.glScalef(f1, f1, f1);
      this.drawCenteredString(this.fontRenderer, GuiAstuces.splashText, 0, -8, 16776960);
      GL11.glPopMatrix();
      

      :::

      Mais à chaque fois mon message “Erreur lors du chargement des astuces de jeu” qui s’affiche et j’ai pas d’erreur dans la console

      Merci si vous pouvez me filer un coup de main !

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

      1 réponse Dernière réponse Répondre Citer 0
      • jglrxavpok
        jglrxavpok Modérateurs dernière édition par

        Remplace ```java
        catch (IOException ioexception)
        {
        ;
        }

        par
        ```java
        catch (IOException ioexception)
        {
        ioexception.printStackTrace();
        }
        

        Histoire que l’on voit les erreurs 😉

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 réponse Dernière réponse Répondre Citer 0
        • Ama
          Ama dernière édition par

          Ok je test


          EDIT: Je l’ai fait, mais pas d’erreurs ! WTF ?


          EDIT: Voilà la console:

          :::

          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Forge Mod Loader version 6.4.49.965 for Minecraft 1.6.4 loading
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Java is Java HotSpot™ Client VM, version 1.7.0_45, running on Windows 8:x86:6.2, installed at C:\Program Files (x86)\Java\jre7
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
          2014-03-13 21:38:20 [Infos] [STDOUT] Loaded 40 rules from AccessTransformer config file fml_at.cfg
          2014-03-13 21:38:20 [Grave] [ForgeModLoader] The binary patch set is missing. Either you are in a development environment, or things are not going to work!
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
          2014-03-13 21:38:21 [Infos] [STDOUT] Loaded 110 rules from AccessTransformer config file forge_at.cfg
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Launching wrapped minecraft {net.minecraft.client.main.Main}
          2014-03-13 21:38:22 [Infos] [Minecraft-Client] Setting user: TheAmateis
          2014-03-13 21:38:23 [Infos] [Minecraft-Client] LWJGL Version: 2.9.0
          2014-03-13 21:38:23 [Infos] [Minecraft-Client] Reloading ResourceManager: Default
          2014-03-13 21:38:24 [Infos] [MinecraftForge] Attempting early MinecraftForge initialization
          2014-03-13 21:38:24 [Infos] [STDOUT] MinecraftForge v9.11.1.965 Initialized
          2014-03-13 21:38:24 [Infos] [ForgeModLoader] MinecraftForge v9.11.1.965 Initialized
          2014-03-13 21:38:24 [Infos] [STDOUT] Replaced 111 ore recipies
          2014-03-13 21:38:24 [Infos] [MinecraftForge] Completed early MinecraftForge initialization
          2014-03-13 21:38:24 [Infos] [ForgeModLoader] Reading custom logging properties from C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\ViruZ Core Forge 1.6.4_9.11.1.953\forge\mcp\jars\config\logging.properties
          2014-03-13 21:38:24 [Désactivé] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
          2014-03-13 21:38:25 [Infos] [ForgeModLoader] Searching C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\ViruZ Core Forge 1.6.4_9.11.1.953\forge\mcp\jars\mods for mods
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
          2014-03-13 21:38:27 [Infos] [mcp] Activating mod mcp
          2014-03-13 21:38:27 [Infos] [FML] Activating mod FML
          2014-03-13 21:38:27 [Infos] [Forge] Activating mod Forge
          2014-03-13 21:38:27 [Infos] [ViruZ] Activating mod ViruZ
          2014-03-13 21:38:27 [Avertissement] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Avertissement] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Avertissement] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Infos] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:ViruZ
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Registering Forge Packet Handler
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Succeeded registering Forge Packet Handler
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Configured a dormant chunk cache size of 0
          2014-03-13 21:38:28 [Grave] [Minecraft-Client] Using missing texture, unable to load: viruz:textures/blocks/presents.png
          2014-03-13 21:38:28 [Grave] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_511_NormalWardrobe.png
          2014-03-13 21:38:29 [Infos] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
          2014-03-13 21:38:29 [Avertissement] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Avertissement] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Avertissement] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Infos] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:ViruZ
          2014-03-13 21:38:29 [Grave] [Minecraft-Client] Using missing texture, unable to load: viruz:textures/blocks/presents.png
          2014-03-13 21:38:29 [Grave] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_511_NormalWardrobe.png
          2014-03-13 21:38:29 [Infos] [STDOUT]
          2014-03-13 21:38:29 [Infos] [STDOUT] Starting up SoundSystem…
          2014-03-13 21:38:30 [Infos] [STDOUT] Initializing LWJGL OpenAL
          2014-03-13 21:38:30 [Infos] [STDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
          2014-03-13 21:38:30 [Infos] [STDOUT] OpenAL initialized.
          2014-03-13 21:38:30 [Infos] [STDOUT]
          2014-03-13 21:38:30 [Grave] [Minecraft-Client] Realms: Server not available!

          :::

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

          1 réponse Dernière réponse Répondre Citer 0
          • Porteffroi
            Porteffroi dernière édition par

            Tu as bien remplacé aux deux places ?

            1 réponse Dernière réponse Répondre Citer 0
            • Ama
              Ama dernière édition par

              Oui je l’ai fait !

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 réponse Dernière réponse Répondre Citer 0
              • Ama
                Ama dernière édition par

                Pas d’idées ?

                Si je t'ai filé un coup de main n'oublie pas le + / -
                Par contre évite les demandes d'aides en MP, tu sera sympa'

                La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                1 réponse Dernière réponse Répondre Citer 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                  Tu as ouvert le gui avant de regarder les logs ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • Ama
                    Ama dernière édition par

                    Je je l’ai fait ! Je re-teste


                    Oui et toujours rien !

                    Si je t'ai filé un coup de main n'oublie pas le + / -
                    Par contre évite les demandes d'aides en MP, tu sera sympa'

                    La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                    Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                    1 réponse Dernière réponse Répondre Citer 0
                    • RedRelay
                      RedRelay Moddeurs confirmés dernière édition par

                      Ouille ouille ouille que ça pique xD

                      Normalement il n’y a que ta classe qui charge le spashtext qui est censé la modifier non ?
                      Alors pourquoi la mettre en public ?
                      Ne te pose même pas cette question, tu n’as pas besoin de stocker cette variable, écrit quand même la signature de la fonction getSpashText(), on s’en servira un peu plus bas.

                      Voila ce que fait ta classe :
                      Elle ouvre le fichier
                      Elle le parcours de manière séquentiel et ajoute chaque ligne a une arraylist (donc tu remplis de l’espace mémoire)
                      Elle sélectionne 1 élément de cette arraylist.
                      Elle supprime l’arraylist (libère de l’espace mémoire)
                      Elle ferme le fichier

                      A chaque fois que tu voudras régénérer une astuce aléatoire, tu devras refaire toutes les étapes que je viens de t’écrire, ça fait long, très long. En fait, tu ne stocks pas le bon attribut.
                      Pourquoi est ce que tu ne stockerai pas ton ArrayList ? Et a chaque fois que tu appels la méthode getSplashText(), tu retournes un élément au pif de ta liste.

                      Il y a d’autre chose discutable sur ta classe :

                      • Ton objet random qui ne sert a rien, tu as une fonction Math.random() qui fait exactement la même chose, sauf que tu ne génères pas d’objet inutile.
                      • Les collections en Java sont génériques. Ici ce n’est pas une ArrayList d’object que tu veux, c’est une ArrayList de String.
                        Donc ArrayList <string>arrayList = new ArrayList<string>();
                        Comme ça, tu ne cast pas ton objet à la sortie et tu es sur de ne pouvoir mettre QUE des chaines de caractère dans cette liste.
                      • De la manière dont tu implémenteras cette classe si tu suis mes conseils vis à vis des attributs, si tu fais un getSpashText() sans avoir instancier une première fois ta classe, tu planteras avec un magnifique NullPointerException.
                        Je vais te donner un résumé de ce que doit contenir ta classe, ça répondra a ce problème en même temps :
                      Attribut :
                      - private static GuiAstuces instance;
                      - private ArrayList <string>arrayList;
                      
                      Constructeur :
                      - private GuiAstuces() { … tu initialises ton ArrayList comme tu le fait actuellement puis tu fais this.instance = this;}
                      
                      Methode :
                      - public String getSpashText() { return arrayList.get((int) (Math.random*arrayList.size())); }
                      
                      Methode static :
                      - public static synchronized GuiAstuces getInstance() {
                      if(instance == null) this.instance = new GuiAstuces();
                      return instance;}
                      

                      Ensuite tu utilises ta classe de la manière suivante :

                      GuiAstuces.getInstance().getSplashText();
                      

                      Si tu veux des explications vis a vis de cette classe, lorsque tu va appeler pour la première fois getInstance(), tu vas initialiser ton objet. Toutes les fois suivantes, tu va récupérer l’instance.
                      Le mot clef synchronized est la pour les accès concurrentiels, ça évite que 2 threads n’accèdent en même temps a cette fonction.</string></string></string>

                      –------------------------------------------------------------------------------------
                      Si tu trouves mon intervention pertinente, n'hésite pas a m…

                      1 réponse Dernière réponse Répondre Citer 0
                      • Ama
                        Ama dernière édition par

                        Merci c’est bon !

                        Si je t'ai filé un coup de main n'oublie pas le + / -
                        Par contre évite les demandes d'aides en MP, tu sera sympa'

                        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                        1 réponse Dernière réponse Répondre Citer 0
                        • 1 / 1
                        • Premier message
                          Dernier message
                        Design by Woryk
                        Contact / Mentions Légales

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB