Aller au contenu
  • 0

Mathématiques dans Skript


Question

Posté(e) (modifié)

Bonjour,
J'ai créé une formule qui permettra de calculer le nombre de points qui devront être attribués à un joueur à la fin de la partie, ma formule est la suivante:
 

[KILLS]*1,25-[DEATHS]+[EGG.DESTROY]*5,7+[PLAY.TIME]*1,3
{kills.%player%}*1,25-{deaths.%player%}+{egg.destroy.%player%}*5,7+{play.time.%player%}*1,3

J'ai déjà essayé ceci :
 

add 1,25*{kills.%loop-value%} to {_calc1}
remove {deaths.%loop-value%} from {_calc1} 
add 5,70*{equip.eliminated.%loop-value%} to {_calc1}
add 1,30*{playtime.rush.%loop-value%} to {_calc1}
set {points.%loop-value%} to {_calc1}
broadcast "{points.%loop-value%}"

OU

set {_calc1} to "%{kills.%loop-value%}% ..."
set {_calc2} to "..."
...

Mais une erreur s'affiche dans la console disant que ce sont des addons qui provoquent l'erreur:

[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! [Skript] Severe Error:
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Something went horribly wrong with Skript.
[19:28:36 ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either.
[19:28:36 ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons).
[19:28:36 ERROR]: #!#! Here is full list of them:
[19:28:36 ERROR]: #!#! RollbackCore skRayFall (https://sk.rayfall.net/) SkQuery Skellett (https://forums.skunity.com/resources/skellett-the-addon-with-a-beast-name.24/)
[19:28:36 ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue.
[19:28:36 ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it.
[19:28:36 ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue.
[19:28:36 ERROR]: #!#! In that case, you will be given instruction on how should you report it.
[19:28:36 ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin.
[19:28:36 ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker.
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Stack trace:
[19:28:36 ERROR]: #!#! java.lang.NullPointerException
[19:28:36 ERROR]: #!#!     at ch.njol.skript.lang.Variable.change(Variable.java:590)
[19:28:36 ERROR]: #!#!     at ch.njol.skript.effects.EffChange.execute(EffChange.java:284)
[19:28:36 ERROR]: #!#!     at ch.njol.skript.lang.Effect.run(Effect.java:52)
[19:28:36 ERROR]: #!#!     at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:61)
[19:28:36 ERROR]: #!#!     at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:89)
[19:28:36 ERROR]: #!#!     at ch.njol.skript.effects.Delay$1.run(Delay.java:109)
[19:28:36 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:84)
[19:28:36 ERROR]: #!#!     at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:449)
[19:28:36 ERROR]: #!#!     at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1010)
[19:28:36 ERROR]: #!#!     at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
[19:28:36 ERROR]: #!#!     at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:940)
[19:28:36 ERROR]: #!#!     at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:837)
[19:28:36 ERROR]: #!#!     at java.lang.Thread.run(Unknown Source)
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Version Information:
[19:28:36 ERROR]: #!#!   Skript: 2.4-alpha3 (latest)
[19:28:36 ERROR]: #!#!     Flavor: skriptlang-github
[19:28:36 ERROR]: #!#!     Date: 2019-06-04
[19:28:36 ERROR]: #!#!   Bukkit: 1.13.2-R0.1-SNAPSHOT
[19:28:36 ERROR]: #!#!   Minecraft: 1.13.2
[19:28:36 ERROR]: #!#!   Java: 1.8.0_211 (Java HotSpot(TM) 64-Bit Server VM 25.211-b12)
[19:28:36 ERROR]: #!#!   OS: Windows 10 amd64 10.0
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Server platform: Paper
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Current node: null
[19:28:36 ERROR]: #!#! Current item: add ([[long:1]] and [[long:25]] * {kills.%loop-value%}(as java.lang.Number))[class java.lang.Object] to {_calc1}(as java.lang.Object)
[19:28:36 ERROR]: #!#! Current trigger: every 2 seconds (every 2 seconds) (rush.sk, line 280)
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Thread: Server thread
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! Language: english
[19:28:36 ERROR]: #!#! Link parse mode: DISABLED
[19:28:36 ERROR]: #!#!
[19:28:36 ERROR]: #!#! End of Error.
[19:28:36 ERROR]: #!#!

 Skript version 2.4-alpha3
git-Paper-624 (MC: 1.13.2) (Implementing API version 1.13.2-R0.1-SNAPSHOT)

Avez-vous des idées pour faire un calcul dans ce genre (j'ai déjà essayé de chercher des addons sans succès) ? Ou sinon avez-vous d'autres formules plus complètes et équitables afin d'attribuer des points au joueur ? Tout m'intéresse quelque soit votre commentaire en espérant que vous ayez des réponses 😉
Merci d'avance à tous ceux qui voudront m'aider !
Bonne soirée

Modifié par Romitou_

5 réponses à cette question

Messages recommandés

  • 0
Posté(e)

alors je ne suis pas sur, mais il me semble que tu dois mettre un espace entre chaque symboles et variables, comme ceci :

{kills.%player%} * 1,25 - {deaths.%player%} + {egg.destroy.%player%} *5,7 + {play.time.%player%} * 1,3

Voilà n'hésite pas à faire un retour si cela ne marche toujours pas où au moins si tu as quelques changements au niveau de ta console ^^

  • J'aime 1
  • 0
Posté(e)
il y a 11 minutes, Uuraniumm_PROD a dit :

alors je ne suis pas sur, mais il me semble que tu dois mettre un espace entre chaque symboles et variables, comme ceci :


{kills.%player%} * 1,25 - {deaths.%player%} + {egg.destroy.%player%} *5,7 + {play.time.%player%} * 1,3

Voilà n'hésite pas à faire un retour si cela ne marche toujours pas où au moins si tu as quelques changements au niveau de ta console ^^

J'avais déjà essayé cette combinaison mais il y a une erreur du plugin Skript/PaperSpigot (pas en faisant /sk reload) qui dit que il y a max 40 caractères dans les calculs. Je vais réessayer dans la journée, merci pour ton aide je te redis, merci beaucoup 🙂

  • 0
Posté(e)
il y a 58 minutes, Uuraniumm_PROD a dit :

alors je ne suis pas sur, mais il me semble que tu dois mettre un espace entre chaque symboles et variables, comme ceci :


{kills.%player%} * 1,25 - {deaths.%player%} + {egg.destroy.%player%} *5,7 + {play.time.%player%} * 1,3

Voilà n'hésite pas à faire un retour si cela ne marche toujours pas où au moins si tu as quelques changements au niveau de ta console ^^

les espaces sont facultatif pour les expressions mathématiques.

 

Sinon essaye de mettre des points plutôt que des virgules pour les nombres décimaux.

  • Merci 1
  • 0
Posté(e)
il y a 8 minutes, noftaly a dit :

les espaces sont facultatif pour les expressions mathématiques.

 

Sinon essaye de mettre des points plutôt que des virgules pour les nombres décimaux.

Super, ça a fonctionné, il suffisait de mettre des points effectivement 😂
Désolé d'avoir créé une demande "inutile" mais je pense que ça va aider d'autres étourdis comme moi ... 😉
Bonne journée à vous deux, merci de m'avoir éclairé !

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...

Information importante

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.