Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 28th, 2012  |  syntax: None  |  size: 10.85 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. // PUBLIC DOMAIN
  2. //
  3. //      Taken from spookie's speedo mod.
  4. //
  5.  
  6. #pragma once
  7.  
  8. /*
  9.         file:
  10.                 scripting.h
  11.         desc:
  12.                 This is the header file for GameScripting.cpp.
  13. */
  14.  
  15. #define MAX_SCRIPT_VARS 16      // Size of our variable saving array
  16. #define MAX_SCRIPT_SIZE 255     // Size of ScriptBuf - Max is really (2+(13*5))
  17.  
  18. struct GAME_SCRIPT_THREAD       // 0x88 bytes total.
  19. {                                                       // - Credit to CyQ & PatrickW
  20.         void* pNext;                    // 0x00
  21.         void* pPrev;                    // 0x04
  22.         char strName[8];                // 0x08
  23.         DWORD dwScriptIP;               // 0x10
  24.         DWORD dwReturnStack[6]; // 0x14
  25.         DWORD dwStackPointer;   // 0x2C
  26.         DWORD dwLocalVar[18];   // 0x30
  27.         BYTE bStartNewScript;   // 0x78
  28.         BYTE bJumpFlag;                 // 0x79
  29.         BYTE bWorky;                    // 0x7A
  30.         BYTE bAwake;                    // 0x7B
  31.         DWORD dwWakeTime;               // 0x7C
  32.         WORD wIfParam;                  // 0x80
  33.         BYTE bNotFlag;                  // 0x82
  34.         BYTE bWastedBustedCheck;// 0x83
  35.         BYTE bWastedBustedFlag; // 0x84
  36.         BYTE bMissionThread;    // 0x85
  37.         BYTE pad[2];                    // 0x86
  38. };
  39.  
  40. struct SCRIPT_COMMAND           //      Params
  41. {                                                       //              i = integer
  42.         WORD OpCode;                    //              f = float
  43.         char Params[13];                //              v = variable
  44. };                                                      //              s = string
  45.  
  46. int ScriptCommand(const SCRIPT_COMMAND* ScriptCommand, ...);    // The main scripting function. See notes.
  47.  
  48. /*      Below are some opcodes i've defined, but it's still missing
  49.         about 95% of them ;) See http://vc-db.webtools4you.net/         */
  50. const SCRIPT_COMMAND request_model                              = { 0x0247, "i" };              // (CAR_*|BIKE_*|BOAT_*|WEAPON_*|OBJECT_*)
  51. const SCRIPT_COMMAND load_requested_models              = { 0x038B, "" };               // -/-
  52. const SCRIPT_COMMAND create_car                                 = { 0x00A5, "ifffv" };  // (CAR_*|BIKE_*|BOAT_*), x, y, z, var_car
  53. const SCRIPT_COMMAND load_special_actor                 = { 0x023C, "is" };             // SPECIAL_*, MODEL_*
  54. const SCRIPT_COMMAND create_actor                               = { 0x009A, "iifffv" }; // PEDTYPE_*, #MODEL, x, y, z, var_actor
  55. const SCRIPT_COMMAND destroy_actor_fading               = { 0x034F, "v" };              // var_actor
  56. const SCRIPT_COMMAND set_weather                                = { 0x01B6, "i" };              // WEATHER_*
  57. const SCRIPT_COMMAND set_fade_color                             = { 0x0169, "iii" };    // Red(0-255), Green(0-255), Blue(0-255)
  58. const SCRIPT_COMMAND fade                                               = { 0x016A, "ii" };             // (time in ms), FADE_*
  59. const SCRIPT_COMMAND is_fading                                  = { 0x016B, "" };               // -/-
  60. const SCRIPT_COMMAND freeze_player                              = { 0x01B4, "vi" };             // PLAYER_CHAR, Freeze(1/0)
  61. const SCRIPT_COMMAND name_thread                                = { 0x03A4, "s" };              // "MAIN"
  62. const SCRIPT_COMMAND set_max_wanted_level               = { 0x01F0, "i" };              // MaxLevel
  63. const SCRIPT_COMMAND set_wasted_busted_check    = { 0x0111, "i" };              // Check(1/0)
  64. const SCRIPT_COMMAND set_current_time                   = { 0x00C0, "ii" };             // Hours, Minutes
  65. const SCRIPT_COMMAND refresh_screen                             = { 0x04E4, "ff" };             // x, y
  66. const SCRIPT_COMMAND set_camera                                 = { 0x03CB, "fff" };    // x, y, z
  67. const SCRIPT_COMMAND create_player                              = { 0x0053, "vfffv" };  // 0, x, y, z, PLAYER_CHAR
  68. const SCRIPT_COMMAND create_actor_from_player   = { 0x01F5, "vv" };             // PLAYER_CHAR, PLAYER_ACTOR
  69. const SCRIPT_COMMAND set_actor_skin                             = { 0x0352, "vs" };             // var_actor, MODEL_*
  70. const SCRIPT_COMMAND refresh_actor_skin                 = { 0x0353, "v" };              // var_actor
  71. const SCRIPT_COMMAND select_interior                    = { 0x04BB, "i" };              // INTERIOR_*
  72. const SCRIPT_COMMAND make_actor_leave_vehicle   = { 0x03E2, "v" };              // var_actor
  73. const SCRIPT_COMMAND clear_actor_objective              = { 0x011C, "v" };              // var_actor
  74. const SCRIPT_COMMAND send_actor_to_car                  = { 0x01D4, "vv" };             // var_actor, var_car
  75. const SCRIPT_COMMAND send_actor_to_car_driver   = { 0x01D5, "vv" };             // var_actor, var_car
  76. const SCRIPT_COMMAND set_car_color                              = { 0x0229, "vii" };    // var_car col1 col2
  77. const SCRIPT_COMMAND wait                                               = { 0x0001, "i" };              // time_in_ms
  78. const SCRIPT_COMMAND create_thread                              = { 0x00D7, "iz" };             // StartIP (4F)
  79. const SCRIPT_COMMAND end_thread                                 = { 0x004E, "" };               // -/-
  80. const SCRIPT_COMMAND destroy_car                                = { 0x00A6, "i" };              // var_car
  81. const SCRIPT_COMMAND set_car_z_angle                    = { 0x0175, "if" };             // var_car, angle
  82. const SCRIPT_COMMAND car_relative_coordinates   = { 0x0407, "vfffvvv" };// var_car, x, y, z, var_x, var_y, var_z
  83. const SCRIPT_COMMAND set_car_max_speed                  = { 0x00AD, "vf" };             // var_car, speed
  84. const SCRIPT_COMMAND is_model_available                 = { 0x0248, "i" };              // #MODEL
  85. const SCRIPT_COMMAND create_actor_in_driverseat = { 0x0129, "viiv" };   // var_car, pedtype, #MODEL, var_actor
  86. const SCRIPT_COMMAND create_actor_in_passenger  = { 0x01c8, "viiiv" };  // var_car, pedtype, #MODEL, seat, var_actor
  87. const SCRIPT_COMMAND drive_car_to_point1                = { 0x02c2, "vfff" };   // var_car, x, y, z
  88. const SCRIPT_COMMAND car_ignore_traffic                 = { 0x00AE, "vi" };             // var_car, flag
  89. const SCRIPT_COMMAND set_car_immune_to_nonplayer= { 0x02aa, "vi" };             // var_car, immune(1/0)
  90. const SCRIPT_COMMAND give_actor_weapon                  = { 0x01B2, "vii" };    // var_actor, weapon, ammo
  91. const SCRIPT_COMMAND reset_actor_flags                  = { 0x01ED, "v" };              // var_actor
  92. const SCRIPT_COMMAND set_actor_ped_stats                = { 0x0243, "vi" };             // var_actor, pedstats
  93. const SCRIPT_COMMAND toggle_actor_wander                = { 0x0319, "vi" };             // var_actor, wander(1/0)
  94. const SCRIPT_COMMAND play_music                                 = { 0x0394, "i" };              // music
  95. const SCRIPT_COMMAND clear_player_wanted_level  = { 0x0110, "v" };              // PLAYER_CHAR
  96. const SCRIPT_COMMAND set_car_door_status                = { 0x020A, "vi" };             // var_car, status
  97. const SCRIPT_COMMAND remove_references_to_actor = { 0x01C2, "v" };              // var_actor
  98. const SCRIPT_COMMAND remove_references_to_car   = { 0x01C3, "v" };              // var_car
  99. const SCRIPT_COMMAND set_player_wanted_level    = { 0x010D, "vi" };             // PLAYER_CHAR, level
  100. const SCRIPT_COMMAND set_player_health                  = { 0x0222, "vi" };             // PLAYER_CHAR, health
  101. const SCRIPT_COMMAND get_car_health                             = { 0x0227, "vv" };             // var_car, var_health
  102. const SCRIPT_COMMAND text_styled                                = { 0x00BA, "sii" };    // TEXT, time, style
  103. const SCRIPT_COMMAND text_now                                   = { 0x00BC, "sii" };    // TEXT, time, style
  104. const SCRIPT_COMMAND text_1number_styled                = { 0x01E3, "siii" };   // TEXT, number, time, style
  105. const SCRIPT_COMMAND toggle_car_siren                   = { 0x0397, "vi" };             // var_car, siren(1/0)
  106. const SCRIPT_COMMAND toggle_widescreen                  = { 0x02A3, "i" };              // widescreen(1/0)
  107. const SCRIPT_COMMAND set_camera_behind_player   = { 0x0373, "" };               // -/-
  108. const SCRIPT_COMMAND camera_on_vehicle                  = { 0x0158, "vii" };    // var_car, ukn, ukn
  109. const SCRIPT_COMMAND restore_camera                             = { 0x015A, "" };               // -/-
  110. const SCRIPT_COMMAND point_camera                               = { 0x0160, "fffi" };   // x, y, z, type
  111. const SCRIPT_COMMAND restore_camera_jumpcut             = { 0x02EB, "" };               // -/-
  112. const SCRIPT_COMMAND set_camera_position                = { 0x015F, "ffffff" }; // x, y, z, vx, vy, vz
  113. const SCRIPT_COMMAND tie_actor_to_player                = { 0x01DF, "vv" };             // var_actor, PLAYER_CHAR
  114. const SCRIPT_COMMAND tie_marker_to_car                  = { 0x0161, "iiiv" };   // var_car, ukn, ukn, var_marker
  115. const SCRIPT_COMMAND tie_marker_to_actor                = { 0x0162, "viiv" };   // var_actor, ukn, ukn, var_marker
  116. const SCRIPT_COMMAND disable_marker                             = { 0x0164, "v" };              // var_marker
  117. const SCRIPT_COMMAND set_marker_color                   = { 0x0165, "vi" };             // var_marker, color
  118. const SCRIPT_COMMAND set_marker_brightness              = { 0x0166, "ii" };             // var_marker, brightness
  119. const SCRIPT_COMMAND create_marker                              = { 0x0167, "fffiiv" }; // x, y, z, ukn, ukn, var_marker
  120. const SCRIPT_COMMAND show_on_radar                              = { 0x0168, "vi" };             // var_marker, size
  121. const SCRIPT_COMMAND set_car_driver_behaviour   = { 0x00AF, "vi" };             // var_car, behaviour
  122. const SCRIPT_COMMAND set_actor_to_kill_actor    = { 0x01C9, "vv" };             // var_actor, var_actor
  123. const SCRIPT_COMMAND set_actor_to_kill_player   = { 0x01CA, "vv" };             // var_actor, PLAYER_CHAR
  124. const SCRIPT_COMMAND is_actor_dead                              = { 0x0118, "v" };              // var_actor
  125. const SCRIPT_COMMAND player_near_point_on_foot  = { 0x00F6, "vffffffi" };//     PLAYER_CHAR, x, y, z, rx, ry, rz, b
  126. const SCRIPT_COMMAND create_icon_marker_sphere  = { 0x02A7, "fffiv" };
  127. const SCRIPT_COMMAND is_player_near_point_3d    = { 0x00F5, "vffffffi" };//     PLAYER_CHAR, x, y, z, rx, ry, rz, b
  128. const SCRIPT_COMMAND is_actor_near_point_3d             = { 0x00FE, "vffffffi" };//     var_actor, x, y, z, rx, ry, rz, b
  129. const SCRIPT_COMMAND is_car_near_point_3d               = { 0x01AF, "vffffffi" };//     var_car, x, y, z, rx, ry, rz, b
  130. const SCRIPT_COMMAND set_player_z_angle                 = { 0x0171, "if" };
  131. const SCRIPT_COMMAND get_player_z_angle                 = { 0x0170, "iv" };
  132. const SCRIPT_COMMAND give_player_weapon                 = { 0x01B1, "iii" };    // PLAYER_CHAR, weapon, ammo
  133. const SCRIPT_COMMAND add_to_player_money                = { 0x0109, "vi" };             // PLAYER_CHAR, money
  134. const SCRIPT_COMMAND restart_if_wasted_at               = { 0x016C, "ffff" };   // x, y, z, a
  135. const SCRIPT_COMMAND restart_if_busted_at               = { 0x016D, "ffff" };   // x, y, z, a
  136. //const SCRIPT_COMMAND set_game_speed             = { 0x68F1F0, "f" };
  137. const SCRIPT_COMMAND is_key_pressed                             = { 0x0e1, "ii" };
  138.  
  139. // added by kyeman. (I don't use correct conventions so don't copy elsewhere
  140. // without double checking they're how you want them, yalls.
  141.  
  142. const SCRIPT_COMMAND toggle_player_infinite_run = { 0x0330, "ii" };
  143. const SCRIPT_COMMAND toggle_player_controllable = { 0x01B4, "ii" };
  144. const SCRIPT_COMMAND toggle_player_fast_reload  = { 0x0331, "ii" };
  145. const SCRIPT_COMMAND set_player_armed_weapon    = { 0x01b8, "ii" };
  146. const SCRIPT_COMMAND get_player_armed_weapon    = { 0x046f, "iv" };
  147. const SCRIPT_COMMAND remove_player_weapons              = { 0x03b8, "i"  };
  148. const SCRIPT_COMMAND put_player_in_car                  = { 0x0369, "ii" };
  149. const SCRIPT_COMMAND put_player_at_and_remove_from_car = { 0x012a, "ifff" };
  150. const SCRIPT_COMMAND set_actor_immunities               = { 0x02ab, "iiiiii" };
  151. const SCRIPT_COMMAND set_car_immunities                 = { 0x02ac, "iiiiii" };
  152. const SCRIPT_COMMAND set_object_z_angle                 = { 0x0177, "if" };
  153. const SCRIPT_COMMAND set_object_collision               = { 0x0382, "ii" };
  154. const SCRIPT_COMMAND play_sound                                 = { 0x018c, "fffi" };
  155. const SCRIPT_COMMAND create_sound                               = { 0x018d,     "fffiv" };
  156. const SCRIPT_COMMAND get_player_weapon_ammo             = { 0x0419, "iiv" };
  157. const SCRIPT_COMMAND get_car_z_angle                    = { 0x0174, "iv" };
  158. const SCRIPT_COMMAND create_forbidden_for_peds_cube = { 0x022B, "ffffff" };
  159. const SCRIPT_COMMAND create_forbidden_for_cars_cube = { 0x01E8, "ffffff" };
  160. const SCRIPT_COMMAND set_pedestrians_density_multiplier_to = { 0x03DE, "f" };
  161. const SCRIPT_COMMAND set_traffic_density_multiplier_to = { 0x01EB, "f" };
  162. const SCRIPT_COMMAND force_weather = { 0x01B5, "i" };
  163.  
  164.  
  165. // Added by VC-Players Team.
  166. const SCRIPT_COMMAND flash_item = { 0x03E7, "i" };
  167. const SCRIPT_COMMAND water_deaths = { 0x04D8, "ii" };
  168. const SCRIPT_COMMAND cell_phone = { 0x052B, "ii" };
  169. const SCRIPT_COMMAND load_model = { 0x0247, "i" };
  170. const SCRIPT_COMMAND set_actor_bleeding = { 0x0332, "ii" };
  171. const SCRIPT_COMMAND set_vehicle_siren_state = { 0x0397, "vi" }; // causes crashs :s
  172. const SCRIPT_COMMAND pop_vehicle_trunk = { 0x050B, "i" };
  173. const SCRIPT_COMMAND set_ped_sky_color = { 0x04F9, "ii" };
  174. const SCRIPT_COMMAND set_driveby_state = { 0x0501, "ii" };
  175.  
  176. // Objects
  177. const SCRIPT_COMMAND create_object = { 0x0107, "ifffv" };
  178. const SCRIPT_COMMAND destroy_object = { 0x0108, "v" };
  179. const SCRIPT_COMMAND set_target_state = { 0x035D, "v" };
  180. const SCRIPT_COMMAND get_object_state = { 0x0366, "v" };
  181. const SCRIPT_COMMAND set_object_rotation = { 0x0453, "vfff" };