Advertisement
Guest User

ابي حل

a guest
Oct 28th, 2014
219
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.34 KB | None | 0 0
  1.  
  2. local gPlayerTickCount = { }
  3. local gPlayerSpams = { }
  4. local gPlayerMessage = { }
  5. local gPlayerMsgNum = { }
  6. local gPlayerMuteTimer = { }
  7.  
  8. local gSettings = { }
  9.  
  10. addEventHandler( "onPlayerChat", getRootElement( ),
  11.     function( message )
  12.         if not gPlayerSpams[ source ] then
  13.             gPlayerSpams[ source ] = true
  14.             gPlayerTickCount[ source ] = getTickCount( )
  15.             gPlayerMessage[ source ] = message
  16.         else
  17.             if getTickCount( ) - gPlayerTickCount[ source ] > gSettings.delay then
  18.                 gPlayerMsgNum[ source ] = 0
  19.                 gPlayerMessage[ source ] = nil;
  20.                 gPlayerTickCount[ source ] = getTickCount( )
  21.                 return
  22.             else
  23.                 if gPlayerMsgNum[ source ] >= gSettings.msgNum then
  24.                     gPlayerTickCount[ source ] = getTickCount( )
  25.                     cancelEvent( )
  26.                     if gSettings.mutePlayers then
  27.                         mutePlayer( source );
  28.                     end
  29.                 elseif message == gPlayerMessage[ source ] then
  30.                     cancelEvent( )
  31.                     outputChatBox( "Don't repeat yourself!!!", source, 255, 0, 0 )
  32.                 end
  33.                 gPlayerMsgNum[ source ] = gPlayerMsgNum[ source ] + 1
  34.             end
  35.         end
  36.         gPlayerMessage[ source ] = message
  37.     end
  38. )
  39.  
  40. function mutePlayer( player )
  41.     setPlayerMuted( player, true );
  42.     gPlayerMuteTimer[ player ] = setTimer( unmutePlayer, gSettings.muteTime * 1000, 1, player );
  43.     outputChatBox( "Don't flood the chat!!! You are now muted for " .. gSettings.muteTime .." seconds.", player, 255, 0, 0 )
  44. end
  45.  
  46. function unmutePlayer( player )
  47.     setPlayerMuted( player, false );
  48.     outputChatBox( "You can talk again. Remeber, do NOT spam!", player, 255, 0, 0 );
  49. end
  50.  
  51. addEventHandler( "onPlayerJoin", getRootElement( ),
  52.     function( )
  53.         gPlayerMsgNum[ source ] = 0
  54.     end
  55. )
  56.  
  57. addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ),
  58.     function( )
  59.         gSettings.delay = get( "@differenceBetweenMessages_ms" )
  60.         gSettings.msgNum = get( "@messagesNumber" )
  61.         gSettings.mutePlayers = ( get( "@mutePlayers" ) == "true" ) and true or false;
  62.         gSettings.muteTime = get( "@muteTime" );
  63.         for _, plr in pairs( getElementsByType( "player" ) ) do
  64.             gPlayerMsgNum[ plr ] = 0
  65.         end
  66.     end
  67. )
  68.  
  69. addEventHandler( "onResourceStop", getResourceRootElement(),
  70.     function( )
  71.         local players = getElementsByType( "player" );
  72.         for i, plr in pairs( players ) do
  73.             if isPlayerMuted( plr ) then
  74.                 setPlayerMuted( plr, false );
  75.             end
  76.         end
  77.     end
  78. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement