MSHost.cz
https://forum.mshost.cz:443/

isObjectInACLGroup - Příkazy pro adminy(...)
https://forum.mshost.cz:443/viewtopic.php?f=18&t=1614
Page 1 of 1

Author:  1MenuX1 [ Mon 13. Aug 2012 21:44:17 ]
Post subject:  isObjectInACLGroup - Příkazy pro adminy(...)

isObjectInACLGroup využijete nejčastěji když budete chtít udělat příkaz pro admina , či pro objekt ve skupině v souboru ACL.xml .

Příklad : isObjectInACLGroup ("user." ..name, aclGetGroup ("Admin")) --Zjistí zda je login nick ve skupině Admin v souboru ACL.xml .

Code:
                     Syntax / Celá funkce :
isObjectInACLGroup ( theObject, theGroup )


theObject - Objekt v souboru ACL. (např.: user.1MenuX1)
theGroup - Skupina v souboru ACL. (např.: Admin,Moderator , ...)

Pokud chceme aby isObjectInACLGroup fungoval úplně , bude třeba nejprve definovat login nick hráče , a napsat skupinu.
Code:
local LogNick = getAccountName ( getPlayerAccount ( thePlayer ) )

Tímto jsme definovali přihlašovací nick hráče.Nyní je ale třeba ještě uvést kam patří object.(user.)
Code:
isObjectInACLGroup ("user." ..LogNick, aclGetGroup ("SKUPINA"))

Tam kde je SKUPINA , tam doplníte -
Admin,SuperModerator,Moderator,Everyone,RPC aj. skupiny.

Tak a nyní máme celý kód -
Code:
local LogNick = getAccountName ( getPlayerAccount ( thePlayer ) )
isObjectInACLGroup("user." ..LogNick, aclGetGroup ("Admin"))


Jenže jak to využijeme ? Nebo co s tím ?

Zkuste to poupravit na :
Code:
local LogNick = getAccountName ( getPlayerAccount ( thePlayer ) )
if isObjectInACLGroup("user." ..LogNick, aclGetGroup ("Admin")) then

if - Pokud je / Pokud
then - Potom bude / Potom

Následující příklad vám možná ukáže jak to například využijete :
Code:
players = getElementsByType ( "player" )
admins = ""
for k,v in ipairs(players) do
   local LogNick = ""
   if (isGuestAccount(getPlayerAccount(v)) == false) then
      LogNick = getAccountName (getPlayerAccount(v))
      if isObjectInACLGroup ( "user." .. LogNick, aclGetGroup ( "admin" ) ) then
         if (admins == "") then
            admins = getPlayerName(v)
         else
            admins = admins .. ", " .. getPlayerName(v)
         end
      end
   end
end
outputChatBox( "Online admins:", getRootElement(), 255, 255, 0)
outputChatBox( " " .. tostring ( admins ), getRootElement(), 255, 255, 0)


Tento script vám vypíše online adminy , avšak pouze ve skupině Admin , nikoli SuperModerator a další.
Doufám že návod chápete , je totiž totálně jednoduchej :) .

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/