Corrections for 8, 10 and 14 by gamer777
This commit is contained in:
parent
6057f8b331
commit
d3be4a7ca9
@ -11,7 +11,7 @@ redirect_from: /de/chapters/environment.html
|
|||||||
|
|
||||||
In diesem Kapitel erfahren Sie, wie Sie grundlegende Aktionen auf der Karte durchführen können.
|
In diesem Kapitel erfahren Sie, wie Sie grundlegende Aktionen auf der Karte durchführen können.
|
||||||
|
|
||||||
- [Karten Struktur](#karten-struktur)
|
- [Karten-Struktur](#karten-struktur)
|
||||||
- [Lesen](#lesen)
|
- [Lesen](#lesen)
|
||||||
- [Blöcke lesen](#blöcke-lesen)
|
- [Blöcke lesen](#blöcke-lesen)
|
||||||
- [Blöcke finden](#blöcke-finden)
|
- [Blöcke finden](#blöcke-finden)
|
||||||
@ -21,7 +21,7 @@ In diesem Kapitel erfahren Sie, wie Sie grundlegende Aktionen auf der Karte durc
|
|||||||
- [Mapblöcke laden](#mapblöcke-laden)
|
- [Mapblöcke laden](#mapblöcke-laden)
|
||||||
- [Blöcke löschen](#blöcke-löschen)
|
- [Blöcke löschen](#blöcke-löschen)
|
||||||
|
|
||||||
## Karten Struktur
|
## Karten-Struktur
|
||||||
|
|
||||||
Die Minetest-Karte ist in Map-Blöcke(nicht zu verwechseln mit Blöcken in deutschen) aufgeteilt, wobei jeder Map-Block ein Würfel der
|
Die Minetest-Karte ist in Map-Blöcke(nicht zu verwechseln mit Blöcken in deutschen) aufgeteilt, wobei jeder Map-Block ein Würfel der
|
||||||
Kantenlänge 16 ist. Während die Spieler auf der Karte unterwegs sind, werden Map-Blöcke erstellt, geladen,
|
Kantenlänge 16 ist. Während die Spieler auf der Karte unterwegs sind, werden Map-Blöcke erstellt, geladen,
|
||||||
@ -89,7 +89,7 @@ end
|
|||||||
```
|
```
|
||||||
|
|
||||||
Nehmen wir zum Beispiel an, dass die Wachstumsrate steigt, je mehr Mese in der Nähe ist.
|
Nehmen wir zum Beispiel an, dass die Wachstumsrate steigt, je mehr Mese in der Nähe ist.
|
||||||
in der Nähe ist. Dann sollten Sie eine Funktion verwenden, die mehrere Blöcke in dem Gebiet finden kann:
|
Dann sollten Sie eine Funktion verwenden, die mehrere Blöcke in dem Gebiet finden kann:
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
local pos1 = vector.subtract(pos, { x = 5, y = 5, z = 5 })
|
local pos1 = vector.subtract(pos, { x = 5, y = 5, z = 5 })
|
||||||
@ -119,9 +119,9 @@ end
|
|||||||
|
|
||||||
Jetzt erhöht der Code korrekt die `wachstums_geschwindigkeit` basierend auf der Anzahl der Knoten in Reichweite.
|
Jetzt erhöht der Code korrekt die `wachstums_geschwindigkeit` basierend auf der Anzahl der Knoten in Reichweite.
|
||||||
|
|
||||||
Beachten Sie, dass wir den quadrierten Abstand von der Position verglichen haben, anstatt ihn zu quadrieren
|
Beachten Sie, dass wir den quadrierten Abstand von der Position verglichen haben, anstatt
|
||||||
um die tatsächliche Entfernung zu erhalten. Dies liegt daran, dass Computer Quadratwurzeln
|
ihn zu quadrierenum die tatsächliche Entfernung zu erhalten. Dies liegt daran, dass Quadratwurzeln
|
||||||
Wurzel sehr rechenintensiv sind und daher möglichst vermieden werden sollten.
|
für den Computer sehr rechenintensiv sind und daher möglichst vermieden werden sollten.
|
||||||
|
|
||||||
Es gibt weitere Variationen der beiden oben genannten Funktionen, wie z.B.
|
Es gibt weitere Variationen der beiden oben genannten Funktionen, wie z.B.
|
||||||
`find_nodes_with_meta` und `find_nodes_in_area_under_air`, die ähnlich funktionieren
|
`find_nodes_with_meta` und `find_nodes_in_area_under_air`, die ähnlich funktionieren
|
||||||
@ -132,7 +132,7 @@ und unter anderen Umständen nützlich sind.
|
|||||||
### Blöcke schreiben
|
### Blöcke schreiben
|
||||||
|
|
||||||
Sie können `set_node` verwenden, um in die Karte zu schreiben. Jeder Aufruf von set_node wird dazu führen, dass
|
Sie können `set_node` verwenden, um in die Karte zu schreiben. Jeder Aufruf von set_node wird dazu führen, dass
|
||||||
Beleuchtung neu berechnet und Block-Callbacks ausgeführt werden, was bedeutet, dass set_node
|
die Beleuchtung neu berechnet und Block-Callbacks ausgeführt werden, was bedeutet, dass set_node
|
||||||
bei einer großen Anzahl von Blöcken ziemlich langsam ist.
|
bei einer großen Anzahl von Blöcken ziemlich langsam ist.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
|
@ -23,10 +23,10 @@ In diesem Kapitel erfahren Sie, wie Sie Daten speichern können.
|
|||||||
- [Lua Tabellen](#lua-tabellen)
|
- [Lua Tabellen](#lua-tabellen)
|
||||||
- [Mod Storage](#mod-storage)
|
- [Mod Storage](#mod-storage)
|
||||||
- [Datenbanken](#datenbanken)
|
- [Datenbanken](#datenbanken)
|
||||||
- [Entscheidung was man benutzt](#entscheidung-was-man-benutzt)
|
- [Entscheidung, was man benutzt](#entscheidung-was-man-benutzt)
|
||||||
- [Sie sind dran](#sie-sind-dran)
|
- [Sie sind dran](#sie-sind-dran)
|
||||||
|
|
||||||
## Metadata
|
## Metadaten
|
||||||
|
|
||||||
### Was sind Metadaten?
|
### Was sind Metadaten?
|
||||||
|
|
||||||
@ -38,8 +38,8 @@ Metadaten speichern Werte als Strings, aber es gibt eine Reihe von Methoden um
|
|||||||
andere primitive Typen zu konvertieren und zu speichern.
|
andere primitive Typen zu konvertieren und zu speichern.
|
||||||
|
|
||||||
Einige Schlüssel in Metadaten können eine besondere Bedeutung haben.
|
Einige Schlüssel in Metadaten können eine besondere Bedeutung haben.
|
||||||
Zum Beispiel wird `infotext` in den Block-Metadaten verwendet, um den Tooltip zu speichern, der angezeigt wird
|
Zum Beispiel wird `infotext` in den Block-Metadaten verwendet, um den Tooltip zu speichern,
|
||||||
angezeigt wird, wenn man mit dem Fadenkreuz über den Block fährt.
|
der angezeigt wird, wenn man mit dem Fadenkreuz über den Block fährt.
|
||||||
Um Konflikte mit anderen Mods zu vermeiden, sollten Sie die Standard-Namensraum
|
Um Konflikte mit anderen Mods zu vermeiden, sollten Sie die Standard-Namensraum
|
||||||
Konvention für Schlüssel verwenden: `Modname:Schlüsselname`.
|
Konvention für Schlüssel verwenden: `Modname:Schlüsselname`.
|
||||||
Die Ausnahme sind konventionelle Daten wie der Name des Besitzers, der als
|
Die Ausnahme sind konventionelle Daten wie der Name des Besitzers, der als
|
||||||
@ -50,7 +50,7 @@ Die Daten selbst, wie der Typ eines Blockes oder die Anzahl eines Stapels, sind
|
|||||||
|
|
||||||
### Abrufen eines Metadatenobjekts
|
### Abrufen eines Metadatenobjekts
|
||||||
|
|
||||||
Wenn du die Position eines Blockes kennst, kannst du seine Metadaten abrufen:
|
Wenn Sie die Position eines Blockes kennen, können Sie seine Metadaten abrufen:
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
local meta = minetest.get_meta({ x = 1, y = 2, z = 3 })
|
local meta = minetest.get_meta({ x = 1, y = 2, z = 3 })
|
||||||
@ -101,8 +101,8 @@ Dies ist nützlich, um die Eigentümerschaft oder den Status eines Blockes anzuz
|
|||||||
wenn der Mauszeiger über den Stack in einem Inventar bewegt wird.
|
wenn der Mauszeiger über den Stack in einem Inventar bewegt wird.
|
||||||
Sie können Farben verwenden, indem Sie sie mit `minetest.colorize()` kodieren.
|
Sie können Farben verwenden, indem Sie sie mit `minetest.colorize()` kodieren.
|
||||||
|
|
||||||
`owner` ist ein allgemeiner Schlüssel, der verwendet wird, um den Benutzernamen des Spielers zu speichern, der Eigentümer des
|
`owner` ist ein allgemeiner Schlüssel, der verwendet wird, um den Benutzernamen des Spielers zu speichern,
|
||||||
Element oder Block besitzt.
|
der Eigentümer des Elements oder Blocks ist.
|
||||||
|
|
||||||
### Speichern von Tabellen
|
### Speichern von Tabellen
|
||||||
|
|
||||||
@ -196,7 +196,7 @@ end
|
|||||||
return backend
|
return backend
|
||||||
```
|
```
|
||||||
|
|
||||||
Das Backend_sqlite würde eine ähnliche Funktion erfüllen, aber die Lua-Bibliothek *lsqlite3* verwenden
|
Backend_sqlite würde eine ähnliche Funktion erfüllen, aber Sie sollten die Lua-Bibliothek *lsqlite3* verwenden
|
||||||
anstelle des Mod-Speichers.
|
anstelle des Mod-Speichers.
|
||||||
|
|
||||||
Die Verwendung einer Datenbank wie SQLite erfordert die Verwendung einer unsicheren Umgebung.
|
Die Verwendung einer Datenbank wie SQLite erfordert die Verwendung einer unsicheren Umgebung.
|
||||||
@ -219,7 +219,7 @@ end
|
|||||||
|
|
||||||
Die Vermittlung von Wissen über SQL oder die Verwendung der lsqlite3-Bibliothek ist nicht Gegenstand dieses Buches.
|
Die Vermittlung von Wissen über SQL oder die Verwendung der lsqlite3-Bibliothek ist nicht Gegenstand dieses Buches.
|
||||||
|
|
||||||
## Entscheidung was man benutzt
|
## Entscheidung, was man benutzt
|
||||||
|
|
||||||
Welche Methode Sie verwenden, hängt davon ab, worum es sich bei den Daten handelt,
|
Welche Methode Sie verwenden, hängt davon ab, worum es sich bei den Daten handelt,
|
||||||
wie sie formatiert sind und wie groß sie sind.
|
wie sie formatiert sind und wie groß sie sind.
|
||||||
@ -237,7 +237,7 @@ Mod-Storage ist gut für mittlere Daten, aber das Schreiben großer Daten kann i
|
|||||||
Es ist besser, eine Datenbank für große Daten zu verwenden, um zu vermeiden,
|
Es ist besser, eine Datenbank für große Daten zu verwenden, um zu vermeiden,
|
||||||
dass alle Daten bei jedem Speichern geschrieben werden müssen.
|
dass alle Daten bei jedem Speichern geschrieben werden müssen.
|
||||||
|
|
||||||
Datenbanken kommen nur für Server in Frage, da die
|
Datenbanken kommen nur für Server in Frage, da
|
||||||
der Mod auf eine Whitelist gesetzt werden muss, um auf eine unsichere Umgebung zugreifen zu können.
|
der Mod auf eine Whitelist gesetzt werden muss, um auf eine unsichere Umgebung zugreifen zu können.
|
||||||
Sie sind gut geeignet für große Datenmengen.
|
Sie sind gut geeignet für große Datenmengen.
|
||||||
|
|
||||||
|
@ -65,8 +65,8 @@ Um das alte Bewegungsverhalten vollständig wiederherzustellen, sind zwei Übers
|
|||||||
|
|
||||||
## Mod-Inkompatibilität
|
## Mod-Inkompatibilität
|
||||||
|
|
||||||
Bitte beachten Sie, dass Mods, die denselben Physikwert eines Spielers überschreiben, dazu neigen
|
Bitte beachten Sie, dass Mods, die denselben Physikwert eines Spielers überschreiben,
|
||||||
inkompatibel zueinander zu haben. Wenn ein Override gesetzt wird, überschreibt er
|
inkompatibel zueinander sind. Wenn ein Override gesetzt wird, überschreibt er
|
||||||
Überschreibungen, die zuvor gesetzt wurden. Das bedeutet, dass wenn mehrere Überschreibungen
|
Überschreibungen, die zuvor gesetzt wurden. Das bedeutet, dass wenn mehrere Überschreibungen
|
||||||
die Geschwindigkeit eines Spielers festlegen, ist nur die zuletzt ausgeführte wirksam.
|
die Geschwindigkeit eines Spielers festlegen, ist nur die zuletzt ausgeführte wirksam.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user