17 посетителей на сайте. Из них:
Пользователи5
Гости3
Роботы9
Список пользователей
desert seva Сейчас на сайте
Andrey Picasso Сейчас на сайте
WiseBear Сейчас на сайте
Сейчас на сайте
TradArena Сейчас на сайте
Иван Какаев Сейчас на сайте
Улан Борибек Был(a) в сети 7 минут назад
Aleks Post Был(a) в сети 15 минут назад
hhhf dv Был(a) в сети 24 минуты назад
Arsenii Mamatiazov Был(a) в сети 27 минут назад
Евгений Прокофьев Был(a) в сети 31 минуту назад
Baim Был(a) в сети 32 минуты назад
CaxaROkLR Был(a) в сети 33 минуты назад
danil20091 Был(a) в сети 35 минут назад
Александр Чекаев Был(a) в сети 44 минуты назад
Александр Прохоренко Был(a) в сети 44 минуты назад
Ab Antonian Был(a) в сети 47 минут назад
Денис Зайцев Был(a) в сети 47 минут назад
Luca Pawn Был(a) в сети 51 минуту назад
dava days Был(a) в сети 55 минут назад
James_ LP Был(a) в сети 1 час назад
Семëн Семëнов Был(a) в сети 1 час назад
Gj Gjh Был(a) в сети 1 час назад
NEVSKIY _ Был(a) в сети 1 час назад
Zender Game Был(a) в сети 2 часа назад
butu111 Был(a) в сети 2 часа назад
Mich Был(a) в сети 2 часа назад
Get8x Был(a) в сети 2 часа назад
Алексей Алексеев Был(a) в сети 2 часа назад
Max Rotar Был(a) в сети 2 часа назад
Revive Был(a) в сети 2 часа назад
Никиташ Мухинов[СССР] Был(a) в сети 2 часа назад
Бутебродник Был(a) в сети 2 часа назад
Polik Был(a) в сети 2 часа назад
Next Detect Был(a) в сети 2 часа назад
любители Minecraft Был(a) в сети 2 часа назад
vdsfrwe wqeqewq Был(a) в сети 2 часа назад
Юрий Ерофеев Был(a) в сети 2 часа назад
Chanmart3 Был(a) в сети 2 часа назад
giorgi biganashvili Был(a) в сети 3 часа назад
Андрей Был(a) в сети 3 часа назад
Егор Сникерс Был(a) в сети 3 часа назад
even Был(a) в сети 3 часа назад
Artem20078 Был(a) в сети 3 часа назад
арсений дпс Был(a) в сети 3 часа назад
Алексей Будаченков Был(a) в сети 3 часа назад
Анастасия Был(a) в сети 3 часа назад
Flesex Был(a) в сети 3 часа назад
KAAs Был(a) в сети 3 часа назад
Кирилл Батурин Был(a) в сети 3 часа назад
kayot Был(a) в сети 3 часа назад
Максим Трофимчук Был(a) в сети 3 часа назад
Mrazota Был(a) в сети 4 часа назад
Pein Master Был(a) в сети 4 часа назад
Kema Был(a) в сети 4 часа назад
Илья Был(a) в сети 4 часа назад
Sirena game Был(a) в сети 4 часа назад
Mamka Был(a) в сети 4 часа назад
Hmida Hmida Был(a) в сети 4 часа назад
Костя Реусов Был(a) в сети 4 часа назад
Organizator Volhrbnik Был(a) в сети 4 часа назад
rekl Был(a) в сети 4 часа назад
Лев Егоров Был(a) в сети 4 часа назад
андрей чусовитин Был(a) в сети 4 часа назад
Иса Душаев Был(a) в сети 4 часа назад
Евгения Никулина Был(a) в сети 4 часа назад
Brawl Stars Был(a) в сети 4 часа назад
Daniels Rasainis Был(a) в сети 4 часа назад
Se IaQe Был(a) в сети 4 часа назад
Андрей Был(a) в сети 5 часов назад
Toksi Был(a) в сети 5 часов назад
Rasul Akhmedov Был(a) в сети 5 часов назад
Nikita Martunenko Был(a) в сети 5 часов назад
Madastick Был(a) в сети 5 часов назад
deffetly Был(a) в сети 5 часов назад
danis Был(a) в сети 5 часов назад
Zona Был(a) в сети 5 часов назад
Базаев Денис Был(a) в сети 5 часов назад
Art Был(a) в сети 5 часов назад
netGio Был(a) в сети 5 часов назад
Алексей Рязанцев Был(a) в сети 5 часов назад
S T I K Был(a) в сети 5 часов назад
Mehmet Ali Ünverdi Был(a) в сети 5 часов назад
Сергей Был(a) в сети 5 часов назад
Crust Pk Был(a) в сети 6 часов назад
Дмитрий Кудряшов Был(a) в сети 6 часов назад
Qusii 111 Был(a) в сети 6 часов назад
Tamila Sukueva Был(a) в сети 6 часов назад
LAIRONOK Был(a) в сети 6 часов назад
Антон Лавренюк Был(a) в сети 6 часов назад
TeHb_BouHa Был(a) в сети 6 часов назад
Moto Tim Был(a) в сети 6 часов назад
Танки Танки Был(a) в сети 6 часов назад
SwiftKey Flow Был(a) в сети 6 часов назад
Dima Был(a) в сети 6 часов назад
Иван Бутенко Был(a) в сети 7 часов назад
sergy Был(a) в сети 7 часов назад
drift Был(a) в сети 7 часов назад
Никита Михайлов Был(a) в сети 7 часов назад
Антон Чевакин Был(a) в сети 7 часов назад
Никита Горностаев Был(a) в сети 7 часов назад
Dato Guliazali195 Был(a) в сети 7 часов назад
Ximic8881 Был(a) в сети 7 часов назад
Андрей Ковальков Был(a) в сети 7 часов назад
AnDRo Был(a) в сети 8 часов назад
Артем Антипов Был(a) в сети 8 часов назад
aroslav Ermalov Был(a) в сети 8 часов назад
MTA Был(a) в сети 8 часов назад
Donny Skaletto Был(a) в сети 8 часов назад
Мишки Тедди Шарик Был(a) в сети 8 часов назад
Денис Окунев Был(a) в сети 8 часов назад
Максим Логинов Был(a) в сети 8 часов назад
Vlad Belka Был(a) в сети 8 часов назад
Иван Игнатьев Был(a) в сети 8 часов назад
TOKSYCHNIE Был(a) в сети 9 часов назад
Adim129 Был(a) в сети 9 часов назад
Был(a) в сети 9 часов назад
Jerry RANAIVOARISOA Был(a) в сети 9 часов назад
Отец Максима Был(a) в сети 9 часов назад
Владимир Завьялов Был(a) в сети 9 часов назад
Был(a) в сети 9 часов назад
Denis Kordas Был(a) в сети 9 часов назад
Владислав Был(a) в сети 9 часов назад
Вадим Дедович Был(a) в сети 9 часов назад
Ярик Дерновий Был(a) в сети 10 часов назад
Санечек Вишневский Был(a) в сети 10 часов назад
weresend Был(a) в сети 10 часов назад
#PRIDE Был(a) в сети 10 часов назад
Oleg Berdyugin Был(a) в сети 10 часов назад
Матвей Был(a) в сети 11 часов назад
Павел Почекуев Был(a) в сети 11 часов назад
Tony Был(a) в сети 11 часов назад
Юлия Трубеева Был(a) в сети 12 часов назад
Stre[L]Ok Show Был(a) в сети 12 часов назад
Lunaks Был(a) в сети 12 часов назад
Савелий Пономарёв Был(a) в сети 12 часов назад
Егор Ширибало Был(a) в сети 12 часов назад
Bonskiyy Был(a) в сети 12 часов назад
Artem Был(a) в сети 13 часов назад
Никита Карабанов Был(a) в сети 13 часов назад
Иван Волков Был(a) в сети 13 часов назад
Aathivithyah Был(a) в сети 13 часов назад
Михаил Был(a) в сети 13 часов назад
Сеня Был(a) в сети 13 часов назад
Kirya.07 Был(a) в сети 13 часов назад
LONSDALE Был(a) в сети 13 часов назад
Дима савченко Был(a) в сети 14 часов назад
Tima Clown Был(a) в сети 14 часов назад
Doggy Bonnie Был(a) в сети 14 часов назад
Ярослав Шкрямкин Был(a) в сети 15 часов назад
Егор Лысенко Был(a) в сети 15 часов назад
Сергей Был(a) в сети 15 часов назад
Grom_777 Valeron Был(a) в сети 15 часов назад
Ахмат Жаров Был(a) в сети 16 часов назад
fetisov Был(a) в сети 16 часов назад
Silvazxs0 Был(a) в сети 16 часов назад
TESTER TEST Был(a) в сети 16 часов назад
цц цц Был(a) в сети 18 часов назад
email baru10 Был(a) в сети 18 часов назад
Dead Был(a) в сети 18 часов назад
Aretet Был(a) в сети 19 часов назад
кино онлайн Был(a) в сети 19 часов назад
Александр Гусев Был(a) в сети 19 часов назад
Danger Karleon Был(a) в сети 20 часов назад
bb hhb Был(a) в сети 20 часов назад
Alex Nest Был(a) в сети 21 час назад
Artem Dragon Был(a) в сети 22 часа назад
Clfıfl Был(a) в сети 22 часа назад
adron sais Был(a) в сети 23 часа назад
TOPSMOKE Был(a) в сети 23 часа назад
Clopo Alex Был(a) в сети 23 часа назад
Иванов Был(a) в сети 23 часа назад
Svyatik Repliuk Был(a) в сети 23 часа назад
Максим Калашников Был(a) в сети 23 часа назад
Артём Был(a) в сети 23 часа назад
Список ботов
rambler (9)

