Aller au contenu

Appuyer sur un bouton toutes les 5 secondes


Messages recommandés

Posté(e)

Bonjour,

Je cherche un code skript permettant de faire clique droit sur un bouton mais uniquement toutes les 5 secondes pour éviter le spam.

 

Merci par avance,

Aspeak

Posté(e)

Essaye ça :)

command /antispam <text>: #Il faut viser le bouton
  description: empêche le spam de clic sur un bouton
  usage: /antispam <add/del> #add pour mettre l'antispam sur le bouton visé, del pour le retirer
  executable by: players
  trigger:
    if target block is button: #on vérifie que l'on vise bien un bouton
      if arg 1 is "add":
        loop {antispam.bouton::*}: #on regarde tous les boutons déjà "antispammés"
          if loop-value is equal to location of target block: #si déjà "antispammé..."
            message "&6Antispam déjà activé sur ce bouton"
            stop trigger #...on arrête là
        add location of target block to {antispam.bouton::*} #sinon on continue : on ajoute la position du bouton à la liste...
        message "&6Ce bouton bénéficie maintenant de l'Antispam" #...et on en informe le joueur
      else if arg 1 is "del":
        remove location of target block from {antispam.bouton::*} #pas besoin de vérifier si le bouton est déjà "antispammé", au pire la commande ne supprimer rien
        message "&6Ce bouton ne bénéficie plus de l'Antispam"
    else:
      message "&4N'utilisez cette commande que sur un bouton"


on right click on button:
#on peut cliquer sur plusieurs bouton ayant l'antispam, car la variable du cooldown possède dans son nom la position du bouton cliqué
  set {_waited} to difference between {antispam.bouton.%location of clicked block%.%player%.lastused} and now
  loop {antispam.bouton::*}:
    if loop-value is equal to location of clicked block:
      if {_waited} is less than 5 seconds:
        cancel event #on annule le clic
        message "&4Veuillez attendre %difference between 5 seconds and {_waited}% avant de cliquer de nouveau sur ce bouton" #on informe le joueur du temps d'attente (supprimable)
        stop trigger
      set {antispam.bouton.%location of clicked block%.%player%.lastused} to now #on lance le cooldown
      stop trigger

C'est long, certe, mais il y a même une commande pour choisir quel bouton possède un antispam. Si tu veux pouvoir modifier la durée, ici de 5 secondes, demande-moi et je te fais ça :)

Posté(e)
Essaye ça :)

command /antispam <text>: #Il faut viser le bouton
  description: empêche le spam de clic sur un bouton
  usage: /antispam <add/del> #add pour mettre l'antispam sur le bouton visé, del pour le retirer
  executable by: players
  trigger:
    if target block is button: #on vérifie que l'on vise bien un bouton
      if arg 1 is "add":
        loop {antispam.bouton::*}: #on regarde tous les boutons déjà "antispammés"
          if loop-value is equal to location of target block: #si déjà "antispammé..."
            message "&6Antispam déjà activé sur ce bouton"
            stop trigger #...on arrête là
        add location of target block to {antispam.bouton::*} #sinon on continue : on ajoute la position du bouton à la liste...
        message "&6Ce bouton bénéficie maintenant de l'Antispam" #...et on en informe le joueur
      else if arg 1 is "del":
        remove location of target block from {antispam.bouton::*} #pas besoin de vérifier si le bouton est déjà "antispammé", au pire la commande ne supprimer rien
        message "&6Ce bouton ne bénéficie plus de l'Antispam"
    else:
      message "&4N'utilisez cette commande que sur un bouton"


on right click on button:
#on peut cliquer sur plusieurs bouton ayant l'antispam, car la variable du cooldown possède dans son nom la position du bouton cliqué
  set {_waited} to difference between {antispam.bouton.%location of clicked block%.%player%.lastused} and now
  loop {antispam.bouton::*}:
    if loop-value is equal to location of clicked block:
      if {_waited} is less than 5 seconds:
        cancel event #on annule le clic
        message "&4Veuillez attendre %difference between 5 seconds and {_waited}% avant de cliquer de nouveau sur ce bouton" #on informe le joueur du temps d'attente (supprimable)
        stop trigger
      set {antispam.bouton.%location of clicked block%.%player%.lastused} to now #on lance le cooldown
      stop trigger

