#58599
AshenOne
Participant

Merci de ta réponse

J’avais juste mis en commentaire ce qui ne fonctionnait pas puisque le reste etait ok.

Je ne comprends pas pourquoi on peut passer hero à perso.vie (qui devient donc hero.vie à l’interieur de la fonction) et que ça ne marche pas de passer sword à hero.mainD.arme pour que ça fasse hero.mainD.sword à l’intérieur de la même fonction.
tout est pourtant déclaré.

Voilà à la base ce que je voulais faire :


hero = {}
hero.inventaire = {}
hero.mainD = {}
hero.nom = « Aegon »
hero.vie = 100
hero.vieInit = 100
hero.force = 16
hero.dexterite =14
hero.mainD.sword = 14
hero.inventaire.potion = « soin »

ennemi = {}
ennemi.mainD = {}
ennemi.type = « ogre »
ennemi.nom = « Grak »
ennemi.mainD.masse = 16
ennemi.vie = 210
ennemi.vieInit = 210
ennemi.force = 18
ennemi.dexterite = 8

function Blesse(perso, degat)
perso.vie = perso.vie – degat
end

function Restauration(perso)
perso.vie = perso.vieInit
end

function Hit(perso, arme)
return perso.force + perso.mainD.arme
–local degat = perso.force + perso.mainD.arme
–return degat
end

print(« Vie hero de départ : « ..hero.vie)
print(« Vie ennemi de départ : « ..ennemi.vie)

deg = Hit(hero, sword)
Blesse(hero, deg)

deg = Hit(ennemi, masse)
Blesse(ennemi, deg)

print(« hero blessé : « ..hero.vie)
print(« ennemi bléssé : « ..ennemi.vie)

Restauration(hero)
Restauration(ennemi)

print(« hero vie restaurée : « ..hero.vie)
print(« ennemi vie restaurée : « ..ennemi.vie)