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

Résolu [SANS SUITE] Crash Serveur

1.7.x
1.7.10
7
87
17.7k
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.
  • Gabs
    Gabs dernière édition par 22 juil. 2016, 12:14

    Surement les sides que ont a mis au débuts.

    Gui:

    public class Mort extends GuiScreen {
    @SideOnly(Side.CLIENT)
    private ResourceLocation ressource = new ResourceLocation("dd:textures/gui/death.png");
    private int medecin;
    private int spawn;
    public static int timer = 10000;
    int guiWidth = 256;
    int guiHeight = 256;
    public Mort() {
    }
    @Override
    public void initGui() {
    int guiX = (this.width - guiWidth) / 2;
    int guiY = (this.height - guiHeight) / 2;
    medecin = 0;
    spawn = 1;
    buttonList.clear();
    buttonList.add(new GuiButton(medecin, guiX + 170, guiY + 226 + 5, 58, 20, "§aAppeller un médecin"));
    buttonList.add(new GuiButton(spawn, guiX + 80, guiY, 120, 20, "§5Respawn possible dans"));
    super.initGui();
    }
    @Override
    protected void keyTyped(char typedChar, int keyCode) {
    }
    @Override
    protected void actionPerformed(GuiButton button) {
    switch(button.id) {
    case 0:
    Main.network.sendToServer(new PacketMedecin());
    break;
    case 1:
    if(timer > 0)
    {
    EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
    ChatComponentText text1 = new ChatComponentText("§7Vous ne pouvez pas respawn ! il vous reste: " + timer / 100 + " §7secondes");
    player1.addChatComponentMessage(text1);
    timer –;
    break;
    }
    else
    {
    EntityPlayer player1 = Minecraft.getMinecraft().thePlayer;
    player1.setDead();
    Minecraft.getMinecraft().thePlayer.closeScreen();
    break;
    }
    default:
    break;
    }
    super.actionPerformed(button);
    }
    @Override
    public void updateScreen() {
    super.updateScreen();
    }
    public void drawScreen(int mouseX, int mouseY, float partialTick) 
    {
    String tilename = "§5 : " + timer-- / 100;
    mc.getTextureManager().bindTexture(ressource);
    this.drawTexturedModalRect(this.width / 2 - 135, this.height / 2 - 127, 0, 0, 256, 255);
    if(timer > 0)
    {
    this.fontRendererObj.drawString(tilename, this.width / 2 + 95 - this.fontRendererObj.getStringWidth(tilename) / 2, 1, 0);
    }
    super.drawScreen(mouseX, mouseY, partialTick);
        }
    public static void settimer(int newtimer)
    {
    timer = newtimer;
    }
    @Override
    public void onGuiClosed() {
    }
    }

    Packet:

    public class PacketGui implements IMessage {
    public int i;
    public PacketGui(){
    }
    public PacketGui(int i){
    this.i = i;
    }
    @Override
    public void fromBytes(ByteBuf buf) {
    i = buf.readInt();
    }
    @Override
    public void toBytes(ByteBuf buf) {
    buf.writeInt(i);
    }
    public static class Handler implements IMessageHandler <packetgui, imessage="">{
    @SideOnly(Side.CLIENT)
       public IMessage onMessage(PacketGui message, MessageContext ctx) {
            Minecraft.getMinecraft().displayGuiScreen(new Mort());
            Mort.settimer(10000);
            System.out.println("packet");
            return message;
           }
       }
    }

    Event:

    @SubscribeEvent
    public void onDeath(LivingDeathEvent event)
    {
    booleantrue();
    System.out.println(coma);
    if(event.entityLiving instanceof EntityPlayer)
    {
    event.entityLiving.setHealth(1);
    Main.network.sendTo(new PacketGui(), (EntityPlayerMP)event.entityLiving);
    System.out.println("Mort");
    System.out.println(coma);
    }
    }

    Register Packet:

    network = NetworkRegistry.INSTANCE.newSimpleChannel("dd:");
    network.registerMessage(PacketGui.Handler.class, PacketGui.class, 0, Side.CLIENT);
    ``` // ici quand je met client le gui ne s'ouvre pas solo ( j'ai pas essayer en multi )</packetgui,>
    1 réponse Dernière réponse Répondre Citer 0
    • Deleted
      Deleted dernière édition par 22 juil. 2016, 12:20

      Vire le constructeur du packet ayant un integer en paramètre, il ne te sert à rien. Et vire le
      @SideOnly(Side.CLIENT) dans ta sous classe Handler et dans ta classe Gui. Tu n’en as pas besoin.

      EDIT = Ton onGuiClosed que tu as override dans ta classe gui, ne sert à rien, puisque tu l’as laissé vide, et que de base (n’ai pas les sources sous les yeux), je crois qu’il est déjà vide.
      Ton boolean coma dans ta classe EventHandler, sera commun à tous les joueurs, or je pense que tu ne le souhaites pas ?  Si oui, go ––> l’enregistrer dans ton ExtProp

      1 réponse Dernière réponse Répondre Citer 0
      • AymericRed
        AymericRed dernière édition par 22 juil. 2016, 12:24

        Dans ta fonction onMessage, “return message;” devrait être “return null;”, t comme Plaigon l’a dit, retires tout ce qui touches à l’int i.

        Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

        AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

        Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
        Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

        1 réponse Dernière réponse Répondre Citer 0
        • Deleted
          Deleted dernière édition par 22 juil. 2016, 12:30

          Dernières remarques :

          • À quoi ton setter setTimer peut te servir si ta variable timer est déjà en static ?
          • Comme ton onGuiClosed, même remarque pour ta fonction updateScreen
          • Pourquoi divises-tu ta variabe timer par 100 dans actionPerformed, alors que tu indiques qu’il s’agit d seconde. Je te rappelle que 20 ticks est égale à 1 seconde. Donc faut mieux diviser par 20 😃
          • Lorsque tu te sers du setDead dans ta classe gui Mort, je ne suis pas trop sûr, mais il y a des chances que cela ne marche pas, car setDead() doit être appelé côté serveur (si quelqu’un pouvait me confirmer :))
          1 réponse Dernière réponse Répondre Citer 0
          • Gabs
            Gabs dernière édition par 22 juil. 2016, 12:57

            @‘Plaigon’:

            Dernières remarques :

            • À quoi ton setter setTimer peut te servir si ta variable timer est déjà en static ?
            • Comme ton onGuiClosed, même remarque pour ta fonction updateScreen
            • Pourquoi divises-tu ta variabe timer par 100 dans actionPerformed, alors que tu indiques qu’il s’agit d seconde. Je te rappelle que 20 ticks est égale à 1 seconde. Donc faut mieux diviser par 20 😃
            • Lorsque tu te sers du setDead dans ta classe gui Mort, je ne suis pas trop sûr, mais il y a des chances que cela ne marche pas, car setDead() doit être appelé côté serveur (si quelqu’un pouvait me confirmer :))

            Alors,

            J’ai fais ça du coup:

            public class PacketGui implements IMessage {
            public PacketGui(){
            }
            @Override
            public void fromBytes(ByteBuf buf) {
            }
            @Override
            public void toBytes(ByteBuf buf) {
            }
            public static class Handler implements IMessageHandler <packetgui, imessage="">{
               public IMessage onMessage(PacketGui message, MessageContext ctx) {
                    Minecraft.getMinecraft().displayGuiScreen(new Mort());
                    Mort.settimer(10000);
                    System.out.println("packet");
                    return null;
                   }
               }
            }

            Crash au démarrage du serveur au niveau de la main class fonction init java 56 il me semble sa pointe le register du packetGui.</packetgui,>

            1 réponse Dernière réponse Répondre Citer 0
            • AymericRed
              AymericRed dernière édition par 22 juil. 2016, 13:45

              Mets un @SideOnly(Side.CLIENT) sur ta fontcion onMessage.

              Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

              AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

              Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
              Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

              1 réponse Dernière réponse Répondre Citer 0
              • SCAREX
                SCAREX dernière édition par 22 juil. 2016, 14:22

                Le problème ne vient pas de là, le side only n’est pas obligatoire

                Site web contenant mes scripts : http://SCAREXgaming.github.io

                Pas de demandes de support par MP ni par skype SVP.
                Je n'accepte sur skype que l…

                1 réponse Dernière réponse Répondre Citer 0
                • Gabs
                  Gabs dernière édition par 22 juil. 2016, 14:35

                  @‘SCAREX’:

                  Le problème ne vient pas de là, le side only n’est pas obligatoire

                  J’ai une question dites moi si je me trompe, 
                  Dans un packet le double constructeur n’est pas obligatoire ??

                  1 réponse Dernière réponse Répondre Citer 0
                  • SCAREX
                    SCAREX dernière édition par 22 juil. 2016, 14:42

                    @‘floriangabet’:

                    @‘SCAREX’:

                    Le problème ne vient pas de là, le side only n’est pas obligatoire

                    J’ai une question dites moi si je me trompe, 
                    Dans un packet le double constructeur n’est pas obligatoire ??

                    Si car tu as besoin d’un constructeur vide (qui sera appelé au moment où tu enregistres le paquet) et un constructeur que tu utiliseras pour envoyer tes données

                    Site web contenant mes scripts : http://SCAREXgaming.github.io

                    Pas de demandes de support par MP ni par skype SVP.
                    Je n'accepte sur skype que l…

                    1 réponse Dernière réponse Répondre Citer 0
                    • Gabs
                      Gabs dernière édition par 22 juil. 2016, 14:47

                      Du coup vous savez pas? Si il faut je me trompe ça ne vient pas de la, je vous glisse le crash report au cas ou:

                      http://pastebin.com/SJ8uasK5

                      normalement c’est la ligne 56 dans la main class je vous la passe aussi:

                      network.registerMessage(PacketGui.Handler.class, PacketGui.class, 0, Side.CLIENT);
                      
                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 22 juil. 2016, 15:05

                        @‘Plaigon’:

                        @SideOnly(Side.CLIENT) dans ta sous classe Handler et dans ta classe Gui. Tu n’en as pas besoin.

                        @‘SCAREX’:

                        Le problème ne vient pas de là, le side only n’est pas obligatoire

                        Si. S’il n’y est pas le serveur crash lors du chargement de la classe à cause du Minecraft.getMinecraft() qui se trouve dans la fonction.

                        1 réponse Dernière réponse Répondre Citer 0
                        • Deleted
                          Deleted dernière édition par 22 juil. 2016, 15:11

                          Vivement que je récupère mon ordi et les sources que je puisse enfin revoir les packets

                          1 réponse Dernière réponse Répondre Citer 0
                          • Gabs
                            Gabs dernière édition par 22 juil. 2016, 15:46

                            Plus de crash mais en multijoueur le gui ne s’ouvre pas 😕 …

                            1 réponse Dernière réponse Répondre Citer 0
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 22 juil. 2016, 15:57

                              debug debug debug
                              Et ensuite tu nous envoies les logs logs logs (et tu nous dis aussi où tu as mit les différents print).

                              1 réponse Dernière réponse Répondre Citer 0
                              • Gabs
                                Gabs dernière édition par 22 juil. 2016, 16:12

                                Alors tien les logs:

                                Le packet n’est simplement pas appeler.

                                
                                [18:10:17] [User Authenticator #1/INFO]: UUID of player floriangabet is c8dd1304-3452-48aa-904b-a405287c8826
                                [18:10:17] [Netty IO #1/INFO]: Client protocol version 2
                                [18:10:17] [Netty IO #1/INFO]: Client attempting to join with 10 mods : dd@1.0,mcp@9.05,FML@7.10.99.99,PTRModelLib@1.0.0,customnpcs@1.7.10d,Forge@10.13.4.1448,BiblioCraft@1.11.5,instantblocks@1.5.4,chisel@1.5.7,props@2.3.2
                                [18:10:17] [Netty IO #1/INFO]: Attempting connection with missing mods [kimagine] at CLIENT
                                [18:10:17] [Server thread/INFO]: [Server thread] Server side modded connection established
                                [18:10:17] [Server thread/INFO]: floriangabet[/0.0.0.0] logged in with entity id 196 at ([world] -249.92391524313697, 92.0, 249.70805660889624)
                                [18:10:22] [Server thread/INFO]: floriangabet issued server command: /kill
                                [18:10:22] [Server thread/INFO]: Event onDeath
                                [18:10:22] [Server thread/INFO]: boolean: true
                                [18:10:22] [Server thread/INFO]: floriangabet died
                                
                                

                                Class:

                                event:

                                @SubscribeEvent
                                public void onDeath(LivingDeathEvent event)
                                {
                                booleantrue();
                                if(event.entityLiving instanceof EntityPlayer)
                                {
                                event.entityLiving.setHealth(1);
                                Main.network.sendTo(new PacketGui(), (EntityPlayerMP)event.entityLiving);
                                System.out.println("Event onDeath");
                                System.out.println("boolean: " + coma);
                                }
                                }

                                Packet:

                                public class PacketGui implements IMessage {
                                public PacketGui(){
                                }
                                @Override
                                public void fromBytes(ByteBuf buf) {
                                }
                                @Override
                                public void toBytes(ByteBuf buf) {
                                }
                                public static class Handler implements IMessageHandler <packetgui, imessage="">{
                                @SideOnly(Side.CLIENT)
                                   public IMessage onMessage(PacketGui message, MessageContext ctx) {
                                        Minecraft.getMinecraft().displayGuiScreen(new Mort());
                                        Mort.settimer(10000);
                                        System.out.println("Packet");
                                        return null;
                                       }
                                   }
                                }
                                ```</packetgui,>
                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 22 juil. 2016, 16:30

                                  Packet ne s’affichera jamais côté serveur comme il se trouve dans une fonction client.

                                  Ajoutes System.out.println(“Packet serveur”); dans la fonction toBytes

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • Gabs
                                    Gabs dernière édition par 22 juil. 2016, 16:48

                                    @‘robin4002’:

                                    Packet ne s’affichera jamais côté serveur comme il se trouve dans une fonction client.

                                    Ajoutes System.out.println(“Packet serveur”); dans la fonction toBytes

                                    C’est bon a savoir.

                                    Oui il s’affiche:

                                    [18:48:30] [Server thread/INFO]: floriangabet issued server command: /kill
                                    [18:48:30] [Server thread/INFO]: Packet serveur
                                    [18:48:30] [Server thread/INFO]: Event onDeath
                                    [18:48:30] [Server thread/INFO]: boolean: true
                                    [18:48:30] [Server thread/INFO]: floriangabet died
                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 22 juil. 2016, 17:08

                                      Du-coup il faut regarder si Packet s’affiche dans les logs du client.

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • Gabs
                                        Gabs dernière édition par 22 juil. 2016, 17:52

                                        @‘robin4002’:

                                        Du-coup il faut regarder si Packet s’affiche dans les logs du client.

                                        Comment ? worldisremote ?

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • SCAREX
                                          SCAREX dernière édition par 22 juil. 2016, 19:03

                                          System.out.println(“coucou, je suis de quel côté ?”) et tu envoies les logs

                                          Site web contenant mes scripts : http://SCAREXgaming.github.io

                                          Pas de demandes de support par MP ni par skype SVP.
                                          Je n'accepte sur skype que l…

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          • 3 / 5
                                          41 sur 87
                                          • Premier message
                                            41/87
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB