MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    [1.7.10] - Barre d'Xp de métier Custom non syncronisée

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    41 Messages 8 Publieurs 3.6k Vues 5 Watching
    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.
    • SpyManS Hors-ligne
      SpyMan
      dernière édition par

      Le serveur commande et le client execute !
      Le serveur doit gere les quantité et le client doit seulement pouvoir les recupérer mais pas les modifier

      1 réponse Dernière réponse Répondre Citer 0
      • G Hors-ligne
        Gael62
        dernière édition par

        j’ai fait quelques modifications ;

        J’ai lancé le jeu en serveur et je l’ai rejoint avec un client avec un packet supplémentaire (pour simulé un give d’XP et afin de voir la sécurité) ,au moment de l’envoie du packet le serveur me kick avec un beau “A fatal error as occured” je me suis reconnecté au serveur est mon XP n’a pas été modifier .

        Wind_BladeW 1 réponse Dernière réponse Répondre Citer 0
        • SpyManS Hors-ligne
          SpyMan
          dernière édition par

          hein …? pas comrpris

          1 réponse Dernière réponse Répondre Citer 0
          • G Hors-ligne
            Gael62
            dernière édition par

            non par rapport au problème dans le code ou l’on pouvait envoyer des faux packet , je pense que j’ai réussi à le réglé car maintenant si j’essaye d’envoyer un faux packet au serveur (qui n’est pas présent dans le mod coté serveur ) ,bah je me fait kick avec un beau message “A fatal error as occured” ,et l’XP n’est pas modifier aprés la reconnexion , donc c’est plutôt bon .

            1 réponse Dernière réponse Répondre Citer 0
            • D Hors-ligne
              Driss2003
              dernière édition par

              Bonjour je cherchais depuis un bon moment un forum permettant de coder des metiers customs afin de m’aider a finaliser mon serveur mais le probleme j’ai suivi a la lettre le codage mais j’ai plein d’erreur au niveau de83e0af60-2533-445a-be83-c38627e84790-image.png
              Je suis un gros nnob en code pouvez vous m’aider

              1 réponse Dernière réponse Répondre Citer 0
              • JustAnDevJ Hors-ligne
                JustAnDev
                dernière édition par

                Simple,au debut à tu crée la classe PacketMoney,
                ModTuto est le nom de ta classe principale et je crois que sur CommonProxy il y a pas de storeEntityData ni de getEntityData
                mais tu ne donne pas assez d’informations donc ce que je dis est peut-etre faux

                s

                1 réponse Dernière réponse Répondre Citer 0
                • JustAnDevJ Hors-ligne
                  JustAnDev
                  dernière édition par

                  ou a PacketMoney tu as oublié le fameux import
                  Si ceci est ta classe principale au niveau de ModTuto tu peux mettre

                  this
                  

                  ca te servira
                  Et d’ou tu mets apres MegaMod?

                  s

                  1 réponse Dernière réponse Répondre Citer 0
                  • Wind_BladeW Hors-ligne
                    Wind_Blade @Gael62
                    dernière édition par

                    @Gael62 il faut juste pas que ton client puisse envoyer un packet au serveur, le client ne gère absolument rien, il doit juste recevoir un packet lui disant combien il a d’argent … c’est tout

                    1 réponse Dernière réponse Répondre Citer 0
                    • D Hors-ligne
                      Driss2003
                      dernière édition par

                      Alors pour te donner plus d’info je t’envois les screen les plus importants.

                      Le JobHandler
                      98527212-ab3d-42b8-8584-03992d8d0570-image.png

                      Le Gui Jobs
                      7364a13e-cab0-450c-8226-5d59251f5570-image.png

                      Et ma classe Principale

                      b154d7b8-9c57-472e-8034-c3a2112743f1-image.png
                      c2e6c628-f9ca-4733-ac15-ed2f540f5194-image.png

                      Dites moi ce que vous voulez que je vous prenne en screen, et je vous le ferai.

                      1 réponse Dernière réponse Répondre Citer 0
                      • D Hors-ligne
                        Driss2003
                        dernière édition par

                        Car la je suis en grosse difficulté

                        1 réponse Dernière réponse Répondre Citer 0
                        • JustAnDevJ Hors-ligne
                          JustAnDev
                          dernière édition par robin4002

                          1 d n’existe pas.2 PacketMoney…soit tu n’as pas import soit il n’existe encore pas ou jsp
                          et tu as 2 méthodes qui veulent DIRE EXACTEMENT la meme chose(il s’agit de load = init)
                          et puis je t’ai dit presque toutes les erreurs au dessus
                          NANNI!D’ou post-Init est en realité INIT?Encore le Load mais il faut faire des differences!

                          s

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

                            S’il te plait Daich_20 ne post pas 4 messages à la suite. Surtout avec ton énorme signature (qu’il serait bien de réduire d’ailleurs) ça spam le forum.
                            Si tu as quelques choses à ajouter lors que personne n’a répondu entre-temps, utilises la fonctionnalité “éditer”.

                            J’ai regroupé tous tes messages en un seul.

                            1 réponse Dernière réponse Répondre Citer 0
                            • D Hors-ligne
                              Driss2003
                              dernière édition par

                              J’ai essayé de corriger les erreurs mais je n’arrive pas a comprendre tes solutions (car j’ai toujours des erreurs), essaye d’envoyer le code source, je comprendrai mieux avec des images.

                              1 réponse Dernière réponse Répondre Citer 0
                              • JustAnDevJ Hors-ligne
                                JustAnDev
                                dernière édition par

                                Je n’ai pount de code source chez moi reprensetant (Daich Mod est actuellement sur GitHub (ne contient pas de money) et SAOII étant deleted!)

                                s

                                1 réponse Dernière réponse Répondre Citer 0
                                • D Hors-ligne
                                  Driss2003
                                  dernière édition par

                                  Ou alors essaye de montrer tes codes (surtout pour le Xp Jobs etc…) s’il te plait pour que comprenne mieux.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • JustAnDevJ Hors-ligne
                                    JustAnDev
                                    dernière édition par JustAnDev

                                    j’ai dit que j’en ai pas pour le moment

                                    s

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • D Hors-ligne
                                      Driss2003
                                      dernière édition par

                                      Ok merci quand meme d’avoir repondu

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • D Hors-ligne
                                        Driss2003
                                        dernière édition par

                                        Par contre j’ai toujours une erreur ici: ac4bc638-41fb-414e-9872-bbdfc6f557e6-image.png

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • JustAnDevJ Hors-ligne
                                          JustAnDev
                                          dernière édition par

                                          Classe complete (revois le tuto sur les packets(1.7.2+) tu vas comprendre pourquoi)

                                          s

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • D Hors-ligne
                                            Driss2003
                                            dernière édition par robin4002

                                            package com.mod.sunwhy.GuiContainer;
                                            
                                            import com.mod.sunwhy.ModTuto;
                                            import com.mod.sunwhy.proxy.CommonProxy;
                                            
                                            import cpw.mods.fml.common.network.simpleimpl.IMessage;
                                            import net.minecraft.entity.DataWatcher;
                                            import net.minecraft.entity.Entity;
                                            import net.minecraft.entity.player.EntityPlayer;
                                            import net.minecraft.entity.player.EntityPlayerMP;
                                            import net.minecraft.nbt.NBTTagCompound;
                                            import net.minecraft.world.World;
                                            import net.minecraftforge.common.IExtendedEntityProperties;
                                            
                                            public class jobHandler implements IExtendedEntityProperties{
                                            	
                                            	   public final static String EXT_PROP_NAME = "ExtPropTuto";
                                            	   
                                            	    private final EntityPlayer player;
                                            	 
                                            	    public long money;
                                            	    public long maxMoney;
                                            		
                                            		
                                            		protected DataWatcher dataWatcher;
                                            
                                            		
                                            	
                                            	    
                                            	public jobHandler(EntityPlayer player) {
                                                 this.player = player;
                                                 this.money = 0;
                                                 this.maxMoney = 200;
                                            
                                            	}
                                                 public static final void register(EntityPlayer player) {
                                                 player.registerExtendedProperties(jobHandler.EXT_PROP_NAME,
                                                         new jobHandler(player));
                                             }
                                            
                                             public static final jobHandler get(EntityPlayer player) {
                                                 return (jobHandler) player.getExtendedProperties(EXT_PROP_NAME);
                                             
                                             }
                                             @Override
                                             public void saveNBTData(NBTTagCompound compound) {
                                            
                                                 NBTTagCompound properties = new NBTTagCompound();
                                            
                                                 properties.setLong("Money", this.money);
                                                 properties.setLong("MaxMoney", this.maxMoney);
                                                 compound.setTag(EXT_PROP_NAME, properties);
                                             }
                                            
                                             @Override
                                             public void loadNBTData(NBTTagCompound compound) {
                                                 NBTTagCompound properties = (NBTTagCompound) compound
                                                         .getTag(EXT_PROP_NAME);
                                                 this.money = properties.getLong("Money");
                                                 this.maxMoney = properties.getLong("MaxMoney");
                                             
                                             }
                                             
                                            	@Override
                                            	public void init(Entity entity, World world) {
                                            		
                                            		
                                            	}
                                                 public final void sync()
                                                 {
                                                     if (!player.worldObj.isRemote)
                                                     {
                                                         EntityPlayerMP player1 = (EntityPlayerMP) player;
                                                         ModTuto.d.sendTo((IMessage)new PacketMoney(), player1);
                                                     }
                                                     else
                                                     {
                                                         PacketMoney packetcaracteristique = new PacketMoney(this.maxMoney , this.money);
                                                         ModTuto.d.sendToServer((IMessage)new PacketMoney());
                                                     }
                                                 }
                                            
                                            	private static String getSaveKey(EntityPlayer player) {
                                                 return player.getDisplayName() + ":" + EXT_PROP_NAME;
                                             }
                                             public static void saveProxyData(EntityPlayer player) {
                                                 jobHandler playerData = jobHandler.get(player);
                                                 NBTTagCompound savedData = new NBTTagCompound();
                                            
                                                 playerData.saveNBTData(savedData);
                                                 CommonProxy.storeEntityData(getSaveKey(player), savedData);
                                             }
                                            
                                             public static void loadProxyData(EntityPlayer player) {
                                                 jobHandler playerData = jobHandler.get(player);
                                                 NBTTagCompound savedData = CommonProxy
                                                         .getEntityData(getSaveKey(player));
                                            
                                                 if (savedData != null) {
                                                     playerData.loadNBTData(savedData);
                                                 }
                                                 playerData.sync();
                                             }
                                             public boolean pay(long amount) {
                                                 boolean sufficient = amount <= this.money;
                                            
                                                 if (sufficient) {
                                                     this.money -= amount;
                                                     this.sync();
                                                 } else {
                                                     return false;
                                                 }
                                            
                                                 return sufficient;
                                             }
                                            
                                             public void addMoney(long amount) {
                                                 this.money += amount;
                                                 this.sync();
                                             }
                                            
                                             public long getMoney() {
                                             	 
                                                 return this.money;
                                                
                                             }
                                            
                                             public void setMoney(long newMoney) {
                                                 this.money = newMoney;
                                                 this.sync();
                                             }
                                             public void update(long money, long maxMoney){
                                             	
                                             }
                                            	public long getMaxMoney(long money2) {
                                            	
                                            		return this.maxMoney;
                                            	}
                                            	    
                                            }
                                            
                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 2 / 3
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB