1 votes

Message du serveur Minecraft

Je viens de créer un serveur Minecraft vanilla 1.10.2 et je veux que le serveur envoie un message personnalisé toutes les 30 minutes et, si possible, efface également tous les objets abandonnés. Merci.

1voto

QunSyBer Points 445

Tout d'abord, fixez un objectif :

/scoreboard objectives add time dummy

Ensuite, sur un bloc de commande répétitif toujours actif, ayez la commande suivante :

/scoreboard players add Timer time 1

Sur un bloc de commande en chaîne qui en sort :

/scoreboard players test Timer time 36000

Le 36000 est le résultat de 20 (ticks) * 60 (secondes) * 30 (minutes).

Ensuite, il y a un bloc de commande de chaîne conditionnelle qui sort de ce bloc de commande :

/tellraw @a {"text":"whatever you want"}

Et une autre chaîne conditionnelle pour l'item clear :

/kill @e[type=Item]

Enfin, le score de temps doit être remis à zéro avec un bloc de commande de chaîne conditionnelle :

/scoreboard players reset Timer time

1voto

Nataraj Points 1

J'ai écrit un script qui fait exactement cela comme une de ses fonctions.

https://github.com/Veritas83/Minecraft.SNAPSHOT.Commands.Mod

Voici le code que j'ai utilisé pour faire ce que vous demandez. Vous pouvez désactiver toutes les fonctions du script et utiliser uniquement cette fonction dans la configuration :)

Dans la configuration, assurez-vous que useautoclear est vrai

Pour une minuterie de 30 minutes, autoclearint à 1800.

Adaptez le reste de la configuration à vos besoins. Définissez votre propre MOTD et votre ligne de commande pour démarrer votre serveur.

##
#Timed Functions
##
if useautosave == True and ((currtime - lasttimesave) > autosaveint):
    lasttimesave = time.time()
    autosave = "save-all\n"
    print "[" + get24hrtime() + "] [Script thread/EXEC]: " + autosave,
    p.stdin.write(autosave)
    autosave = 'tellraw @a {"text":"World saved. Autosave by ' + ver + '","color":"yellow"}\n'
    print "[" + get24hrtime() + "] [Script thread/EXEC]: " + autosave,
    p.stdin.write(autosave)
if useautoclear == True and ((currtime - lasttimeclear) > (autoclearint-60)):
    if clearwarn60 == False:
        if ((currtime - lasttimeclear) > (autoclearint-60)):
            autoclear = 'tellraw @a {"text":"Clearing Items in 1 minute!","color":"aqua"}\n'
            clearwarn60 = True
            print "[" + get24hrtime() + "] [Script thread/EXEC]: " + autoclear,
            p.stdin.write(autoclear)
    if clearwarn10 == False:
        if ((currtime - lasttimeclear) > (autoclearint-10)):
            autoclear = 'tellraw @a {"text":"Clearing items in 10 seconds!","color":"aqua"}\n'
            clearwarn10 = True
            print "[" + get24hrtime() + "] [Script thread/EXEC]: " + autoclear,
            p.stdin.write(autoclear)
if useautoclear == True and ((currtime - lasttimeclear) > autoclearint):
    lasttimeclear = time.time()
    autoclear = "kill @e[type=Item]\n"
    print "[" + get24hrtime() + "] [Script thread/EXEC]: " + autoclear,
    p.stdin.write(autoclear)
    autoclear = 'tellraw @a {"text":"Items cleared. Autoclear by ' + ver +  '","color":"aqua"}\nlist\n'
    p.stdin.write(autoclear)
    clearwarn60 = False
    clearwarn10 = False

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X