Режим TDM - NikitaFoxze/Offensive-Core GitHub Wiki

HomeРежимыРежим TDM

Предисловие

Режим TDM задействует весь потенциал внешних модулей. Он включает множество разнообразных элементов, а все функции, созданные в других режимах, изначально были заложены в его коде. В нём есть локации с большим количеством элементов, таких как пикапы, объекты и т.д. Они могут меняться прямо во время матча по необходимости. Это всё работает благодаря AE (Additional Elements) на локациях.

Есть базовые элементы, по типу захвата точки, базы команд, магазинов и т.д. Они тоже могут меняться в процессе матча, но менее гибкие и некоторые из них просто обязаны быть на локациях. AE совсем про другое, они создаются прямо в коде локации (например, в desert.pwn) и меняются так, как будет прописано в коде. Из них можно создавать совсем нестандартные ситуации. Например, запуск ядерной ракеты на локации Пустыня, надо сначала захватить Точку связи, запустить спутник и только после этого на подлодке запустить ядрёную бомбу. Весь функционал локаций находится в файле location_main.pwn в папке режима.

Ядро

В этом режиме сражаются игроки в команде. В зависимости от игрового режима (подрежима) игрокам нужно захватывать точки, флаги, взламывать компьютеры и т.д. Для спавна игрок может выбрать другого игрока из своего отряда, либо на точке или базе.

Для игрока открыто 4 класса: штурмовик, медик, инженер и разведчик. Каждый класс прокачивается индивидуально. Оружие, патроны, способности и т.д. приобретаются за внутреннюю валюту. Максимальное количество команд - 4.

Локация

Хорошие примеры использования функционала находятся в desert.pwn в папке desert.

При создании чего-либо на локации важно помнить о так называемых шаблонах. Это могут быть точки захвата, захват флага и другие элементы. Шаблоны остаются неизменными в процессе матча, но некоторые из них связаны с подрежимами локации. Они создаются только при создании самой локации.

В процессе матча можно изменять определенные элементы, известные как дополнительные элементы AE (Additional Elements). Они могут быть созданы в любое удобное время и использованы в рамках матча по усмотрению.

Пример создания шаблона точки захвата в функции создания локации.

TDM_CreateCapturePoint(sessionid, 0, "Точка связи", -302.4767, 1569.2217, 75.3594, -409.0, 1497.5, -244.0, 1639.5); // Gang Zone
TDM_SetCameraCapturePoint(sessionid, 0, -264.606475, 1570.758666, 90.658561, -269.280853, 1570.619873, 88.889152); // Камера при выборе спавна
TDM_SetSpawnCapturePoint(sessionid, 0, 0, -315.9427, 1547.5751, 75.5625); // 1 спавн игрока
TDM_SetSpawnCapturePoint(sessionid, 0, 1, -334.0713, 1535.0952, 75.5625); // 2 спавн игрока
TDM_SetSpawnCapturePoint(sessionid, 0, 2, -359.1111, 1509.3750, 75.5625); // 3 спавн игрока

Пример создание AE пикапа, который можно удалять в своих целях или снова пересоздавать в процессе матча:

TDM_CreateAEOtherPickup(sessionid, 0, "{0fd1d1}Парашют", 1310, 1, 0, 258.3467, 2514.7004, 86.5239, -1, -1);

[!NOTE] Весь функционал можно посмотреть в location_main.pwn, а в самих локациях, как использовать.