diff --git a/_de/players/chat.md b/_de/players/chat.md index d6a18d4..a85652e 100644 --- a/_de/players/chat.md +++ b/_de/players/chat.md @@ -7,20 +7,20 @@ description: Registrierung eines Chatbefehls und Behandlung von Chatnachrichten redirect_from: /de/chapters/chat.html cmd_online: level: warning - title: Offline players can run commands - message:

A player name is passed instead of a player object because mods - can run commands on behalf of offline players. For example, the IRC - bridge allows players to run commands without joining the game.

+ title: Offline-Spieler können Befehle ausführen + message:

Ein Spielername wird anstelle eines Spielerobjekts übergeben, da Mods + Befehle im Namen von Offline-Spielern ausführen können. Zum Beispiel erlaubt die IRC- + Brücke den Spielern, Befehle auszuführen, ohne dem Spiel beizutreten.

-

So make sure that you don't assume that the player is online. - You can check by seeing if

minetest.get_player_by_name
returns a player.

+

Stellen Sie also sicher, dass Sie nicht davon ausgehen, dass der Spieler online ist. + Du kannst überprüfen, ob

minetest.get_player_by_name
einen Spieler liefert.

cb_cmdsprivs: level: warning - title: Privileges and Chat Commands - message: The shout privilege isn't needed for a player to trigger this callback. - This is because chat commands are implemented in Lua, and are just - chat messages that begin with a /. + title: Privilegien und Chat-Befehle + message: Das "Shout"-Privileg ist für einen Spieler nicht erforderlich, um diesen Callback auszulösen. + Das liegt daran, dass Chat-Befehle in Lua implementiert sind, und nur + Chat-Nachrichten sind, die mit einem / beginnen. --- @@ -30,10 +30,10 @@ Mods können mit dem Spielerchat interagieren, einschließlich Senden von Nachrichten, Abfangen von Nachrichten und Registrieren von Chat-Befehlen. - [Senden von Nachrichten an alle Spieler](#senden-von-nachrichten-an-alle-spieler) -- [Sending Messages to Specific Players](#sending-messages-to-specific-players) -- [Chat Commands](#chat-commands) +- [Nachrichten an bestimmte Spieler senden](#nachrichten-an-bestimmte-spieler-senden) +- [Chat-Befehle](#chat-befehle) - [Complex Subcommands](#complex-subcommands) -- [Intercepting Messages](#intercepting-messages) +- [Abfangen von Nachrichten](#abfangen-von-nachrichten) ## Senden von Nachrichten an alle Spieler @@ -51,20 +51,20 @@ Hier ist ein Beispiel dafür, wie dies im Spiel aussieht: Die Nachricht erscheint in einer separaten Zeile, um sie vom Spieler-Chat im Spiel zu unterscheiden. -## Sending Messages to Specific Players +## Nachrichten an bestimmte Spieler senden -To send a message to a specific player, call the chat_send_player function: +Um eine Nachricht an einen bestimmten Spieler zu senden, rufen Sie die Funktion chat_send_player auf: ```lua -minetest.chat_send_player("player1", "This is a chat message for player1") +minetest.chat_send_player("Spieler1", "Dies ist eine Chat-Nachricht für Spieler1") ``` -This message displays in the same manner as messages to all players, but is -only visible to the named player, in this case, player1. +Diese Nachricht wird auf dieselbe Weise angezeigt wie die Nachrichten an alle Spieler, ist aber +nur für den benannten Spieler sichtbar, in diesem Fall für Spieler1. -## Chat Commands +## Chat-Befehle -To register a chat command, for example `/foo`, use `register_chatcommand`: +Um einen Chat-Befehl zu registrieren, zum Beispiel `/foo`, verwenden Sie `register_chatcommand`: ```lua minetest.register_chatcommand("foo", { @@ -72,93 +72,93 @@ minetest.register_chatcommand("foo", { interact = true, }, func = function(name, param) - return true, "You said " .. param .. "!" + return true, "Sie sagten " .. param .. "!" end, }) ``` -In the above snippet, `interact` is listed as a required -[privilege](privileges.html) meaning that only players with the `interact` privilege can run the command. +Im obigen Ausschnitt ist "interact" als erforderliches +[Privileg](privileges.html) aufgeführt, was bedeutet, dass nur Spieler mit dem Privileg "interact" den Befehl ausführen können. -Chat commands can return up to two values, -the first being a Boolean indicating success, and the second being a -message to send to the user. +Chat-Befehle können bis zu zwei Werte zurückgeben, +Der erste ist ein boolescher Wert, der den Erfolg anzeigt, und der zweite ist eine +Nachricht, die an den Benutzer gesendet wird. {% include notice.html notice=page.cmd_online %} -## Complex Subcommands +## Komplexe Unterbefehle -It is often required to make complex chat commands, such as: +Es wird oft benötigt, komplexe Chat-Befehle zu bereitzustellen, wie z.B.: -* `/msg ` -* `/team join ` -* `/team leave ` +* `/msg ` +* `/team join ` +* `/team leave ` * `/team list` -This is usually done using [Lua patterns](https://www.lua.org/pil/20.2.html). -Patterns are a way of extracting stuff from text using rules. +Dies geschieht normalerweise mit [Lua-Mustern] (https://www.lua.org/pil/20.2.html). +Patterns sind eine Methode, um anhand von Regeln Dinge aus Text zu extrahieren. ```lua -local to, msg = string.match(param, "^([%a%d_-]+) (*+)$") +local zu, msg = string.match(param, "^([%a%d_-]+) (*+)$") ``` -The above code implements `/msg `. Let's go through left to right: +Der obige Code implementiert `/msg `. Lassen Sie uns von links nach rechts vorgehen: -* `^` means match the start of the string. -* `()` is a matching group - anything that matches stuff in here will be - returned from string.match. -* `[]` means accept characters in this list. -* `%a` means accept any letter and `%d` means accept any digit. -* `[%a%d_-]` means accept any letter or digit or `_` or `-`. -* `+` means match the thing before one or more times. -* `*` means match any character in this context. -* `$` means match the end of the string. +* `^` bedeutet, dass der Anfang der Zeichenkette übereinstimmt. +* `()` ist eine übereinstimmende Gruppe - alles, was hier drin steht, wird + von string.match zurückgegeben. +* `[]` bedeutet, dass die Zeichen in dieser Liste akzeptiert werden. +* `%a` bedeutet, jeden Buchstaben zu akzeptieren und `%d` bedeutet, eine beliebige Ziffer zu akzeptieren. +* `[%a%d_-]` bedeutet, einen beliebigen Buchstaben, eine beliebige Ziffer, `_` oder `-` zu akzeptieren. +* `+` bedeutet, dass die Sache ein oder mehrere Male übereinstimmt. +* `*` bedeutet, dass ein beliebiges Zeichen in diesem Zusammenhang übereinstimmt. +* `$` bedeutet, das Ende der Zeichenkette zu finden. -Put simply, the pattern matches the name (a word with only letters/numbers/-/_), -then a space, then the message (one or more of any character). The name and -message are returned, because they're surrounded by parentheses. +Einfach ausgedrückt: Das Muster entspricht dem Namen (ein Wort mit nur Buchstaben/Zahlen/-/_), +dann ein Leerzeichen, dann die Nachricht (ein oder mehrere beliebige Zeichen). Der Name und die +werden zurückgegeben, da sie von Klammern umgeben sind. -That's how most mods implement complex chat commands. A better guide to Lua -Patterns would probably be the +Das ist die Art und Weise, wie die meisten Mods komplexe Chat-Befehle implementieren. Eine bessere Anleitung für Lua +Patterns wäre wahrscheinlich das [lua-users.org tutorial](http://lua-users.org/wiki/PatternsTutorial) -or the [PIL documentation](https://www.lua.org/pil/20.2.html). +oder die [PIL-Dokumentation](https://www.lua.org/pil/20.2.html).

- There is also a library written by the author of this book which can be used - to make complex chat commands without patterns called - Chat Command Builder. + Es gibt auch eine vom Autor dieses Buches geschriebene Bibliothek, mit der man benutzen + kann um komplexe Chat-Befehle ohne Muster zu erstellen, den + Chat Command Builder.

-## Intercepting Messages +## Abfangen von Nachrichten -To intercept a message, use register_on_chat_message: +Um eine Nachricht abzufangen, verwenden Sie register_on_chat_message: ```lua minetest.register_on_chat_message(function(name, message) - print(name .. " said " .. message) + print(name .. " sagte " .. message) return false end) ``` -By returning false, you allow the chat message to be sent by the default -handler. You can actually remove the line `return false` and it would still -work the same, because `nil` is returned implicitly and is treated like false. +Wenn Sie false zurückgeben, erlauben Sie, dass die Chat-Nachricht vom Standard +Handler gesendet wird. Sie können die Zeile `return false` sogar entfernen und es würde immer noch +funktionieren, da `nil` implizit zurückgegeben wird und wie false behandelt wird. {% include notice.html notice=page.cb_cmdsprivs %} -You should make sure you take into account that it may be a chat command, -or the user may not have `shout`. +Sie sollten berücksichtigen, dass es sich um einen Chat-Befehl handeln könnte, +oder der Benutzer vielleicht kein `shout` hat. ```lua minetest.register_on_chat_message(function(name, message) if message:sub(1, 1) == "/" then - print(name .. " ran chat command") + print(name .. " hat einen Chat-Befehl ausgeführt") elseif minetest.check_player_privs(name, { shout = true }) then - print(name .. " said " .. message) + print(name .. " sagte " .. message) else - print(name .. " tried to say " .. message .. - " but doesn't have shout") + print(name .. " versucht zu sagen " .. message .. + " hat aber kein shout") end return false diff --git a/_de/wörterbuch.txt b/_de/wörterbuch.txt index 59b4385..fcf955f 100644 --- a/_de/wörterbuch.txt +++ b/_de/wörterbuch.txt @@ -8,7 +8,7 @@ bulk = bulk Chapter = Kapitel chat message = Chat-Nachricht child = Kind -Command = Command +Command = Befehl Cubic Nodes = Würfelförmiger Block craft slots = Handwerksplätze Damage = Schaden @@ -74,9 +74,11 @@ priv = priv privilege = Privileg punch = schlagen Radians = Radiant +shout = shout small data = kleine Daten Stack = Stack storage = Storage +Subcommand = Unterbefehl table = Tabelle tile = Kachel tiles = Kacheln