26 посетителей на сайте. Из них:
Пользователи4
Роботы22
Список пользователей
Ab Antonian Сейчас на сайте
Саня Сейчас на сайте
Глеб Бятец Сейчас на сайте
WiseBear Сейчас на сайте
печенько печенько Сейчас на сайте
Данил Гавриш Был(a) в сети 4 минуты назад
Hitman Bmwf11 Был(a) в сети 4 минуты назад
Темирлан Был(a) в сети 4 минуты назад
TradArena Был(a) в сети 6 минут назад
Дмитрий Андреев Был(a) в сети 7 минут назад
Раиль Шакиров Был(a) в сети 8 минут назад
Михаил Зиновьев Был(a) в сети 13 минут назад
Никита жосан Был(a) в сети 13 минут назад
Demon Был(a) в сети 19 минут назад
Святослав Наконечний Был(a) в сети 21 минуту назад
Mebest068 Был(a) в сети 23 минуты назад
kirill Был(a) в сети 26 минут назад
243211 31251515 Был(a) в сети 26 минут назад
TONI OWNPONI Был(a) в сети 27 минут назад
Никита Был(a) в сети 33 минуты назад
Articles 2.0 Был(a) в сети 37 минут назад
Miyega NT Был(a) в сети 39 минут назад
Артём Мельников Был(a) в сети 39 минут назад
Миша Михеев Был(a) в сети 40 минут назад
Кирилл Бондарев Был(a) в сети 49 минут назад
FreEzZ game Был(a) в сети 54 минуты назад
Илья Зонов Был(a) в сети 1 час назад
Степан Сивухин Был(a) в сети 1 час назад
Стёпа Был(a) в сети 1 час назад
Deved Был(a) в сети 1 час назад
toryko pepe2 Был(a) в сети 1 час назад
Максим Баканов Был(a) в сети 1 час назад
Некит Был(a) в сети 1 час назад
sss sss Был(a) в сети 1 час назад
Murmalov mur Был(a) в сети 1 час назад
Владимир Иванович Был(a) в сети 1 час назад
BUSHIDO HUNTER Был(a) в сети 1 час назад
андрей старосвеский Был(a) в сети 1 час назад
acercore2 duo Был(a) в сети 1 час назад
Jack Был(a) в сети 2 часа назад
захар таранин Был(a) в сети 2 часа назад
Meyson Kertis Был(a) в сети 2 часа назад
QZORN Был(a) в сети 2 часа назад
NixeCreeD Official Был(a) в сети 2 часа назад
Админ101к Был(a) в сети 2 часа назад
Exclsuive Armenia Original Был(a) в сети 2 часа назад
Aretet Был(a) в сети 2 часа назад
Adrian Был(a) в сети 2 часа назад
Эрик Гаманюк Был(a) в сети 2 часа назад
Савелий Журавлёв Был(a) в сети 2 часа назад
sacma sdfdsfds Был(a) в сети 2 часа назад
Дима Был(a) в сети 2 часа назад
Simarə Yusifzadə Был(a) в сети 2 часа назад
Скачать Был(a) в сети 3 часа назад
rohimovmark Был(a) в сети 3 часа назад
Aleks Был(a) в сети 3 часа назад
Twizzikek Twizzi Был(a) в сети 3 часа назад
Влад Мазеин Был(a) в сети 3 часа назад
кубик рубик Был(a) в сети 3 часа назад
FOX ASTRAL Был(a) в сети 3 часа назад
майнкрафтер Был(a) в сети 3 часа назад
Дима Сптридонов Был(a) в сети 3 часа назад
Efecan Gümüş Был(a) в сети 3 часа назад
цуцйуй Был(a) в сети 3 часа назад
Кирилл Ланговой Был(a) в сети 3 часа назад
Был(a) в сети 3 часа назад
Kvar4 Был(a) в сети 3 часа назад
yard Был(a) в сети 3 часа назад
Был(a) в сети 3 часа назад
issqvm Был(a) в сети 3 часа назад
Skam Skam Был(a) в сети 3 часа назад
Юдин Иван Был(a) в сети 4 часа назад
AGGRESS1VEX Был(a) в сети 4 часа назад
Был(a) в сети 4 часа назад
дидибок Был(a) в сети 4 часа назад
Strannik Был(a) в сети 4 часа назад
Виктор Моисеенко Был(a) в сети 4 часа назад
even Был(a) в сети 4 часа назад
Syndik Был(a) в сети 4 часа назад
Illia Zaichenko Был(a) в сети 5 часов назад
operaa Был(a) в сети 5 часов назад
Listen to chanson HITS Был(a) в сети 5 часов назад
zloidw Был(a) в сети 5 часов назад
Kill Standoff 2 Был(a) в сети 5 часов назад
benz Был(a) в сети 5 часов назад
Константин Яковлев Был(a) в сети 5 часов назад
Дима Савченко Был(a) в сети 5 часов назад
Slonick SlonoV Был(a) в сети 6 часов назад
Даня Селиванов Был(a) в сети 6 часов назад
Бибер Ноунейм Был(a) в сети 6 часов назад
Bark Taid Был(a) в сети 6 часов назад
Xss Был(a) в сети 6 часов назад
Юрий Зырянов Был(a) в сети 6 часов назад
Андрей ееуеуеуеу Был(a) в сети 6 часов назад
LampWTF Был(a) в сети 6 часов назад
sass asasasa Был(a) в сети 6 часов назад
Денис Был(a) в сети 7 часов назад
Был(a) в сети 7 часов назад
netGio Был(a) в сети 7 часов назад
Makeshov Был(a) в сети 7 часов назад
Danya Shedoy Был(a) в сети 7 часов назад
даня Был(a) в сети 7 часов назад
Богдан Бессорабов Был(a) в сети 7 часов назад
Narek Gasparyan Был(a) в сети 7 часов назад
Zver1o7 Zver1o7 Был(a) в сети 7 часов назад
PoZiTiV4iK Был(a) в сети 8 часов назад
Бутебродник Был(a) в сети 8 часов назад
Daniil Savvidi Был(a) в сети 8 часов назад
Никита Чугайнов Был(a) в сети 8 часов назад
Lolget Был(a) в сети 8 часов назад
Serhii Pashchenko Был(a) в сети 8 часов назад
Валерий Шлыков Был(a) в сети 8 часов назад
Zero8 Был(a) в сети 9 часов назад
Андрей Был(a) в сети 9 часов назад
Artemshima Был(a) в сети 9 часов назад
Internet' 'x Был(a) в сети 9 часов назад
Даша Шабля Был(a) в сети 10 часов назад
DJ ALEXANDE4R Был(a) в сети 10 часов назад
MACAN Был(a) в сети 10 часов назад
Егор Титаев Был(a) в сети 10 часов назад
Антон Лазарев Был(a) в сети 10 часов назад
danya sledokov Был(a) в сети 10 часов назад
Dany Hokage Был(a) в сети 10 часов назад
Максим Борода Был(a) в сети 10 часов назад
by VOSTAN Был(a) в сети 11 часов назад
Rueh Был(a) в сети 11 часов назад
HepBHblu Был(a) в сети 11 часов назад
Сергей Литвинов Был(a) в сети 12 часов назад
Fantasy Был(a) в сети 12 часов назад
Andrey Был(a) в сети 12 часов назад
Клайдик Был(a) в сети 13 часов назад
Ринат Битудин Был(a) в сети 13 часов назад
Илья Был(a) в сети 13 часов назад
Dato Guliazali195 Был(a) в сети 13 часов назад
Mysterio Был(a) в сети 15 часов назад
Weshnovsky Lord Был(a) в сети 16 часов назад
sdf Был(a) в сети 16 часов назад
Павел Евдокимов Был(a) в сети 16 часов назад
Даниил Девелоп Был(a) в сети 16 часов назад
Damir Shay Был(a) в сети 16 часов назад
Микола Был(a) в сети 17 часов назад
Макс Уваров Был(a) в сети 17 часов назад
Makarov Был(a) в сети 20 часов назад
Adim129 Был(a) в сети 20 часов назад
Grey78 Был(a) в сети 20 часов назад
HiTmAn_7777 Был(a) в сети 20 часов назад
Вернер Шнайдр Был(a) в сети 20 часов назад
Был(a) в сети 21 час назад
Accidentally Был(a) в сети 21 час назад
Steem Akk2 Был(a) в сети 21 час назад
ПАНДОЧКИН Был(a) в сети 22 часа назад
Влад Гушан Был(a) в сети 22 часа назад
Владимир Жданов Был(a) в сети 22 часа назад
Korencik Был(a) в сети 22 часа назад
iu knk Был(a) в сети 22 часа назад
fuckinbando beats Был(a) в сети 22 часа назад
Black mods Studio. Был(a) в сети 22 часа назад
Список ботов
rambler (22)

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

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, Статьи

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