Aller au contenu
  • 0

Problème avec le "every 1 second"


Question

Posté(e)

Bonjour, je ne comprend pas, je met :

every 1 second:
   delete {cps.%player%}

 

jusqu’à la rien d'alarmant mais il me met comme erreur :

 

There's no world in a periodic event if no world is given in the event (e.g. like 'every hour in "world"') (skverif.sk, line 52: delete {cpss.%player%}')

 

en gros, il me dit que je peut pas mêtre le %player% dans une action periodique (every ...) j'ai essayé sans et sa fonctionne, mais pour calculé le nombre de cps, obligé de reset la variable de cps de chaque joueurs toute les seconds ! Donc dite moi si sa vous fait le même, ou si vous avez une alternative (j'ai essayé every 10 ticks mais sa marche pas non plus.

 

Cdlt REDox

 

Ps: Je m'ecuse pour les fautes, mais l'orthographe c'est pas ma tasse de thé :D

14 réponses à cette question

Messages recommandés

  • 0
Posté(e)

En effet l'évènement 'every x seconds' n'est pas provoqué par un joueur en particulier, tu ne peux donc pas utiliser de '%player%' dans cette évènement. Le plus simple est de loop tout les joueurs comme ceci:

every 1 seconds:
   loop all players:
       delete {cps.%loop-player%}

Je n'ai pas testé, mais normalement ça fonctionne

  • 0
Posté(e)
En effet l'évènement 'every x seconds' n'est pas provoqué par un joueur en particulier, tu ne peux donc pas utiliser de '%player%' dans cette évènement. Le plus simple est de loop tout les joueurs comme ceci:
every 1 seconds:
   loop all players:
       delete {cps.%loop-player%}

Je n'ai pas testé, mais normalement ça fonctionne

Non du tout le problème ne vient pas de la.. C'est juste que ta commande n'est pas effectué par un joueur donc que le monde du lieu de commande n'est pas spécifié, pour y remédier il faut changer ta première ligne de code par ca :

every 1 seconds in "world":  #change world par le nom de ton monde

  • 0
Posté(e)
ta commande n'est pas effectué par un joueur

Où Skript trouverai donc le joueur demandé comme dans le code donné par @REDox1248 ?

Car par exemple dans l'évènement "on chat", l'expression %player% représente le joueur ayant dit le message, dans l'évènement "on break", c'est le joueur qui a cassé le bloc, et ainsi de suite : %player% représente le joueur qui a provoqué l'évènement.

Or dans un "every x seconds", même avec 'in world "world"' en plus, l'évènement est lancé à partir de l'horloge interne du serveur, et non à cause d'un joueur en particulier. C'est pourquoi l'expression %player% ne peut pas y être utilisé.

Je pense que tu as mal lu la demande d'aide ainsi que le code fautif :)

 

[ATTACH=full]5771[/ATTACH]

  • 0
Posté(e)
Où Skript trouverai donc le joueur demandé comme dans le code donné par @REDox1248 ?

Car par exemple dans l'évènement "on chat", l'expression %player% représente le joueur ayant dit le message, dans l'évènement "on break", c'est le joueur qui a cassé le bloc, et ainsi de suite : %player% représente le joueur qui a provoqué l'évènement.

Or dans un "every x seconds", même avec 'in world "world"' en plus, l'évènement est lancé à partir de l'horloge interne du serveur, et non à cause d'un joueur en particulier. C'est pourquoi l'expression %player% ne peut pas y être utilisé.

Je pense que tu as mal lu la demande d'aide ainsi que le code fautif :)

 

[ATTACH=full]5771[/ATTACH]

Ah ouais surement désolé x)

  • 0
Posté(e)

Merci bcp c'est une bonne idée... du moins c’était une bonne idée jusqu’à ce que je continu mon code et le problème est que je veut recup le nombre de cps dans un gui, dans une lore, mais le problème c'est que pour avoir le bon joueur, je suis obligé de mètre "%target player%, mais la, çà block car skript fait une différence entre "{clicks.%target player%}" et "{cps.%loop-player%}

Voici le code:

Ps: j'ai déjà essayé de mètre loop player a la place de target player, mais il me dit qu'il y a pas de joueurs qui sont loop et quand je rajoute un loop all player, çà marche pas non plus....

 

On left click:
   loop all players:
       add 1 to {cps.%loop-player%}

every 1 seconds:
   loop all players:
       delete {cps.%loop-player%}

on right click on a player with name tag:
   wait 2 ticks
   open chest with 3 rows named "&6Info du joueur >> &2%target player%" to player
   format slot 1 of player with iron sword named "&6&lClique par secondes" with lore "&aCPS: %{clicks.%target player%}%" to close

  • 0
Posté(e)

Je ne comprends pas très bien mais bon voilà un code "amélioré" je pense :):

 

On left click:
   add 1 to {cps.%player%}

every 1 seconds:
   loop all players:
       delete {cps.%loop-player%}

on right click on a player with name tag:
   set {_target} to target of player
   wait 2 ticks
   open chest with 3 rows named "&6Info du joueur >> &2%{_target}%" to player
   format slot 1 of player with iron sword named "&6&lClique par secondes" with lore "&aCPS: %{cps.%{_target}%}%" to close

  • 0
Posté(e)
Je ne comprends pas très bien mais bon voilà un code "amélioré" je pense :):

 

On left click:
   add 1 to {cps.%player%}

every 1 seconds:
   loop all players:
       delete {cps.%loop-player%}

on right click on a player with name tag:
   set {_target} to target of player
   wait 2 ticks
   open chest with 3 rows named "&6Info du joueur >> &2%{_target}%" to player
   format slot 1 of player with iron sword named "&6&lClique par secondes" with lore "&aCPS: %{cps.%{_target}%}%" to close

 

C'est plus qu’amélioré, mrc bcp !

 

Je sais que je suis chiant donc du-coup je me demandé si c’était possible d'actualisé automatiquement le GUI 1 tick avant de delete la variable {cps.%loop-player%} Si qq aurait une idée... Merci bcp @KyloRen3600 et mrc d'avence aux autres ^^

  • 0
Posté(e)

on right click on a player with name tag:
   set {_target} to target of player
   set {_gui} to true
   wait 2 ticks
   open chest with 3 rows named "&6Info du joueur >> &2%{_target}%" to player
   loop 2000 times:
       if {_gui} is set:
           wait 1 tick
           format slot 1 of player with iron sword named "&6&lClique par secondes" with lore "&aCPS: %{cps.%{_target}%}%" to close
       else:
           stop loop

 

Je ne sais pas si ça marche ......

  • 0
Posté(e)
on right click on a player with name tag: set {_target} to target of player wait 2 ticks open chest with 3 rows named "&6Info du joueur >> &2%{_target}%" to player loop 2000 times: if {_gui} is set: wait 1 tick format slot 1 of player with iron sword named "&6&lClique par secondes" with lore "&aCPS: %{cps.%{_target}%}%" to close else: stop loop

 

enfaite, tu ne set a aucun moment le {_gui} ducoup sa s'affiche pas et il faut detecté quand on quitte le GUI pour unset le {_gui}

  • 0
Posté(e)

Tu n'as pas bien vu j ai édité mon poste juste après et j ai défini la variable.

Pour info normalement si tu met un "_" dans ta variable, elle sera supprimée après l'événement. Elle est locale.

  • 0
Posté(e)
Tu n'as pas bien vu j ai édité mon poste juste après et j ai défini la variable.

Pour info normalement si tu met un "_" dans ta variable, elle sera supprimée après l'événement. Elle est locale.

ouai tkt je savais, mais j'avais pas vu :p

×
×
  • 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.