Στην άσκηση αυτή θα εξοικειωθείτε με το χειρισμό και τον έλεγχο όπλων, χρησιμοποιώντας το λογισμικό Hammer Valve Editor. Σύμφωνα με το σενάριο της άσκησης, βρίσκεστε σε ένα δωμάτιο στο οποίο υπάρχει ένα πολυβόλο που σας σημαδεύει και πυροβολεί ακολουθώντας την κίνησή σας. Σκοπός είναι να αναλάβετε εσείς τον έλεγχο του όπλου, σκοτώνοντας τον πεζοναύτη που βρίσκεται δίπλα του. Μόλις το σώμα του πεζοναύτη "εξαφανιστεί" από τη σκηνή, μπορείτε να γίνετε ο κάτοχος του όπλου του αλλά και του πολυβόλου, ελέγχοντας εσείς πλήρως τη λειτουργία του. Ας ξεκινήσουμε λοιπόν! Υλοποίηση σεναρίου Για τις ανάγκες της άσκησης, τα αντικείμενα που πρέπει να σχεδιαστούν είναι ήδη υλοποιημένα στο αρχείο "gruntguninitial.rmf", εσείς πρέπει να εισάγετε/μετατρέψετε/ρυθμίσετε τις κατάλληλες οντότητες. Για να ελέγξτε τη λειτουργικότητα που πρέπει να υλοποιήσετε, μπορείτε να "τρέξετε" τον τελικό χάρτη της σχεδίασης με το όνομα "gruntgun.rmf". ΒΗΜΑ 1: Επιλέξτε το αντικείμενο που μοντελοποιεί το πολυβόλο και μετατρέψτε το σε οντότητα func_tank με τις ιδιότητες που περιγράφονται παρακάτω: Παρατηρήστε πως ουσιαστικά το πολυβόλο "ρίχνει άσφαιρα" (Bullets-> None και Damage=0)! Αυτό το κάνουμε για να μπορέσετε να δοκιμάσετε το χάρτη χωρίς να σκοτωθεί ο παίχτης. Στην τελική δοκιμή αλλάξτε αυτές τις παραμέτρους! Χρήση και διαχείριση όπλων στο περιβάλλον Hammer Editor - Λιβανός Γ. Σελίδα 1
ΒΗΜΑ 2: Στο προηγούμενο βήμα ρυθμίστηκε το πολυβόλο ώστε να είναι ενεργό όταν εκκινεί το παιχνίδι και να στοχεύει συνεχώς στην οντότητα mm2, οπότε ο χειρισμός του είναι αυτόματος. Επιλέξτε το αντικείμενο που μοντελοποιεί το πολυβόλο και δημιουργήστε ένα διπλότυπο σχέδιο (κρατήστε πατημένο το πλήκτρο SHIFT και σύρετε με το ποντίκι προς τα πάνω). Τοποθετήστε το νέο αντικείμενο ακριβώς πάνω στο προηγούμενο αλλά στο εσωτερικό του (το νέο αντικείμενο θα πρέπει να φαίνεται στο «φόντο» και να επιλέγεται δεύτερο), φροντίζοντας να μην είναι πολύ εμφανείς οι προεξοχές. Για να έχετε καλύτερο αποτέλεσμα κάνετε zoom στη σκηνή σε top view. τα δύο αντικείμενα ενώθηκαν! Μετατρέψτε το αντικείμενο σε οντότητα func_tank με τις ακόλουθες ιδιότητες: Χρήση και διαχείριση όπλων στο περιβάλλον Hammer Editor - Λιβανός Γ. Σελίδα 2
Πάλι, για λόγους ευκολίας της πρώτης προσομοίωσης, το πολυβόλο ρίχνει χωρίς να καταστρέφει. Στο τελικό «τρέξιμο» του χάρτη, μπορείτε να ορίσετε εσείς τις τιμές αυτές ώστε να είναι αληθοφανή. Μετατρέψτε το αντικείμενο πίσω από το πολυβόλο σε οντότητα με τις παρακάτω ιδιότητες: ΒΗΜΑ 3: Πίσω από το πολυβόλο, εισάγετε μία οντότητα monster_human_grunt με τις ακόλουθες ιδιότητες: Trigger Target: rendmm (το όνομα της οντότητας που θα ενεργοποιεί, έμμεσα το πολυβόλο func_tank) Trigger Condition: Death (ο λόγος για τον οποίο θα πάψει να είναι ενεργό, δηλαδή όταν θα σκοτωθεί ο πεζοναύτης εχθρός!). Από την καρτέλα Flag ενεργοποιήστε την επιλογή Prisoner ώστε να εμποδίσετε τον πεζοναύτη εχθρό να αφήσει το όπλο και να επιτεθεί και την επιλογή Gag ώστε ο «εχθρός» να παραμείνει σιωπηλός. Χρήση και διαχείριση όπλων στο περιβάλλον Hammer Editor - Λιβανός Γ. Σελίδα 3
ΒΗΜΑ 4: Εισάγετε μία οντότητα multi_manager μέσω της οποίας θα «δρομολογούνται» διάφορα γεγονότα, δηλαδή o έλεγχος του πολυβόλου από τον πεζοναύτη, η εμφάνιση του πεζοναύτη και η εξαφάνισή του από τη σκηνή μόλις σκοτωθεί. Πατήστε λοιπόν στην καρτέλα SmartEdit και εισάγετε τις ακόλουθες τιμές: ΒΗΜΑ 5: Εισάγετε μία οντότητα env_shake με τις ακόλουθες τιμές, έτσι ώστε να δημιουργήσετε αίσθηση σεισμού: ΒΗΜΑ 6: Εισάγετε μία οντότητα multi_manager με τις ακόλουθες τιμές, έτσι ώστε να ελέγξετε το πολυβόλο 2 όταν σκοτωθεί ο πεζοναύτης κι αναλάβει τον έλεγχο ο παίχτης: Χρήση και διαχείριση όπλων στο περιβάλλον Hammer Editor - Λιβανός Γ. Σελίδα 4
ΒΗΜΑ 7: Τελευταίο βήμα είναι να ρυθμίσετε την εμφάνιση/εξαφάνιση του πολυβόλου 2/1. Προς την κατεύθυνση αυτή εισάγετε δύο οντότητες env_render στο χάρτη και τοποθετήστε τις πάνω και δεξιά από το πολυβόλο. Η οντότητα unrend 1 «θα εξαφανίσει» την οντότητα func_tank με το όνομα gun1 με το θάνατο του πεζοναύτη και θα αποκαλύψει την οντότητα func_tank με το όνομα gun2, η οποία «κρυβόταν» κάτω από το αντικείμενο gun1 και η οποία πλέον θα ελέγχεται από τον παίχτη και δεν θα πυροβολεί αυτόματα! Ποιο είναι το σενάριο; Το όπλο ρίχνει κατά ριπάς όταν ο παίχτης βρίσκεται στην εμβέλειά του. Όταν ο παίχτης πυροβολήσει τον πεζοναύτη (grunt) ενεργοποιείται ο trigger rendermm, ο οποίος απενεργοποιεί το όπλο Gun1, κι ενεργοποιεί τους triggers unrend1 (εξαφάνιση όπλου 1) και rend2 (εμφάνιση όπλου 2). Η οντότητα gun2 έχει ενεργοποιημένο το flag Controllable, οπότε πλέον μπορεί να είναι διαχειρήσιμη από τον παίχτη. Χρήση και διαχείριση όπλων στο περιβάλλον Hammer Editor - Λιβανός Γ. Σελίδα 5