HU/addCommandHandler

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Megjegyzés: Erősen ajánlott, hogy ne használd ugyan azt a nevet a függvényedhez és a parancshoz, mivel ez kavarodáshoz vezethet, ha több függvény is használatban van. Használj olyan nevet, mely pontosabban leírja, hogy mit csinál a parancsod.

Ez a függvény egy parancsot csatol az egy adott script függvényhez, így amikor ezt a parancsot a szerveren használják, a függvény meghívódik.

[[{{{image}}}|link=|]] Megjegyzés: Nem használhatod a "check", "list" és "test" szavakat mint parancsot.


Több command handler-t is hozzá csatolhatunk egy parancshoz, így abban a sorrendben hívódnak meg a függvények, ahogy a handler-ek sorrendje van. Fordítva, több parancsot is hozzá lehet csatolni egy függvényhez és a commandName paramétert használva eldönthetjük, hogy hogyan kezeljük a kérést.

A felhasználóknak a parancs formátuma:

commandName argumentum1 argumentum2

Ez meghívható közvetlen a játékos konzoljából vagy a chat-ben a per (/) elé téve. A szerver oldali handler-eket a szerver admin is meg tudja hívni a szerver konzoljából ugyan úgy, ahogy a játékos meghívja a konzoljából.

Szintaxis

Click to collapse [-]
Server
bool addCommandHandler ( string commandName, function handlerFunction [, bool restricted = false, bool caseSensitive = true ] )

Kötelező argumentumok

  • commandName: Ez a parancs neve amit a handler-hez csatol. Ez lesz az amit a játékos a konzolba beírva, vagy a chatben használva meg tudja hívni a függvényt.
  • handlerFunction: Ez a függvény amit a handler meg fog hívni. A handler-t a függvény után kell létrehozni. Ez átadja a függvények a játékost aki meghívta és a parancsot amit beírt. Ez után minden további argumentumot amit a játékos továbbá beírt (Lásd lejjebb). Ezek elhagyhatóak.

Opcionális argumentumok

Megjegyzés: Amikor tetszőleges paramétereket használ, előfordulhat, hogy az összes paramétert meg kell adnia, mielőtt egyet is használna. További információkért látogassa meg a tetszőleges paraméterek oldalt.

  • restricted: Ez meghatározza, hogy a parancs használata korlátozott-e. Amennyiben true értéket kap, az ACL alapján kitűzött korlátozásokat alkalmazza.
  • caseSensitive: Meghatározza, hogy a parancs beírása kis-/nagy-betű érzékeny-e.


Click to collapse [-]
Client
bool addCommandHandler ( string commandName, function handlerFunction [, bool caseSensitive = true ] )

Kötelező argumentumok

  • commandName: Ez a parancs neve amit a handler-hez csatol. Ez lesz az amit a játékos a konzolba beírva, vagy a chatben használva meg tudja hívni a függvényt.
  • handlerFunction: Ez a függvény amit a handler meg fog hívni. A handler-t a függvény után kell létrehozni. Ez átadja a függvények a játékost aki meghívta és a parancsot amit beírt. Ez után minden további argumentumot amit a játékos továbbá beírt (Lásd lejjebb). Ezek elhagyhatóak.

Opcionális argumentumok

Megjegyzés: Amikor tetszőleges paramétereket használ, előfordulhat, hogy az összes paramétert meg kell adnia, mielőtt egyet is használna. További információkért látogassa meg a tetszőleges paraméterek oldalt.

  • caseSensitive: Meghatározza, hogy a parancs beírása kis-/nagy-betű érzékeny-e.

Handler függvény paraméterek

Ezek azok a paraméterei a handler függvénynek, melyeket megkap a függvény a parancs meghívásakor.

Click to collapse [-]
Server
player playerSource, string commandName [, string arg1, string arg2, ... ] 
  • playerSource: Ez az a játékos aki meghívta a parancsot vagy a szerver konzol. Ha nem játékos hívta meg (Pl. szerver admin vagy szerver konzol), akkor ez false.
  • commandName: A parancs neve amivel meghívták a függvényt.
  • arg1, arg2, ...: Minden egyes érték amit a parancs neve után szóközökkel elválasztva beírnak az egy külön változóba kerül. Ha nincs értéke egy argumentumnak akkor nil. Kezelhet egy változó számú változót a vararg kifejezés használatával, ahogy a Szerver példa 2-ben az látható.
Click to collapse [-]
Client
string commandName [, string arg1, string arg2, ... ] 
  • commandName: A parancs neve ami meghívta a függvényt.
  • arg1, arg2, ...: Minden egyes érték amit a parancs neve után szóközökkel elválasztva beírnak az egy külön változóba kerül. Ha nincs értéke egy argumentumnak akkor nil. Kezelhet egy változó számú változót a vararg kifejezés használatával, ahogy a Szerver példa 2-ben az látható.

Visszaadott érték

true ha a handler sikeresen létre lett hozva, false egyébként.

Példák

Click to collapse [-]
Server

Példa 1: Ez a példa a "createmarker" parancsot csatolja a consoleCreateMarker függvényhez, aminek meghívása a játékos pozicióján létrehoz egy piros markert.

-- Define our function that will handle this command
function consoleCreateMarker ( playerSource, commandName )
	-- If a player triggered it (rather than the admin) then
	if ( playerSource ) then
		-- Get that player's position
		local x, y, z = getElementPosition ( playerSource )
		-- Create a size 2, red checkpoint marker at their position
		createMarker ( x, y, z, "checkpoint", 2, 255, 0, 0, 255 )
		-- Output it in his chat box
		outputChatBox ( "You got a red marker", playerSource )
	end
end
-- Attach the 'consoleCreateMarker' function to the "createmarker" command
addCommandHandler ( "createmarker", consoleCreateMarker )
Click to expand [+]
Server
Click to expand [+]
Server
Click to expand [+]
Client

Lásd még


Fordította

  • WorthlessCynomys