Créer comme dans un mmorpg, un système de sorts avec des niveaux pour ces sorts, des équipements qui influent sur les dommages de ces sorts et des caractéristiques qui font elles aussi varier les dommages des sorts.
J'y suis plus ou moins parvenu mais comme vous allez le voir je suis confronté à pas mal de contraintes.
Mon problème :
Le problème principal est la flexibilité et la taille de mon code, à terme, j'aurais environ 120 sorts avec chacun 5 niveaux, des dizaines d'équipements et des centaines de possibilités de caractéristiques (4 voies personnalisables)
Hors, actuellement je suis obligé d'écrire une 50aine de ligne pour un niveau d'un sort avec un équipement et une tranche de caractéristique (si on multiplie par le nombre de sorts, d'équipements et de possibilités, je vous laisse imaginer les milliers de lignes, et ce n'est pas envisageable).
Voici donc mon skript, j'ai essayé de l'expliquer un peu mais je peux détailler si besoin :
on right click with 4704:
if {dmgPression.%player's UUID%} = 0:
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 2
if {cooldownIop1.%player%} isn't set:
set {cooldownIop1.%player%} to now
stop
set {_waitedIop1} to difference between {cooldownIop1.%player%} and now
if {_waitedIop1} is less than 4 seconds:
send "&cTu dois encore attendre %difference between {_waitedIop1} and 4 seconds%"
stop
if distance between the target and player is smaller than 4:
#PRESSION NIVEAU 2
if {pression.lvl2.%player's uuid%} is true: #Si Pression est niveau 2
set {dmgPression.%player's UUID%} to {dmg.%player's UUID%} + 2
if player is wearing helmet: #Si le joueur porte un casque
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 2
if {force.%player's UUID%} is between 10 and 20: #Si la force est entre 10 et 20
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 1
if {Puissance.%player%} is true: #Si Puissance est lancé
damage target by {dmg.%player's UUID%} + 1 hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
else:
damage target by {dmg.%player's UUID%} hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 1
else: #Si la force du joueur n'est pas entre 10 et 20
if {Puissance.%player%} is true: #Si Puissance est lancé
damage target by {dmg.%player's UUID%} + 1 hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
else:
damage target by {dmg.%player's UUID%} hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
set {dmg.%player's UUID%} to {dmg.%player's UUID%} - 1
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} - 2
else: #Si le joueur ne porte pas de casque
if {force.%player's UUID%} is between 10 and 20: #Si la force est entre 10 et 20
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} + 1
if {Puissance.%player%} is true: #Si puissance est lancé
damage target by {dmg.%player's UUID%} + 1 hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
else:
damage target by {dmg.%player's UUID%} hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
set {dmgPression.%player's UUID%} to {dmgPression.%player's UUID%} - 1
else: #Si la force du joueur n'est pas entre 10 et 20
if {Puissance.%player%} is true: #Si puissance est lancé
damage target by {dmg.%player's UUID%} + 1 hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
else:
damage target by {dmg.%player's UUID%} hearts
set {cooldownIop1.%player%} to now
send "Dégâts infligés : &c%{dmg.%player's UUID%}%&c par &c%entity%&c à &c%target%&c"
Je précise que le skript que je viens de vous envoyer (à partir de "PRESSION NIVEAU 2") doit être répété encore 4 fois et que ceci n'est que pour un sort, donc comme vous le voyez c'est trop long et encore, la il n'y a qu'un équipement et qu'une tranche de caractéristique comme je l'ai dit;
Ce que je vous demande c'est donc de m'aider à simplifier tout ça.
Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.
Question
Shyfe
Mon objectif :
Créer comme dans un mmorpg, un système de sorts avec des niveaux pour ces sorts, des équipements qui influent sur les dommages de ces sorts et des caractéristiques qui font elles aussi varier les dommages des sorts.
J'y suis plus ou moins parvenu mais comme vous allez le voir je suis confronté à pas mal de contraintes.
Mon problème :
Le problème principal est la flexibilité et la taille de mon code, à terme, j'aurais environ 120 sorts avec chacun 5 niveaux, des dizaines d'équipements et des centaines de possibilités de caractéristiques (4 voies personnalisables)
Hors, actuellement je suis obligé d'écrire une 50aine de ligne pour un niveau d'un sort avec un équipement et une tranche de caractéristique (si on multiplie par le nombre de sorts, d'équipements et de possibilités, je vous laisse imaginer les milliers de lignes, et ce n'est pas envisageable).
Voici donc mon skript, j'ai essayé de l'expliquer un peu mais je peux détailler si besoin :
Je précise que le skript que je viens de vous envoyer (à partir de "PRESSION NIVEAU 2") doit être répété encore 4 fois et que ceci n'est que pour un sort, donc comme vous le voyez c'est trop long et encore, la il n'y a qu'un équipement et qu'une tranche de caractéristique comme je l'ai dit;
Ce que je vous demande c'est donc de m'aider à simplifier tout ça.
7 réponses à cette question
Messages recommandés