• 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

Créer un achievement

Autres
1.6.x
17
82
27.1k
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.
  • B
    BDBladx dernière édition par 18 janv. 2014, 14:12

    mas la methode je ne la trouve pas 😕

    Des mods à venir ! :0

    1 réponse Dernière réponse Répondre Citer 0
    • Superloup10
      Superloup10 Modérateurs dernière édition par 18 janv. 2014, 14:51

      La méthode, c’est celle qui débloque ton achievement.

      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • B
        BDBladx dernière édition par 18 janv. 2014, 15:05

        if ( event.entityPlayer != null) ;
        ``` ?

        Des mods à venir ! :0

        1 réponse Dernière réponse Répondre Citer 0
        • Superloup10
          Superloup10 Modérateurs dernière édition par 18 janv. 2014, 15:07

          C’est pas une méthode, c’est une condition.
          Une méthode s’est: ```java

          @Override
          public void notifyPickup(EntityItem item, EntityPlayer player)
          {

          }

          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

          1 réponse Dernière réponse Répondre Citer 0
          • B
            BDBladx dernière édition par 18 janv. 2014, 15:30

            La l’achievement s’active mais les nv s’acumulent 😕

            package bdbladx.common;
            import cpw.mods.fml.common.network.Player;
            import net.minecraft.block.Block;
            import net.minecraft.entity.Entity;
            import net.minecraft.stats.Achievement;
            import net.minecraftforge.event.ForgeSubscribe;
            import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
            public class PlayerEvent {
            @ForgeSubscribe
            public void onBlockPickedUp(EntityItemPickupEvent event)
            {
            if(event.item.getEntityItem().itemID == eryliablocks.BlockUranium.blockID)
            {
            if(event.entityPlayer != null)
            event.entityPlayer.triggerAchievement(eryliablocks.achievementUraniumBrut);
            event.entityPlayer.addExperienceLevel(30);
            }
            }
            }

            ___@‘Gugu42’:

            if(!player.hasAchieved / je sais plus la méthode )){

            code pour give les niveau

            }

            sachant que la methode est ```java
            @ForgeSubscribe
            public void onBlockPickedUp(EntityItemPickupEvent event)
            {
            if(event.item.getEntityItem().itemID == eryliablocks.BlockUranium.blockID)
            {
            if(event.entityPlayer != null);

            et que le code pour give les niveaux
            ```java
            event.entityPlayer.addExperienceLevel(30)

            je dois mettre comment ?

            Des mods à venir ! :0

            1 réponse Dernière réponse Répondre Citer 0
            • Superloup10
              Superloup10 Modérateurs dernière édition par 18 janv. 2014, 19:56

              Essayes ceci:

              package bdbladx.common;
              import net.minecraft.entity.item.EntityItem;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.stats.AchievementList;
              import cpw.mods.fml.common.IPickupNotifier;
              public class PickupHandler implements IPickupNotifier
              {
              @Override
              public void notifyPickup(EntityItem item, EntityPlayer player)
              {
              if(item.getEntityItem().itemID == eryliablocks.BlockUranium.blockID && !player.hasAchieved(eryliablocks.achievementUraniumBrut))
              {
              player.addStat(eryliablocks.achievementUraniumBrut);
              player.addExperienceLevel(30);
              }
              }
              }

              Dans la class principale:

              GameRegistry.registerPickupHandler(new PickupHandler());
              

              Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

              Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

              1 réponse Dernière réponse Répondre Citer 1
              • Gugu
                Gugu dernière édition par 18 janv. 2014, 21:40

                Hm … plutôt cette ligne :

                player.addExperienceLevel(30);

                Dans cette condition :

                if(item.getEntityItem().itemID == eryliablocks.BlockUranium.blockID)
                {
                player.addStat(eryliablocks.achievementUraniumBrut);
                }

                Avec une petite modif :

                if(item.getEntityItem().itemID == eryliablocks.BlockUranium.blockID && !player.hasAchieved(eryliablocks.achievementUraniumBrut))
                {
                player.addStat(eryliablocks.achievementUraniumBrut);
                player.addExperienceLevel(30);
                }

                Histoire de faire d’une pierre deux coups 😛

                "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                ― Jordan B. Peterson

                1 réponse Dernière réponse Répondre Citer 0
                • Superloup10
                  Superloup10 Modérateurs dernière édition par 18 janv. 2014, 21:43

                  Exact, j’avais oublié que je pouvais mettre une condition avec un ET dedans.

                  Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                  1 réponse Dernière réponse Répondre Citer 0
                  • B
                    BDBladx dernière édition par 19 janv. 2014, 11:20

                    j’essaye et je vous dit quelque chose =)___
                    Erreur sur .hasAchieved et .addstat 😕

                    Edit: j’ai resolu le .addstat en metant ```java

                    player.addStat(eryliablocks.achievementUraniumBrut, 1);

                    ajout du 1 =)

                    Des mods à venir ! :0

                    1 réponse Dernière réponse Répondre Citer 0
                    • Superloup10
                      Superloup10 Modérateurs dernière édition par 19 janv. 2014, 20:46

                      Pour le .hasAchieved, tu as quel erreur exactement?

                      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                      1 réponse Dernière réponse Répondre Citer 0
                      • B
                        BDBladx dernière édition par 20 janv. 2014, 14:51

                        “The method hasAchieved(Achievement) is undefined for the
                        type EntityPlayer”

                        Des mods à venir ! :0

                        1 réponse Dernière réponse Répondre Citer 0
                        • Superloup10
                          Superloup10 Modérateurs dernière édition par 20 janv. 2014, 15:37

                          Eclipse te propose de le remplacer? Si oui, par quoi?

                          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                          1 réponse Dernière réponse Répondre Citer 0
                          • B
                            BDBladx dernière édition par 21 janv. 2014, 16:44

                            non pas de proposition 😕 juste le ttruc de create a field ….

                            Des mods à venir ! :0

                            1 réponse Dernière réponse Répondre Citer 0
                            • Superloup10
                              Superloup10 Modérateurs dernière édition par 21 janv. 2014, 17:05

                              Essayes de mettre .isAchieved ou un truc qui s’y rapproche.

                              Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                              Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                              1 réponse Dernière réponse Répondre Citer 0
                              • B
                                BDBladx dernière édition par 21 janv. 2014, 17:16

                                mtn ça me dit de creer une methode isAchieved(Achievement) ^^’

                                Des mods à venir ! :0

                                1 réponse Dernière réponse Répondre Citer 0
                                • Superloup10
                                  Superloup10 Modérateurs dernière édition par 21 janv. 2014, 17:48

                                  Je vois pas du tout comment faire, alors.

                                  Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                  Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • B
                                    BDBladx dernière édition par 21 janv. 2014, 17:51

                                    Peut etre que c’est tout simplement impossible ?

                                    Des mods à venir ! :0

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • robin4002
                                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 21 janv. 2014, 18:10

                                      En effet, je viens de faire de recherche, et ça va être possible ou du moins très compliqué. En fait le code qui enclenche l’achievement est du côté serveur. Ajouter de l’expérience, c’est aussi du côté serveur. Lorsqu’un joueur débloque un achievement, le serveur envoie un paquet au client, et ensuite le client regarde si il a déjà l’achievement. Si c’est le cas, rien ne se passe, sinon l’achievement get s’affiche.
                                      Donc il faudrait check côté client s’il a l’achievement avec Minecraft.getMinecraft().statFileWriter.hasAchievementUnlocked(achievement), et envoyer un paquet au serveur s’il ne l’ai pas.
                                      Mais même si tu t’amuse a faire ça, on pourra facilement faire du bug abuse en supprimant le fichier de stat dans le .minecraft.

                                      Le plus simple est donc de mettre un tag nbt dans le joueur lorsqu’il la première, et s’il n’a pas ce tag ça donne de l’xp.
                                      Comme j’ai fais pour le cadeau de noël sur Cube³ : https://github.com/robin4002/Cube3/blob/master/cube3_common/fr/cube3/common/Cube3PlayerTracker.java#L15-L22

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • B
                                        BDBladx dernière édition par 22 janv. 2014, 19:21

                                        oulà ^^’ ca me parait tres tres compliqué tout cela xD je vais attendre les tutos 1.7 pour voir si ça a changé quelque chose 😃 et mci robin

                                        EDIT : j’ai mis le code que robin adis et je vais tester 😃

                                        Des mods à venir ! :0

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • environ 6 mois
                                        • azatom
                                          azatom dernière édition par 7 juil. 2014, 21:36

                                          package fr.emergia.EmergiaMod.common;
                                          import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                                          import net.minecraft.block.Block;
                                          import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
                                          public class EventAch
                                          {
                                          @SubscribeEvent
                                          public void OnBlockPickedUp(EntityItemPickupEvent event)
                                          {
                                          if(event.item.getEntityItem().getItem() == EmergiaMenu.PIS)
                                          {
                                          if(event.entityPlayer != null)
                                          event.entityPlayer.triggerAchievement(ACH1);
                                          }
                                          }
                                          }

                                          Je suis en 1.7 et le nom que j’ai mis a mon Achievement est ACH1
                                          pourtant il ne le reconnait pas.

                                          //Achievement
                                          ACH1 = new Achievement("EmergiaACH1","ACH1", -3,4, PIS, null).registerStat();
                                          1 réponse Dernière réponse Répondre Citer 0
                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          • 5
                                          • 3 / 5
                                          60 sur 82
                                          • Premier message
                                            60/82
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB