BoBsmil3Y Posté(e) le 31 juillet 2018 Posté(e) le 31 juillet 2018 Bonjour à tous, J'aimerais un skript qui donne aux joueurs quand ils sont à mon spawn un effet de speed 2 et d'absorbtion 2 aussi. Ce serait une loop toutes les 4 secondes, qui ne passe pas par une commande pour ne pas flood ma console. Merci à ceux qui me porteront de l'aide ? Skript : 2.2 dev 37c Spigot : 1.12.2 Cordialement, Me
MrKyh12 Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 (modifié) every 4 seconds: loop all players: if loop-player is in world "spawn": apply speed 2 to loop-player for 999 days apply absorption 2 to loop-player for 999 days else: remove speed from loop-player remove absorption from loop-player Modifié le 1 août 2018 par MrKyh12 1
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 (modifié) Bonjour ! Déjà merci à vous deux ! ? @MrKyh12 j'avais fait exactement le même code sauf que j'avais une erreur, et je viens de me rendre compte de celle-ci, j'avais mis apply speed 2 to player for 4 seconds #Au lieu de apply speed 2 to loop-player for 4 seconds #L'erreur était qu'il n'y a pas de joueur dans une période mais je ne comprennais pas ^^' @Kilterra Après je sais pas, si j'ai une 30aine de joueurs le region enter est plus optimisé, je sais pas du tout, possible, ce serait logique mais je pense qu'une boucle de 4 secondes ne devrait pas faire bug. Mais je garde ton code de coté au cas où merci aussi ? Je conclus donc ce topic sur le code final : every 4 seconds: loop all players: if loop-player is in world "spawn": #Pas besoin de mettre de else si apply speed 2 to loop-player for 4 seconds #ici tu mets le temps de la loop :) apply absorption 2 to loop-player for 4 seconds #De plus l'effet "clignotait" et n'était pas continue. Merci de m'avoir aidé ? - Thema geschlossen les modos Modifié le 1 août 2018 par BoBsmil3Y
Wildteams Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 (modifié) Salut, Tu as plus simple que de passer par une loop, si tu n'as pas worldguard et worldedit télécharge les, créer une région qui fait tout ton spawn avec worldguard et après tu mes sa dans ton skript: on region enter: wait 3 ticks if "%region at player%" contains "spawn": make console execute command "/effect %player% jump_boost 2 99999 true" on region leave: wait 3 ticks if "%region at player%" contains "spawn": make console execute command "/effect %player% clear" on damage: wait 3 ticks if "%region at victim%" contains "spawn": cancel event Il n'y as pas de absorption car j'ai désactiver les dégats dans la région, et je ne suis pas passer par: apply <effect> car avec /effect %player% j'ai désactiver les particules, ce qui fait plus propre. EDIT: J'avais pas vus la réponse il falait que je refresh dsl, Si tout est bon passe le sujet en résolus Modifié le 1 août 2018 par Wildteams
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Salut, merci de ton aide. J'ai effectivement WE et WG, après je n'aime pas utiliser make console execute command "/effect %player% jump_boost 2 99999 true Car on le voit dans les logs ^^ Le on damage pas besoin avec les flags comme tu as dit, mais sinon oui ça peut être pas mal, après comme j'ai dis qu'est ce qui bug le plus ? de check toutes les 4 secondes ou à chaque fois qu'un joueur change de zone ? ^^ Sachant que j'ai des zones VIP avec pour chaque mine des restrictions de groupes etc... fin j'ai beaucoup de zone et une commu' de 20 à 30 joueurs des fois, donc ça change rien je pense les deux ^^
Wildteams Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 (modifié) Salut, Je ne sais pas trop le quel fait le plus bug, après sinon tu as multiverse-core ? Pour les problèmes de loop et region sa serait régler, tu auras juste as faire: on teleport: world of player is "spawn" apply jump_boost etc. on damage: world of player is "spawn" cancel event Modifié le 1 août 2018 par Wildteams
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 J'ai, mais si tu es au spawn quand tu arrives, tu ne l'as pas ?
Wildteams Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Tu dois juste rajouté: on join: world of player is "spawn" apply jump_boost etc.
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Oui mais la loop ça évite beaucoup de ligne de code ?
Wildteams Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 (modifié) Comme tu veut, mais si ton problème est résolus passe le topic en résolus ? Modifié le 1 août 2018 par Wildteams
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 Il est résolu mais on ne peut pas mettre en résolu avec le nouveau fofo :c
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 (modifié) ? Stop on spam ceux qui ont participé au topic ^^ Merci de vos aides en tout cas tout le monde ? Modifié le 1 août 2018 par BoBsmil3Y
noftaly Posté(e) le 1 août 2018 Posté(e) le 1 août 2018 Beaucoup ou pas beaucoup de lignes de code ca change rien, c'est pas parce que un code a 10lignes de plus qu'il sera moins optimisé, au contraire tu as l'exemple sous les yeux. Le every 4 seconds loop all players est embêtant (si tu as beaucoup de joueurs sur ton serveur)... De manière générale les everys X sont a évités, encore plus quand ils sont accompagnés d'un loop juste après. 1
BoBsmil3Y Posté(e) le 1 août 2018 Auteur Posté(e) le 1 août 2018 (modifié) Je le sais bien que la taille du code ne veut rien dire, mais ce que je voulais dire par là c'est qu'il est plus rapide et simple. Je suis pour l'instant dans le rush je me pencherais plus en détails sur le sujet et changerais le script avec ce qu'on a pu me donner plus tard ? (D’où la demande de script d'ailleurs ? ) Mais merci de ta remarque, j'en prends compte j'avais oublié que les loop étaient pas forcément optimisé, ou plutôt légère ^^" Modifié le 1 août 2018 par BoBsmil3Y
Messages recommandés