home *** CD-ROM | disk | FTP | other *** search
/ The Best of Select: Games 3 / cd.iso / games / dcg303xa / initgame.scr < prev    next >
Text File  |  1993-05-25  |  5KB  |  126 lines

  1. !
  2. ! FILE : initgame.scr
  3. !
  4. ! DESCRIPTION
  5. !   Example introduction script.  This script is executed when the game
  6. !   is first started.  The 'player' is initialized, but the character
  7. !   creation screen has not been called yet.
  8. !
  9. !   The player attributes are loaded from statistics record # 0 (which
  10. !   you can modify using the DCWORLD program).  These attributes are
  11. !   modified as follows when the game starts:
  12. !
  13. !     group.gold        = 1000;   (1000 silver or 100 gold)
  14. !     group.food        =   25;
  15. !     player.name       = "John Doe";
  16. !     player.type       = REGULAR;
  17. !     player.class      = HUMAN;
  18. !     player.level      = 1;
  19. !     player.experience = 1;
  20. !     player.energy     = 1000; (See note # 3 below)
  21. !
  22. ! You may change any attribute within this script to accomodate your
  23. ! needs.  If you end the script with the CONTINUE statement, instead of
  24. ! the STOP statement, the character creation screen will be invoked and
  25. ! the player will be allowed to:
  26. !
  27. !  a) Set the player's name IF it was not changed from 'John Doe' to 
  28. !     any other value by this script.
  29. !
  30. !  b) Set the player's character class IF it was not changed from the
  31. !     default class (HUMAN).
  32. !
  33. !  c) Distribute 25 attribute points amongst the player's attributes
  34. !     for strength, speed, aim, dexterity, hit-points, iq and power.
  35. !     (see note # 3 below)
  36. !
  37. ! IMPORTANT NOTES: The following special conditions affect the way the
  38. ! attributes may be distributed.
  39. !
  40. !  1) Any attribute that has a value greater than 9 may not be modified
  41. !     by the user.  This allows you to specify a fixed starting value
  42. !     for SOME of the attributes, and let the user set the other ones.
  43. !
  44. !  2) Any attribute that has an initial value less than 9 is automaticly
  45. !     raised to 9 taking away from the initial 25 attribute points.  The
  46. !     users may NOT lower an attribute below 9, nor may they raise any
  47. !     attribute above 20.  This allows you to reduce the number of points
  48. !     that are available for distribution.
  49. !
  50. !  3) If you set the 'group.energy' variable to a value between 0 and 40
  51. !     the value will be used as the initial number of points available
  52. !     instead of 25 (still subject to notes 1 and 2).  In such a case,
  53. !     the group.energy attribute is set to 1000 AFTER character creation
  54. !     takes place.
  55. !
  56. ! Examples:
  57. !   player.pwr  = 35;  ! Player starts with 35 power points. User may not
  58. !                      ! change this value.
  59. !                      
  60. !   player.str  =  4;  ! By seting this value to 4, the game will take 5
  61. !                      ! points of the 25 and assign them to this attribute
  62. !                      ! which leaves only 20 points to be distributed by
  63. !                      ! the player.
  64. !
  65. !   group.energy = 30; ! Distribute 30 points instead of 25
  66. !
  67. !------------------------------------------------------------------------
  68. ! If you don't wan't to use the character creation screen, you may set
  69. ! the attributes in many different ways, for example:
  70. !
  71. ! You might get the name this way:
  72. !   :XLOOP
  73. !     write( "What is your name: " );
  74. !     L0 = getstr( "Hey You" );
  75. !     if S0 = "" goto XLOOP;  ! You HAVE to enter a name
  76. !     player.name = S0;
  77. !
  78. ! You might set the class using a menu, as follows:
  79. !   L0 = select( "Wizard", "Elf", "Dwarf" );
  80. !   on L0 goto XWIZ, XELF, XDWARF;
  81. !   :XWIZ   player.class = WIZARD; goto XNEXT;
  82. !   :XELF   player.class = ELF;    goto XNEXT;
  83. !   :XDWARF player.class = DWARF;  goto XNEXT;
  84. !   :XNEXT
  85. !
  86. ! Or directly...
  87. !   player.class = ELF;
  88. !
  89. ! The standard attributes can be set directly in statistics record # 0
  90. ! (using the DCWORLD program) or in this script by direct assignment.
  91. !
  92. ! IMPORTANT:  If you end this script with STOP, the character creation
  93. ! screen is NOT invoked, so you need to set BOTH attribute fields:
  94. !   player.pwr  = 30;  ! Current Value
  95. !   player.mpwr = 30;  ! Maximum Value
  96. !
  97. ! The character creation screen automaticly copies all CURRENT values to
  98. ! the MAXIMUM values, so you don't have to set the maximum values if the
  99. ! screen is going to be invoked.
  100. !
  101. !***********************************************************************
  102. ! Cheat so we can test with high attributes.
  103. !
  104. ! group.energy = 40; ! Number of points to distribute between the attributes
  105. !                    ! that we do not modify here.  May be between 0 and 40.
  106. !                    ! Default is 25 points.
  107. !
  108. ! player.pwr   = 90; ! Pre-set pwr to 90
  109. ! player.iq    = 90; ! Pre-set iq  to 90
  110. ! player.hp    = 90; ! Pre-set hp  to 90
  111. !
  112. !***********************************************************************
  113.  
  114. music   ( "intro1.cmf" );  ! Play background music
  115. viewpcx ( "intro1.pcx" );  ! Show a nice picture
  116. wait    ( 120 );
  117. music   ( "intro2.cmf" );  ! Play background music
  118. readtext( "intro1.txt" );  ! Read some text.  Restores screen
  119.  
  120. writeln( "You will now get a chance to create your character.  You may" );
  121. writeln( "select a name, a character class and customize your attributes:" );
  122. write  ( "Press <SPACE> to continue" );
  123. pause;
  124.  
  125. CONTINUE;                  ! Continue with normal character creation
  126.