Следите за нами!

Mapmanager 2

Описание

Map manager (менеджер карт) - ресурс, включенный в стандартный комплект поставки MTA DM сервера. Он предлагает команды, функции и события для модов, чтобы динамично распоряжаться их картами. Например, когда race-серверу нужно для каждой гонки подгружать новые треки, вместо того, чтобы хранить их все в одном ресурсе в качестве основного скрипта, они могут храниться в отдельных ресурсах и быть загруженными с помощью обычной функции "changeGamemodeMap" при старте новой гонки.

А именно, map manager хранит список всех модов/карт и управляет их загрузкой. То есть распространяется и на настройки текущей карты, затрагивает игровой мир и устанавливает тип игры и имя карты в ASE. Это включает в себя и веб-лист, который обновляется и пишет текущую комбинацию мода/карты.

Простой туториал

В этой секции мы продолжим создавать простой мод, который начали во вступлении ко скриптингу. Мы добавим простой ресурс-карту, который будет содержать лишь спавны для игроков, и научимся подгружать данные в главный скрипт, когда игроку понадобится спавниться.

Для начала, мы создадим папку в /путь-к-вашему-серверу/mods/deathmatch/resources/ и назовем ее "mymap". Затем, в папке /mymap/ создайте текстовый файл и назовите его "meta.xml", этот файл нужен каждому ресурсу без исключения.

