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.
Megjegyzés: Nem használhatod a "check", "list" és "test" szavakat mint parancsot. |
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
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.
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.
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
- HU/clearChatBox
- HU/executeCommandHandler
- HU/getCommandHandlers
- HU/getFPSLimit
- HU/getMaxPlayers
- HU/getServerHttpPort
- HU/getServerName
- HU/getServerPassword
- HU/getServerPort
- HU/getVersion
- HU/isGlitchEnabled
- HU/outputChatBox
- HU/outputConsole
- HU/outputDebugString
- HU/outputServerLog
- HU/removeCommandHandler
- HU/setFPSLimit
- HU/setGlitchEnabled
- HU/setMaxPlayers
- vsetServerPassword
- HU/showChat
- HU/shutdown
Fordította
- WorthlessCynomys