HU/Bevezetés a scriptelésbe: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
A resourcezek egy nagy része az MTAnak. A resource lényegében egy mappa vagy egy zip ami tartalmazza a fájlokat, plusz egy meta fájlt, ami leírja a szervernek, hogy a resource hogyan legyen betöltve, és milyen fájlokat tartalmaz. A resource részben egyező egy programhoz, ami az operációs rendszerünkön fut - lelehet állítani, és ellehet indítani, és egyszerre több resource is futhat. | |||
Minden ami a scripteléssel foglalkozik, a resourcekben történik, amit a resource tesz határozza meg, hogy az egy játéktípus, egy map vagy bármi más. Az MTA tartalmaz scripteket, amiket opcionálisan fel is használhatsz, mint pl egy map korlátozás, hogy csak a játszható térben lehess vagy vagy deathpickupok, amivel létrehozhatunk fegyver felvételi pontokat. | |||
{{tip|Az első lépés, ahhoz, hogy elkezdj scriptelni, hogy használj egy LUA szerkesztőt. Ez megkönnyíti a scriptelést. Ajánljuk a [http://www.sublimetext.com/ Sublime Text], a [http://notepad-plus.sourceforge.net/uk/site.htm Notepad++] vagy a [http://luaedit.sourceforge.net/ LuaEdit] programot. Van egy nem hivatalos [[MTASE|MTA Script Szerkesztő]] (fejlesztési státuszban) amit kipróbálhatsz.}} | |||
== Egy működő script készítés == | == Egy működő script készítés == | ||
Először megfogunk tanulni egy olyan alap script készítését, ami által a karakterünk képes a városban sétálni lépésről lépésre. | Először megfogunk tanulni egy olyan alap script készítését, ami által a karakterünk képes a városban sétálni lépésről lépésre. |
Revision as of 18:31, 26 January 2016
A resourcezek egy nagy része az MTAnak. A resource lényegében egy mappa vagy egy zip ami tartalmazza a fájlokat, plusz egy meta fájlt, ami leírja a szervernek, hogy a resource hogyan legyen betöltve, és milyen fájlokat tartalmaz. A resource részben egyező egy programhoz, ami az operációs rendszerünkön fut - lelehet állítani, és ellehet indítani, és egyszerre több resource is futhat.
Minden ami a scripteléssel foglalkozik, a resourcekben történik, amit a resource tesz határozza meg, hogy az egy játéktípus, egy map vagy bármi más. Az MTA tartalmaz scripteket, amiket opcionálisan fel is használhatsz, mint pl egy map korlátozás, hogy csak a játszható térben lehess vagy vagy deathpickupok, amivel létrehozhatunk fegyver felvételi pontokat.
Tip: Az első lépés, ahhoz, hogy elkezdj scriptelni, hogy használj egy LUA szerkesztőt. Ez megkönnyíti a scriptelést. Ajánljuk a Sublime Text, a Notepad++ vagy a LuaEdit programot. Van egy nem hivatalos MTA Script Szerkesztő (fejlesztési státuszban) amit kipróbálhatsz. |
Egy működő script készítés
Először megfogunk tanulni egy olyan alap script készítését, ami által a karakterünk képes a városban sétálni lépésről lépésre.
Hol találjuk meg a scripteket?
Először is tekintsük meg a script fájlok szerkezetét. Menj az MTA szerver mappájába és kövesd a következő az útvonalat: server/mods/deathmatch/resources/
Itt találni fogsz egy csomó .zip fájlt, amik az általános tömörített scriptek, amit az MTA szolgáltat. Minden fájl egy "resource", az összes kilesz csomagolva és ellesz indítva, a szerver által, amikor az elindul. Ahhoz, hogy létrehozzuk a saját resourceunkat csak szimplán létre kell hoznunk egy általunk kedvelt névvel ellátott mappát. Mi most az "enszerverem" mappa nevet fogjuk használni az oktatáshoz.
Most ebben a könyvtárban kell lenned:
server/mods/deathmatch/resources/enszerverem
A resourceok azonosítása
Ahhoz, hogy a szerver tudja, hogy mi van a resourceban, szükségünk lesz egy meta.xml fájlra a tartalmazott fájlokkal. Ennek a resource főkönyvtárában kell elhelyezkednie, ami az "enszerverem" az esetünkben. Szóval hozz létre egy szöveges dokumentumot, majd nevezd át "meta.xml"-re, és nyisd meg notepaddal.
Írd be a következő kódot a meta.xml fájlba.
<meta> <info author = "A neved" type = "gamemode" name = "A szerverem" description = "Az első MTA szerverem"/> <script src = "script.lua"/> </meta>
Az <info/> címkében láthatsz egy "type" mezőt ami eldönti, hogy ez a resource egy játéktípus, és nem egy map, vagy egy script, ami később lesz elmagyarázva. A játéktípus kell nekünk, hogy egy önálló szervert tudjunk létrehozni.
A <script/> címke dönti el azokat a script fájlokat, amit a resource tartalmaz. Ezeket fogjunk elkészíteni következőnek.
Egy egyszerű script létrehozása
Ne feledd, hogy a <script/> címkében a .lua nincs egy másik könyvtárban. Ez miatt ugyan ott fogjuk létrehozni, mint ahol a meta.xml-t. Most már betudod másolni a következő kódot a script.lua fájlodba.
local spawnX, spawnY, spawnZ = 1959,55, -1714,46, 10 function csatlakozasKezelo() spawnPlayer(source, spawnX, spawnY, spawnZ) fadeCamera(source, true) setCameraTarget(source, source) outputChatBox ("Üdvözöllek a szerveremen.", source) end addEventHandler ("onPlayerJoin", getRootElement (), csatlakozasKezelo)
A script lespawnol minket a koordinátára ( x, y, z ), amit feljebb adtunk meg, amikor csatlakozunk a játékhoz. Ne feledjük, hogy a fadeCamera funkció szükséges, vagy különben fekete lesz a képernyő. Szintúgy, a DP2 kiadása után be kell állítanunk a kamera célját (különben minden játékos a kék eget fogja látni.)
A source változó jelenti, hogy ki hívta meg az eseményt. Mivel egy játékos csatlakozott, amikor a kódunk meglett hívva, ezért ezt a változót használjuk, hogy megnézzük, hogy ki csatlakozott. Ez miatt nem fog mindenkit lespawnolni, vagy egy véletlenszerű játékost.
Ha egy közelebbi pillantást vetünk az addEventHandler-re, akkor láthatunk 3 dolgot: "onPlayerJoin", ami azt jelzi, hogy mikor legyen meghívva. getRootElement(), ami azt jelzi, hogy ki/mi által lehet meghívva. (A getRootElement() mindent/mindenkit jelent.) És joinHandler, ami azt jelzi, hogy melyik funckió legyen lefuttatva, az esemény meghívása után. Egyéb részletek hamarosan le lesznek írva egy másik példában, most indítsuk el a szerverünket, és próbáljuk ki!
A script futtatása
Ahhoz, hogy a szervert elindítsuk, egyszerűen indítsuk el az "MTA Server" fájlt a server/ mappában. Egy lista fog kijönni először, a szerver adataival; jegyezd meg a port számát, ami a kapcsolódáshoz lesz szükséges. Ezután a szerver betölti a resourceokat a server/mods/deathmatch/resources/ mappából, és ezután "kész a csatlakozásokra".
Mielőtt kapcsolódnál a szerverre, el kell indítani a játékmódunkat. Írd be a "start enszerverem", parancsot, és nyomj entert. A szerver elindítja a játékmódot, amit létrehoztál, ettől a ponttól kezdve a hibákat és a figyelmeztetéseket is írni fogja. Most már elindíthatod az MTA klienst, majd a "Qyors Csatlakozás" gombbal csatlakozhatsz is az előbb látott IP-vel és porttal. Ha minden jól megy, pár másodperc múlva a karaktered megjelenik, és Los Santos utcáin járkál.
Következőnek egy parancsot fogunk létrehozni, amivel képesek leszünk egy kocsit létrehozni a helyzetünkön. Lehet, hogy kiszeretnéd ezt hagyni, és a haladó scriptelést szeretnéd megismerni a Map Manager, használatával, ami ezt az oktatást folytatja. Egy másik ág a Bevezetés a GUI scriptelésbe, ami megmutatja hogy hogyan hozunk létre Grafikus Felhasználói Felületet MTAn belül.