Команда Проекта
Был(a) в сети 8 часов назадКоманда Проекта
Был(a) в сети 13 часов назад Нашли ошибку?
Вы можете сообщить об этом администрации.
Выделив текст нажмите CTRL+Enter
Map manager (менеджер карт) - ресурс, включенный в стандартный комплект поставки MTA DM сервера. Он предлагает команды, функции и события для модов, чтобы динамично распоряжаться их картами. Например, когда race-серверу нужно для каждой гонки подгружать новые треки, вместо того, чтобы хранить их все в одном ресурсе в качестве основного скрипта, они могут храниться в отдельных ресурсах и быть загруженными с помощью обычной функции "changeGamemodeMap" при старте новой гонки.
А именно, map manager хранит список всех модов/карт и управляет их загрузкой. То есть распространяется и на настройки текущей карты, затрагивает игровой мир и устанавливает тип игры и имя карты в ASE. Это включает в себя и веб-лист, который обновляется и пишет текущую комбинацию мода/карты.
<meta> <info type="map" gamemodes="myserver"/> <map src="mymap.map"/> </meta>Заметьте, что этот ресурс "прикреплен" к главному ресурсу через тег gamemodes="", который содержит имя главного ресурса. В теге map указывается имя .map-файла, который и содержит сами данные карты.
<map> <spawnpoint id="spawnpoint1" posX="1959.5487060547" posY="-1714.4613037109" posZ="18" rot="63.350006103516" model="0"/> </map>Заметьте, что "spawnpoint" - тип элемента, используемый в функции getElementsByType; более того, "id" используется в функции getElementByID.
function loadMap(startedMap) mapRoot = getResourceRootElement(startedMap) end addEventHandler("onGamemodeMapStart", getRootElement(), loadMap)В целом, событие "onGamemodeMapStart" дает нам контроль над картой ("startedMap"), которую мы использовали для добычи контроля над ресурсом, содержащим карту ("mapRoot").
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Теперь можно запустить мод через консоль сервера, введя следующую команду:
<info description="A gamemode" type="gamemode" />Ресурс-карту нужно пометить type="map", а вдобавок еще и gamemodes, где требуется перечислить все совместимые с ней ресурсы-моды через запятую, но без пробелов.
<info description="A gamemode map" type="map" gamemodes="ctv,koth" />Одновременно могут быть загружены только один мод и одна карта.
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. Останавливает текущую карту.
onGamemodeStart ( resource startedGamemode )Срабатывает при старте мода.
onGamemodeStop ( resource stoppedGamemode )Срабатывает перед остановкой мода.
onGamemodeMapStart ( resource startedMap )Срабатывает перед стартом карты на моде.
onGamemodeMapStop ( resource stoppedMap )Срабатывает перед остановкой карты на моде.
Нет комментариев.
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.