Рейтинг - 5.0 (2)

Всем привет! 8 уроков мы изучали некоторые возможности и особенности c#. Теперь мы будем их применять, используя библиотеку ScriptHookDotNet. Сегодня  мы рассмотрим класс этой библиотеки - GAME.Содержит она функции, которые связаны с игровым процессом и я рассказу вам о тех, которые понял сам. Некоторые из них требуют подключить ссылку на библиотеку System.Windows.Forms. Сделаем это:

и добавим ссылку в коде скрипта:
using System.Windows.Forms;
Теперь мы можем пользоваться функциями класса GAME. Начнём наш обзор с функций:
Функция
Описание:
Параметры:
Game.FadeScreenOut(1000, true); 
  
или

Game.FadeScreenOut(1000); 
делает затемнение экрана
1000 - время, за которое нужно затемнить экран
true - указывает, что нужно подождать пока экран не затемниться окончательно(параметр не обязательный, но рекомендуемый)

Примеры в SannyBuilder:
fade 0 1000

repeat
wait 0
until fading
Game.FadeScreenIn(1000, true);

или

Game.FadeScreenIn(1000);
делает осветление экрана
1000 - время, за которое нужно осветлить экран
true - указывает, что нужно подождать пока экран не осветлиться окончательно(параметр не обязательный, но рекомендуемый)

Примеры в SannyBuilder:
fade 1 1000

repeat
wait 0
until fading
Game.DisplayText("This is my text");
Выводит сообщение (TEXTBOX) на экране
This is my text - необходимый нам текст

Примеры в SannyBuilder:
03E5: 'GXTNAME' // This is my text
0ACE: "This is my text"
Game.DisableMaxAmmoLimit = true;
Включает/отключает максимальный лимит патронов
false - включает лимит
true - отключает лимит

Примеры в SannyBuilder: нет
Game.FPS;
Записывает в переменную текущий FPS
Возвращаемый тип: float

Примеры в SannyBuilder: нет
Game.DoAutoSave();
Делает автосохранение игры(если это делается в первый раз, то игра предоставит список слотов с сохранениями, куда нужно сохранить игру)
Примеры в SannyBuilder:

03D8: show_save_screen
Game.GetIntegerStatistic(IntegerStatistic.ARMED_KILLS);Получает статистику игрока с типом int
IntegerStatistic.ARMED_KILLS - объект коллекции IntegerStatistic

Возвращаемый тип: int

Примеры в SannyBuilder:
0652: 1@ = integer_stat 181
Game.GetFloatStatistic(FloatStatistic.MILES_BY_CAR);           
Получает статистику игрока с типом floatFloatStatistic.MILES_BY_CAR - объект коллекции FloatStatistic

Возвращаемый тип: float

Примеры в SannyBuilder:
0653: 0@ = float_stat 21
Game.InstallFolder;
Считывает директорию, куда установлена игра
Возвращаемый тип: string

Примеры в SannyBuilder: нет
Game.isFullscreen
Проверка: "игра запущена в полный экран?"
Возвращаемый тип: bool

Примеры в SannyBuilder: нет
Game.isGameKeyPressed(GameKey.Attack)
Проверка: "Нажал ли игрок игровую клавишу - Атаковать"
GameKey.Attack - элемент коллекции GameKey

Возвращаемый тип: bool

Примеры в SannyBuilder:
00E1:   player 0 pressed_key 17
Game.isKeyPressed(Keys.F4)
Проверка: "Нажал ли игрок конкретную клавишу - F4"Keys.F4 - элемент коллекции Keys

Возвращаемый тип: bool

Примеры в SannyBuilder:
0AB0:  key_pressed 115 // F4
Game.isMultiplayer
Проверка: "Режим игры - мультиплеер?"
Возвращаемый тип: bool

Примеры в SannyBuilder: нет
GTA.Player MyPlayer = Game.LocalPlayer;
Узнать текущего локального игрока
MyPlayer - экземпляр класса GTA.Player

Примеры в SannyBuilder:
$PLAYER_CHAR
Game.Pause();
Останавливает игру
Примеры в SannyBuilder:
015D: set_gamespeed 0.0
Важно! Как и SannyBuilder, можно остановить игру, но как её продолжить я пока не знаю.
Game.Paused
Проверка: "Игра остановлена?"
Возвращаемый тип: bool

Примеры в SannyBuilder: нет
Game.PlayAudioEvent("EventName");
Проигрывает мелодию события
EventName - Имя события(string)

Примеры в SannyBuilder:
018C: play_sound 1052 at 0.0 0.0 0.0
Game.PlayCreditsMusic();
запускает главную мелодию GTA 4(при загрузке слышно)
EventName - Имя события(string)

Примеры в SannyBuilder:
0952: load_soundtrack 1
0954: start_playing_loaded_soundtrack
Game.PlayerCount;
Записывает к-во игроков(в мультиплеере, наверное) в переменную
Возвращаемый тип: int

Примеры в SannyBuilder: нет
Game.PlayerList;
Получить список игроков(тоже в мультиплеере, наверное)
Возвращаемый тип: массив класса Player[]

Примеры в SannyBuilder: нет
Game.PlayFrontendSound("FrontedSoud");
Проигрывает определённый звук
FrontedSoud - имя звука(string)

Примеры в SannyBuilder:
03D1: play_wav 1
Game.PlayGameSound("GameSound");
Проигрывает игровой звукGameSound - имя звука(string)

Примеры в SannyBuilder:
0394: play_music 2
Game.PlayPhoneKeypadTone(2);
Задать тон нажатия клавиш телефона Нико
2 - номер тона(int)

Примеры в SannyBuilder: нет
Game.PreviewRingtone(2);
Заставляет телефон Нико звонить
2 - ID мелодии звонка(int)

Примеры в SannyBuilder: нет
Game.RadarZoom = 16;
Устанавливает и считывает зум(масштаб) радара
16 - зум(в процентах) (int)

Примеры в SannyBuilder:
075B: zoom_radar 16
Game.RadioStation = RadioStation.Vladivostok;
RadioStation MyRadio = Game.RadioStation;
Задать/узнать текущую радиостанцию
RadioStation.Vladivostok и MyRadio - элемент коллекции RadioStation

Примеры в SannyBuilder:
041E: set_radio_station 12
051E: 0@ = get_current_radio_station
Это не полный список функций класса GAME. Я предоставил те, которые сам понял или рассмотрел. Если узнаю как работают и для чего остальные - немедленно напишу.

Получив эти данные мы можем написать простой пример использования их. Давайте напишем скрипт, что бы при нажатии кнопки F4 нам появлялось окно с сохранением:
c#
Аналог в SannyBuilder
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
Теперь в GTA 4 можно сохраняться в любом месте, нажав клавишу F4! Как видите, зная функции GTA 4, мы можем делать скурипты не хуже GTA SA, а то и лучше!

На этом урок окончен! Надеюсь, эта информация была для вас полезной! ;)
Вход на сайт

Поиск
Категории раздела
Мини-чат
Пожалуйста, все вопросы по скриптингу задавать на форуме!
Наш опрос
Как Вы узнали о сайте?
Всего ответов: 4
Активность на сайте
Пожертвования
Кошельки WebMoney:
U859420971000
R407741810602
Z331072372430
E314272616890
Друзья сайта
Полезные ресурсы
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Сегодня нас посетили:
Реклама