Jump to content

warn system


golanu21

Recommended Posts

warns = 0 
function command (sourcePlayer, command, who) 
name = getPlayerFromName(who) 
    if name then 
        local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) -- get his account name 
        if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then  
        for index, name in ipairs(name) do  
            if warns == 0 then 
                warns = 1 
                outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 1/3") 
            elseif warns == 1 then 
                warns = 2 
                outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 2/3") 
            elseif warns == 2 then 
                warns = 3  
                outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 3/3") 
                banPlayer(name) 
                end 
            end 
        end 
     else  
     outputChatBox("Invalid Syntax:/warn Player", source, 255, 0, 0 ) 
    end 
end 
addCommandHandler("warn", command) 

WARNING: gymScript\server.lua:3: Bad argument @ 'getPlayerFromName' 
[2013-08-22 12:31:25] WARNING: gymScript\server.lua:5: Bad argument @ 'getPlayerAccount' [Expected element at argument 1, got nil] 
[2013-08-22 12:31:25] WARNING: gymScript\server.lua:5: Bad argument @ 'getAccountName' [Expected account at argument 1, got boolean] 
[2013-08-22 12:31:25] ERROR: gymScript\server.lua:6: attempt to concatenate local 'accName' (a boolean value) 

Link to comment
warns = 0 
function command (sourcePlayer, command, who) 
    if not who then 
        outputChatBox ( "No name was given." ) 
        return 
    end 
    name = getPlayerFromName(who) 
    if name then 
        local accName = getAccountName ( getPlayerAccount ( sourcePlayer ) ) -- get his account name 
        if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
            for index, name in ipairs(name) do  -- that makes no sense 
                if warns == 0 then 
                    warns = 1 
                    outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 1/3") 
                elseif warns == 1 then 
                    warns = 2 
                    outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 2/3") 
                elseif warns == 2 then 
                    warns = 3 
                    outputChatBox("Jucatorul"..name.."a primit warn din partea administratorilor 3/3") 
                    banPlayer(name) 
                end 
            end 
        end 
    else 
        outputChatBox("Invalid Syntax:/warn Player", source, 255, 0, 0 ) 
    end 
end 
addCommandHandler("warn", command) 

Edited by Guest
Link to comment

Then use a table, eg.:

local warn = {} 

And store there the warns of individual players:

  
if not warn[ name ] then  -- hasn't got a warning yet 
    warn[ name ] = 1 
else 
    warn[ name ] = warn[ name ] + 1 --alredy has waring(s), so give one more 
end 
  
if warn[ name ] >= 3 then -- 3 warnings = ban 
    banPlayer(...) 
end 
  

Edited by Guest
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...