HU/addCommandHandler

From Multi Theft Auto: Wiki

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.

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.


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

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