36 посетителей на сайте. Из них:
Пользователи5
Гости26
Роботы5
Список пользователей
Lolkek2109 Сейчас на сайте
Константин Яковлев Сейчас на сайте
Демьян Кочкожаров Сейчас на сайте
Влад Стасевич Сейчас на сайте
HACK HOST Игровой хостинг Был(a) в сети 5 минут назад
Никита Вьюгин Был(a) в сети 6 минут назад
INYAN Был(a) в сети 8 минут назад
Vladislav Novoselskii Был(a) в сети 17 минут назад
Алексей Никулин Был(a) в сети 21 минуту назад
Саша Был(a) в сети 23 минуты назад
Никита Пешков Был(a) в сети 24 минуты назад
Александр Был(a) в сети 25 минут назад
Wuffi Palazzi Был(a) в сети 25 минут назад
Werhastr Был(a) в сети 27 минут назад
_GaMeR _ Был(a) в сети 28 минут назад
Demon Был(a) в сети 29 минут назад
Makeshov Был(a) в сети 38 минут назад
Daniil Kardeman Был(a) в сети 43 минуты назад
Антон Тернющенко Был(a) в сети 44 минуты назад
Дмитрий Иванов Был(a) в сети 48 минут назад
Иван Ступак Был(a) в сети 1 час назад
Django Wu Был(a) в сети 1 час назад
Swat Был(a) в сети 1 час назад
Linerit Games Был(a) в сети 1 час назад
сергей александров Был(a) в сети 2 часа назад
Марат Был(a) в сети 2 часа назад
Кирилл Юматов Был(a) в сети 2 часа назад
Leon Leon Был(a) в сети 2 часа назад
Анатолій Грабовецький Был(a) в сети 2 часа назад
ীপ ৌং Был(a) в сети 2 часа назад
Alpina Был(a) в сети 2 часа назад
RedSuns Был(a) в сети 3 часа назад
вЛАСНИК Был(a) в сети 3 часа назад
Memphis Memphis Был(a) в сети 3 часа назад
Ваня Колесников Был(a) в сети 3 часа назад
Serega Fedorov Был(a) в сети 3 часа назад
Fade C-OPS Был(a) в сети 3 часа назад
Дима Гелевей Был(a) в сети 4 часа назад
Roll Stail Был(a) в сети 4 часа назад
Пиковый Король Был(a) в сети 4 часа назад
Aleksandr Был(a) в сети 5 часов назад
Ваня Был(a) в сети 5 часов назад
Ваня Тащи Был(a) в сети 5 часов назад
Тимур Фахретдинов Был(a) в сети 6 часов назад
Ринат Амиров Был(a) в сети 6 часов назад
Apik1904 Был(a) в сети 6 часов назад
Тимур Нач Был(a) в сети 6 часов назад
Василий Влащицкий Был(a) в сети 7 часов назад
Neroun Был(a) в сети 7 часов назад
Sova Ray Был(a) в сети 8 часов назад
Ярослав Энштейн Был(a) в сети 8 часов назад
GStar Ink Был(a) в сети 8 часов назад
Rainbow

Команда Проекта

Был(a) в сети 8 часов назад
Maksim Lonov Был(a) в сети 9 часов назад
KraKen Hack Был(a) в сети 9 часов назад
Мар'ян Цісельський Был(a) в сети 10 часов назад
maxxis Был(a) в сети 10 часов назад
Dato Guliazali Был(a) в сети 10 часов назад
Max Luilchack Был(a) в сети 10 часов назад
Kirill Mayson Был(a) в сети 11 часов назад
ivan semkas Был(a) в сети 11 часов назад
saba saba Был(a) в сети 11 часов назад
Никита Зотов Был(a) в сети 11 часов назад
Богдан Был(a) в сети 11 часов назад
mtnsnipes Был(a) в сети 11 часов назад
Mirze Ehedov Был(a) в сети 11 часов назад
Кирилл Рудиков Был(a) в сети 12 часов назад
xxNiKiTaxx Был(a) в сети 12 часов назад
_Flow_ Был(a) в сети 12 часов назад
Benjamin Batton Был(a) в сети 12 часов назад
Макс Смирнов Был(a) в сети 13 часов назад
Артем Дробаха Был(a) в сети 13 часов назад
Том Беккер Был(a) в сети 13 часов назад
Артем Титовский Был(a) в сети 13 часов назад
Валентин Шацький Был(a) в сети 13 часов назад
Михаил Сергеев Был(a) в сети 13 часов назад
Rase Enf Был(a) в сети 13 часов назад
WiseBear

Команда Проекта

Был(a) в сети 13 часов назад
Стасніслав Был(a) в сети 13 часов назад
motoninja yout2021 Был(a) в сети 13 часов назад
Loading...

Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter

Шаблон

Mapmanager

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]: Допустимый максимум игроков на карте.

Скачать
Mapmanager 2
Mapmanager 2
12.02.2021, Уроки Скриптинг Мта
Введение в скриптинг 2
Введение в скриптинг 2
24.12.2020, Клиенты MTA
Введение в скриптинг
Введение в скриптинг
12.02.2021, Статьи
Multi Theft Auto - Гайд по "Map Editor", и созданию карт.
Multi Theft Auto - Гайд по "Map
21.11.2020, Статьи / FAQ ПО МТА

Нет комментариев.