C'est long, certe, mais il y a même une commande pour choisir quel bouton possède un antispam. Si tu veux pouvoir modifier la durée, ici de 5 secondes, demande-moi et je te fais ça :)

Bonjour,

Il y a un petit problème avec les espaces. Je veux bien sur tu mette le code sur un document .sk et que tu me l'envoi stp

Posté(e)
Pas de soucis :) Voici le fichier :

(Un petit j'aime si ça t'as aidé ? ^^)

Merci.

 

Essaye ça :)

command /antispam <text>: #Il faut viser le bouton
  description: empêche le spam de clic sur un bouton
  usage: /antispam <add/del> #add pour mettre l'antispam sur le bouton visé, del pour le retirer
  executable by: players
  trigger:
    if target block is button: #on vérifie que l'on vise bien un bouton
      if arg 1 is "add":
        loop {antispam.bouton::*}: #on regarde tous les boutons déjà "antispammés"
          if loop-value is equal to location of target block: #si déjà "antispammé..."
            message "&6Antispam déjà activé sur ce bouton"
            stop trigger #...on arrête là
        add location of target block to {antispam.bouton::*} #sinon on continue : on ajoute la position du bouton à la liste...
        message "&6Ce bouton bénéficie maintenant de l'Antispam" #...et on en informe le joueur
      else if arg 1 is "del":
        remove location of target block from {antispam.bouton::*} #pas besoin de vérifier si le bouton est déjà "antispammé", au pire la commande ne supprimer rien
        message "&6Ce bouton ne bénéficie plus de l'Antispam"
    else:
      message "&4N'utilisez cette commande que sur un bouton"


on right click on button:
#on peut cliquer sur plusieurs bouton ayant l'antispam, car la variable du cooldown possède dans son nom la position du bouton cliqué
  set {_waited} to difference between {antispam.bouton.%location of clicked block%.%player%.lastused} and now
  loop {antispam.bouton::*}:
    if loop-value is equal to location of clicked block:
      if {_waited} is less than 5 seconds:
        cancel event #on annule le clic
        message "&4Veuillez attendre %difference between 5 seconds and {_waited}% avant de cliquer de nouveau sur ce bouton" #on informe le joueur du temps d'attente (supprimable)
        stop trigger
      set {antispam.bouton.%location of clicked block%.%player%.lastused} to now #on lance le cooldown
      stop trigger

C'est long, certe, mais il y a même une commande pour choisir quel bouton possède un antispam. Si tu veux pouvoir modifier la durée, ici de 5 secondes, demande-moi et je te fais ça :)

As-tu testé le skript car il n'a pas l'air de fonctionner ?

Posté(e)

Oui je l'ai testé, et chez moi il marche :(

J'utilise SkQuery en plus de Skript, ça viens peut-être de là ^^

Envoie moi un screenshot des erreurs, ça m'aidera à voir d'où viennent tes problemes :)

Posté(e)
Oui je l'ai testé, et chez moi il marche :(

J'utilise SkQuery en plus de Skript, ça viens peut-être de là ^^

Envoie moi un screenshot des erreurs, ça m'aidera à voir d'où viennent tes problemes :)

Qu'est-ce que SkQuery ?

Posté(e)

C'est un add-on de skript, c'est à dire qu'il ajoute de nouvelles commandes, de nouvelles expression, ... Donc si j'ai utilisé une commande de SkQuery dans mon code et que toi tu n'utilise que skript, c'est normal que ça ne marche pas.

C'est pour vérifier cela que je te demande de m'envoyer les erreur ou les problème que tu as en te servant de mon code :)

 

EDIT : lien de téléchargement et de la doc (anglaise) de SkQuery

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