diff --git a/src/components/Navbar.svelte b/src/components/Navbar.svelte index 3e0194c..9d3a616 100644 --- a/src/components/Navbar.svelte +++ b/src/components/Navbar.svelte @@ -18,81 +18,133 @@ --> - + - {#if searchOpen} - {#await import("./SearchComponent.svelte") then c} - - {/await} + {#await import("./SearchComponent.svelte") then c} + + {/await} {/if} \ No newline at end of file + .match { + width: min(100vw, 70em); + } + diff --git a/src/content/config.ts b/src/content/config.ts index 6558cf4..2766f90 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -104,6 +104,14 @@ export const publics = defineCollection({ }), }); +export const tutorials = defineCollection({ + type: "content", + schema: z.object({ + title: z.string(), + translationKey: z.string(), + }), +}); + export const collections = { "pages": pages, "help": help, @@ -112,4 +120,5 @@ export const collections = { "downloads": downloads, "announcements": announcements, "publics": publics, + "tutorials": tutorials }; diff --git a/src/content/tutorials/Tracer.md b/src/content/tutorials/Tracer.md new file mode 100644 index 0000000..714f16e --- /dev/null +++ b/src/content/tutorials/Tracer.md @@ -0,0 +1,56 @@ +--- +title: Tracer +translationKey: tracer +slug: tracer +--- + +# Der Tracer +![](../../images/tutorials/tracer-cover.png) + +Der Tracer ist eines der Kern-Tools unseres BauSystems. Durch ihn kannst du +dir komfortabel angucken wie sich die TNT deiner Kanonen Tick für Tick +verhalten. Dies tut der Tracer, indem er alle Daten der auf einem Plot +gezündeten TNTs aufnimmt und speichert. Du kannst dir dann verschiedene +Darstellungsformen der aufgezeichneten TNTs angucken. + +## Den Tracer starten +Um die Schüsse deiner Kanone auf einem Plot aufzunehmen, musst du den Tracer +für diese Plot einschalten. Nutze hierfür `/trace auto`. +Nun da der Tracer an ist, wird für jeden Kanonenschuss ein Trace erstellt. + +## Traces anzeigen und analysieren +Jetzt da der Tracer an ist und du einen Schuss abgegeben hast, kannst du dir +den Trace mit +`/trace show` anzeigen (Falls du mehrere Schüsse abgegeben hast kannst du +dir mit +`/trace isolate [Schuss-Nummer]` den Trace eines einzelnen Schusses anzeigen). + + +Zur Analyse eines Schusses stellen wir dir verschiedene **View-Flags** zur +Verfügung. Diese aktivierst du, indem du sie an den Trace-show Command +anhängst. + +| Flag | Beschreibung | +| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `count` | Zeige dir die Zahl der TNTs an die an einem Trace-Punkt aufgenommen wurden | +| `explosion` | Zeige dir nur die Trace-Punkte an, an denen TNT explodiert ist | +| `fuse` | Zeige dir an wie weit die TNTs an einem Trace Punkt von der Explosion weg waren | +| `ignite` | Ohne diese Flag zeigt der Tracer nur Trace-Punkte an, die nach der ersten Explosion entstanden sind. Mit dieser Flag werden alle Trace-Punkte angezeigt | +| `micromotion` | Zeige nur TNT an, die sich zu einem beliebigen Zeitpunkt mir einer Geschwindigkeit von kleiner 0.001 bewegt haben | +| `source` | Zeige dir nur Trace-Punkte an, bei denen TNT gezündet wurde | +| `build-destroy-only` | Zeige dir nur TNT an, die im Bau-Bereich explodiert sind | +| `testblock-destroy-only` | Zeige dir nur TNT an, die im Testblock-Bereich explodiert sind | +| `advanced` | Zeige dir die TNT-Zwischenberechnungspunkte auf den einzelnen Achsen an | + +\ +Du kannst dir auch nur einen Abschnitt des Traces mit +`\trace show from [Start-Zeit] to [End-Zeit] with [View-Flags]` anzeigen. Du kann auch `from` oder `to` weglassen, um dir den Trace von bzw. bis zu einem gewissen Zeitpunkt angucken. + +## Traces löschen +Allgemein empfiehlt es sich Traces nicht ewig rumliegen zu lassen, da ein +`/trace show` schnell den PC zum erliegen bringen kann. Nutze `/trace +delete [Schuss-Nummer]` um einzelne Traces zu löschen und `/trace clear` +um alle Traces auf einem Plot zu löschen. + +## Traces gemeinsam betrachten +Wenn man zusammen an einer Kanonen arbeitet kann es praktisch sein, die selben Traces, mit den selben View-Flags zu betrachten. Dies kannst du machen mit `/trace follow [Spieler]`. Den Follow kannst du mit `/trace unfollow` wieder aufheben. Zusätzlich kannst du alle Spieler auf einem Bau-Server mit `/trace broadcast` einladen deiner Trace-View zu folgen. \ No newline at end of file diff --git a/src/i18n/common/de.json b/src/i18n/common/de.json index 96e2a91..c390b68 100644 --- a/src/i18n/common/de.json +++ b/src/i18n/common/de.json @@ -63,6 +63,7 @@ "announcements": "Ankündigungen", "about": "Über Uns", "downloads": "Downloads", + "tutorials": "Tutorials", "faq": "FAQ" }, "rules": { diff --git a/src/i18n/common/en.json b/src/i18n/common/en.json index e8d17a3..b61889e 100644 --- a/src/i18n/common/en.json +++ b/src/i18n/common/en.json @@ -6,6 +6,7 @@ "announcements": "Announcements", "about": "About", "downloads": "Downloads", + "tutorials": "Tutorials", "faq": "FAQ" }, "rules": { diff --git a/src/images/tutorials/tracer-cover.png b/src/images/tutorials/tracer-cover.png new file mode 100644 index 0000000..22f6024 Binary files /dev/null and b/src/images/tutorials/tracer-cover.png differ diff --git a/src/pages/index.astro b/src/pages/index.astro index eedd62c..7e9d0d1 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -15,7 +15,7 @@ import {type Player} from "../components/types/data"; import PostComponent from "../components/PostComponent.astro"; import BackgroundImage from "../components/BackgroundImage.astro"; -const teamMember: { [key: string]: Player[]} = await fetch("http://127.0.0.1:1337/data/team") +const teamMember: { [key: string]: Player[]} = await fetch("https://api.steamwar.de/data/team") .then(value => value.json()); const posts = await getCollection("announcements", entry => entry.id.split("/")[0] === astroI18n.locale); diff --git a/src/pages/tutorials/[tutorial].astro b/src/pages/tutorials/[tutorial].astro new file mode 100644 index 0000000..b09e2ae --- /dev/null +++ b/src/pages/tutorials/[tutorial].astro @@ -0,0 +1,19 @@ +--- +import { createGetStaticPaths } from "astro-i18n"; +import { getCollection } from "astro:content"; + +const { tutorial } = Astro.props; + +export const getStaticPaths = createGetStaticPaths(async () => { + const tutorials = await getCollection("tutorials"); + + return tutorials.map((entry) => ({ + props: { + title: entry.data.title + }, + params: { + title: entry.slug, + }, + })); +}); +--- diff --git a/src/pages/tutorials/index.astro b/src/pages/tutorials/index.astro new file mode 100644 index 0000000..e69de29