SOLVED Render block invisible


  • bonjour j’ai , comme d’habitude , un problème j’ai crée un block avec un model techne dans ma main il s’affiche parfaitement mais quand je le pose je vois la hite box mais pas le bloc
    la classe du bloc

    package com.mathiasetampes.entreprise.common;
    
    import com.mathiasetampes.entreprise.proxy.ClientProxy;
    
    import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.renderer.texture.IIconRegister;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.world.World;
    
    public class Moniteur extends Block
    {
    
    protected Moniteur()
    {
    super(Material.rock); //Mettez le material qui convient
    this.setResistance(8.0F);
    this.setHarvestLevel("pickaxe", 2); //Outil pour casser le bloc, pour le chiffre : 0=bois, 1=pierre, 2=fer, 3=diamant
    }
      public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitx, float hity, float hitz)
       {
           if (world.isRemote)
           {
               return true;
           }
           else
           {
            System.out.println("machin");
            return true;
           }
       }
      public TileEntity createNewTileEntity(World world, int metadata) //Instancie le TileEntity
       {
           return new TileEntityMoniteur();
       }
    
       @Override
       public boolean hasTileEntity(int metadata) //Permet de savoir si le bloc a un TileEntity
       {
           return true;
       }
       public boolean isOpaqueCube()
       {
           return false;
       }
    
       public boolean renderAsNormalBlock()
       {
           return false;
       }
    
       public int getRenderType()
       {
           return ClientProxy.tesrRenderId;
       }
       public void registerBlockIcons(IIconRegister iiconRegister)
       {
            this.blockIcon = iiconRegister.registerIcon("minecraft:stone");
       }
    }
    
    

    du model

    // Date: 15/05/2015 21:11:40
    // Template version 1.1
    // Java generated by Techne
    // Keep in mind that you still need to fill in some blanks
    // - ZeuX
    package com.mathiasetampes.entreprise.client.model;
    
    import net.minecraft.client.model.ModelBase;
    import net.minecraft.client.model.ModelRenderer;
    import net.minecraft.entity.Entity;
    
    public class MonitorModel extends ModelBase
    {
     //fields
       ModelRenderer Shape1;
       ModelRenderer Shape2;
       ModelRenderer Shape3;
    
     public MonitorModel()
     {
       textureWidth = 128;
       textureHeight = 64;
    
         Shape1 = new ModelRenderer(this, 0, 0);
         Shape1.addBox(0F, 0F, 0F, 9, 0, 5);
         Shape1.setRotationPoint(-4F, 23F, -3F);
         Shape1.setTextureSize(128, 64);
         Shape1.mirror = true;
         setRotation(Shape1, 0F, 0F, 0F);
         Shape2 = new ModelRenderer(this, 15, 22);
         Shape2.addBox(0F, 0F, 0F, 1, 6, 1);
         Shape2.setRotationPoint(0F, 17F, 0F);
         Shape2.setTextureSize(128, 64);
         Shape2.mirror = true;
         setRotation(Shape2, 0F, 0F, 0F);
         Shape3 = new ModelRenderer(this, 45, 27);
         Shape3.addBox(0F, 0F, 0F, 13, 9, 1);
         Shape3.setRotationPoint(-6F, 11F, -1F);
         Shape3.setTextureSize(128, 64);
         Shape3.mirror = true;
         setRotation(Shape3, 0F, 0F, 0F);
     }
    
     public void render()
     {
       Shape1.render(0.0625F);
       Shape2.render(0.0625F);
       Shape3.render(0.0625F);
     }
    
     private void setRotation(ModelRenderer model, float x, float y, float z)
     {
       model.rotateAngleX = x;
       model.rotateAngleY = y;
       model.rotateAngleZ = z;
     }
    
    }
    

    du TESRinventoryRenderer

    package com.mathiasetampes.entreprise.client;
    
    import org.lwjgl.opengl.GL11;
    
    import com.mathiasetampes.entreprise.common.Entreprise;
    import com.mathiasetampes.entreprise.proxy.ClientProxy;
    
    import net.minecraft.block.Block;
    import net.minecraft.client.Minecraft;
    import net.minecraft.client.renderer.RenderBlocks;
    import net.minecraft.world.IBlockAccess;
    import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
    
    public class TESRInventoryRenderer implements ISimpleBlockRenderingHandler {
    
    @Override
    public void renderInventoryBlock(Block block, int metadata, int modelId,
    RenderBlocks renderer)
    {
    if(block == Entreprise.distributeur)
           {
    GL11.glPushMatrix();
    GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
               GL11.glTranslatef(0.0F, -1.0F, 0.0F);
               GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
               Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityDistributeurSpecialRenderer.texture);
               TileEntityDistributeurSpecialRenderer.model.renderAll();
               GL11.glPopMatrix();
           }
    else if(block == Entreprise.moniteur)
           {
               GL11.glPushMatrix();
               GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
               GL11.glTranslatef(0.0F, -1.0F, 0.0F);
               GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F);
               Minecraft.getMinecraft().getTextureManager().bindTexture(TileEntityMoniteurSpecialRenderer.texture);
               TileEntityMoniteurSpecialRenderer.model.render();
               GL11.glPopMatrix();
           }
    }
    
    @Override
    public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z,
    Block block, int modelId, RenderBlocks renderer)
    {
    return false;
    }
    
    @Override
    public boolean shouldRender3DInInventory(int modelId)
    {
    return true;
    }
    
    @Override
    public int getRenderId()
    {
    return ClientProxy.tesrRenderId;
    }
    
    }
    

    et du TESR

    package com.mathiasetampes.entreprise.client;
    
    import org.lwjgl.opengl.GL11;
    
    import com.mathiasetampes.entreprise.client.model.ATMModel;
    import com.mathiasetampes.entreprise.client.model.MonitorModel;
    import com.mathiasetampes.entreprise.common.Entreprise;
    import com.mathiasetampes.entreprise.common.TileEntityDistributeur;
    import com.mathiasetampes.entreprise.common.TileEntityMoniteur;
    
    import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
    import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.util.ResourceLocation;
    
    public class TileEntityMoniteurSpecialRenderer extends
    TileEntitySpecialRenderer
    {
      public static MonitorModel model = new MonitorModel();
      public static ResourceLocation texture = new ResourceLocation(Entreprise.MODID, "textures/blocks/monitor.png");
      public TileEntityMoniteurSpecialRenderer() // TileEntityTutorielSpecialRenderer dans mon cas, c'est la classe que nous avons fait dans la partie précédente
       {
           this.func_147497_a(TileEntityRendererDispatcher.instance);
       }
    @Override
       public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float partialRenderTick)
    {
     this.renderTileEntityMoniteurAt((TileEntityMoniteur)tile, x, y, z, partialRenderTick); // j'appelle ma fonction renderTileEntityTutorielAt en castant TileEntityTutoriel à l'argument tile
       }
    
       private void renderTileEntityMoniteurAt(TileEntityMoniteur tile, double x, double y, double z, float partialRenderTick) // ma propre fonction
       {
           GL11.glPushMatrix(); // ouvre une matrix
           GL11.glTranslated(x + 0.5D, y + 1.5D, z + 0.5D); // déplace le bloc sur les coordonnés et le centre
           GL11.glRotatef(180F, 0.0F, 0.0F, 0.0F); // met droit le bloc (par défaut il est à l'envers)
           this.bindTexture(texture); // affiche la texture
           model.render(); // rend le modèle
           GL11.glPopMatrix(); // ferme la matrix
       }
    
    }
    
  • Administrateurs Rédacteurs Moddeurs confirmés

    Ton rendu est enregistré ? Ton tile entity est enregistré ? (classe principale + proxys)


  • classe principale , attention je déclare beaucoup de chose

    package com.mathiasetampes.entreprise.common;
    
    import net.minecraft.block.Block;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.init.Blocks;
    import net.minecraft.init.Items;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraftforge.common.MinecraftForge;
    
    import com.mathiasetampes.entreprise.client.GuiHandlerTutorial;
    import com.mathiasetampes.entreprise.common.item.AmpouleLed;
    import com.mathiasetampes.entreprise.common.item.CarteBleu;
    import com.mathiasetampes.entreprise.common.item.CarteGraphic;
    import com.mathiasetampes.entreprise.common.item.Cent;
    import com.mathiasetampes.entreprise.common.item.Cinq;
    import com.mathiasetampes.entreprise.common.item.CinqCent;
    import com.mathiasetampes.entreprise.common.item.Cinquante;
    import com.mathiasetampes.entreprise.common.item.Core;
    import com.mathiasetampes.entreprise.common.item.Deux;
    import com.mathiasetampes.entreprise.common.item.DeuxCent;
    import com.mathiasetampes.entreprise.common.item.Dix;
    import com.mathiasetampes.entreprise.common.item.Ecran;
    import com.mathiasetampes.entreprise.common.item.GraphicCore;
    import com.mathiasetampes.entreprise.common.item.Led;
    import com.mathiasetampes.entreprise.common.item.Oil;
    import com.mathiasetampes.entreprise.common.item.Plaquettes;
    import com.mathiasetampes.entreprise.common.item.Plastique;
    import com.mathiasetampes.entreprise.common.item.Processeur;
    import com.mathiasetampes.entreprise.common.item.Socle;
    import com.mathiasetampes.entreprise.common.item.TigeDeFer;
    import com.mathiasetampes.entreprise.common.item.Un;
    import com.mathiasetampes.entreprise.common.item.Ventilateur;
    import com.mathiasetampes.entreprise.common.item.Vingt;
    import com.mathiasetampes.entreprise.common.item.System;
    import com.mathiasetampes.entreprise.proxy.CommonProxy;
    
    import cpw.mods.fml.common.FMLCommonHandler;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.relauncher.Side;
    
    @Mod(modid = "entreprise",name="Entreprise",version="1.0.0")
    
    public class Entreprise
    {
    
    @Instance("entreprise")
    public static Entreprise instance;
    public static final String MODID = "entreprise";
    
    @SidedProxy(clientSide = "com.mathiasetampes.entreprise.proxy.ClientProxy", serverSide = "com.mathiasetampes.entreprise.proxy.CommonProxy")
    public static CommonProxy proxy;
    
    public static Item un;
    public static Item deux;
    public static Item cinq;
    public static Item dix;
    public static Item vingt;
    public static Item cinquante;
    public static Item cent;
    public static Item deuxCent;
    public static Item cinqCent;
    public static Item carteBleu;
    public static Item oil;
    public static Item plastique;
    public static Item ecran;
    public static Item tigeDeFer;
    public static Item plaquettes;
    public static Item led;
    public static Item ampouleLed;
    public static Item socle;
    public static Item core;
    public static Item graphicCore;
    public static Item processeur;
    public static Item system;
    public static Item ventilateur;
    public static Item carteGraphic;
    
    public static Block distributeur;
    public static Block moniteur;
    
    public static SimpleNetworkWrapper network;
    
    @EventHandler
    public void preInit(FMLPreInitializationEvent event)
    {
    un = new Un().setUnlocalizedName("un").setTextureName(Entreprise.MODID + ":un").setCreativeTab(CreativeTabs.tabMaterials);
    deux = new Deux().setUnlocalizedName("deux").setTextureName(Entreprise.MODID + ":deux").setCreativeTab(CreativeTabs.tabMaterials);
    cinq = new Cinq().setUnlocalizedName("cinq").setTextureName(Entreprise.MODID + ":cinq").setCreativeTab(CreativeTabs.tabMaterials);
    dix = new Dix().setUnlocalizedName("dix").setTextureName(Entreprise.MODID + ":dix").setCreativeTab(CreativeTabs.tabMaterials);
    vingt = new Vingt().setUnlocalizedName("vingt").setTextureName(Entreprise.MODID + ":vingt").setCreativeTab(CreativeTabs.tabMaterials);
    cinquante = new Cinquante().setUnlocalizedName("cinquante").setTextureName(Entreprise.MODID + ":cinquante").setCreativeTab(CreativeTabs.tabMaterials);
    cent = new Cent().setUnlocalizedName("cent").setTextureName(Entreprise.MODID + ":cent").setCreativeTab(CreativeTabs.tabMaterials);
    deuxCent = new DeuxCent().setUnlocalizedName("deuxCent").setTextureName(Entreprise.MODID + ":deuxCent").setCreativeTab(CreativeTabs.tabMaterials);
    cinqCent = new CinqCent().setUnlocalizedName("cinqCent").setTextureName(Entreprise.MODID + ":cinqCent").setCreativeTab(CreativeTabs.tabMaterials);
    carteBleu = new CarteBleu().setUnlocalizedName("carteBleu").setTextureName(Entreprise.MODID + ":carteBleu").setCreativeTab(CreativeTabs.tabMaterials);
    oil = new Oil().setUnlocalizedName("oil").setTextureName(Entreprise.MODID + ":oil").setCreativeTab(CreativeTabs.tabMaterials);
    plastique = new Plastique().setUnlocalizedName("plastique").setTextureName(Entreprise.MODID + ":plastique").setCreativeTab(CreativeTabs.tabMaterials);
    ecran = new Ecran().setUnlocalizedName("ecran").setTextureName(Entreprise.MODID + ":ecran").setCreativeTab(CreativeTabs.tabMaterials);
    tigeDeFer = new TigeDeFer().setUnlocalizedName("tigeDeFer").setTextureName(Entreprise.MODID + ":tige").setCreativeTab(CreativeTabs.tabMaterials);
    plaquettes = new Plaquettes().setUnlocalizedName("plaquettes").setTextureName(Entreprise.MODID + ":plaquettes").setCreativeTab(CreativeTabs.tabMaterials);
    led = new Led().setUnlocalizedName("led").setTextureName(Entreprise.MODID + ":led").setCreativeTab(CreativeTabs.tabMaterials);
    ampouleLed = new AmpouleLed().setUnlocalizedName("ampouleLed").setTextureName(Entreprise.MODID + ":ampouleLed").setCreativeTab(CreativeTabs.tabMaterials);
    socle = new Socle().setUnlocalizedName("socle").setTextureName(Entreprise.MODID + ":socle").setCreativeTab(CreativeTabs.tabMaterials);
    core = new Core().setUnlocalizedName("core").setTextureName(Entreprise.MODID + ":core").setCreativeTab(CreativeTabs.tabMaterials);
    graphicCore = new GraphicCore().setUnlocalizedName("graphicCore").setTextureName(Entreprise.MODID + ":graphicCore").setCreativeTab(CreativeTabs.tabMaterials);
    processeur = new Processeur().setUnlocalizedName("processeur").setTextureName(Entreprise.MODID + ":processeur").setCreativeTab(CreativeTabs.tabMaterials);
    system = new System().setUnlocalizedName("system").setTextureName(Entreprise.MODID + ":system").setCreativeTab(CreativeTabs.tabMaterials);
    ventilateur = new Ventilateur().setUnlocalizedName("ventilateur").setTextureName(Entreprise.MODID + ":ventilateur").setCreativeTab(CreativeTabs.tabMaterials);
    carteGraphic = new CarteGraphic().setUnlocalizedName("carteGraphic").setTextureName(Entreprise.MODID + ":carteGraphic").setCreativeTab(CreativeTabs.tabMaterials);
    
    distributeur = new Distributeur().setBlockName("distributeur").setCreativeTab(CreativeTabs.tabRedstone);
    moniteur = new Moniteur().setBlockName("moniteur").setCreativeTab(CreativeTabs.tabRedstone);
    
    GameRegistry.registerItem(un, "un");
    GameRegistry.registerItem(deux, "deux");
    GameRegistry.registerItem(cinq, "cinq");
    GameRegistry.registerItem(dix, "dix");
    GameRegistry.registerItem(vingt, "vingt");
    GameRegistry.registerItem(cinquante, "cinquante");
    GameRegistry.registerItem(cent, "cent");
    GameRegistry.registerItem(deuxCent, "deuxCent");
    GameRegistry.registerItem(cinqCent, "cinqCent");
    GameRegistry.registerItem(carteBleu, "carteBleu");
    GameRegistry.registerItem(oil, "oil");
    GameRegistry.registerItem(plastique, "plastique");
    GameRegistry.registerItem(ecran, "ecran");
    GameRegistry.registerItem(tigeDeFer, "tigeDeFer");
    GameRegistry.registerItem(plaquettes, "plaquettes");
    GameRegistry.registerItem(led, "led");
    GameRegistry.registerItem(ampouleLed, "ampouleLed");
    GameRegistry.registerItem(socle, "socle");
    GameRegistry.registerItem(core, "core");
    GameRegistry.registerItem(graphicCore, "graphicCore");
    GameRegistry.registerItem(processeur, "processeur");
    GameRegistry.registerItem(system, "system");
    GameRegistry.registerItem(ventilateur, "ventilateur");
    GameRegistry.registerItem(carteGraphic, "carteGraphic");
    GameRegistry.registerBlock(distributeur, "distributeur");
    GameRegistry.registerBlock(moniteur, "moniteur");
    
    GameRegistry.addShapelessRecipe(new ItemStack(core),new Object[]{ new ItemStack(tigeDeFer), new ItemStack(plaquettes)});
    GameRegistry.addShapelessRecipe(new ItemStack(tigeDeFer,2),new Object[]{new ItemStack(Items.iron_ingot)});
    GameRegistry.addShapelessRecipe(new ItemStack(system),new Object[]{new ItemStack(processeur), new ItemStack(carteGraphic)});
    GameRegistry.addShapedRecipe(new ItemStack(plaquettes), new Object[]{"XX",'X',Items.iron_ingot});
    GameRegistry.addShapedRecipe(new ItemStack(processeur), new Object[]{" X ","XYX"," X ",'X',core,'Y',graphicCore});
    GameRegistry.addShapedRecipe(new ItemStack(graphicCore), new Object[]{" X ","ZYZ",'Z',tigeDeFer,'Y',plaquettes,'X',led});
    GameRegistry.addShapedRecipe(new ItemStack(led), new Object[]{"XYX",'Y',ampouleLed,'X',tigeDeFer});
    GameRegistry.addShapedRecipe(new ItemStack(ampouleLed), new Object[]{"X","Y",'X',Blocks.glass_pane,'Y',tigeDeFer});
    GameRegistry.addShapedRecipe(new ItemStack(ecran), new Object[]{"XXX","XYX","XXX",'X',Blocks.glass_pane,'Y',led});
    GameRegistry.addShapedRecipe(new ItemStack(socle), new Object[]{"XXX","XXX"," X ",'X',plastique});
    GameRegistry.addShapedRecipe(new ItemStack(ventilateur), new Object[]{" X ","XYX"," X ",'X',plaquettes,'Y',Items.iron_ingot});
    GameRegistry.addShapedRecipe(new ItemStack(carteGraphic), new Object[]{"ZZZ","XYX",'X',tigeDeFer,'Y',ventilateur,'Z',plaquettes});
    GameRegistry.addShapedRecipe(new ItemStack(moniteur), new Object[]{"X","Y","Z",'X',ecran,'Y',socle,'Z',system});
    
    GameRegistry.addSmelting(oil, new ItemStack(plastique, 1), 0.1f);
    
    network = NetworkRegistry.INSTANCE.newSimpleChannel(MODID);
    network.registerMessage(PacketDistributeur.Handler.class, PacketDistributeur.class, 0, Side.SERVER);
    
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event)
    {
    GameRegistry.registerTileEntity(TileEntityDistributeur.class,MODID + ":DistributeurTileEntity");
    FMLCommonHandler.instance().bus().register(new AllEvent());
    MinecraftForge.EVENT_BUS.register(new AllEvent());
    NetworkRegistry.INSTANCE.registerGuiHandler(this.instance, new GuiHandlerTutorial());
    proxy.registerRender();
    
    }
    
    @EventHandler
    public void postInit(FMLPostInitializationEvent event)
    {
    
    }
    }
    
    

    et le client proxy ```java
    package com.mathiasetampes.entreprise.proxy;

    import com.mathiasetampes.entreprise.client.TESRInventoryRenderer;
    import com.mathiasetampes.entreprise.client.TileEntityDistributeurSpecialRenderer;
    import com.mathiasetampes.entreprise.client.TileEntityMoniteurSpecialRenderer;
    import com.mathiasetampes.entreprise.common.TileEntityDistributeur;
    import com.mathiasetampes.entreprise.common.TileEntityMoniteur;

    import cpw.mods.fml.client.registry.ClientRegistry;
    import cpw.mods.fml.client.registry.RenderingRegistry;

    public class ClientProxy extends CommonProxy
    {
    public static int tesrRenderId;
    @Override
    public void registerRender()
    {
    ClientRegistry.bindTileEntitySpecialRenderer(TileEntityDistributeur.class, new TileEntityDistributeurSpecialRenderer());
    ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMoniteur.class, new TileEntityMoniteurSpecialRenderer());
    tesrRenderId = RenderingRegistry.getNextAvailableRenderId();
    RenderingRegistry.registerBlockHandler(new TESRInventoryRenderer());

    }
    }

  • Administrateurs Rédacteurs Moddeurs confirmés

    Je crois que je viens de voir le problème.
    Tu fais un glRotate :
    GL11.glRotatef(180F, 0.0F, 0.0F, 0.0F); // met droit le bloc (par défaut il est à l’envers)

    Mais sur aucun axe. Il me semble qu’il faut mettre 1.0F sur z, à vérifier.


  • malheureusement ce n’est pas çà

  • Administrateurs Rédacteurs Moddeurs confirmés

    C’est le tile entity alors.
    GameRegistry.registerTileEntity(TileEntityDistributeur.class,MODID + “istributeurTileEntity”);

    Tu as enregistré celui du Distributeur mais pas celui du Monitor.


  • effectivement je ne l’avais pas fais mais ce n’est toujours pas çà

  • Administrateurs Rédacteurs Moddeurs confirmés

    Là je ne vois pas d’où vient le problème alors …
    Tu peux m’envoyer un zip de ton dossier src ?


  • ok le voila

  • Administrateurs Rédacteurs Moddeurs confirmés

    J’arrive pas à ouvrir l’archive, ni sur ubuntu, ni sur Windows 😕

  • Moddeurs confirmés Modérateurs

    moi j’ai pu l’ouvrir robin je te le passe par skype si tu veux

    EDIT: on peut l’ouvrir mais elle est corrompu, on peut pas l’extraire


  • oui en fait c’est normal c’est a cause de la façon dont je l’ai zipé : un peu sauvagement . voici une version valide normalement

  • Moddeurs confirmés Modérateurs

    ca ne marche toujours pas, avec quoi zip tu ton dossier?


  • pour pouvoir le transmettre je peut pas transmetre un fichier normal

  • Moddeurs confirmés Modérateurs

    “Avec quoi zip tu ton fichier?”
    tu utilise quel logiciel?


  • un fois manuellement , une fois avec 7 zip

  • Moddeurs confirmés Modérateurs

    bizarre ca ne marche pas, sur ton pc si tu télécharger l’archive ca marche?


  • nan , bizarre lv 3

  • Administrateurs Rédacteurs Moddeurs confirmés

    Peut-être la faute du forum, les pièces jointes on tendance à bug. Essaye avec un hébergeur comme mega et ou mediafire.