Une sorte de "familié"
-
j’avance sur le familier maintenant la classe de mon familier resemble à sa
http://pastebin.com/BHP8S0CJ -
Il reste beaucoup d’erreurs, voilà une partie de celles que j’ai trouvé :
- ligne 321 : VERIFICATION -> verification sinon non-respect de la convention java
- ligne 376 : isWolfsFavoriteMeat() -> un autre nom de fonction serait plus adapté car ce n’est pas un loup
- ligne 70 : Tamed -> tamed non-respect de la convention java
- ligne 414 à 418 : pourquoi 40 mille fonctions pour mettre le niveau ?!
- ligne 484 : fonction inutile
- ligne 349 : y’a des problèmes de condition dans cette fonction, je sais pas vraiment ce que tu veux faire
Il y a sûrement d’autres erreurs mais voici les erreurs majeurs
-
Merci Scarex pour ta réponse
ligne 321 [size=small-> je l’ai enlevé et juste pour voir le lvl et le Tamed du familiar j’ai fait un system.out.println x)]
[size=smallligne 376 -> j’ai modifié sa ]
[size=smallligne 70 -> je l’ai pas encore fait ]
[size=smallligne 414 à 418 -> je l’ai corrigé]
[font=Ubuntu, sans-serifligne 484 -> supprimé ]
[font=Ubuntu, sans-serifligne 349 -> pas encore réglé ] -
Pour changer les noms : sélectionne le nom voulut fait Alt + shift + r, tape le nouveau puis entrée et ta variable a le même partout pareil
-
Merci pour l’astuce je vais le faire de suite
-
Voici ma classe actuel j’ai modifié quelque truc
http://pastebin.com/fr3PbM8T -
Je vois pas de changement avec l’ancienne classe…
-
ah oui Excuse je viens de modifié sa
-
Il faut que tu revois toutes tes conditions : à un moment tu regardes si la fonction est exécutée côté serveur, puis tu mets un “else if” dans lequel tu accèdes à l’inventaire du joueur côté client (à cause de la condition précédente), ça n’a aucun sens.
-
re
Excuse sa fesait longtemps que je suis pas allé sur le codage ^^
bon en gros c’est ce genre de conditions qui géne ?if (this.func_152114_e(p_70085_1_) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { this.aiSit.setSitting(!this.isSitting()); this.isJumping = false; this.setPathToEntity((PathEntity) null); this.setTarget((Entity) null); this.setAttackTarget((EntityLivingBase) null); }
???
-
Celle-ci : (ligne 425)
if (!this.worldObj.isRemote) { if (this.rand.nextInt(3) == 0) { System.out.println("TEST" + this.isTamed()); this.lvl = 2; this.setTamed(); this.isTamed(); System.out.println(lvl); this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLivingBase) null); this.aiSit.setSitting(true); this.func_152115_b(p_70085_1_.getUniqueID().toString()); this.playTameEffect(true); this.worldObj.setEntityState(this, (byte) 7); } else { this.playTameEffect(false); this.worldObj.setEntityState(this, (byte) 6); } } else if (itemstack != null && itemstack.getItem() == enderdeath.RubisCroquette && this.isTamed() && this.lvl == 2) { System.out.println("GAGNE"); if (!p_70085_1_.capabilities.isCreativeMode) { –itemstack.stackSize; } if (itemstack.stackSize <= 0) { p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack) null); } if (!this.worldObj.isRemote) { if (this.rand.nextInt(3) == 0) { this.setPathToEntity((PathEntity) null); this.setAttackTarget((EntityLivingBase) null); this.aiSit.setSitting(true); System.out.println("GAGNE"); this.lvl = 3; this.func_152115_b(p_70085_1_.getUniqueID().toString()); this.playTameEffect(true); this.worldObj.setEntityState(this, (byte) 7); this.setTamed(); } else { this.playTameEffect(false); this.worldObj.setEntityState(this, (byte) 6); } if (itemstack != null && itemstack.getItem() == enderdeath.SkinFire && this.isTamed()) { this.Chanchelog(); this.onParticuleFire(); } } }
-
Merci je m’y met de suite
-
je reprend le codage j’avais arrête le pc depuis une semaine
sa fait du bien d’étre de retour x) -
Re Donc voilà mon code ma volonté pour le mob c’est un peu modifié le vous laisse voir avec le codage mon problème actuelle
c’est que je veux bloqué à partir du lvl 10 qu’on on peut pas donné la gold croquette et qu’après on donne la rubis croquette pour arrivé au lvl 20 et après ectMon code
http://pastebin.com/FHrvv3F2Ps:
j’ai laissé tombé de modifié la condition toute ce que j’ai fais ses passé à l’échec:::
Excuse pour les fautes
:::Merci de vos réponse
-
Ligne 338, 339 -> à quoi servent ces variables ?
ligne 417 -> à quoi sert cette méthode et elle droit commencer par une minuscule pour respecter la convention java.
Je suppose que ta gold croquette et rubis croquette sont extends Croquette odnc tu as juste à faire une condition pour chaque, où est le problème ?
-
oui pour les niveau c’est enfin réglé
Merci beaucoup à toi
ensuite j’ai un autre problème voilà comme ce codagepublic void setAttackTarget(EntityLivingBase p_70624_1_) { super.setAttackTarget(p_70624_1_); if (p_70624_1_ == null) { this.setAngry(false); } else if (!this.isTamed()) { this.setAngry(true); } else if (this.lvl == 1) { this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 1)); System.out.println("Test"); } else if (this.lvl == 3) { this.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 210, 2)); } }
mais le problème est la l’entity n’attaque pas correctement (sa ne lui donne pas l’effet de potion)
-
La fonction est bien appelée ?
-
Tu es bien sur que l’entité est tamed ? Car avec tes else if, la potion de sera pas ajouté si l’entité n’est pas tamed.
-
Excuse xD mon entity était pas tamed
bon mais j’ai plusieurs problème quand j’éssaye de faire sa this.getEntityAttribute(SharedMonsterAttributes.attackdamage).setBaseValue(8D); sa crashet
de 2 j’aimerais que quand il monte d’un lvl sa fait une augmentation automatique des pv,vitesse,attaque par exemple ses pv au niveau 1 sont 60 et au niveau 2 70 et au niveau 3 80 sans que je fais ce genre de condition
if (this.lvl == 1) { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); } if (this.lvl == 2) { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(110.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.57D); } if (this.lvl == 3) { this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(120.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.589D); }
car c’est chiant de faire à chaque fois
Merci de vost réponse
-
De 1) vérifie que ce soit soit après que la fonction entityInit() ait été appelée, soit après super.entityInit() dans la fonction entityInit() de ton entitée (les attributs sont “attribués” dans les superclasses (la classes que tu extends + l’extends de la classe que tu extends + etc) dans leur fonction entityInit();).
De 2) laViePourUnNiveau = laVieDeBase + augmentationParNiveau^leNiveau; qui est la même chose que
laViePourUnNiveau = laVieDeBase + leNiveau * (augmentationParNiveau * augmentationParNiveau);