1.0 Einführung 2.0 Die Anfänge 3.0 Der Hauptscript 4.0 Move-Script 5.0 Kamera 7.0 Erste Waffen 8.0 Panels 9.0 Der erste Quest 10.0 Partikel 11.0 Menü 12.0 Abschließung 13.0 Downloads 14.0 Codesammlung 15.0 Frei Belegbare |
7.0Waffen In einen Rpg muss es natürlich auch Waffen geben! Wir werden es so machen das der Spieler eine Waffe trägt und zwar schon im Moddel! Also das das Moddel schon eine Waffe hat! Auf der Linken Maustaste kann man auswählen ob man die Waffe trägt oder sie einsteckt! Die Animation werden wir nicht machen aber ich verspreche ihnen das sie das dann selber machen können! Nun werden wir in diesen Kapitel noch ein Todesscript machen das der Spieler bei Null Leben stirbt und ein Rotes Panel erscheint! Außerdem werden wir noch ein paar Partikel machen ( Vieleicht schauen sie sich als erstes hier die Erklärung an wenn sie Partikel noch nie konnten! ) 7.1 Waffenscript! Als erstes hier mal das Waffenscript! Erklärungen unten!
function particle_blood()
define waffe_haben,skill12; define angriffsbereit,flag5; string morph=<ohne_waffe.mdl>; string normal_player = <mit_waffe.mdl>; var sword1; function angriff //move.wdl unten in die Whileschleife!! /////////////////////////////////////////////////////// gegner.leben -= random(0.5)+1;
So nun hier die Erklärungen zu den Codes ! Gehen wir Zeile für Zeile durch: (Keine Angst die oberste Function hab ich nicht vergessen! Sie wird später besprochen! ) entity* gegner;
Hier werden 1 Skill,1 Flag, 2 Variablen und 2 Spielerarten definiert! Der erste Skill wird angeben ob der Spieler die Waffe hab oder nicht! Der erste Flag wird angeben ob der Spieler angriffsbereit ist oder nicht! Nun kommen die zwei Moddels die natürlich auch in ihren Pathordner seinen müssen! Das Erste Moddel ist das Moddel ohne Waffe das zweite das mit Waffe, da der Spieler natürlich auch mit Waffe anderes aussehen soll als ohne! Danach werden noch zwei Variablen intialiesiert! Was die bedeuten erfahren sie noch!
Das hier soll hier soll bedeuten das der Spieler die Waffe wegstecken soll wen der Skill Waffe_haben 1 ist und Die Mittlere Maustaste gedrückt ist!
Nun wenn das wahr ist soll der Spieler sich Morphen (Verwandeln) und zwar in das Moddel ohne Waffe! Danach wird noch der Flag Angriffsbereit auf off gesetzt, und der Skill Waffe_haben auf 0! Die Syntax für ent_morph: ent_morph(Entity,String); In String steht das Moddel in das sich das Entity verwandelt!
Hier eben genau das Gegenteil von oben!
Hier wird als erstes die Funktion Angriff die oben besprochen ist aufgerufen! Danach wird getestet ob die linke Maustaste gedrückt ist, ob der Spieler überhaupt eine Waffe hat und ob der Spieler grade rückwärts läuft! (Wenn man S drückt soll man sich verteidigen! )
Als erstes wird der Skill22 des Spielers auf Null gesetzt! Dieser Skill soll die Animation des Spielers wiedergeben! Der Skill22 wird währen der Animation laufend erhöht, Wenn der Skill größer als 100 ist ist die Anitmation fertig! Daher auch nur while(my.skill22< 100) !! Nun wird getestet ob der Spieler an reden ist! (Wir erinnern uns an den Dorfbewohner KI...) Wenn er am reden ist soll die While schleife unterbrochen werden! (break = SOFORTIGES Abrechen der While_Schleife!)
Hier eine etwas Komplexere Anweisung! Als erstes wird die Variable sword2 (oben definiert auf den Vertex 291 des Models gesetzt! (Wenn sie ein eigenes Model nehmen schauen sie auf den Obersten Punkt des Schwertes und nehmen sie den Vertex!) Danach wird die Variable Sword2 auf den Vertex 306 des Models gesetzt! (Wenn sie ein eigenes Model nehmen schauen sie auf den Untersten Punkt des Schwertes und nehmen sie den Vertex! ) Nun wird der Trace-Mode Festgelegt! Trace soll Passable Entitys und das My Entity Ignorieren! Nun wird zwischen den Höchsten Punkt des Schwertes und den Niedrigsten Punkt des Schwertes getraced! Das heißt wenn der Spieler beim schlagen ist, und zwischen den oberen und unteren Punkt des Schwertes sich etwas befindet (Das Gegnermoddel ?!?!) wird trace etwas finden!
Wenn result nicht Null ist und das You Entity exsitiert soll er dem Gegner Leben abziehen! Und zwar einen Zufallswert zwischen 0.5 und 1! Falls euch das jetzt ein bißchen wenig vor kommt müsst ihr beachten das der ganze Code in einer While schleife steht! Das heißt das er jeden Tick testet ob das Schwert "in" den Gegner steckt! Und da das mindestens eine Sekunde ist muss man die 1 * 16 nehmen! Nun wird ein Partikel Effekt abgespielt! Hier finden sie die Erklärungen!
Hier wird schließlich die Attack Animation Attack abgespielt! Und die Animationsgeschwindigkeit Skill22 wird erhöht!! Wenn jetzt schließlich Skill22 größer als 100 ist muss man wieder warten bis die Linke Maustase gedrückt ist, da sonst ein Dauerfeuer entstehen könnte!
zurück weiter
|