[PSY] ScriptHook

Здравствуйте, мои родные читатели.

В первую очередь, здесь будет про скриптовую приблуду для ГТА4 — ScriptHook. Если среди моих читателей есть ценители ГТА4 и всяких модов для неё — я надеюсь, вам этот пост окажется полезным или, на крайняк, хотя бы развлечёт вас на какое-то время.
Букв очень много. Я просто всерьёз занялся скриптингом (ради собственного развлечения), ибо оригинальная ГТА4 мне приелась во всех видах.



Но скриптинг открыл второе дыхание восприятию этой, бесспорно, неплохой игры. И я не исключаю, что кто-то из моих читателей вдохновится и напишет какой-либо скрипт для себя — это нетрудно, если читать мануал.


ScriptHook — это основа основ модификаций. Насколько мне известно, прежде, чем установить любой мод, прежде нужен скриптхук.Если по тильде возникает консоль — значит скриптхук установлен.Свои скрипты (на C# или VB.NET) нужно кидать в папку «scripts».



На этой картинке я еду на пассажирском месте. Я думаю, этот скрипт стоит того, чтобы привести его целиком, ибо с пассажирского сиденья гарантирована куча веселья. По кнопке «G» Нико устремляется к ближайшей машине и усаживается на свободное пассажирское место. Радио всё равно можно переключать и выключать. Всех ништяков катания пассажиром рассказывать не буду, кому интересно, попробуете — и как будто откроете для себя мир ГТА с другой стороны.Разумеется, мой собственный скриптовый файл — не только эта функция. Например, у меня розыск убирается кнопкой «Backspace». Но текст кода, в принципе, несложный, а со скриптхуком обычно поставляется CHM-файл с подробнейшей справкой по скриптхуку. Поверьте, этот RTFM стоит того, чтобы его прочитать.

Итак, скрипт, позволяющий по нажатию кнопки «G» садиться на пассажирское место. Файл со скриптом должен иметь расширение «.cs» и лежать в папке «scripts».
NB: Менты это рассматривают как попытку угона. Водителю обычно до лампочки.


using System;

using System.Drawing;

using System.Collections.Generic;

using System.Text;

using System.Windows.Forms;

using GTA;


public class MyScriptMod : Script {

   public MyScriptMod() {

   this.KeyDown += new GTA.KeyEventHandler(this.MyScriptMod_KeyDown);

   this.Tick += new EventHandler(this.MyScriptMod_Tick);

   }


private void MyScriptMod_KeyDown(object sender,GTA.KeyEventArgs e)

{


if (e.Key == Keys.G)

{ BeAPassenger(); }


private void BeAPassenger()

{

Vehicle MyCar = World.GetClosestVehicle(Player.Character.Position, 10.0F);

Player.Character.Task.EnterVehicle(MyCar, MyCar.GetFreePassengerSeat());

Player.Character.WillFlyThroughWindscreen=false;

}


private void MyScriptMod_Tick(object sender, EventArgs e)

{

}


}


Дополнительно позволяют веселиться следующие консольные команды. В принципе, их можно посмотреть по команде help, но я всё же остановлюсь на некоторых. До кучи, вызов консоли прекращает враждебные действия в вашу сторону со стороны прохожих/ментов и гасит пламя (не всегда, но обычно).
heal — ну, тут всё понятно. Правда, если в Нико постреляли, несмотря на применение команды, он будет в крови, пока не заточит бургер или хот-дог. Применение этой команды в машине восстанавливает автомобиль до нормального состояния.
setdaytime — позволяет произвольно выставить игровое время в 24-часовом формате Ч:М. Да, можно не полностью — я, например, люблю 6 утра и использую команду setdaytime 6:0.
teleport — телепортирует Нико (если в машине — то с машиной) по координатам X, Y, Z, введённым вручную. Если поставить отметку на карте, можно использовать команду teleport wp, чтобы телепортироваться на место этой отметки.
spawn — родить объект из воздуха. Модели машин можно посмотреть в файле commondatacarcols.dat, а модели людей — в commondatapeds.ide. Имена моделей игровых персонажей начинаются с «ig_», с «cs_» начинаются модели, использованные в катсценах и, будучи «выреспавненными», выглядят несколько странно.



Ещё об использовании консольной команды teleport. По ходу игры Нико приходится бывать в некоторых местах, которые становятся так просто недоступны извне по прохождении. времени/миссий, однако, эти места по-своему интересны.Я попытался собрать максимальное количество таких мест, но не исключено, что есть ещё.К сожалению, в большинство мест из катсцен попасть нельзя — комнаты подгружаются только по ходу катсцены, и ни в дом Фаустина, ни в ментовку Фрэнсиса Макрири попасть не получится.










Эти места интересны только для исследования, нормальным путём покинуть эти помещения невозможно — только командой teleport



teleport -25 -467 15.5 — Банк Либерти-Сити, который грабили в одной из миссий.
teleport 929 -490 15.5 — Бар «Товарищ».
teleport 852 -518 16.5 — квартира Олега Минькова, в которую Нико попадает в миссии от агента ZOG «Wrong Is Right». Есть уникальный ноутбук.
teleport -73 59 15 — приёмная ZOG (первый этаж).
teleport -162 595 119 — отель «Маджестик» внутри.
teleport -1246 1542 26 — заброшенный дом в Олдерни, доступный в одной из миссий.
teleport -340 181 20 — помещение камеди-клаба.
teleport 869 -121 6 — мастерская Брюси.
teleport 1284 400 23 — помещение фарфорового магазина, витрину которого нужно разбить кирпичом в одной из миссий от Влада.
teleport -1240 1076 20 — корейский ресторан «Rice Box».
teleport 125 -670 15 — кабинет адвоката, убитого Нико в одной из миссий. Вообще интересное помещение.
teleport -1002 1223 28 — квартира, на которой Грейс Анчелотти держали в заложниках.



Отдельного упоминания заслуживает корабль «Platypus». Сам по себе он доступен и так, но в некоторые места можно попасть только в миссии убийства Дмитрия.
teleport 697 -306 10 — камбуз и спальные отсеки.
teleport 719 -254 4 — внутренний отсек.



Кстати, God Mode на скриптах — дело нескольких строчек, но тут уж без меня =)


Я не указал среди интересных мест музей и кабаре «Перестройка» — они, при всей своей эпичности, доступны прямо с улицы. Хотя, в музее можно расстреливать скелеты.


Прорекламирую вики на ГТАшную тему: http://gta.wikia.com/ В основном, инглиш, но практически на любую тему, хоть как-то касающуюся ГТА. Есть статья про прохожих. Судя по её размеру и содержанию, Организация Прохожих имеет лобби в руководстве данной вики.


«Я не знал, что ГТА может быть такой смешной!»


«Брюси получил пизды!»


К сожалению, в интернетах крайне мало примеров скриптинга под ГТА4, поэтому программировать приходится «наощупь», постоянно вызывая «reloadscripts» и сверяясь с мануалом. Писать полноценные миссии я, увы, пока ещё не научился. Ибо кататься пассажиром или заставить прохожего угнать ближайшую машину (даже ментовскую) — это, всё же, больше ради бугагашечек над несчастными хуилами-прохожими.


Что ж, на этом пока всё. Stay tuned on Psy FM, Счастливого скриптинга.
nektome.blog https://nektome.blog/ +7 (927) 2893774
| Комментариев: 1
    Новых комментариев: 0
  1. 0
    Стрелять с пассажирского можно?
    Kyrov: Можно =)
    #
    Написал Super Mario
  1. nektome.blog
  2. Kyrov Sandor
  3. Блог
  4. [PSY] ScriptHook
  5. По рейтингу
По рейтингу