Вставьте следующий код в файл meta.xml:

<meta>
   <info type="map" gamemodes="myserver"/>
   <map src="mymap.map"/>
</meta>

Заметьте, что этот ресурс "прикреплен" к главному ресурсу через тег gamemodes="", который содержит имя главного ресурса. В теге map указывается имя .map-файла, который и содержит сами данные карты.

Теперь создадим еще один файл внутри /mymap/ и назовем его "mymap.map", затем введем туда следующий код:

<map>
   <spawnpoint id="spawnpoint1" posX="1959.5487060547" posY="-1714.4613037109" posZ="18" rot="63.350006103516" model="0"/>
</map>

Заметьте, что "spawnpoint" - тип элемента, используемый в функции getElementsByType; более того, "id" используется в функции getElementByID.

Чтобы подгрузить данные карты, главному скрипту нужен доступ к ресурсу-карте как таковому. Теперь отредактируем файл script.lua в ресурсе "myserver". Введите следующий код:

function loadMap(startedMap)
    mapRoot = getResourceRootElement(startedMap)
end

addEventHandler("onGamemodeMapStart", getRootElement(), loadMap)

В целом, событие "onGamemodeMapStart" дает нам контроль над картой ("startedMap"), которую мы использовали для добычи контроля над ресурсом, содержащим карту ("mapRoot").

Имея контроль над ресурсом, мы можем добыть информацию о spawnpoint'ах (респавнах). Взгляните на функцию joinHandler() в script.lua - вместо того, чтобы указывать x, y и z, мы можем использовать данные карты следующим образом:

function joinHandler()
    local spawn = getElementsByType("spawnpoint", mapRoot)
    local x,y,z,r
    for key, value in pairs(spawn) do
        x = getElementData(value, "posX")
        y = getElementData(value, "posY")
        z = getElementData(value, "posZ")
        r = getElementData(value, "rot")
    end
    spawnPlayer(source, x, y, z)
    fadeCamera(source, true)
end

Теперь можно запустить мод через консоль сервера, введя следующую команду:

gamemode myserver mymap

Использование

Чтобы использовать map manager, ваши ресурсы для начала должны быть отмечены как моды и карты.

