Jump to content

Admin tag and immunity


dewu

Recommended Posts

Posted

Hi guys.

I got two problems.

1. I want to add [ADMIN] tag when he text on global. I try to do that, but it's not working:

  
-- Global chat 
    function globalMessage(thePlayer, cmd, ...) 
        local message = table.concat ( { ... }, " " ); 
        local name = getPlayerName(thePlayer); 
    for _,v in ipairs(getElementsByType("player")) do 
        outputChatBox("#FF0000[GLOBAL]#00FF00"..name..": #FFFFFF"..message,v, 255, 255, 255, true) 
        end 
        if isObjectInACLGroup("user." .. account, aclGetGroup("Admin")) then 
        outputChatBox("#FF0000[ADMIN]#00FF00"..name..": #FFFFFF"..message,v, 255, 255, 255, true) 
        end 
    end 
    addCommandHandler("global",  globalMessage); 
      
    addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function() 
      for index,player in pairs(getElementsByType("player")) do 
      bindKey(player,"x", "down", "chatbox", "global"); 
      end 
    end 
    ) 
      
      
    addEventHandler("onPlayerJoin", getRootElement(), 
    function() 
      bindKey(source, "x", "down", "chatbox", "global"); 
    end 
    ) 
  

2. How to set admin ping immunity?

Posted
  
-- Global chat 
    function globalMessage(thePlayer, cmd, ...) 
        local message = table.concat ( { ... }, " " ); 
        local name = getPlayerName(thePlayer); 
        local account = getAccountName ( getPlayerAccount ( thePlayer ) ) 
        if isObjectInACLGroup("user." .. account, aclGetGroup("Admin")) then 
            outputChatBox("#FF0000[ADMIN]#00FF00"..name..": #FFFFFF"..message,root, 255, 255, 255, true) 
        else 
            outputChatBox("#FF0000[GLOBAL]#00FF00"..name..": #FFFFFF"..message,root, 255, 255, 255, true) 
        end 
    end 
    addCommandHandler("global",  globalMessage); 
      
    addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function() 
        for index,player in pairs(getElementsByType("player")) do 
            bindKey(player,"x", "down", "chatbox", "global"); 
        end 
    end) 
      
      
    addEventHandler("onPlayerJoin", getRootElement(), 
        function() 
            bindKey(source, "x", "down", "chatbox", "global"); 
        end 
    ) 
  

Posted
  
-- Global chat 
    function globalMessage(thePlayer, cmd, ...) 
        local message = table.concat ( { ... }, " " ); 
        local name = getPlayerName(thePlayer); 
        local account = getAccountName ( getPlayerAccount ( thePlayer ) ) 
        if isObjectInACLGroup("user." .. account, aclGetGroup("Admin")) then 
            outputChatBox("#FF0000[ADMIN]#00FF00"..name..": #FFFFFF"..message,root, 255, 255, 255, true) 
        else 
            outputChatBox("#FF0000[GLOBAL]#00FF00"..name..": #FFFFFF"..message,root, 255, 255, 255, true) 
        end 
    end 
    addCommandHandler("global",  globalMessage); 
      
    addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function() 
        for index,player in pairs(getElementsByType("player")) do 
            bindKey(player,"x", "down", "chatbox", "global"); 
        end 
    end) 
      
      
    addEventHandler("onPlayerJoin", getRootElement(), 
        function() 
            bindKey(source, "x", "down", "chatbox", "global"); 
        end 
    ) 
  

It's works, thanks!

And the second problem still idk how to do that ;/

I'am admin on server and i am kicking by ;d

Posted

Whatever ping-kicker system you're using, you should edit the code, so if the player ( who is being kicked ) is not an admin, then he will be kicked.

Posted

Okay, i found it:

Client:

  
function playerPingCheck() 
  if getPlayerPing(getLocalPlayer()) > gameplayVariables.ping then 
    pingFails = pingFails + 1 
    if pingFails == 5 then 
      triggerServerEvent("kickPlayerOnHighPing", getLocalPlayer()) 
      return 
    end 
    startRollMessage2("Ping", "Your ping is over " .. gameplayVariables.ping .. "! (" .. pingFails .. "/5)", 255, 22, 0) 
    if isTimer(pingTimer) then 
      return 
    end 
    pingTimer = setTimer(function() 
      pingFails = 0 
    end, 30000, 1) 
  end 
end 
setTimer(playerPingCheck, 4000, 0) 
  

Server:

  
function kickPlayerOnHighPing() 
  outputChatBox(getPlayerName(source) .. " was kicked due to high ping!", getRootElement(), 27, 89, 224, true) 
  kickPlayer(source, "Your Ping was straight too high.") 
end 
addEvent("kickPlayerOnHighPing", true) 
addEventHandler("kickPlayerOnHighPing", getRootElement(), kickPlayerOnHighPing) 
  

How to set admin immunity?

Posted

Your new server-sided code, if the player is in "Console, Admin, SuperModerator or Moderator" then he won't be kicked.

  
function kickPlayerOnHighPing() 
    if not isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Admin" )) or not isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Console" )) or not isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("Moderator" )) or not isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)), aclGetGroup("SuperModerator" )) then 
        outputChatBox(getPlayerName(source) .. " was kicked due to high ping!", getRootElement(), 27, 89, 224, true) 
        kickPlayer(source, "Your Ping was straight too high.") 
    end 
end 
addEvent("kickPlayerOnHighPing", true) 
addEventHandler("kickPlayerOnHighPing", getRootElement(), kickPlayerOnHighPing) 
  

Posted
function kickPlayerOnHighPing ( ) 
    local accountName = getAccountName ( getPlayerAccount ( source ) ) 
    if ( not isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( "Admin" ) ) and not isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( "Console" ) ) and not isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( "Moderator" ) ) and not isObjectInACLGroup ( "user.".. accountName, aclGetGroup ( "SuperModerator" ) ) ) then 
        outputChatBox ( getPlayerName ( source ) .. " was kicked due to high ping!", getRootElement(), 27, 89, 224, true ) 
        kickPlayer ( source, "Your Ping was straight too high." ) 
    end 
end 
addEvent ( "kickPlayerOnHighPing", true ) 
addEventHandler ( "kickPlayerOnHighPing", getRootElement(), kickPlayerOnHighPing ) 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...