Résolu Un fire rate
-
Salut
Je développe un mod comprenant un fusil, mais le fusil à juste un fire rate juste énorme, une machine gun quoi ^^
Voilà ma question : Comment tirer toute les deux secondes une balle ?
Merci
-
Pourrais-tu nous donner la classe de ton fusil stp?
-
@‘mindany2’:
Pourrais-tu nous donner la classe de ton fusil stp?
package com.multi7200.tam.weapons; import com.multi7200.tam.TribesAscendMod; import com.multi7200.tam.entity.EntityDisk; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntitySnowball; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class TALightSpinfusor extends Item { public TALightSpinfusor() { } public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) { if(!world.isRemote) { world.spawnEntityInWorld(new EntityDisk(world, entityplayer)); } return itemstack; } }
L’entité de mon projectile :
package com.multi7200.tam.entity; import net.minecraft.entity.EntityLiving; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class EntityDisk extends TribesProjectileEntityBase { public EntityDisk(World par1World) { super(par1World); } public EntityDisk(World par1World, EntityLivingBase par2EntityLiving) { super(par1World, par2EntityLiving); } public EntityDisk(World par1World, double par2, double par4, double par6) { super(par1World, par2, par4, par6); } @Override protected void onImpact(MovingObjectPosition var1) { super.onImpact(var1); } public void onUpdate() { super.onUpdate(); } }
-
Je dis ça de tête mais essaye avec un
int timer; public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { ++timer; } public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) { if(!world.isRemote && timer>=40) { world.spawnEntityInWorld(new EntityDisk(world, entityplayer)); time = 0; } return itemstack; }
-
@‘mindany2’:
Je dis ça de tête mais essaye avec un
int timer; public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, int par4, boolean par5) { ++timer; } public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) { if(!world.isRemote && timer>=40) { world.spawnEntityInWorld(new EntityDisk(world, entityplayer)); } return itemstack; }
Bon j’ai rajouté un timer = 0; à la fin et ça marche très bien ! Merci pour tout.
(EDIT : Je n’avais pas vu le timer = 0; que t’avais mis )
-
Non, puisqu’il est remit à 0 quand tu tire.
-
?
Tu cliques : si le timer est + de 2 secs ça tire et ça remet le compteur à 0 sinon non -
Oui excuser moi, j’avais pas vu ^^
-
Résolu ?