blob: b4760145e50ab9f3ba735e588ae7ad98f938d708 [file] [log] [blame]
notstromf9193d32018-11-10 23:43:59 +01001Hallo zusammen,
2hallo lieber Lehrling!
3
4Diese Beispiele habe ich fuer Saitha zusammengestellt. Der Zweck ist, eine
5Reihe von aktuellen, modernen Beispielen fuer zeitgemaesses LPC zu haben,
notstrom3d78b092018-11-11 00:17:05 +01006anhand derer ein frischgebackener Lehrling seine ersten eigenen Objekte
notstromf9193d32018-11-10 23:43:59 +01007zusammenbasteln kann, aber auch Code hat, den er spaeter nachgucken und
8im Zweifelsfall einfach uebernehmen und selbst erweitern kann. Haeufig ist
notstromafae0382018-11-11 00:18:29 +01009es ja einfacher, sich an Wohlbekanntem entlangzuhangeln, als von Grund auf
notstromf9193d32018-11-10 23:43:59 +010010alles selbst neu anzufangen.
11
12Bedenkt bitte, dass die Beispiele genau das sind: Beispiele. Sie ersetzen
13keinen LPC-Kurs, und es wird davon ausgegangen, dass man grundlegende
14Programmier-Techniken beherrscht. Haeufig habe ich Code weggelassen, der
15fuer das Beispiel nicht noetig ist bzw. ablenken wuerde, den man aber in
16einem fertig gebastelten Objekt nicht weglassen wuerde, z.B. vollstaendig
notstrom62812ba2018-12-03 23:01:16 +010017beschriebene Details. Dennoch sollten alle Beispiel ladbar sein, so dass
18man die illustrierte Technik daran interaktiv ausprobieren kann.
notstromf9193d32018-11-10 23:43:59 +010019
20Gelegentlich mag es notwendig sein, einen Magier zu befragen, WARUM man
21etwas in bestimmter Weise macht, und dringend ist empfohlen, alles in den
22Manpages nachzuschlagen, was einem unbekannt erscheint, speziell alle
23Properties, die man nicht bereits gut kennt. Ich habe versucht, in den
24Kommentaren auf nicht-offensichtliche Manpages hinzuweisen. Befragt im
25Zweifelsfall Euren Sponsor oder einen Mitmagier.
26
27Ich habe versucht, den Beispielen eine Struktur zu geben und die Komplexitaet
28nach und nach zu steigern, also immer nur ganz wenige Dinge jeweils pro
29Beispiel neu einzufuehren. Damit sind die Beispiele natuerlich keine
30Enzyklopaedie und erheben keinen Anspruch auf Vollstaendigkeit.
31
32Denkt bitte daran, dass das letzte Wort in Bezug auf Euer neues Gebiet oder
33Gesellenstueck der zustaendige Regionsmagier hat. Fragt ihn im Zweifelsfall
34nach seiner Meinung. Oh - und liebe Lehrlinge, wenn Ihr selbst Vollmagier
35mit ergrauten Haaren seid, wenn dieses Tutorial alt und vergilbt ist,
36dann bastelt ein neues, das dann wieder schick und modern ist. :)
37
38 Notstrom, November 2018.
39
40
notstrom8df40412018-11-04 18:12:55 +010041A. Unser erster eigener Raum
42============================
43
441. Ein einfacher Raum ohne alles
45 room/huette1.c
462. Ein Raum mit Details
47 room/huette2.c
483. Zwei Raeume, die durch Ausgaenge miteinander verbunden sind
49 room/huette3a.c, room/huette3b.c
notstrom72ff8992018-11-04 20:34:21 +0100504. Eine oberflaechliche Kurzeinfuehrung in Commands. Viel zu kurz, aber
51 irgendwo muss man ja anfangen.
52 room/huette4.c
notstrom9e3d7be2018-11-08 18:25:09 +0100535. Ein Raum mit unserem ersten NPC.
54 room/huette5.c, npc/zwerg1.c
notstrom7c6edc22018-11-09 09:52:37 +0100556. Ein Raum mit einem ausgeruesteten NPC.
56 room/huette6.c, npc/zwerg2.c
notstrom6f80d2d2018-11-12 18:41:29 +0100577. Ein Raum mit einem NPC, der ueber Spells und Resistenzen verfuegt.
58 room/huette7.c, npc/zwerg3.c
notstroma4e01e32018-11-12 20:22:28 +0100598. Ein Raum mit einem NPC, der ein eigenes Defend() definiert.
notstrom2b580792018-12-03 10:12:20 +010060 room/huette8.c, npc/zwerg4.c
619. Ein Raum mit einem NPC, der eine persoenliche Waffe und einen
62 Spezialangriff nutzt.
63 room/huette9.c, npc/zwerg5.c
notstrom2c844922018-12-03 10:40:03 +01006410. Ein Raum mit einem NPC, dessen Waffe auf eine andere Weise "persoenlich",
65 naemlich in diesem Fall nur fuer ihn zu zuecken, ist.
66 room/huette10.c, npc/zwerg6.c
notstrombe6b03f2018-12-12 18:14:06 +01006711. Ein Raum mit dynamischer Langbeschreibung, geloest ueber eine Inline-
68 Closure.
69 room/huette11.c
notstrom63889b22018-12-12 19:59:59 +01007012. Ein Raum, wo man etwas anfassen kann. Ausserdem enthaelt er Geruch und
71 Geraeusch.
72 room/huette12.c
notstrom7c6edc22018-11-09 09:52:37 +010073
notstrom9e3d7be2018-11-08 18:25:09 +010074
75B. Unser erster eigener NPC
76===========================
77
781. Ein Zwerg, der nur rumstehen kann.
79 npc/zwerg1.c
notstrom59fbae92018-11-09 09:12:04 +0100802. Ein toll ausgeruesteter Zwerg.
81 npc/zwerg2.c, obj/krempel.c, obj/axt.c, obj/schild.c
notstrom6f80d2d2018-11-12 18:41:29 +0100823. Ein Zwerg mit Resistenzen und Spells.
83 npc/zwerg3.c
notstroma4e01e32018-11-12 20:22:28 +0100844. Ein Zwerg mit eigenem Defend().
85 npc/zwerg4.c
notstrom2c844922018-12-03 10:40:03 +0100865. Ein Zwerg mit eigenem Attack() und einer speziellen Waffe.
notstrom2b580792018-12-03 10:12:20 +010087 npc/zwerg5.c
notstrom098c0ac2018-12-09 17:27:19 +0100886. Ein Zwerg mit einer speziellen Waffe.
notstrom2c844922018-12-03 10:40:03 +010089 npc/zwerg6.c
notstrom59fbae92018-11-09 09:12:04 +010090
notstrom7c6edc22018-11-09 09:52:37 +010091
92C. Unsere ersten eigenen Gegenstaende
93=====================================
94
951. Eine einfache Waffe.
96 obj/axt.c
972. Ein Schild (Beispiel fuer eine Ruestung).
98 obj/schild.c
993. Ein Gegenstand, der weder Waffe noch Ruestung ist.
100 obj/krempel.c
notstrom958ddb62018-12-03 23:09:58 +01001015. Eine Waffe, die nur fuer einen bestimmten NPC zu zuecken ist, nicht fuer
102 Spieler.
notstromd60962e2018-12-09 18:17:44 +0100103 obj/axt2.c
notstrom958ddb62018-12-03 23:09:58 +01001046. Eine Waffe, die nur fuer beliebige NPCs zu zuecken ist, nicht fuer
105 Spieler.
notstromd60962e2018-12-09 18:17:44 +0100106 obj/axt3.c
notstrom2b580792018-12-03 10:12:20 +0100107