HU/Bevezetés a scriptelésbe: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
== Egy működő script ==
== Egy működő script készítés ==
Mi lesz az első megtanulják, hogyan készítsünk egy alap script, amely lehetővé teszi a játékos sétát a városban, 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.
=== Hol vannak a scriptek? ===
=== Hol találjuk meg a scripteket? ===
Vessünk egy pillantást a szkript fájl szerkezetét. Átlépni a MTA Server mappát, és kövesd az utat alábbi:
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/


szerver / mods / deathmatch / források /
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.


Lesz egy csomó .zip fájlok, amelyek a csomagolt mintaparancsfájlok szállított MTA. Minden fájl egy "erőforrás", és ezek mind kell bontani, és betölti a szerver, amikor elindul. A saját forrás, egyszerűen, hogy egy mappát a kívánt nevet. Fogjuk használni "myserver" ez a bemutató.
Most ebben a könyvtárban kell lenned:


Most kell a könyvtár alatt:
server/mods/deathmatch/resources/enszerverem


szerver / mods / deathmatch / források / kiszolgalo /
=== 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.


=== Azonosítása a forrás ===
Írd be a következő kódot a meta.xml fájlba.
Annak érdekében, hogy a szerver tudja, mi van a forrás, a '' meta.xml fájl '' mappát kell létrehozni a listára a forrás tartalmát. Azt kell elhelyezni, hogy az erőforrás rootkönyvtára, amely a "myserver" mappába a mi esetünkben. Tehát hozzon létre egy szöveges fájlt, és nevezd el "meta.xml fájl", és nyissa meg a Jegyzettömb.
<syntaxhighlight lang="lua"=XML>
 
Írja be a következő kódokat a '' meta.xml fájl '' file:
<syntaxhighlight lang="lua"> [XML]
<meta>
<meta>
      <info author = "Yourname" type = "játékmód" name = "My Server" description = "Az első MTA szerver" />
      <info author = "A neved" type = "gamemode" name = "A szerverem" description = "Az első MTA szerverem"/>
      <script src = "script.lua" />
      <script src = "script.lua"/>
</ meta>
</meta>
</ code>
</syntaxhighlight>
A '' <info /> '' tag, van egy "típus", amely jelzi, hogy az erőforrás a '' gamemode '', hanem a rendszeres közé, vagy a "" térkép ",", ami szó lesz. A játékmód, amire szüksége van, hogy egy önálló kiszolgáló.
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 jelzi a script fájl tartalmazza az erőforrás, amely azt fogja létrehozni a következő.
A <script/> címke dönti el azokat a script fájlokat, amit a resource tartalmaz. Ezeket fogjunk elkészíteni következőnek.
=== Létrehozása egy egyszerű script ===
=== Egy egyszerű script létrehozása ===
Ne feledje, hogy a '' <script /> '' tag fölött, a .lua fájl nem tartozik egy másik könyvtárba. Ezért hozunk létre a fájlt a mappába, meta.xml fájl. Most akkor másolja be a következő kódot a script.lua:
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.
<syntaxhighlight lang="lua"> [Lua]
<syntaxhighlight lang="lua"=lua>
helyi spawnX, spawnY, spawnZ = 1959,55, -1714,46, 10
local spawnX, spawnY, spawnZ = 1959,55, -1714,46, 10
működni joinHandler ()
function csatlakozasKezelo()
spawnPlayer (forrás, spawnX, spawnY, spawnZ)
spawnPlayer(source, spawnX, spawnY, spawnZ)
fadeCamera (forrás, true)
fadeCamera(source, true)
setCameraTarget (forrás, forrás)
setCameraTarget(source, source)
outputChatBox ("Welcome to My Server", forrás)
outputChatBox ("Üdvözöllek a szerveremen.", source)
vég
end
addEventHandler ("onPlayerJoin", getRootElement (), joinHandler)
addEventHandler ("onPlayerJoin", getRootElement (), csatlakozasKezelo)
</ code>
</syntaxhighlight>
A script spawnol akkor a koordináta (x, y, z) pontban, ha csatlakozik a játék. Ne feledje, hogy a '' fadeCamera '' funkciót kell használni, vagy a képernyő fekete lesz. Továbbá, a kiadások után DP2, be kell állítani a kamera célt (különben a lejátszó látni fogja a kék ég).
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 '' 'forrás' '' változó jelzi ki az eseményeket kiváltották. Mivel egy játékos csatlakozott, amikor a kódja indításra, akkor használja ezt a változót kell keresni, aki csatlakozott. Így lesz ívik a játékos helyett mindenkinek vagy egy véletlenszerűen.
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 van egy közelebbi pillantást a [[addEventHandler]], akkor láthatjuk, 3 dolgot: "onPlayerJoin", ami azt jelzi, ha ez beindul. getRootElement (), amely azt mutatja meg, hogy mit / hogy ki indulhat. (getRootElement () mindent / mindenkit) És joinHandler, ami jelzi a funkciót, amelyet meg kell indulnia a kiváltó esemény. Egyéb részleteket hamarosan szó lesz a másik példa, most nézzük csak futtatni a szerveren, és próbáld ki!
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!


=== Futás a forgatókönyvet ===
=== A script futtatása ===
Ahhoz, hogy a szerver lépésként egyszerűen futtatja a végrehajtható alatt kiszolgáló / mappa. A fenti kiszolgáló statisztika jelenik meg először; vegye figyelembe a port számát, ami akkor kell, amikor csatlakozott a játékot. Akkor a szerver terhelését a források biztosítása a mods / deathmatch / resources / könyvtárba, majd a "kész elfogadni kapcsolatok!"
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ódni a szerverhez, akkor le kell futtatni a gamemode. Írja "start myserver", és nyomja meg az Entert. A szerver elindul a játékmód most létrehozott, és azt is mutatják, az esetleges hibákat és figyelmeztetéseket ettől kezdve. Most már elkezdheti az MTA ügyfél, és a "Quick Connect" Az IP-cím, a szerver a port számot amit korábban. Ha minden jól megy, pár másodperc után a karakter fog járni az utcán Los Santos.
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.


Next felteszünk egy parancsot, hogy a script, hogy a játékosok használhatják, hogy kapsz egy gépkocsi mellett a helyzetüket. Lehet, hagyja azt, és nézd meg a fejlettebb scripting a [[Map Manager | Map Manager]], amely továbbra is ez a bemutató. Egy másik ágat a bemutató [[Bevezetés a Scripting GUI]], akkor kövesse azt, hogy milyen grafikus felhasználói felület a MTA készült, és megírt.
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 | 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.

Revision as of 18:07, 26 January 2016

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.