Module Script Template (RickJ)
RickJ's module script template:
//=================================================================== // *** AGS MODULE SCRIPT *** // // Module: <module name> // // Author: <first name> <last name> (<forum name>) // // Require: AGS 2.7, <module1>..., <moduleN> // // 1 Abstract // // 2 Description // // 3 Revision History // <yy-mmm-dd> <forum name>, created original version // // 4 License // This module is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public License // as published by the Free Software Foundation; either version 2.1 // of the License, or any later version. // // This module is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not,write to the Free Software // Foundation, Inc, 59 Temple Place, Suite 330, Boston, MA 02111-1307 // USA. // // Copyright (C) yyyy <holder> //------------------------------------------------------------------- //------------------------------------------------------------------- // Configuration Constants //------------------------------------------------------------------- //------------------------------------------------------------------- // Static Variables //------------------------------------------------------------------- //------------------------------------------------------------------- // Utility Functions //------------------------------------------------------------------- //=================================================================== // Static Functions //------------------------------------------------------------------- //=================================================================== // Member Functions //------------------------------------------------------------------- //=================================================================== // Ags Standard Events //------------------------------------------------------------------- //=================================================================== function game_start() { // // This is the first event that is triggered after the game is loaded // into memory. It's purpose is to initialize the game. //------------------------------------------------------------------- } //=================================================================== function repeatedly_execute() { // // This event is triggered each game cycle. Addition of code to this // even should be done carefully to avoid unacceptable performance // degradation. If there is way to avoid putting code in this event // then it is generally advisable to do so. //------------------------------------------------------------------- } //=================================================================== function repeatedly_execute_always() { // // This event is triggered each game cycle, even when a blocking // routine (eg. speech/cutscene) is in progress. Blocking functions // cannot be called from this event handler. Addition of code to this // event should be done carefully to avoid unacceptable performance // degradation. If there is a way to avoid putting code in this event // then it is generally advisable to do so. //------------------------------------------------------------------- } //=================================================================== function on_event (int event, int data) { // // This event is triggered in response to a number of standard AGS // game events. See the AGS manual for more details. The EVENT and // DATA parameters are used to decode the specific event as follows: // // EVENT DATA // eEventEnterRoomBeforeFadein new room number // eEventLeaveRoom room number they are leaving // eEventGotScore number of points they got // eEventGUIMouseDown GUI number // eEventGUIMouseUp GUI number // eEventAddInventory inventory item number that was added // eEventLoseInventory inventory item number that was lost // eEventRestoreGame save slot number //------------------------------------------------------------------- } //=================================================================== int PrevKey; function on_key_press(int keycode) { // // This event is triggered whenever a keyboard key is pressed. The // parameter KEYCODE identifies which key was pressed. All possible // keycodes are given below. See the AGS manual for more details. // // KEYCODE DESCRIPTION KEYCODE DESCRIPTION // 1..26 Ctrl+A .. Ctrl+Z 8 Backspace (Ctrl+H) // 9 Tab (Ctrl+I) 13 Enter (Ctrl+M) // 27 Escape 32 Space // 48..57 '0' .. '9' 65..90 'A' .. 'Z' (uppercase) // 359..368 F1 .. F10 371 Home (numeric pad) // 372 Up arrow 373 PgUp (numeric pad) // 375 Left arrow 376 '5' (numeric pad) // 377 Right arrow 379 End (numeric pad) // 380 Down arrow 381 PgDn (numeric pad) // 433..434 F11 .. F12 //------------------------------------------------------------------- } //=================================================================== function on_mouse_click(int button) { // // This event is triggered whenever a mouse button is pressed. The // button parameter identifies which mouse button was pressed as // follows: // eMouseLeft, eMouseRight, eMouseMiddle, // eMouseLeftInv, eMouseRightInv, // eMouseWheelNorth, eMouseWheelSouth //------------------------------------------------------------------- } //=================================================================== function unhandled_event(int what, int type) { // // This function is called when an interaction is run, but no events // are listed in the AGS interaction window. The WHAT and TYPE // parameters tell you what the player did. Their possible values are // listed below: // // WHAT TYPE Hotspot Interaction WHAT TYPE Object Interaction // 1 1 Look at 2 0 Look at // 1 2 Interact with 2 1 Interact with // 1 3 Use inventory on 2 2 Talk to // 1 4 Talk to 2 3 Use inventory on // 1 7 Pick up 2 5 Pick up // 1 8 Cursor Mode 8 on 2 6 Cursor Mode 8 on // 1 9 Cursor Mode 9 on 2 7 Cursor Mode 9 on // // WHAT TYPE Character Interaction WHAT TYPE Nothing Interaction // 3 0 Look at 4 1 Look at // 3 1 Interact with 4 2 Interact with // 3 2 Talk to 4 3 Use inventory with // 3 3 Use inventory on 4 4 Talk to // 3 5 Pick up // 3 6 Cursor Mode 8 on // 3 7 Cursor Mode 9 on // // WHAT TYPE Inventory Interaction // 5 0 Look at // 5 1 Interact with (currently not possible) // 5 2 Talk to // 5 3 Use an inventory item on another // 5 4 Other click on //------------------------------------------------------------------- } //=================================================================== function dialog_request(int parameter) { // // This function is called when a dialog script line "run-script" is // processed. PARAMETER is the value of the number following the // "run-script" on that line of the dialog script. //------------------------------------------------------------------- }