RU/Resources: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 52: Line 52:
Атрибуты Script/type, Config/type и File/type определяют, должен ли скрипт/ресурс отправляться клиенту, и по умолчанию равны "server".
Атрибуты Script/type, Config/type и File/type определяют, должен ли скрипт/ресурс отправляться клиенту, и по умолчанию равны "server".


The include tag specifies other resources that should be started before this resoucre is startedIn other words, if your resource is dependent on another, you can include it so that the other resource is started first,
Тэг include указывает какие ресурсы должны быть запущены перед запуском данного ресурсаДругими словами, если ваш ресурс зависит от других, вы можете подключить их так, чтобы они стартовали первыми.




Each resource has its own virtual machine (VM). This contains every script in the resourceThis means that variables are not shared with other resourcesThe best way to communictate with other resources is by using the ''export'' tag and exporting a functionThis will enable other resources to fire this function using the [[call]] scripting function.
Каждый ресурс работает в собственной виртуальной машине (VM). В ней работает каждый скрипт ресурсаЭто значит, что переменные не разделяются с другими ресурсамиНаилучший способ взаимодействовать с другими ресурсами - использовать тэг ''export'' для экспортирования функцииЭто позволит другим ресурсам выполнять функцию используя вызов функции [[call]].




Scripts sent to clients are started as soon as all the scripts have been downloaded.
Скрипты, отправляемые клиенту, запускаются сразу по завершении скачивания.




Scripts are able to read and write to their own resource folder with functions such as [[xmlCreateFile]] and [[fileCreate]]. They can also read and write to other resources, but must have [[Access_Control_List|ACL]] access.  
У скриптов есть достум на чтение и запись в каталог ресурса через такие функции, как [[xmlCreateFile]] и [[fileCreate]]. Так же они могут читать/писать в другие ресурсы, но для этого нужны разрешения [[RU/Access_Control_List|ACL]].  




Each resource can only be loaded once, the server will ensure this. If a resource is included more than once, the same instance will be used by each resource that includes it.
Каждый ресурс может быть запущен только 1 раз, за этим следит сервер. Если ресурс подключен более одного раза, для всех ресурсов, подключивших его, будет использоваться одна копия.


==File storage==
==Файловые хранилища==
Resource files can either be stored in a zip or a directory. This is located in:
Resource files can either be stored in a zip or a directory. This is located in:



Revision as of 10:09, 23 June 2009

Warning.png This page requires local translation. If page will remain not translated in reasonable period of time it would be deleted.
After translating the page completely, please remove the ‎{{translate}}‎ tag from the page.

Ресурсы - ключевая часть MTA. Ресурс представляет из себя каталог или zip архив, содержащий набор файлов, таких как скрипты, плю meta файл, описывающий то, как ресурс должен загружаться. Отчасти, ресурс можно рассматривать как эквивалент программе, работающей под управлением операционной системы - он может быть запущен, остановлен, и множество ресурсов может работать одновременно. Несмотря на это важно помнить, что, в отличии от программ, между ресурсами нет многозадачности.

Терминология

  • Ресурс - Zip-архив или каталог, содержащий файл meta.xml и некоторое количество других элементов. Они размещаются в каталоге mods/deathmatch/resources сервера.
  • Элемент ресурса - Файл, содержащийся в ресурсе, на данный момент это может быть карта, скрипт, рисунок и т.д.

Мета-файл

Прочитайте статью RU/Meta.xml чтобы узнать подробности

Мета-файл это основа любого ресурса. Он описывает, какие файлы в ресурсе должны использоваться и как. Следующий пример показывает все доступные опции. Ваши мета-файлы могут содержать столько тэгов, сколько вам понадобится:

<meta>
    <info author="eAi" description="This is a basic CTF script" version="4"/>

    <include resource="radarblips"/>
    <include resource="markermanagement" />

    <script src="ctf.lua" />
    <script src="flag.lua" />
    <script src="ctf_client.lua" type="client" />

    <file src="model.dff" />
    <file src="quitbutton.png" />
    <file src="killed.png"  />

    <html src="test.htm" default="true"/>
    <html src="logo.png" raw="true" />

    <export function="multiply" http="true" />
    <export function="getPlayerList" />
    <export function="getElementOwner" type="client"/>

    <config src="vehicle-list.xml" type="client" />
    <config src="markerconfig.xml" type="server"  />

    <map src="somestuff.map" dimension="99" />
</meta>

В то же время карта CTF может содержать следующий meta.xml:

<meta>
    <include resource="ctf" />
    <map src="myuberl33tctfmap.map" />

    <info author="Tom" instructions="this is uber l33t !!!!!1111111" type="map" />
</meta>


Атрибуты Script/type, Config/type и File/type определяют, должен ли скрипт/ресурс отправляться клиенту, и по умолчанию равны "server".

Тэг include указывает какие ресурсы должны быть запущены перед запуском данного ресурса. Другими словами, если ваш ресурс зависит от других, вы можете подключить их так, чтобы они стартовали первыми.


Каждый ресурс работает в собственной виртуальной машине (VM). В ней работает каждый скрипт ресурса. Это значит, что переменные не разделяются с другими ресурсами. Наилучший способ взаимодействовать с другими ресурсами - использовать тэг export для экспортирования функции. Это позволит другим ресурсам выполнять функцию используя вызов функции call.


Скрипты, отправляемые клиенту, запускаются сразу по завершении скачивания.


У скриптов есть достум на чтение и запись в каталог ресурса через такие функции, как xmlCreateFile и fileCreate. Так же они могут читать/писать в другие ресурсы, но для этого нужны разрешения ACL.


Каждый ресурс может быть запущен только 1 раз, за этим следит сервер. Если ресурс подключен более одного раза, для всех ресурсов, подключивших его, будет использоваться одна копия.

Файловые хранилища

Resource files can either be stored in a zip or a directory. This is located in:

server/mods/deathmatch/resources/ (for MTASA clients)

or

mods/deathmatch/resources/ (for dedicated server installations)

Each resource can have a zip file, a directory or both. In the case of both existing, the directory has precedence over the zip file, as such files can be placed in the directory to over-ride the files in the zip file. This allows directories to be used for testing and developing of maps/scripts while zip files used by end-users.

Script functions

The resource system can be manipulated by script. As such, the following Serverside scripting functions are provided:


The following events are also provided: