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

В этом уроке речь в этом уроке пойдёт о векторах.

Всем привет! Мы продолжаем изучать скриптинг GTA IV. На очереди в нас "вектор". Термин весьма широкий и нужно сделать уточнение о том, что это в скриптинге.

В SannyBuilder мы писали координаты как последовательность чисел. В таком формате в C# обычно не пишут. Для этого создали несколько классов, которые описывают эту последовательность. Эти числа не всегда отвечают именно за координаты. Их можно представить в виде углов и прочего. На примере координат их легче всего понять.

А таких видов в нас три:

Vector2 MyVect2;
Vector3 MyVect3;
Vector4 MyVect4;

Разница в них только в том, что хранят они разное к-во параметров "координат". Например, для Vector3 существуют три основных свойства, для хранения этих "координат":

MyVect3.X = 0.5F;
MyVect3.Y = 0.1F;
MyVect3.Z = 5.0F;

Кроме этого, есть одно удобство - структура имеет много методов, которые полезно будет использовать в скриптах. Рассмотрим эти функции:

/* Получает дистанцию между двумя точками: */
MyVect3.DistanceTo(MyVect3_1);
/* Здесь:
MyVect3_1 - другой объект Vector3

Возвращаемый тип: float
*/
Пример в Sanny Builder:
050A: 0@ = dist_XYZ 1@ 2@ 3@ and_XYZ 4@ 5@ 6@
/* Получает случайную точку, относительно вектора: */
MyVect3.Around(30.0F);
/* Здесь:
30.0F - радиус поиска

Возвращаемый тип: объект Vector3
*/
Пример в Sanny Builder:
02C0: store 1@ 2@ 3@ ped_path 4@ 5@ 6@
02C1: store 1@ 2@ 3@ car_path 4@ 5@ 6@
/* Получить длину вектора (точно не скажу какую именно): */
MyVect3.Length();
/* Здесь:
Возвращаемый тип: float
*/
Пример в Sanny Builder: нет
/* Получить грунт вектора: */
MyVect3.ToGround();
/* Здесь:
Возвращаемый тип: объект Vector3
*/
Пример в Sanny Builder:
02CE: 4@ = ground_z_at 1@ 2@ 4@

Для примера, сделаем следующий скрипт:

using System;
using System.Windows.Forms;
using GTA;
namespace TestScript {
 public class Thread : Script {
 public Thread() {

 Vector3 MyVect3;
 MyVect3.X = 10.0F;
 MyVect3.Y = 10.0F;
 MyVect3.Z = 2.0F;

 while (true) {
 if ( Game.isKeyPressed(Keys.Tab)) {
 Player.TeleportTo(MyVect3);
 }
 Wait(0);
 }

} } }

Я подобрал координаты случайным образом, так как никаких программ для вычисления координат я не находил, но если постараюсь, то сделаю свою прогу.

Остальные типы векторов имеют похожие методы, только работают уже со своей последовательностью чисел. На этом краткий обзор завершен. До следующего урока!


Теги: Vector3, Vector, вектор
Вход на сайт

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

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

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