20 посетителей на сайте. Из них:
Пользователи6
Роботы14
Список пользователей
Гордей Липин Сейчас на сайте
폴리나 만들기 Сейчас на сайте
Никита Карабанов Сейчас на сайте
Томас Сейчас на сайте
RUSSIA RP Сейчас на сайте
Марат Сейчас на сайте
ꜰɪɴᴅᴀʏ Был(a) в сети 4 минуты назад
SpookeCraft Был(a) в сети 4 минуты назад
Demon Был(a) в сети 5 минут назад
Митя Кулешов Был(a) в сети 9 минут назад
Микки Крокодилов Был(a) в сети 10 минут назад
Ilya Andrianov Был(a) в сети 13 минут назад
Carpe Diem Был(a) в сети 15 минут назад
Мар'ян Цісельський Был(a) в сети 19 минут назад
Николай Мат Был(a) в сети 20 минут назад
Крысурсы Был(a) в сети 20 минут назад
Илья Черницких Был(a) в сети 23 минуты назад
Magician Был(a) в сети 26 минут назад
HACK HOST Был(a) в сети 27 минут назад
Сергей Шемет Был(a) в сети 28 минут назад
Даниил Девелоп Был(a) в сети 29 минут назад
Dato Guliazali195 Был(a) в сети 30 минут назад
Антон Ермаков Был(a) в сети 30 минут назад
Sergo MSK Был(a) в сети 30 минут назад
marat Был(a) в сети 33 минуты назад
イロタナ リトラクタ Был(a) в сети 34 минуты назад
Ab Antonian Был(a) в сети 37 минут назад
Микола Был(a) в сети 40 минут назад
Win Stalker Был(a) в сети 43 минуты назад
Edgar1998 Был(a) в сети 44 минуты назад
Влад Чечевичко Был(a) в сети 49 минут назад
Rauan Был(a) в сети 52 минуты назад
Anna Был(a) в сети 54 минуты назад
Роман Кузнецов Был(a) в сети 1 час назад
Али Алиев Был(a) в сети 1 час назад
_Mishka _Tsyurniak_ Был(a) в сети 1 час назад
weaxlez Был(a) в сети 1 час назад
Егор Azurov Был(a) в сети 1 час назад
spacex0432 Был(a) в сети 1 час назад
Ислам Журтов Был(a) в сети 1 час назад
Нет Имени Был(a) в сети 1 час назад
REPORT98 Был(a) в сети 2 часа назад
Костик Хвостик Был(a) в сети 2 часа назад
Дмитрий Давыдов Был(a) в сети 2 часа назад
Исраил Цагаев Был(a) в сети 2 часа назад
Рома Барбуца Был(a) в сети 2 часа назад
Андрей Был(a) в сети 2 часа назад
Sda Esj Был(a) в сети 2 часа назад
David Был(a) в сети 2 часа назад
Роман Римар Был(a) в сети 2 часа назад
ARTEM_HOTIKOV Был(a) в сети 2 часа назад
Василий Влащицкий Был(a) в сети 2 часа назад
Санжар Был(a) в сети 2 часа назад
Сармат Магомедов Был(a) в сети 2 часа назад
Kk Qq Был(a) в сети 2 часа назад
Read Pestalic Был(a) в сети 3 часа назад
Rolan lordexkiq Был(a) в сети 3 часа назад
MAYOROV Был(a) в сети 3 часа назад
Nikita Smirnov Был(a) в сети 3 часа назад
абу абушка Был(a) в сети 3 часа назад
Даниил Новиков Был(a) в сети 3 часа назад
Корзун Олександр Был(a) в сети 3 часа назад
Кирилл Был(a) в сети 3 часа назад
Матвей Терещенко Был(a) в сети 3 часа назад
Hivers Nike Был(a) в сети 4 часа назад
Дегтярёв Максим Был(a) в сети 4 часа назад
Никита Вьюгин Был(a) в сети 4 часа назад
mka Был(a) в сети 4 часа назад
Пётр Улиткин Был(a) в сети 4 часа назад
Clopo Alex Был(a) в сети 4 часа назад
db9vol Был(a) в сети 4 часа назад
name no Был(a) в сети 4 часа назад
алекс Был(a) в сети 4 часа назад
KraKen Hack Был(a) в сети 4 часа назад
Иван Был(a) в сети 4 часа назад
Serhii Pashchenko Был(a) в сети 4 часа назад
WiseBear Был(a) в сети 4 часа назад
@lex Был(a) в сети 4 часа назад
Вова Пінчук Был(a) в сети 5 часов назад
NightKill Был(a) в сети 5 часов назад
Ражаб Был(a) в сети 5 часов назад
Вячеслав Иванов Был(a) в сети 5 часов назад
Levon Tumasyan Был(a) в сети 5 часов назад
Данил Степанов Был(a) в сети 5 часов назад
HepBHblu Был(a) в сети 5 часов назад
Толик Киорра Был(a) в сети 5 часов назад
Kolya32777 Был(a) в сети 5 часов назад
Илья Был(a) в сети 5 часов назад
Ganzes Ganzesov Был(a) в сети 5 часов назад
Егор Титаев Был(a) в сети 6 часов назад
Даниил Сила Был(a) в сети 6 часов назад
Никита Гусев Был(a) в сети 6 часов назад
nixware Был(a) в сети 6 часов назад
Бородатый КОМАНДОР Был(a) в сети 6 часов назад
Це Ре Был(a) в сети 6 часов назад
0987654321 Был(a) в сети 6 часов назад
TONI OWNPONI Был(a) в сети 6 часов назад
Medjc livu Был(a) в сети 6 часов назад
євген дубров Был(a) в сети 6 часов назад
Арсений Сарычев Был(a) в сети 6 часов назад
astor Был(a) в сети 6 часов назад
Пумбик Был(a) в сети 6 часов назад
HIRO VODOVOZ Был(a) в сети 7 часов назад
♡ Marlboro Gold ~ Company ♡ Был(a) в сети 7 часов назад
ARSKY Был(a) в сети 7 часов назад
destroy Был(a) в сети 7 часов назад
дима фёдоров Был(a) в сети 8 часов назад
Shin Inzerillo Был(a) в сети 8 часов назад
Артём Груздов Был(a) в сети 8 часов назад
Луна Волкова Был(a) в сети 8 часов назад
Проверка Был(a) в сети 8 часов назад
Дима Казаков Был(a) в сети 9 часов назад
Sanemi Shinazugawa Был(a) в сети 9 часов назад
Дима Гелевей Был(a) в сети 9 часов назад
DIMA_ BYH Был(a) в сети 10 часов назад
MOHAX MOHAX Был(a) в сети 10 часов назад
Виталий Шкарупа Был(a) в сети 10 часов назад
rfewreg Был(a) в сети 10 часов назад
Spidrow Был(a) в сети 10 часов назад
Fejér Alpár Был(a) в сети 10 часов назад
Димитрий Kавалерист Был(a) в сети 11 часов назад
Александр Кречун Был(a) в сети 12 часов назад
Дмитрий Ганев Был(a) в сети 14 часов назад
Тимур Нач Был(a) в сети 14 часов назад
Wananazo Был(a) в сети 14 часов назад
Darius Cruger Был(a) в сети 14 часов назад
Был(a) в сети 14 часов назад
Makeshov Был(a) в сети 15 часов назад
SnowyXOXO 사탄 Был(a) в сети 15 часов назад
R.S Tutorsツ Был(a) в сети 15 часов назад
Владислав Семиохин Был(a) в сети 16 часов назад
Віталій Мельничук Был(a) в сети 16 часов назад
AGGRESS1VEX Был(a) в сети 16 часов назад
Wander Был(a) в сети 16 часов назад
Александр Калашников Был(a) в сети 17 часов назад
James_ LP Был(a) в сети 17 часов назад
Владимир Был(a) в сети 17 часов назад
Рома Бунин Был(a) в сети 17 часов назад
Эрвин Был(a) в сети 17 часов назад
Donni Garcia Был(a) в сети 17 часов назад
Кирилл Семёнов Был(a) в сети 17 часов назад
Был(a) в сети 17 часов назад
mimiha Был(a) в сети 17 часов назад
Список ботов
rambler (14)

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

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

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