Jump to content

Admin tag and immunity


dewu

Recommended Posts

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?

Link to comment
  
-- 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 
    ) 
  

Link to comment
  
-- 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

Link to comment

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?

Link to comment

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) 
  

Link to comment
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 ) 

Link to comment

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...