HU/Resources: Difference between revisions
Line 54: | Line 54: | ||
Minden resourcenak saját virtuális gépe van (VM). Ez tartalmazza a resource összes script-jét. Ez azt jelenti, hogy a változókat nem lehet megosztani egy másik resource-val. A legjobb módja annak, hogy más resource-kkal tudjon kommunkálni, használja | Minden resourcenak saját virtuális gépe van (VM). Ez tartalmazza a resource összes script-jét. Ez azt jelenti, hogy a változókat nem lehet megosztani egy másik resource-val. A legjobb módja annak, hogy más resource-kkal tudjon kommunkálni, használja az ''export'' tagot, és exportáljon function-t. Ez lehetővé teszi más resource-nak, hogy meghívja ezt a function-t a [[call]] scripting function használatával. | ||
A cliens-nek küldött scriptek akkor indulnak el, amikor az összes scriptet letöltötte. | |||
A script-ek képesek a saját resource mappájuk olvasására, és írására is az [[xmlCreateFile]] és a [[fileCreate]] függvények segítségével. Más forrásokat is olvashatnak és írhatnak, de rendelkezniük kell [[Access_Control_List | ACL]] hozzáféréssel. | |||
Minden resourcet csak egyszer lehet letölteni, Ezt a server fogja biztosítani. If a resource is included more than once, the same instance will be used by each resource that includes it. | |||
==File storage== | ==File storage== |
Revision as of 17:36, 29 October 2018
A resource-k az MTA kulcsfontosságú részei. A resource az tulajdonképpen egy mappa, vagy egy zip fájl, mely fájl gyűjteményeket tartalmaz - tartalmazza a script fájlokat, plusz a meta fájlt, mely meghatározza, hogy a resource miként legyen betöltve. A resource részben egy operációs rendszeren futó programnak felel meg - ami elindítható, és leállítható, és egyszerre több resource is futhat. Érdemes azonban emlékezni arra, hogy az operációs rendszerektől eltérően egy resource nem képes egyszerre több feladatot is elláítni.
Terminology
- Resource - Egy zip fájl vagy mappa, mely tartalmazza a meta.xml fájlt és számos resource elemet. Ezek a server könyvtáron belül a mods/deathmatch/resources mappába találhatóak.
- Resource item - A resource-ban lévő fájl, jelenleg ez lehet egy map, script, kép, stb.
The Meta File
See main article Meta.xml for details
A Meta fájl minden resource magja. Ez pontosan leírja, hogy milyen fájlokat kell használni a resource-ban, és hogy hogyan. Az alábbiakban egy példát találunk, amely minden lehetséges opcióra kiterjed, a meta fájl tartalmazhat annyi ilyen címkét, amennyire csak szüksége van:
<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>
While a CTF map may have a meta.xml that looks like:
<meta> <include resource="ctf" /> <map src="myuberl33tctfmap.map" /> <info author="Tom" instructions="this is uber l33t !!!!!1111111" type="map" /> </meta>
Script/type, Config/type és File/type paraméterek meghatározzák, hogy a script/resource az a cliensnek legyen-e küldve, vagy sem, alapértelmezetten a "server"-nek küldi.
Az include tag megadja egy resource-nak, hogy előbb induljon el, mint egy másik resource. Más szóval, ha egy resource függ egy másiktól resource-től, akkor itt megadhatja, hogy a másik resource induljon el előbb.
Minden resourcenak saját virtuális gépe van (VM). Ez tartalmazza a resource összes script-jét. Ez azt jelenti, hogy a változókat nem lehet megosztani egy másik resource-val. A legjobb módja annak, hogy más resource-kkal tudjon kommunkálni, használja az export tagot, és exportáljon function-t. Ez lehetővé teszi más resource-nak, hogy meghívja ezt a function-t a call scripting function használatával.
A cliens-nek küldött scriptek akkor indulnak el, amikor az összes scriptet letöltötte.
A script-ek képesek a saját resource mappájuk olvasására, és írására is az xmlCreateFile és a fileCreate függvények segítségével. Más forrásokat is olvashatnak és írhatnak, de rendelkezniük kell ACL hozzáféréssel.
Minden resourcet csak egyszer lehet letölteni, Ezt a server fogja biztosítani. If a resource is included more than once, the same instance will be used by each resource that includes it.
File storage
Resource files can either be stored in a zip or a directory. This is located in:
server/mods/deathmatch/resources/ (if you've installed your server with the client)
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.
Other things to note
- Resource names can't have dots in.
- If the resource does any file saving, the file names used should not be listed in the meta.xml
- Files listed in the meta.xml should be considered read only by your scripts. Do not modify them with xmlSaveFile, FileSave etc.
- When making a zip file of your resource, do not include save files. If your resource uses save files, they must be created by your resource when needed.
- When making a zip file of your resource, only include files that are listed in the meta.xml. Do not include 'example' save files, otherwise bad things will happen.
- We recommend avoiding spaces and exotic characters from resources names.
Script functions
The resource system can be manipulated by script. As such, the following Serverside scripting functions are provided:
- abortRemoteRequest
- call
- fetchRemote
- getResourceConfig
- getResourceDynamicElementRoot
- getResourceExportedFunctions
- getResourceFromName
- getResourceName
- getResourceRootElement
- getResourceState
- getThisResource
- getRemoteRequests
- getRemoteRequestInfo
The following events are also provided: