Jump to content

My mute wont work.


zixxonx

Recommended Posts

Im muting player with this:

mutedSerials [ getPlayerSerial ( target ) ] = 3000 

(i put 3000 for testing :P)

and that's my checker

function muteChecker() 
    for id, player in ipairs(getElementsByType("player")) do 
        if(anymute >=  1) then 
        if(mutedSerials [ getPlayerSerial ( player ) ] == 0)  then  
            setElementData(player, "Muted", false) 
            SkryptMsg(getPlayerName(player) .." has been unmuted by system!") 
            anymute = anymute - 1 
        elseif(mutedSerials [ getPlayerSerial (player ) ] > 1000) then 
            mutedSerials [ getPlayerSerial ( player ) ] = mutedSerials [ getPlayerSerial ( player ) ]  - 1000 
        end 
    end 
    end 
end 
setTimer(muteChecker, 1000, 0) 

And i'm getting

attempt to compare number with nil

:/

What's bad? Thats my script

      local mutedSerials = { } 
anymute = 0 
    function muteSomeone ( player, cmd, target, reason, czas ) 
        if ( target and reason and czas ) then 
            
            local target = getPlayerFromNamePart ( target ) 
            
            
            if ( not isElement ( target ) ) then 
                SkryptMsg ( "There is no player with this name", player) 
                return 
            end 
      
            local czas = tonumber ( czas ) 
            --local czas = mToMs ( czas ) 
            if ( czas and czas >= 1 and not isPlayerMuted ( target ) ) then 
                local milliseconds = math.floor ( czas * 60000 ) 
  
                SkryptMsg ( getPlayerName ( target ) .." has been muted for ".. tostring ( czas ) .." minutes (".. reason ..") .") 
               -- setPlayerMuted ( target, true ) 
                --setTimer ( setPlayerMuted, milliseconds, 1, target, false ) 
                mutedSerials [ getPlayerSerial ( target ) ] = 3000 
                setElementData(target, "Muted", true) 
                anymute = anymute+1 
            end 
                        else 
                SkryptMsg ( "Syntax: /mmute player reason time (in minutes)", player) 
        end 
  
    end 
    addCommandHandler ( "dexmut", muteSomeone ) 
function muteChecker() 
    for id, player in ipairs(getElementsByType("player")) do 
        if(anymute >=  1) then 
        if(mutedSerials [ getPlayerSerial ( player ) ] == 0)  then  
            setElementData(player, "Muted", false) 
            SkryptMsg(getPlayerName(player) .." has been unmuted by system!") 
            anymute = anymute - 1 
        elseif(mutedSerials [ getPlayerSerial (player ) ] > 1000) then 
            mutedSerials [ getPlayerSerial ( player ) ] = mutedSerials [ getPlayerSerial ( player ) ]  - 1000 
        end 
    end 
    end 
end 
setTimer(muteChecker, 1000, 0) 
function getPlayerFromNamePart(name) 
    if name then 
        for i, player in ipairs(getElementsByType("player")) do 
            if string.find(getPlayerName(player):lower(), tostring(name):lower(), 1, true) then 
                return player 
            end 
        end 
    end 
    return false 
end 

:)

Link to comment

Yeah it work correctly, idk how it can help but it helped. :D

And i wont to create new thread so can i ask here?

    if messageType == 2 then 
        cancelEvent() 
        local r,g,b 
        local druzyna = getPlayerTeam(source) 
        r, g, b = getTeamColor ( druzyna ) 
        --outputChatBox 
    end 

I did it, but now how to get all players from current team? I have no idea how can i do it.

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