<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss">
<channel>
<title>Уроки  Скриптинг Мта - TRADARUS.COM — Каталог ресурсов для GTA и MTA</title>
<link>https://tradarus.com/</link>
<language>ru</language><item>
<title>Кастомный дебаг - outputDebugString - MTA</title>
<link>https://tradarus.com/resources/7699-kastomnyj-debag-outputdebugstring-mta.html</link>
<pdalink>https://tradarus.com/resources/7699-kastomnyj-debag-outputdebugstring-mta.html</pdalink>
<guid>https://tradarus.com/resources/7699-kastomnyj-debag-outputdebugstring-mta.html</guid>
<pubDate>Sat, 26 Jul 2025 23:31:55 +0300</pubDate>
<category>index</category>

<content:encoded><![CDATA[<p><span style="font-size:16.4px;"><b>outputDebugString — </b>Эта функция выводит отладочные сообщения, которые можно прочитать, включив текстовое поле отладки. </span></p> <p><span style="font-size:16.4px;">Затем можно настроить уровень отображения отладки, чтобы отфильтровывать информационные сообщения или предупреждения.</span></p> <h3>Обязательные аргументы</h3> <ul> <li><b>текст:</b> текст, который будет выведен в окно отладки.</li> </ul> <h3>Необязательные аргументы</h3> <p><i>ПРИМЕЧАНИЕ:</i> при использовании необязательных аргументов может потребоваться указать все аргументы до того, который вы хотите использовать. Дополнительную информацию о необязательных аргументах см. в разделе <a href="https://wiki.multitheftauto.com/wiki/Optional_arguments" title="Необязательные аргументы" rel="external noopener noreferrer">необязательные аргументы</a>.</p> <ul> <li><b>уровень:</b> уровень отладочных сообщений. Возможные значения: <ul> <li><b>0:</b> Отладочное сообщение</li> <li><b>1:</b> Сообщение об ошибке</li> <li><b>2:</b> Предупреждающее сообщение</li> <li><b>3:</b> Информационное сообщение (по умолчанию)</li> <li><b>4:</b> Пользовательское сообщение (без указания пути к файлу и номера строки)</li> </ul> </li> <li><b>red:</b> Количество красного в цвете текста. Значение по умолчанию — 255.</li> <li><b>green:</b> Количество зелёного в цвете текста. Значение по умолчанию — 255.</li> <li><b>синий:</b> Интенсивность синего цвета в тексте. Значение по умолчанию — 255.</li> </ul> <div> <table cellspacing="0" cellpadding="0"> <tbody> <tr> <td><b>Примечание:</b> значения цвета применяются только при уровне отладки 0 или 4.</td> </tr> <tr> <td rowspan="1"> <p><br></p> </td> </tr> </tbody> </table> </div> <h3>Возвращает:</h3> <p><i>true</i>, если отладочное сообщение было успешно выведено, <i>false</i>, если указаны неверные аргументы.<br><span style="font-size:15.4px;"><b>Сначала перейдите к папке с ресурсами </b>/server/mods/deathmatch/resources<b>, создайте файл name, в нем создайте два файла </b>client.lua<b> и </b>meta.xml<b>.</b></span></p> <p>Создайте файл client.lua</p> <pre class="language-javascript"><code>CDebug = false -- false выключен -- true включен -- отладка 4 уровня function customDebug(message) if CDebug == true or CDebug == "true" then outputDebugString(tostring(message), 4, a,r,g) --&gt; end end -- Сделать тестовое уведомление -- Уберите ковычки [[ ]] чтобы вывести тестовое уведомление --[[ function Test() customDebug('test']) end Test) ]</code></pre> <p>Создайте файл: meta.xml</p> <pre class="language-markup"><code>&lt;meta&gt; &lt;!--Больше информации по работе с meta.xml - https://wiki.multitheftauto.com/wiki/Meta.xml--&gt; &lt;script src ="client.lua" type="client" cache="false"&gt; &lt;export function="customDebug" type="client" /&gt; &lt;!-- exports.name:customDebug(message, a,r,g) --&gt; &lt;/meta&gt;</code></pre> <div>Зайдите на сервер, сначала включите debugscript 3, после запустите ресурс start name.</div> <div><br></div> <div>Получите результат кастомного уведомления со своим цветом.</div>]]></content:encoded>
</item><item>
<title>Урок как сделать градиент эффект.</title>
<link>https://tradarus.com/resources/skripty-mta/800-urok-kak-sdelat-gradient-jeffekt.html</link>
<pdalink>https://tradarus.com/resources/skripty-mta/800-urok-kak-sdelat-gradient-jeffekt.html</pdalink>
<guid>https://tradarus.com/resources/skripty-mta/800-urok-kak-sdelat-gradient-jeffekt.html</guid>
<pubDate>Sat, 13 Feb 2021 16:44:14 +0300</pubDate>
<category>index</category>

<content:encoded><![CDATA[]]></content:encoded>
</item><item>
<title>Mapmanager 2</title>
<link>https://tradarus.com/forum/uroki-skripting/797-mapmanager.html</link>
<pdalink>https://tradarus.com/forum/uroki-skripting/797-mapmanager.html</pdalink>
<guid>https://tradarus.com/forum/uroki-skripting/797-mapmanager.html</guid>
<pubDate>Fri, 12 Feb 2021 18:16:57 +0300</pubDate>
<category>index</category>

<content:encoded><![CDATA[<p>Map manager (менеджер карт) - ресурс, включенный в стандартный комплект поставки MTA DM сервера. Он предлагает команды, функции и события для модов, чтобы динамично распоряжаться их картами. Например, когда race-серверу нужно для каждой гонки подгружать новые треки, вместо того, чтобы хранить их все в одном ресурсе в качестве основного скрипта, они могут храниться в отдельных ресурсах и быть загруженными с помощью обычной функции "changeGamemodeMap" при старте новой гонки.</p><p>А именно, map manager хранит список всех модов/карт и управляет их загрузкой. То есть распространяется и на настройки текущей карты, затрагивает игровой мир и устанавливает тип игры и имя карты в ASE. Это включает в себя и веб-лист, который обновляется и пишет текущую комбинацию мода/карты.</p><h2>Простой туториал</h2><p>В этой секции мы продолжим создавать простой мод, который начали во <a href="https://tradarus.com/prochee-mta/uroki-skripting/794-vvedenie-v-skripting.html" title="RU/Scripting Introduction">вступлении ко скриптингу</a>. Мы добавим простой ресурс-карту, который будет содержать лишь спавны для игроков, и научимся подгружать данные в главный скрипт, когда игроку понадобится спавниться.</p><p>Для начала, мы создадим папку в /путь-к-вашему-серверу/mods/deathmatch/resources/ и назовем ее "mymap". Затем, в папке /mymap/ создайте текстовый файл и назовите его "meta.xml", этот файл нужен каждому ресурсу без исключения.</p><p>Вставьте следующий код в файл <i>meta.xml</i>:</p><pre>&lt;meta&gt; &lt;info type="map" gamemodes="myserver"/&gt; &lt;map src="mymap.map"/&gt; &lt;/meta&gt;</pre><p>Заметьте, что этот ресурс "прикреплен" к главному ресурсу через тег <i>gamemodes=""</i>, который содержит имя главного ресурса. В теге <i>map</i> указывается имя .map-файла, который и содержит сами данные карты.</p><p>Теперь создадим еще один файл внутри /mymap/ и назовем его "mymap.map", затем введем туда следующий код:</p><pre>&lt;map&gt; &lt;spawnpoint id="spawnpoint1" posX="1959.5487060547" posY="-1714.4613037109" posZ="18" rot="63.350006103516" model="0"/&gt; &lt;/map&gt;</pre><p>Заметьте, что "spawnpoint" - тип элемента, используемый в функции getElementsByType; более того, "id" используется в функции <a href="https://tradarus.com/prochee-mta/uroki-skripting/795-getelementsbytype.html" title="GetElementByID">getElementByID</a>.</p><p>Чтобы подгрузить данные карты, главному скрипту нужен доступ к ресурсу-карте как таковому. Теперь отредактируем файл script.lua в ресурсе "myserver". Введите следующий код:</p><pre>function loadMap(startedMap) mapRoot = getResourceRootElement(startedMap) end addEventHandler("onGamemodeMapStart", getRootElement(), loadMap)</pre><p>В целом, событие "onGamemodeMapStart" дает нам контроль над картой ("startedMap"), которую мы использовали для добычи контроля над ресурсом, содержащим карту ("mapRoot").</p><p>Имея контроль над ресурсом, мы можем добыть информацию о spawnpoint'ах (респавнах). Взгляните на функцию joinHandler() в script.lua - вместо того, чтобы указывать x, y и z, мы можем использовать данные карты следующим образом:</p><pre>function joinHandler() local spawn = getElementsByType("spawnpoint", mapRoot) local x,y,z,r for key, value in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-pairs" target="_blank" rel="noopener external noreferrer">pairs</a>(spawn) do x = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posX") y = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posY") z = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posZ") r = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "rot") end <a href="https://wiki.multitheftauto.com/wiki/spawnPlayer" target="_blank" rel="noopener external noreferrer">spawnPlayer</a>(source, x, y, z) <a href="https://wiki.multitheftauto.com/wiki/fadeCamera" target="_blank" rel="noopener external noreferrer">fadeCamera</a>(source, true) end</pre><p>Теперь можно запустить мод через консоль сервера, введя следующую команду:</p><p><b>gamemode myserver mymap</b></p><h2>Использование</h2><p>Чтобы использовать map manager, ваши ресурсы для начала должны быть отмечены как моды и карты.</p><p>Вам придется пометить <b>ресурс-мод</b> соответствующим type в его info-теге:</p><pre>&lt;info description="A gamemode" type="gamemode" /&gt;</pre><p><b>Ресурс-карту</b> нужно пометить <i>type="map"</i>, а вдобавок еще и <i>gamemodes</i>, где требуется перечислить все совместимые с ней ресурсы-моды через запятую, но <i>без пробелов</i>.</p><pre>&lt;info description="A gamemode map" type="map" gamemodes="ctv,koth" /&gt;</pre><p>Одновременно могут быть загружены только один мод и одна карта.</p><h2>Опциональные атрибуты ресурсов</h2><p>Все эти атрибуты включаются в тег info соответствующего ресурса.</p><p><b>name:</b> "Дружелюбное" имя для вашего мода или карты, которое будет отображаться при их старте или в списках вместо имен файлов.</p><h2>Команды</h2><p><b>changemap newmap [newgamemode]</b> (меняет карту мода на новую, а опционально - и сам мод)</p><p><b>changemode newgamemode [newmap]</b> (меняет мод на новый, опционально стартуя карту вместе с ним)</p><p><b>gamemode newgamemode [newmap]</b> (аналогично предыдущему)</p><p><b>stopmode</b> (останавливает текущие мод и карту)</p><p><b>stopmap</b> (останавливает текущую карту)</p><p><b>maps [gamemode]</b> (выдает список всех карт на сервере, опционально - только совместимых с указанным модом)</p><p><b>gamemodes</b> (выдает список всех модов)</p><h2>Настройки</h2><p><b>*mapmanager.color</b> [hex color string] (меняет цвет сообщений, выводимых mapmanager'ом) (по умолчанию: #E1AA5A)</p><p><b>*mapmanager.messages</b> [boolean] (включена ли смена карт/модов) (по умолчанию: true)</p><p><b>*mapmanager.ASE</b> [boolean] (будет ли менеджер устанавливать в ASE тип игры / имя карты) (по умолчанию: true)</p><h2>Экспортированные функции</h2><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> changeGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> newGamemode, [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> mapToLoadWith ] )</pre><p>Меняет мод на новый, опционально указав начальную карту для него (по умолчанию загрузится без карты).</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> changeGamemodeMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> newMap, [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> gamemodeToChangeTo ] )</pre><p>Меняет карта мода на новую, опционально указав мод, на который придется переключиться для ее запуска (по умолчанию загрузится на текущем моде).</p><pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getGamemodes ( )</pre><p>Выдаст таблицу всех указателей ресурсов-модов.</p><pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getGamemodesCompatibleWithMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre><p>Выдаст таблицу указателей совместимых ресурсов-модов.</p><pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getMaps ( )</pre><p>Выдаст таблицу указателей всех ресурсов-карт.</p><pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getMapsCompatibleWithGamemode ( [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode ] )</pre><p>Выдаст таблицу указателей совместимых ресурсов-карт. Если gamemode не указан, вернет все карты, которые не совместимы ни с одним из модов.</p><pre><a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> getRunningGamemode ( )</pre><p>Выдаст указатель работающего в данный момент ресурса-мода.</p><pre><a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> getRunningGamemodeMap ( )</pre><p>Выдаст указатель ресурса-карты работающего в данный момент мода.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode )</pre><p>Определяет является ли ресурс модом.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isGamemodeCompatibleWithMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode, <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre><p>Определяет совместим ли мод с картой или нет.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre><p>Определяет является ли ресурс картой или нет.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isMapCompatibleWithGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap, <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode )</pre><p>Определяет совместима ли карта с модом или нет.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> stopGamemode ( )</pre><p>Останавливает текущие мод и карту.</p><pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> stopGamemodeMap ( )</pre><p>Stop the current GM map. Останавливает текущую карту.</p><h2>Срабатывающие события</h2><p><i>(Для всех этих событий, "source" - root element (корневой элемент) ресурса.)</i></p><pre>onGamemodeStart ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> startedGamemode )</pre><p>Срабатывает при старте мода.</p><pre>onGamemodeStop ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> stoppedGamemode )</pre><p>Срабатывает перед остановкой мода.</p><pre>onGamemodeMapStart ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> startedMap )</pre><p>Срабатывает перед стартом карты на моде.</p><pre>onGamemodeMapStop ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> stoppedMap )</pre><p>Срабатывает перед остановкой карты на моде.</p><h2>Поддерживаемые настройки карт</h2><p>Следующие настройки из <a href="https://wiki.multitheftauto.com/wiki/Settings_system" target="_blank" title="Settings system" rel="noopener external noreferrer">регистра</a> применяются map manager'ом при старте карты:</p><p><b>gamespeed</b> [number]: Скорость игры на данной карте.</p><p><b>gravity</b> [number]: Гравитация на данной карте.</p><p><b>time</b> [string of the form <b>hh:mm</b>]: Время на данной карте.</p><p><b>weather</b> [number]: ID погоды на данной карте.</p><p><b>waveheight</b> [number]: Высота волн на данной карте.</p><p><b>locked_time</b> [boolean]: Остановит ли менеджер время на карте или нет.</p><p><b>minplayers</b> [number]: Необходимый минимум игроков для старта карты.</p><p><b>maxplayers</b> [number]: Допустимый максимум игроков на карте.</p><p><br></p>]]></content:encoded>
</item><item>
<title>Mapmanager</title>
<link>https://tradarus.com/forum/uroki-skripting/796-mapmanager.html</link>
<pdalink>https://tradarus.com/forum/uroki-skripting/796-mapmanager.html</pdalink>
<guid>https://tradarus.com/forum/uroki-skripting/796-mapmanager.html</guid>
<pubDate>Fri, 12 Feb 2021 18:16:55 +0300</pubDate>
<category>index</category>

<content:encoded><![CDATA[<p>Map manager (менеджер карт) - ресурс, включенный в стандартный комплект поставки MTA DM сервера. Он предлагает команды, функции и события для модов, чтобы динамично распоряжаться их картами. Например, когда race-серверу нужно для каждой гонки подгружать новые треки, вместо того, чтобы хранить их все в одном ресурсе в качестве основного скрипта, они могут храниться в отдельных ресурсах и быть загруженными с помощью обычной функции "changeGamemodeMap" при старте новой гонки.<br>А именно, map manager хранит список всех модов/карт и управляет их загрузкой. То есть распространяется и на настройки текущей карты, затрагивает игровой мир и устанавливает тип игры и имя карты в ASE. Это включает в себя и веб-лист, который обновляется и пишет текущую комбинацию мода/карты.</p> <h2>Простой туториал</h2> <p>В этой секции мы продолжим создавать простой мод, который начали во <a href="https://tradarus.com/prochee-mta/uroki-skripting/794-vvedenie-v-skripting.html" title="RU/Scripting Introduction">вступлении ко скриптингу</a>. Мы добавим простой ресурс-карту, который будет содержать лишь спавны для игроков, и научимся подгружать данные в главный скрипт, когда игроку понадобится спавниться.<br>Для начала, мы создадим папку в /путь-к-вашему-серверу/mods/deathmatch/resources/ и назовем ее "mymap". Затем, в папке /mymap/ создайте текстовый файл и назовите его "meta.xml", этот файл нужен каждому ресурсу без исключения.<br>Вставьте следующий код в файл <i>meta.xml</i>:</p> <pre>&lt;meta&gt; &lt;info type="map" gamemodes="myserver"/&gt; &lt;map src="mymap.map"/&gt; &lt;/meta&gt;</pre> <p>Заметьте, что этот ресурс "прикреплен" к главному ресурсу через тег <i>gamemodes=""</i>, который содержит имя главного ресурса. В теге <i>map</i> указывается имя .map-файла, который и содержит сами данные карты.<br>Теперь создадим еще один файл внутри /mymap/ и назовем его "mymap.map", затем введем туда следующий код:</p> <pre>&lt;map&gt; &lt;spawnpoint id="spawnpoint1" posX="1959.5487060547" posY="-1714.4613037109" posZ="18" rot="63.350006103516" model="0"/&gt; &lt;/map&gt;</pre> <p>Заметьте, что "spawnpoint" - тип элемента, используемый в функции getElementsByType; более того, "id" используется в функции <a href="https://tradarus.com/prochee-mta/uroki-skripting/795-getelementsbytype.html" title="GetElementByID">getElementByID</a>.<br>Чтобы подгрузить данные карты, главному скрипту нужен доступ к ресурсу-карте как таковому. Теперь отредактируем файл script.lua в ресурсе "myserver". Введите следующий код:</p> <pre>function loadMap(startedMap) mapRoot = getResourceRootElement(startedMap) end addEventHandler("onGamemodeMapStart", getRootElement(), loadMap)</pre> <p>В целом, событие "onGamemodeMapStart" дает нам контроль над картой ("startedMap"), которую мы использовали для добычи контроля над ресурсом, содержащим карту ("mapRoot").<br>Имея контроль над ресурсом, мы можем добыть информацию о spawnpoint'ах (респавнах). Взгляните на функцию joinHandler() в script.lua - вместо того, чтобы указывать x, y и z, мы можем использовать данные карты следующим образом:</p> <pre>function joinHandler() local spawn = getElementsByType("spawnpoint", mapRoot) local x,y,z,r for key, value in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-pairs" target="_blank" rel="noopener external noreferrer">pairs</a>(spawn) do x = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posX") y = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posY") z = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "posZ") r = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(value, "rot") end <a href="https://wiki.multitheftauto.com/wiki/spawnPlayer" target="_blank" rel="noopener external noreferrer">spawnPlayer</a>(source, x, y, z) <a href="https://wiki.multitheftauto.com/wiki/fadeCamera" target="_blank" rel="noopener external noreferrer">fadeCamera</a>(source, true) end</pre> <p>Теперь можно запустить мод через консоль сервера, введя следующую команду:<br><b>gamemode myserver mymap</b></p> <h2>Использование</h2> <p>Чтобы использовать map manager, ваши ресурсы для начала должны быть отмечены как моды и карты.<br>Вам придется пометить <b>ресурс-мод</b> соответствующим type в его info-теге:</p> <pre>&lt;info description="A gamemode" type="gamemode" /&gt;</pre> <p><b>Ресурс-карту</b> нужно пометить <i>type="map"</i>, а вдобавок еще и <i>gamemodes</i>, где требуется перечислить все совместимые с ней ресурсы-моды через запятую, но <i>без пробелов</i>.</p> <pre>&lt;info description="A gamemode map" type="map" gamemodes="ctv,koth" /&gt;</pre> <p>Одновременно могут быть загружены только один мод и одна карта.</p> <h2>Опциональные атрибуты ресурсов</h2> <p>Все эти атрибуты включаются в тег info соответствующего ресурса.<br><b>name:</b> "Дружелюбное" имя для вашего мода или карты, которое будет отображаться при их старте или в списках вместо имен файлов.</p> <h2>Команды</h2> <p><b>changemap newmap [newgamemode]</b> (меняет карту мода на новую, а опционально - и сам мод)<br><b>changemode newgamemode [newmap]</b> (меняет мод на новый, опционально стартуя карту вместе с ним)<br><b>gamemode newgamemode [newmap]</b> (аналогично предыдущему)<br><b>stopmode</b> (останавливает текущие мод и карту)<br><b>stopmap</b> (останавливает текущую карту)<br><b>maps [gamemode]</b> (выдает список всех карт на сервере, опционально - только совместимых с указанным модом)<br><b>gamemodes</b> (выдает список всех модов)</p> <h2>Настройки</h2> <p><b>*mapmanager.color</b> [hex color string] (меняет цвет сообщений, выводимых mapmanager'ом) (по умолчанию: #E1AA5A)<br><b>*mapmanager.messages</b> [boolean] (включена ли смена карт/модов) (по умолчанию: true)<br><b>*mapmanager.ASE</b> [boolean] (будет ли менеджер устанавливать в ASE тип игры / имя карты) (по умолчанию: true)</p> <h2>Экспортированные функции</h2> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> changeGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> newGamemode, [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> mapToLoadWith ] )</pre> <p>Меняет мод на новый, опционально указав начальную карту для него (по умолчанию загрузится без карты).</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> changeGamemodeMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> newMap, [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> gamemodeToChangeTo ] )</pre> <p>Меняет карта мода на новую, опционально указав мод, на который придется переключиться для ее запуска (по умолчанию загрузится на текущем моде).</p> <pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getGamemodes ( )</pre> <p>Выдаст таблицу всех указателей ресурсов-модов.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getGamemodesCompatibleWithMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre> <p>Выдаст таблицу указателей совместимых ресурсов-модов.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getMaps ( )</pre> <p>Выдаст таблицу указателей всех ресурсов-карт.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/table" target="_blank" rel="noopener external noreferrer">table</a> getMapsCompatibleWithGamemode ( [ <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode ] )</pre> <p>Выдаст таблицу указателей совместимых ресурсов-карт. Если gamemode не указан, вернет все карты, которые не совместимы ни с одним из модов.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> getRunningGamemode ( )</pre> <p>Выдаст указатель работающего в данный момент ресурса-мода.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> getRunningGamemodeMap ( )</pre> <p>Выдаст указатель ресурса-карты работающего в данный момент мода.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode )</pre> <p>Определяет является ли ресурс модом.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isGamemodeCompatibleWithMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode, <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre> <p>Определяет совместим ли мод с картой или нет.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isMap ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap )</pre> <p>Определяет является ли ресурс картой или нет.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> isMapCompatibleWithGamemode ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theMap, <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> theGamemode )</pre> <p>Определяет совместима ли карта с модом или нет.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> stopGamemode ( )</pre> <p>Останавливает текущие мод и карту.</p> <pre><a href="https://wiki.multitheftauto.com/wiki/bool" target="_blank" rel="noopener external noreferrer">bool</a> stopGamemodeMap ( )</pre> <p>Stop the current GM map. Останавливает текущую карту.</p> <h2>Срабатывающие события</h2> <p><i>(Для всех этих событий, "source" - root element (корневой элемент) ресурса.)</i></p> <pre>onGamemodeStart ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> startedGamemode )</pre> <p>Срабатывает при старте мода.</p> <pre>onGamemodeStop ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> stoppedGamemode )</pre> <p>Срабатывает перед остановкой мода.</p> <pre>onGamemodeMapStart ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> startedMap )</pre> <p>Срабатывает перед стартом карты на моде.</p> <pre>onGamemodeMapStop ( <a href="https://wiki.multitheftauto.com/wiki/resource" target="_blank" rel="noopener external noreferrer">resource</a> stoppedMap )</pre> <p>Срабатывает перед остановкой карты на моде.</p> <h2>Поддерживаемые настройки карт</h2> <p>Следующие настройки из <a href="https://wiki.multitheftauto.com/wiki/Settings_system" title="Settings system" target="_blank" rel="noopener external noreferrer">регистра</a> применяются map manager'ом при старте карты:<br><b>gamespeed</b> [number]: Скорость игры на данной карте.<br><b>gravity</b> [number]: Гравитация на данной карте.<br><b>time</b> [string of the form <b>hh:mm</b>]: Время на данной карте.<br><b>weather</b> [number]: ID погоды на данной карте.<br><b>waveheight</b> [number]: Высота волн на данной карте.<br><b>locked_time</b> [boolean]: Остановит ли менеджер время на карте или нет.<br><b>minplayers</b> [number]: Необходимый минимум игроков для старта карты.<br><b>maxplayers</b> [number]: Допустимый максимум игроков на карте.<br><br></p>]]></content:encoded>
</item><item>
<title>getElementsByType</title>
<link>https://tradarus.com/forum/uroki-skripting/795-getelementsbytype.html</link>
<pdalink>https://tradarus.com/forum/uroki-skripting/795-getelementsbytype.html</pdalink>
<guid>https://tradarus.com/forum/uroki-skripting/795-getelementsbytype.html</guid>
<pubDate>Fri, 12 Feb 2021 18:14:03 +0300</pubDate>
<category>index</category>

<content:encoded><![CDATA[Эта функция используется для получения списка всех элементов заданного типа. Это может быть полезно, Так как он не учитывает того, где в дереве элементов. Он может использоваться как для встроенных типов (см. ниже) или с любого пользовательского типа, используемая в .файл карте. Например, если имеется элемент типа "флаг" (например, &lt;флаг /&gt;) в интернет .Map-файл, используя "флаг" в качестве аргумента типа хотела ее найти.<br><h2>Syntax<br><span style="color:rgb(184,49,47);">Server<br></span></h2><div class="dle-spoiler noncontenteditable"><div class="title_spoiler"><a href="#" data-id="spe8dec014c43e67a0d6" class="spoiler-btn-svg"><svg width="18" height="18" fill="currentColor" viewbox="0 0 20 20"><path id="svg-spe8dec014c43e67a0d6" d="M17.418 6.109c0.272-0.268 0.709-0.268 0.979 0s0.271 0.701 0 0.969l-7.908 7.83c-0.27 0.268-0.707 0.268-0.979 0l-7.908-7.83c-0.27-0.268-0.27-0.701 0-0.969s0.709-0.268 0.979 0l7.419 7.141 7.418-7.141z"></svg></a><a href="#" data-id="spe8dec014c43e67a0d6" class="spoiler-btn contenteditable">Показать / Скрыть текст</a></div><div id="spe8dec014c43e67a0d6" class="text_spoiler"><div class="contenteditable"> <pre><span style="color:rgb(184,49,47);">table getElementsByType ( string theType, [ element startat=getRootElement() ] ) </span></pre></div></div></div><span style="color:rgb(97,189,109);">Client </span><div class="dle-spoiler noncontenteditable"><div class="title_spoiler"><a href="#" data-id="sp0a6487f2344c3db35e" class="spoiler-btn-svg"><svg width="18" height="18" fill="currentColor" viewbox="0 0 20 20"><path id="svg-sp0a6487f2344c3db35e" d="M17.418 6.109c0.272-0.268 0.709-0.268 0.979 0s0.271 0.701 0 0.969l-7.908 7.83c-0.27 0.268-0.707 0.268-0.979 0l-7.908-7.83c-0.27-0.268-0.27-0.701 0-0.969s0.709-0.268 0.979 0l7.419 7.141 7.418-7.141z"></svg></a><a href="#" data-id="sp0a6487f2344c3db35e" class="spoiler-btn contenteditable">Показать / Скрыть текст</a></div><div id="sp0a6487f2344c3db35e" class="text_spoiler"><div class="contenteditable"><pre><span style="color:rgb(97,189,109);">table getElementsByType ( string theType, [ element startat=getRootElement(), bool streamedIn=false ] ) </span></pre><span style="color:rgb(97,189,109);"><br></span></div></div></div><br><h3>Обязательные Аргументы</h3><h3>Тип элемента вы хотите, чтобы список. Это же как имя тега в .Map файл, поэтому он может использоваться с пользовательским типом элемента, если это необходимо. Встроенных типов можно найти здесь: элемент</h3><ul><li><b>"player":</b> Игрок подключен к серверу</li><li><b>"ped":</b> A пед</li><li><b>"water":</b> Водный многоугольник</li><li><b>"sound":</b>Звук игры </li><li><b>"vehicle":</b> Транспортное средство</li><li><b>"object":</b> Объект </li><li><b>"pickup":</b> Пикап</li><li><b>"marker":</b> Маркер</li><li><b>"colshape":</b> Форма столкновения</li><li><b>"blip":</b> Блип</li><li><b>"radararea":</b> Радар</li><li><b>"team":</b> Команда</li><li><b>"spawnpoint":</b> Спавн Поинт</li><li><b>"console":</b> Консоль</li><li><b>"projectile":</b> Клиентский снаряд</li><li><b>"effect":</b> Клиентские Эфекты</li><li><b>"light":</b> клиентский свет</li><li><b>"searchlight":</b> Скриншот</li><li><b>"shader":</b> Шейдер</li><li><b>"texture":</b> Текстуры<br><span style="font-family:Impact, Charcoal, sans-serif;font-size:30px;">Необязательные аргументы</span><br><span style="font-family:Arial, Helvetica, sans-serif;font-size:14px;">ПРИМЕЧАНИЕ: При использовании необязательных аргументов вам может потребоваться предоставить все аргументы перед тем, который вы хотите использовать. Для получения дополнительной информации о необязательных аргументах см. Дополнительные аргументы.<br><br>startat: элемент, с которого должен начинаться поиск. Выполняется поиск дочерних элементов этого элемента, братьев, сестер или родителей не будет. По умолчанию,<br>это корневой элемент, который подходит для большинства случаев использования.<br>streamedIn: если true, функция будет возвращать только те элементы, которые передаются в потоковом режиме.<br>Возврат<br>Возвращает таблицу, содержащую все элементы указанного типа. Возвращает пустую таблицу, если нет элементов указанного типа.<br>Возвращает false, если указанная строка недействительна (или не является строкой).</span><br>Пример <br>Пример 1: Этот пример извлекает таблицу игроков на сервере и проверяет, находится ли каждый из них в транспортном средстве:<br><br></li><li><pre><a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> players = <a href="https://wiki.multitheftauto.com/wiki/getElementsByType" target="_blank" rel="noopener external noreferrer">getElementsByType</a> ( "<a href="https://wiki.multitheftauto.com/wiki/player" target="_blank" rel="noopener external noreferrer">player</a>" ) -- get a table of all the players in the server for theKey,thePlayer in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-ipairs" target="_blank" rel="noopener external noreferrer">ipairs</a>(players) do -- use a generic for loop to step through each player if ( <a href="https://wiki.multitheftauto.com/wiki/isPlayerInVehicle" target="_blank" rel="noopener external noreferrer">isPlayerInVehicle</a> ( thePlayer ) ) then -- if the player is in a vehicle, announce it <a href="https://wiki.multitheftauto.com/wiki/outputChatBox" target="_blank" rel="noopener external noreferrer">outputChatBox</a> ( <a href="https://wiki.multitheftauto.com/wiki/getPlayerName" target="_blank" rel="noopener external noreferrer">getPlayerName</a> ( thePlayer ) .. " is in a <a href="https://wiki.multitheftauto.com/wiki/vehicle" target="_blank" rel="noopener external noreferrer">vehicle</a>" ) else -- if the player isn't in a vehicle, announce that he/she is on foot <a href="https://wiki.multitheftauto.com/wiki/outputChatBox" target="_blank" rel="noopener external noreferrer">outputChatBox</a> ( <a href="https://wiki.multitheftauto.com/wiki/getPlayerName" target="_blank" rel="noopener external noreferrer">getPlayerName</a> ( thePlayer ) .. " is on foot" ) end</pre>Пример 2: Этот пример извлекает таблицу команд на сервере и отображает их в чате:<pre><a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> teams = <a href="https://wiki.multitheftauto.com/wiki/getElementsByType" target="_blank" rel="noopener external noreferrer">getElementsByType</a>("<a href="https://wiki.multitheftauto.com/wiki/team" target="_blank" rel="noopener external noreferrer">team</a>") for i,<a href="https://wiki.multitheftauto.com/wiki/team" target="_blank" rel="noopener external noreferrer">team</a> in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-ipairs" target="_blank" rel="noopener external noreferrer">ipairs</a>(teams) do <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> teamName = <a href="https://wiki.multitheftauto.com/wiki/getTeamName" target="_blank" rel="noopener external noreferrer">getTeamName</a>(<a href="https://wiki.multitheftauto.com/wiki/team" target="_blank" rel="noopener external noreferrer">team</a>) -- get the team name <a href="https://wiki.multitheftauto.com/wiki/outputChatBox" target="_blank" rel="noopener external noreferrer">outputChatBox</a>(teamName) -- display the team name in chat end</pre>Пример 3: Здесь показано, как можно создать новый элемент для описания заправочной станции:<pre>function createGasStations(below) <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> gasstations = <a href="https://wiki.multitheftauto.com/wiki/getElementsByType" target="_blank" rel="noopener external noreferrer">getElementsByType</a> ( "gasstation", below ) -- get a table of all the gas station elements in the element tree for theKey,theGasStation in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-ipairs" target="_blank" rel="noopener external noreferrer">ipairs</a>(gasstations) do <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> x = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(theGasStation, "posX") -- get the position of the element <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> y = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(theGasStation, "posY") <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> z = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(theGasStation, "posZ") <a href="https://wiki.multitheftauto.com/wiki/setElementParent" target="_blank" rel="noopener external noreferrer">setElementParent</a>(<a href="https://wiki.multitheftauto.com/wiki/createColSphere" target="_blank" rel="noopener external noreferrer">createColSphere</a>(x, y, z, 10), theGasStation) -- create a colshape for the gas station at the gas station's position <a href="https://wiki.multitheftauto.com/wiki/addEventHandler" target="_blank" rel="noopener external noreferrer">addEventHandler</a>("<a href="https://wiki.multitheftauto.com/wiki/onColShapeHit" target="_blank" rel="noopener external noreferrer">onColShapeHit</a>", theGasStation, giveGas) -- when the player hits end end function mapLoad() createGasStations(source) -- create gas stations for the map that's just loaded end <a href="https://wiki.multitheftauto.com/wiki/addEventHandler" target="_blank" rel="noopener external noreferrer">addEventHandler</a>("<a href="https://wiki.multitheftauto.com/wiki/onResourceStart" target="_blank" rel="noopener external noreferrer">onResourceStart</a>", resourceRoot, mapLoad) function giveGas(hittingElement) <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> theGasStation = source if <a href="https://wiki.multitheftauto.com/wiki/getElementType" target="_blank" rel="noopener external noreferrer">getElementType</a>(hittingElement) == "<a href="https://wiki.multitheftauto.com/wiki/vehicle" target="_blank" rel="noopener external noreferrer">vehicle</a>" then <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> gas_left = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(theGasStation, "amount") <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> gas_speed = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(theGasStation, "speed") if gas_left &gt; 0 then <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> gas_to_remove = gas_speed if gas_left &lt; gas_speed then gas_to_remove = gas_left <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> current_vehicle_gas = <a href="https://wiki.multitheftauto.com/wiki/getElementData" target="_blank" rel="noopener external noreferrer">getElementData</a>(hittingElement, "gas") current_vehicle_gas = current_vehicle_gas + gas_to_remove gas_left = gas_left - gas_to_remove <a href="https://wiki.multitheftauto.com/wiki/setElementData" target="_blank" rel="noopener external noreferrer">setElementData</a>(hittingElement, "gas", current_vehicle_gas) <a href="https://wiki.multitheftauto.com/wiki/setElementData" target="_blank" rel="noopener external noreferrer">setElementData</a>(theGasStation, "amount", gas_left) else <a href="https://wiki.multitheftauto.com/wiki/outputChatBox" target="_blank" rel="noopener external noreferrer">outputChatBox</a>("Pump is out of gas!") end end end</pre>Пример 4: Этот пример проходит через всех подключенных игроков и перенаправляет их на другой хост-сервер:<pre><a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> serverIP = "99.88.77.66" -- Change to your server IP to redirect everyone <a href="https://wiki.multitheftauto.com/wiki/local" target="_blank" rel="noopener external noreferrer">local</a> serverPort = 22005 -- The destination server's port function redirectAllPlayers() for _,p in <a href="http://www.lua.org/manual/5.1/manual.html#pdf-ipairs" target="_blank" rel="noopener external noreferrer">ipairs</a> (<a href="https://wiki.multitheftauto.com/wiki/getElementsByType" target="_blank" rel="noopener external noreferrer">getElementsByType</a>("<a href="https://wiki.multitheftauto.com/wiki/player" target="_blank" rel="noopener external noreferrer">player</a>")) do if p then <a href="https://wiki.multitheftauto.com/wiki/redirectPlayer" target="_blank" rel="noopener external noreferrer">redirectPlayer</a> (p, serverIP, serverPort) end end end <a href="https://wiki.multitheftauto.com/wiki/addEventHandler" target="_blank" rel="noopener external noreferrer">addEventHandler</a> ("<a href="https://wiki.multitheftauto.com/wiki/onResourceStart" target="_blank" rel="noopener external noreferrer">onResourceStart</a>", resourceRoot, redirectAllPlayers)</pre></li></ul>]]></content:encoded>
</item></channel></rss>