000107. Обзор класса GAME
Last updated
Was this helpful?
Last updated
Was this helpful?
Обзор класса GAME|Всем привет! 8 уроков мы изучали некоторые возможности и особенности C#. Теперь мы будем их применять, используя библиотеку ScriptHookDotNet.|wmysterio|wmysterio||||Сегодня мы рассмотрим класс этой библиотеки -GAME. Содержит он функции, которые связаны с игровым процессом и я рассказу вам о тех, которые понял сам. Некоторые из них требуют подключить ссылку на библиотекуSystem.Windows.Forms. Сделаем это:
B добавим ссылку в коде скрипта:
Теперь мы можем пользоваться функциями класса "GAME". Начнём наш обзор с функций:
```
cs /* делает затемнение экрана: / Game.FadeScreenOut(1000, true); / Здесь: 1000 - время, за которое нужно затемнить экран true - указывает, что нужно подождать пока экран не затемниться окончательно ( параметр не обязательный ) */
fade 0 1000 repeat wait 0 until fading
cs /* делает осветление экрана: / Game.FadeScreenIn(1000, true); / Здесь: 1000 - время, за которое нужно осветлить экран true - указывает, что нужно подождать пока экран не осветлиться окончательно ( параметр не обязательный ) */
fade 1 1000 repeat wait 0 until fading
cs /* Выводит сообщение (TEXTBOX) на экране: / Game.DisplayText("This is my text"); / Здесь: "This is my text" - необходимый нам текст */
03E5: 'GXTNAME' // This is my text 0ACE: "This is my text"
cs /* Включает или отключает максимальный лимит патронов: / Game.DisableMaxAmmoLimit = true; / Здесь: false - включает лимит true - отключает лимит */
cs /* Записывает в переменную текущий FPS: / Game.FPS; / Здесь: Возвращаемый тип: float */
cs /* Делает автосохранение игры. Если это делается в первый раз, то игра предоставит список слотов с сохранениями, куда нужно сохранить игру: */ Game.DoAutoSave();
03D8: show_save_screen
cs /* Получает статистику игрока с типом int: / Game.GetIntegerStatistic(IntegerStatistic.ARMED_KILLS); / Здесь: IntegerStatistic.ARMED_KILLS - объект коллекции IntegerStatistic
Возвращаемый тип: int */
0652: 1@ = integer_stat 181
cs /* Получает статистику игрока с типом float: / Game.GetFloatStatistic(FloatStatistic.MILES_BY_CAR); / Здесь: FloatStatistic.MILES_BY_CAR - объект коллекции FloatStatistic
Возвращаемый тип: float */
0653: 0@ = float_stat 21
cs /* делает затемнение экрана: / Game.FadeScreenOut(1000, true); Game.FadeScreenOut(1000); / Здесь: 1000 - время, за которое нужно затемнить экран true - указывает, что нужно подождать пока экран не затемниться окончательно(параметр не обязательный, но рекомендуемый)
*/
fade 0 1000
repeat wait 0 until fading
cs /* делает осветление экрана: / Game.FadeScreenIn(1000, true); Game.FadeScreenIn(1000); / Здесь: 1000 - время, за которое нужно осветлить экран true - указывает, что нужно подождать пока экран не осветлиться окончательно(параметр не обязательный, но рекомендуемый) */
fade 1 1000
repeat wait 0 until fading
cs /* Выводит сообщение (TEXTBOX) на экране: / Game.DisplayText("This is my text"); / Здесь: "This is my text" - необходимый нам текст */
03E5: 'GXTNAME' // This is my text 0ACE: "This is my text"
cs /* Включает/отключает максимальный лимит патронов: / Game.DisableMaxAmmoLimit = true; / Здесь: false - включает лимит true - отключает лимит */
cs /* Записывает в переменную текущий FPS: / Game.FPS; / Здесь: Возвращаемый тип: float */
cs /* Делает автосохранение игры. При первом использовании игра предоставит выбор слота для сохранения: */ Game.DoAutoSave();
03D8: show_save_screen
cs /* Получает статистику игрока с типом int: / Game.GetIntegerStatistic(IntegerStatistic.ARMED_KILLS); / Здесь: IntegerStatistic.ARMED_KILLS - объект коллекции IntegerStatistic
Возвращаемый тип: int */
0652: 1@ = integer_stat 181
cs /* Получает статистику игрока с типом float: / Game.GetFloatStatistic(FloatStatistic.MILES_BY_CAR); / Здесь: FloatStatistic.MILES_BY_CAR - объект коллекции FloatStatistic
Возвращаемый тип: float */
0653: 0@ = float_stat 21
cs /* Возвращает директорию, куда установлена игра: / Game.InstallFolder; / Здесь: Возвращаемый тип: string */
cs /* Проверка: "игра запущена в полный экран?": / Game.isFullscreen / Здесь: Возвращаемый тип: bool */
cs /* Проверка: "Нажал ли игрок игровую клавишу - Атаковать": / Game.isGameKeyPressed(GameKey.Attack) / Здесь: GameKey.Attack - элемент коллекции GameKey
Возвращаемый тип: bool */
00E1: player 0 pressed_key 17
cs /* Проверка: "Нажал ли игрок конкретную клавишу - F4": / Game.isKeyPressed(Keys.F4) / Здесь: Keys.F4 - элемент коллекции Keys
Возвращаемый тип: bool */
0AB0: key_pressed 115 // F4
cs /* Проверка: "Режим игры - мультиплеер?": / Game.isMultiplayer / Здесь: Возвращаемый тип: bool */
cs /* Узнать текущего локального игрока: / GTA.Player MyPlayer = Game.LocalPlayer; / Здесь: MyPlayer - экземпляр класса GTA.Player */
$PLAYER_CHAR
cs /* Останавливает игру: / Game.Pause(); / Важно! Как и SannyBuilder, можно остановить игру. Как её продолжить я пока не знаю. */
015D: set_gamespeed 0.0
cs /* Проверка: "Игра остановлена?": / Game.Paused / Здесь: Возвращаемый тип: bool */
cs /* Проигрывает мелодию события: / Game.PlayAudioEvent("EventName"); / Здесь: EventName - Имя события(string) */
018C: play_sound 1052 at 0.0 0.0 0.0
cs /* запускает главную мелодию GTA 4 ( при загрузке слышно ): */ Game.PlayCreditsMusic();
0952: load_soundtrack 1 0954: start_playing_loaded_soundtrack
cs /* Количество игроков ( в мультиплеере, наверное ): / Game.PlayerCount; / Здесь: Возвращаемый тип: int */
cs /* Получить список игроков ( в мультиплеере наверное ): / Game.PlayerList; / Здесь: Возвращаемый тип: массив класса Player */
cs /* Проигрывает определённый звук: / Game.PlayFrontendSound("FrontedSoud"); / Здесь: FrontedSoud - имя звука( string ) */
03D1: play_wav 1
cs /* Проигрывает игровой звук: / Game.PlayGameSound("GameSound"); / Здесь: GameSound - имя звука(string) */
0394: play_music 2
cs /* Задать тон нажатия клавиш телефона Нико: / Game.PlayPhoneKeypadTone(2); / Здесь: 2 - номер тона(int) */
cs /* Заставляет телефон Нико звонить: / Game.PreviewRingtone(2); / Здесь: 2 - ID мелодии звонка(int) */
cs /* Устанавливает и считывает масштаб радара: / Game.RadarZoom = 16; / Здесь: 16 - зум(в процентах) (int) */
075B: zoom_radar 16
cs /* Задать/узнать текущую радиостанцию: / Game.RadioStation = RadioStation.Vladivostok; RadioStation MyRadio = Game.RadioStation; / Здесь: RadioStation.Vladivostok и MyRadio - элемент коллекции RadioStation */
041E: set_radio_station 12 051E: 0@ = get_current_radio_station
cs using System; using System.Windows.Forms; using GTA;
namespace TestScript { public class Thread : Script {
public Thread() {
while (true) {
if ( Game.isKeyPressed(Keys.F4) ) { Game.DoAutoSave(); }
Wait(0); }
} } }
{$CLEO} 0000:
thread 'Thread'
while true
if 0AB0: key_pressed 115 // F4 then 03D8: show_save_screen end
wait 0 end