Jump to content

help for anti pub script


Recommended Posts

Posted

Hello, i want add ban player if he say ip MTA, but this script don't work.. can you help me please ?

local insults = { 
    "mtasa://"
}
 
local replace_sentence = {
"#ff0000ยก#@!"
}
 
local max_insult = 3;
local uebereinstimmungsrate = 4;
local handle_type = 1;
-- handle_type 1 = replaces the offense with a gay word
-- handle_type 2 = kicks a user searches for "max_insult" from the server.
-- handle_type 3 = recursively also sets up terms (not being completed)
-- handle_type 4 = undertakes nothing
 
addEventHandler("onPlayerChat", root, function(message, _type)
    for index, val in pairs(insults) do
        local new_val = val:lower();
        local message = message:lower();
        local match = false;
       
        local laufwert = 0;
        if message:len() > new_val:len() then
            laufwert = new_val:len();
        elseif message:len() < new_val:len() then
            laufwert = message:len();
        elseif message:len() == new_val:len() then
            laufwert = new_val:len();
        end 
       
        if ( handle_type == 3 ) then
             local currentLaufwert = 1;
             local match = false;
             local break_schleife = false;
             laufwert = message:len();
             local inte_laufwert = 1;
           
             local search_in_text_match = false
             while ( inte_laufwert < laufwert+1 and search_in_text_match == false ) do
                 if ( string.byte(tostring(message), inte_laufwert) == string.byte(new_val) ) then
                     search_in_text_match = true
                     if inte_laufwert == 1 then
                         outputDebugString("A");
                     end
                 end
                 inte_laufwert = inte_laufwert+1
             end
           
             if search_in_text_match then
                 while ( (currentLaufwert < laufwert+1) and ( break_schleife == false ) ) do
                     if ( string.byte(tostring(message), currentLaufwert+inte_laufwert) ) then
                       
                         if ( string.byte(tostring(message), currentLaufwert+inte_laufwert) ~= string.byte(tostring(new_val), currentLaufwert) ) then
                             break_schleife = true
                         else
                             if ( currentLaufwert >= uebereinstimmungsrate ) then
                                 match = true
                                 break_schleife = true
                             end
                         end
                       
                         currentLaufwert = currentLaufwert+1
                     end
                 end
             end
        elseif ( handle_type == 2 ) then
            local currentLaufwert = 1;
            local break_schleife = false;
            while ( (currentLaufwert < laufwert+1) and ( break_schleife == false ) ) do
                if ( string.byte(tostring(message), currentLaufwert) ~= string.byte(tostring(new_val), currentLaufwert) ) then
                    break_schleife = true
                else
                    if ( currentLaufwert >= uebereinstimmungsrate ) then
                        match = true
                        break_schleife = true
                    end
                end
               
                currentLaufwert = currentLaufwert+1
            end
           
            if ( match ) then
                cancelEvent();
                handle_match(1);
                break;
            end
           
        elseif ( handle_type == 1 ) then
            local currentLaufwert = 1;
            local break_schleife = false;
            while ( (currentLaufwert < laufwert+1) and ( break_schleife == false ) ) do
                if ( string.byte(tostring(message), currentLaufwert) ~= string.byte(tostring(new_val), currentLaufwert) ) then
                    break_schleife = true
                else
                    if ( currentLaufwert >= uebereinstimmungsrate ) then
                        match = true
                        break_schleife = true
                    end
                end
               
                currentLaufwert = currentLaufwert+1
            end
       
            if ( match ) then
                cancelEvent();
                handle_match(2);
                break;
            end
        end
           
       
       
    end
end)
 
function handle_match(_type)
    if ( _type == 1 ) then
        local oriVal = getElementData(source, "b_count")
        if ( oriVal == false ) then
            setElementData(source, "b_count", 1);
            oriVal = 1;
        else
            oriVal = oriVal+1
            setElementData(source, "b_count", oriVal)
        end
       
        if ( oriVal > max_insult ) then
            kickPlayer(source, source, "")
        else
            outputChatBox(string.format("", oriVal, val), source, 255, 0, 0)
        end
    elseif ( _type == 2 ) then
        local rand = math.random(1, #replace_sentence);
        outputChatBox(string.format("", replace_sentence[rand]), root, 255, 255, 255, true);
    end
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
        outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
        outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
        outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
    outputChatBox (" ",getRootElement(), 255, 255, 0,true )
   
430x73_FFFFFF_FF9900_000000_000000.png
Posted

try something like this:

local words = {"mtasa://","22003"} 
  
addEventHandler("onPlayerChat",root, 
function (msg,type) 
    if type == 0 or type == 1 or type == 2 then 
        for i, v in pairs(words) do 
            if string.find(msg,string.lower(v)) then 
                local playerName = getPlayerName(source) 
                local r,g,b = getPlayerNametagColor(source) 
                outputChatBox(playerName..": advertiser was detected and he got kicked" , root,r,g,b, false) 
                banPlayer (source, false, false, true,"Console", "Don't advertise!") 
            end 
        end 
    end 
    cancelEvent() 
end  
) 

Do not yield your back to your enemy, might feel something strange in your ass.

Two things are infinite the universe and human stupidity and i'm not sure about the universe.

UF: IsTextInGridList | GetGridListRowIndexFromText | Table.removeValue | removeHex | dxDrawTriangle

Skype: SaSuki102 | About Me | Youtube channel | Lua Tips & Tricks | Lua Strings | Lua Tables | Lua Operators

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