<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Supremenion</id>
	<title>Multi Theft Auto: Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multitheftauto.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Supremenion"/>
	<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/wiki/Special:Contributions/Supremenion"/>
	<updated>2026-05-01T12:45:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.multitheftauto.com/index.php?title=RU/Resource:Mapmanager&amp;diff=21924</id>
		<title>RU/Resource:Mapmanager</title>
		<link rel="alternate" type="text/html" href="https://wiki.multitheftauto.com/index.php?title=RU/Resource:Mapmanager&amp;diff=21924"/>
		<updated>2009-11-12T20:04:32Z</updated>

		<summary type="html">&lt;p&gt;Supremenion: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{translate}}&lt;br /&gt;
{{RU/Resource page}}&lt;br /&gt;
Менеджер карты - скрипт для MTA DM. А точнее, это команды, функции и события для управления сервером. Например, когда в гонках надо загрузить различные объекты, вместо того, чтобы записывать все их в главном файле, они могут быть сохранены в отдельных файлах и затем загружены с функцией &amp;quot;changeGamemodeMap&amp;quot; в начале гонки. &lt;br /&gt;
&lt;br /&gt;
Менеджер карты перечисляет моды/карты и управляет их загрузкой. Применяет определенные параметры и настройки карты, затрагивающие мир игры. Устанавливает тип игры ASE и название карты.&lt;br /&gt;
&lt;br /&gt;
== Туториал ==&lt;br /&gt;
Здесь мы продолжим создание основного мода, который мы создали в [[RU/Scripting_Introduction|Введение в скриптинг]]. Мы создадим простую карту, которая содержит только точку респавна. И сделаем загрузку данных в главном скрипте, когда игрок хочет респавнится.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, мы создаем папку  /Ваш_MTA_Server/mods/deathmatch/resources/ и называем ее &amp;quot;mymap&amp;quot;. После в директории /mymap/ создаем текстовый файл и назоваем его &amp;quot;meta.xml&amp;quot;, который требуется для каждого ресурса.&lt;br /&gt;
&lt;br /&gt;
Вводим следующий текст в файл ''meta.xml'':&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;meta&amp;gt;&lt;br /&gt;
   &amp;lt;info type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;myserver&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;map src=&amp;quot;mymap.map&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/meta&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Этот скрипт &amp;quot;связан&amp;quot; с главным скриптом отмеченным в &amp;quot;gamemodes = &amp;quot;&amp;quot;&amp;quot;. В строке &amp;quot;map&amp;quot;  указывается имя .map файла, который содержит данные карты.&lt;br /&gt;
&lt;br /&gt;
Теперь создадим еще один текстовый файл в директории /mymap/, назовем его &amp;quot;mymap.map&amp;quot; и введем данный текст:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;map&amp;gt;&lt;br /&gt;
   &amp;lt;spawnpoint id=&amp;quot;spawnpoint1&amp;quot; posX=&amp;quot;1959.5487060547&amp;quot; posY=&amp;quot;-1714.4613037109&amp;quot; posZ=&amp;quot;18&amp;quot; rot=&amp;quot;63.350006103516&amp;quot; model=&amp;quot;0&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Также элемент &amp;quot;spawnpoint&amp;quot; используется в функции [[getElementsByType]]; а элемент &amp;quot;id&amp;quot; в функции [[getElementByID]]. &lt;br /&gt;
&lt;br /&gt;
Чтобы загрузить данные карты, скрипт нуждается в доступе к ресурсу карты непосредственно. Теперь давайте отредактируем script.lua файл в &amp;quot;myserver&amp;quot;. Введи следующий текст:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function loadMap(startedMap)&lt;br /&gt;
	mapRoot = getResourceRootElement(startedMap)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
