HU/addCommandHandler
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.
Szintaxis
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
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- 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.
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
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- caseSensitive: Meghatározza, hogy a parancs beírása kis-/nagy-betű érzékeny-e.
Handler függvény paraméterek
These are the parameters for the handler function that is called when the command is used. Ezek azok a paraméterei a handler függvénynek, melyeket megkap a függvény a parancs meghívásakor.
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ó.
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
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 )
Lásd még
Fordította
- WorthlessCynomys