Вам придется пометить ресурс-мод соответствующим type в его info-теге:

<info description="A gamemode" type="gamemode" />

Ресурс-карту нужно пометить type="map", а вдобавок еще и gamemodes, где требуется перечислить все совместимые с ней ресурсы-моды через запятую, но без пробелов.

<info description="A gamemode map" type="map" gamemodes="ctv,koth" />

Одновременно могут быть загружены только один мод и одна карта.

Опциональные атрибуты ресурсов

Все эти атрибуты включаются в тег info соответствующего ресурса.

name: "Дружелюбное" имя для вашего мода или карты, которое будет отображаться при их старте или в списках вместо имен файлов.

Команды

changemap newmap [newgamemode] (меняет карту мода на новую, а опционально - и сам мод)

changemode newgamemode [newmap] (меняет мод на новый, опционально стартуя карту вместе с ним)

gamemode newgamemode [newmap] (аналогично предыдущему)

stopmode (останавливает текущие мод и карту)

stopmap (останавливает текущую карту)

maps [gamemode] (выдает список всех карт на сервере, опционально - только совместимых с указанным модом)

gamemodes (выдает список всех модов)

Настройки

*mapmanager.color [hex color string] (меняет цвет сообщений, выводимых mapmanager'ом) (по умолчанию: #E1AA5A)

*mapmanager.messages [boolean] (включена ли смена карт/модов) (по умолчанию: true)

*mapmanager.ASE [boolean] (будет ли менеджер устанавливать в ASE тип игры / имя карты) (по умолчанию: true)

Экспортированные функции

bool changeGamemode ( resource newGamemode, [ resource mapToLoadWith ] )

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

bool changeGamemodeMap ( resource newMap, [ resource gamemodeToChangeTo ] )

Меняет карта мода на новую, опционально указав мод, на который придется переключиться для ее запуска (по умолчанию загрузится на текущем моде).

table getGamemodes ( )

Выдаст таблицу всех указателей ресурсов-модов.

table getGamemodesCompatibleWithMap ( resource theMap )

Выдаст таблицу указателей совместимых ресурсов-модов.

table getMaps ( )

Выдаст таблицу указателей всех ресурсов-карт.

table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )

Выдаст таблицу указателей совместимых ресурсов-карт. Если gamemode не указан, вернет все карты, которые не совместимы ни с одним из модов.

resource getRunningGamemode ( )

Выдаст указатель работающего в данный момент ресурса-мода.

resource getRunningGamemodeMap ( )

Выдаст указатель ресурса-карты работающего в данный момент мода.

bool isGamemode ( resource theGamemode )

Определяет является ли ресурс модом.

bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )

Определяет совместим ли мод с картой или нет.

bool isMap ( resource theMap )

Определяет является ли ресурс картой или нет.

bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )

Определяет совместима ли карта с модом или нет.

bool stopGamemode ( )

Останавливает текущие мод и карту.

bool stopGamemodeMap ( )

Stop the current GM map. Останавливает текущую карту.

Срабатывающие события

(Для всех этих событий, "source" - root element (корневой элемент) ресурса.)

onGamemodeStart ( resource startedGamemode )

Срабатывает при старте мода.

onGamemodeStop ( resource stoppedGamemode )

Срабатывает перед остановкой мода.

onGamemodeMapStart ( resource startedMap )

Срабатывает перед стартом карты на моде.

onGamemodeMapStop ( resource stoppedMap )

Срабатывает перед остановкой карты на моде.

Поддерживаемые настройки карт

Следующие настройки из регистра применяются map manager'ом при старте карты:

gamespeed [number]: Скорость игры на данной карте.

gravity [number]: Гравитация на данной карте.

time [string of the form hh:mm]: Время на данной карте.

weather [number]: ID погоды на данной карте.

waveheight [number]: Высота волн на данной карте.

locked_time [boolean]: Остановит ли менеджер время на карте или нет.

minplayers [number]: Необходимый минимум игроков для старта карты.

maxplayers [number]: Допустимый максимум игроков на карте.





Автор публикации:

WiseBear WiseBear

Скачать:

Скачать

Дата:
Автор ресурса:

Я

Mapmanager
Mapmanager
12.02.2021, Уроки Скриптинг Мта
Введение в скриптинг
Введение в скриптинг
12.02.2021, Статьи
Введение в скриптинг 2
Введение в скриптинг 2
24.12.2020, Клиенты MTA
Обучение LUA
Обучение LUA
24.12.2020, Статьи

Нет комментариев.Оставишь комментарий?