addEventHandler(&amp;quot;onGamemodeMapStart&amp;quot;, getRootElement(), loadMap)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
В основном &amp;quot;onGamemodeMapStart&amp;quot; дает нам возможность ввести (&amp;quot;startedMap&amp;quot;), раньше мы вводили (&amp;quot;mapRoot&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
При вводе мы можем получить информацию о точках респавна. Функция joinHandler () в файле script.lua, вместо того, чтобы определить x, y и z, мы можем использовать данные карты:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
function joinHandler()&lt;br /&gt;
	local spawn = getElementsByType(&amp;quot;spawnpoint&amp;quot;, mapRoot)&lt;br /&gt;
	local x,y,z,r&lt;br /&gt;
	for key, value in pairs(spawn) do&lt;br /&gt;
		x = getElementData(value, &amp;quot;posX&amp;quot;)&lt;br /&gt;
		y = getElementData(value, &amp;quot;posY&amp;quot;)&lt;br /&gt;
		z = getElementData(value, &amp;quot;posZ&amp;quot;)&lt;br /&gt;
		r = getElementData(value, &amp;quot;rot&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	spawnPlayer(source, x, y, z)&lt;br /&gt;
	fadeCamera(source, true)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Теперь ты можешь запустить сервер с данным модом, введя команду:&lt;br /&gt;
&lt;br /&gt;
'''gamemode myserver mymap'''&lt;br /&gt;
&lt;br /&gt;
==Использование==&lt;br /&gt;
Чтобы использовать менеджер карты, твои скрипты должны сначала быть прописаны или как мод или как карта.&lt;br /&gt;
&lt;br /&gt;
Ты должен отметить '''gamemode''' правильным типом:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;info description=&amp;quot;A gamemode&amp;quot; type=&amp;quot;gamemode&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Карта''' тоже нуждается в элементе ''type=&amp;quot;map&amp;quot;'', также элемент ''gamemodes'' показывает моды с которыми он совместим ''без пробелов''.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;info description=&amp;quot;A gamemode map&amp;quot; type=&amp;quot;map&amp;quot; gamemodes=&amp;quot;ctv,koth&amp;quot; /&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Сразу загружены могут быть только один мод или карта.&lt;br /&gt;
&lt;br /&gt;
==Optional resource attributes==&lt;br /&gt;
These attributes all go in the corresponding resource's info tag.&lt;br /&gt;
&lt;br /&gt;
'''name:''' A friendly name for your gamemode or map, to be displayed in the start messages or map listings instead of the filename.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
'''changemap newmap [newgamemode]''' (changes the gamemode map to a new one, optionally changing the gamemode as well)&lt;br /&gt;
&lt;br /&gt;
'''changemode newgamemode [newmap]''' (changes to a new gamemode, optionally starting a map with it)&lt;br /&gt;
&lt;br /&gt;
'''gamemode newgamemode [newmap]''' (same as previous one)&lt;br /&gt;
&lt;br /&gt;
'''stopmode''' (stops the current mode and mode map)&lt;br /&gt;
&lt;br /&gt;
'''stopmap''' (stops the current mode map)&lt;br /&gt;
&lt;br /&gt;
'''maps [gamemode]''' (lists all maps in the server, optionally all maps compatible with a gamemode)&lt;br /&gt;
&lt;br /&gt;
'''gamemodes''' (lists all gamemodes)&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
'''*mapmanager.color''' [hex color string] (changes the mapmanager's output messages' color) (default: #E1AA5A)&lt;br /&gt;
&lt;br /&gt;
'''*mapmanager.messages''' [boolean] (whether map/gm changes are enabled) (default: true)&lt;br /&gt;
&lt;br /&gt;
'''*mapmanager.ASE''' [boolean] (whether the manager will set ASE gametype / mapname) (default: true)&lt;br /&gt;
&lt;br /&gt;
==Exported functions==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool changeGamemode ( resource newGamemode, [ resource mapToLoadWith ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Changes the gamemode to a new one, optionally specifying an initial map for it (will load without a map by default).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool changeGamemodeMap ( resource newMap, [ resource gamemodeToChangeTo ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Changes the GM map to a new one, optionally specifying a gamemode to change to before loading it (will load with the current gamemode by default).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getGamemodes ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns a table of all gamemode resource pointers.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getGamemodesCompatibleWithMap ( resource theMap )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns a table of compatible gamemode resource pointers.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getMaps ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns a table of all map resource pointers.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;table getMapsCompatibleWithGamemode ( [ resource theGamemode ] )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns a table of compatible map resource pointers. If the gamemode is left blank, it returns all maps which aren't compatible with any gamemode.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;resource getRunningGamemode ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns the currently running gamemode's resource pointer.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;resource getRunningGamemodeMap ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Returns the currently running GM map's resource pointer.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isGamemode ( resource theGamemode )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Determines if a resource is a gamemode or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isGamemodeCompatibleWithMap ( resource theGamemode, resource theMap )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Determines if a gamemode is compatible with a map or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isMap ( resource theMap )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Determines if a resource is a map or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool isMapCompatibleWithGamemode ( resource theMap, resource theGamemode )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Determines if a map is compatible with a gamemode or not.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool stopGamemode ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Stops the current gamemode and its map.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;bool stopGamemodeMap ( )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Stop the current GM map.&lt;br /&gt;
Determines if a map is compatible with a gamemode or not.&lt;br /&gt;
&lt;br /&gt;
==Fired events==&lt;br /&gt;
''(For all these events, &amp;quot;source&amp;quot; is the resource's root element.)''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onGamemodeStart ( resource startedGamemode )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Fired before a gamemode starts.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onGamemodeStop ( resource stoppedGamemode )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Fired before a gamemode is stopped.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onGamemodeMapStart ( resource startedMap )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Fired before a GM map starts.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;onGamemodeMapStop ( resource stoppedMap )&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Fired before a GM map is stopped.&lt;br /&gt;
&lt;br /&gt;
==Supported map settings==&lt;br /&gt;
The following settings from the [[settings system|registry]] are applied by the map manager when a map is started:&lt;br /&gt;
&amp;lt;br&amp;gt;'''gamespeed''' [number]: The map's game speed.&lt;br /&gt;
&amp;lt;br&amp;gt;'''gravity''' [number]: The map's gravity.&lt;br /&gt;
&amp;lt;br&amp;gt;'''time''' [string of the form '''hh:mm''']: The map's time.&lt;br /&gt;
&amp;lt;br&amp;gt;'''weather''' [number]: The map's weather ID.&lt;br /&gt;
&amp;lt;br&amp;gt;'''waveheight''' [number]: The map's wave height.&lt;br /&gt;
&amp;lt;br&amp;gt;'''locked_time''' [boolean]: Whether the set time will be frozen by the manager or not.&lt;br /&gt;
&amp;lt;br&amp;gt;'''minplayers''' [number]: The required minimum number of players to start the map.&lt;br /&gt;
&amp;lt;br&amp;gt;'''maxplayers''' [number]: The allowed maximum number of players to start the map.&lt;br /&gt;
&lt;br /&gt;
[[en:Mapmanager]]&lt;br /&gt;
[[it:Mapmanager]]&lt;/div&gt;</summary>
		<author><name>Supremenion</name></author>
	</entry>
</feed>