two of the teachers at the primary
school. Either that, or I am losing my
mind.[[Not that the two are mutually
exclusive.»);
JournalModule.SetEntryDisplayed(0);
JournalLabel.Text=JournalModule.Get
JournalCurrentText();
Απομένει να δούμε πώς θα εμφανίζου-
με το ημερολόγιο στην οθόνη μας. Πάντα
στο global script, αναζητήστε τη συνάρ-
τηση on_key_press() και πληκτρολογήστε
το εξής για να ανοίγει όποτε πατάτε το
πλήκτρο F2:
if (keycode==GetASCIINumber(F2))
gJournal.Visible=true;
Υπάρχει ένα ακόμα βήμα που χρειάζε-
ται να κάνουμε πριν δοκιμάσουμε το GUI
μας, κι αυτό είναι να διορθώσουμε κάτι
στον κώδικα του module που προκαλεί
ασυμβατότητα με τις πρόσφατες εκδό-
σεις του AGS. Κάντε διπλό κλικ στο
Scripts-> journalmodule_v1.1.asc και αλ-
λάξτε τη γραμμή #DEFINE Max_Entries
50
σε #define Max_Entries 50. Είστε
έτοιμοι να αποθηκεύσετε το παιχνίδι σας
και να δοκιμάσετε τη λειτουργία του και-
νούργιου Journal GUI. Μπορείτε να πειρα-
ματιστείτε με τα χρώματα και τη θέση
του στην οθόνη έως ότου σας ικανοποιεί
το αποτέλεσμα.
Πώς όμως προσθέτουμε νέες καταχω-
ρίσεις στο ημερολόγιο; Πολύ εύκολα, με
τον τρόπο που θα δείξουμε παρακάτω.
Θυμόμαστε ότι έξω από το σπίτι του
Chris, είχαμε πάρει από το έδαφος μία
πλαστική μπαλίτσα που δεν ήταν τόσο
αθώα όσο αρχικά έδειχνε. Ας συνοδεύ-
σουμε την ενέργεια αυτή με μία καινούρ-
για καταχώριση. Η συνάρτηση oBall_In-
teract(), με την οποία παίρνουμε την
μπαλίτσα, θα γίνει:
oBall.Visible=false;
player.AddInventory(iball);
GiveScore(5);
TimTookBall=0;
JournalModule.AddEntry(“I picked up a
colorful plastic ball outside my house
today. Pretty, but useless.”);
Ξεκινήστε τώρα το PC Master’s Saga
και πάρτε την μπάλα. Πλέον θα έχετε δύο
καταχωρίσεις στο ημερολόγιο και, αν τα
έχετε κάνει όλα σωστά, θα μπορείτε να
τις εναλλάσσετε με τα βελάκια.
Είπαμε όμως ότι θέλουμε να προσθέ-
σουμε και κάποια προαιρετικά hints στο
journal μας. Ας αντικαταστήσουμε την τε-
λευταία γραμμή του προηγούμενου script
με τα παρακάτω:
if (HintsEnabled==true) JournalModu-
le.AddEntry(“I picked up a colorful
plastic ball outside my house today.
Something tells me there’s more to it
than meets the eye.”);
else JournalModule.AddEntry(“I picked
up a colorful plastic ball outside my
house today. Pretty, but useless.”);
Φυσικά, επαφίεται σ’ εσάς το πόσο προ-
φανή θέλετε να είναι τα σχόλια αυτά. Κα-
λό θα είναι να μην τους δίνετε τη λύση
στο πιάτο…
Για περισσότερες λειτουργίες που μπο-
ρείτε να προσθέσετε στο journal, όπως ει-
σαγωγή ημερομηνίας, formatting, τροπο-
ποίηση καταχώρισης κ.λπ., ανατρέξτε στις
οδηγίες που συνοδεύουν το module.
PC
135
PC Master
ΔΕκEΜβΡΙΟΣ 2012:
Αρχικοποίηση adventure game, δημιουργία δωματίου, ορισμός
hotspots.
ΙΑνΟΥAΡΙΟΣ 2013:
Έξοδοι δωματίων, hotspot interaction, συνθήκες ελέγχου, global
variables, αντικείμενα, inventory items.
ΦΕβΡΟΥAΡΙΟΣ 2013:
Δημιουργία χαρακτήρων, walkable areas, scaling levels, walk-
behinds.
ΜΑΡΤΙΟΣ 2013:
Character interaction, αλληλεπίδραση inventory-χαρακτήρων, δημι-
ουργία διαλόγων.
ΑΠΡΙΛΙΟΣ 2013:
Global script, συναρτήσεις on_key_press(), dialog_request() και
unhandled_event(), διαχείριση room events.
ΜAΪΟΣ 2013:
Αλλαγή cursor σε Exit icon πάνω από έξοδο, room regions, συνάρτηση
repeatedly_execute, δημιουργία introduction και cutscenes.
IOYNIOΣ 2013:
User interface, δημιουργία menu bar με GUI buttons και πληροφορίες
σκορ & text variable.
IOYΛIOΣ 2013:
Μουσικά αρχεία, ηχητικά εφέ, πολλαπλά κανάλια ήχου, φωνές ηθοποιών.
ΑΥΓΟΥΣΤΟΣ 2013:
AGS Resources, modules, plugins, εισαγωγή και τροποποίηση ενός
module, Dialog Designer utility.
ΣΕΠΤΕΜβΡΙΟΣ 2013:
Σχεδιασμός GUI για εύκολο debugging και τεστάρισμα του
παιχνιδιού, εκμάθηση GUI components.
ΟκΤΩβΡΙΟΣ 2013:
κοντινή επισκόπηση και interaction με επιμέρους στοιχεία
ενός inventory item.
NOΕΜβΡΙΟΣ 2013:
Γενική επανάληψη – Δωμάτια και χαρακτήρες.
ΔΕκEΜβΡΙΟΣ 2013:
Γενική επανάληψη – Δημιουργία GUIs, computer interface,
passwords.
ΣΤΑ ΠΡΟΗΓΟΥΜΕΝΑ ΤΕΥΧΗ
Δεν κάνουμε αλλαγές στο
journalmodule_v1.1.ash.
Τμήμα του κώδικα του Journal Module.