HU/Resources: Difference between revisions
| Line 5: | Line 5: | ||
* '''Resource item''' - A resource-ban lévő fájl, jelenleg ez lehet egy map, script, kép, stb.  | * '''Resource item''' - A resource-ban lévő fájl, jelenleg ez lehet egy map, script, kép, stb.  | ||
==  | ==A Meta fájl==  | ||
''See main article [[Meta.xml]] for details''  | ''See main article [[Meta.xml]] for details''  | ||
Revision as of 18:26, 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.
 
A Meta fájl
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>
Míg egy CTF map meta.xml fájlja így néz ki:
<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 resourcekat 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. Ha egy resource többször szerepel, akkor ugyanaz a példa lesz használva minden resource-nál ami tartalmazza.
Fájl tárolása
A resource fájlokat tárolhatja zip-ben vagy mappában egyaránt. Ezek itt találhatóak:
server/mods/deathmatch/resources/ (ha telepítette a server-t a client-el)
vagy
mods/deathmatch/resources/ (dedikált szerver telepítésekhez)
Minden resource tartalmazhat zip fájlt, könyvtárat vagy mindkettőt. Mindkettő létezése esetén a könyvtár elsőbbséget élvez a zip fájlal szemben, ezeket a fájlokat könyvtárba tehetjük, felülírjuk a fájlokat a zip fájlban. Ez engedélyezi a könyvtárak használatát mapok és scriptek tesztelésére, fejlsztésére, míg a zip fájlok a vég felhasználásra.
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: