Solved Country block

Discussion in 'Plugin Requests' started by Whis, Mar 11, 2015.

  1. Olá, meu nome é Paulo Ricardo, e eu vim aqui para pedir-lhe uma ajuda para a utilização do sistema de óxido para a criação de um servidor Rust Legacy, o problema é que como super de hoje dificio ta lidar com hacks, temos tempo para ficar psassando equipe de visualizar os possíveis cortes, o problema é que quando se trata jogadores de outros países não tem que fazer nada, porque não sabemos todas as línguas.
    A minha pergunta é: Você é como você me ajudar a criar um plugin que bloqueia os jogadores de outros países como CountriesFilter plugin que existiam no óxido de 1:18?
    Desde ja grato!
     
  2. This plugin was the oxide 1.18 to filter players from other countries

    Code:
     PLUGIN.Title = "Países Filter - Geolocalização"
    PLUGIN.Description = "Filtrar e / ou obter a localização de um jogador"
    PLUGIN.Version = "1.1.1"
    PLUGIN.Author = "Reneb"função de plugin: Init ()
        b local, res = config.Read ( "countriesfilter")
        self.Config = res ou {}
        Se (não b) em seguida
            self: LoadDefaultConfig ()
            if (res), em seguida, config.Save ( "countriesfilter") end
        fim
        Se (self.Config.whitelist e self.Config.blacklist) seguida
            print ( "Whitelist erro e Blacklist definido como verdadeiro, fechando o script")
            Retorna
        fim
        self: AddChatCommand ( "de", self.fromCmd)
    fimfunção de plugin: LoadDefaultConfig ()
        self.Config.whitelist = true
        self.Config.blacklist = false
        self.Config.list = {
        "BR",
        "PT"
        }
        self.Config.cmdforAdminonly = true
        self.Config.showCountryOnJoin = true
    fim
    função de plugin: OnUserConnect (netuser)
        ip local = netuser.networkPlayer.ipAddress
        url local = "http://ip-api.com/json/" .. ip
        b locais = webrequest.Send (url, função (código, a resposta)
            self: callbackWebrequest (código, resposta, netuser)
    fim )
        if (não b) em seguida, imprimir ( "webrequest envio falhou!") end
     
    fim
    função de plugin: callbackWebrequest (código, resposta, netuser)
        isinlist locais = false
        locais rejeitado = false
        resp local = json.decode (resposta)
        if (não resp), em seguida, imprimir ( "não poderia encontrar a localização de" .. netuser.displayName) end retorno
        if (não resp [ "countryCode"]), em seguida, imprimir ( "não poderia encontrar a localização de" .. netuser.displayName) end retorno
        para i = 1, # self.Config.list fazer
            if (self.Config.list [i] == resp [ "countryCode"]), em seguida,
                isinlist = true
            fim
        fim
        Se (self.Config.whitelist) e (não isinlist) seguida
            rejeitado = true
        elseif (self.Config.blacklist) e (isinlist), em seguida,
            rejeitado = true
        fim
        if (resp [ "countryCode"] == "XX"), em seguida, rejeitada = false final
        if (rejeitada), em seguida,
            netuser: Retrocesso (NetError.Facepunch_Kick_Ban, true)
            Retorna
        fim
        if (self.Config.showCountryOnJoin) e (resposta ~ = "XX"), em seguida,
            rust.BroadcastChat ( "Ant-gringo", netuser.displayName .. "[color # 00ffef] mora no / a" .. resp [ "country"])
        fim
    fim
    função de plugin: fromCmd (netuser, cmd, args)
        if (não (args [1])), em seguida,
            Retorna
        fim
        Se (self.Config.cmdforAdminonly e não netuser: canadmin ()), em seguida
            Retorna
        fim
        b local, targetuser = rust.FindNetUsersByName (args [1])
        Se (não b) em seguida
            Se (targetuser == 0), então
                rust.Notice (netuser, "Nenhum jogador encontrado com esse nome!")
            outro
                rust.Notice (netuser, "Vários jogadores encontrada com esse nome!")
            fim
            Retorna
        fim
        ip local = targetuser.networkPlayer.ipAddress
        url local = "http://ip-api.com/json/" .. ip
        b locais = webrequest.Send (url, função (código, a resposta)
            self: fromTell (netuser, targetuser, código, a resposta)
    fim )
        if (não b) em seguida, imprimir ( "webrequest envio falhou!") end
    fim
    função de plugin: fromTell (netuser, targetuser, código, a resposta)
        resp local = json.decode (resposta)
        Se (não resp [ "countryCode"]) então
            rust.SendChatToUser (netuser, "From", targetuser.displayName .. "não pôde ser localizado")
        elseif (resp [ "countryCode"] == "XX"), em seguida,
            rust.SendChatToUser (netuser, "From", targetuser.displayName .. "não pôde ser localizado")
        outro
            rust.SendChatToUser (netuser, "From", targetuser.displayName .. "é de" .. resp [ "country"])
        fim
    acabar [/ code]
     
    Last edited by a moderator: Mar 29, 2016
  3. Wulf

    Wulf Community Admin

  4. thank you you
     
  5. Put as resolved
     
  6. Please make a working plugin to block countries :)
     
  7. Wulf

    Wulf Community Admin

    CountryBlock already handles this and works fine, just set the whitelist to false in the config.
     
  8. the plugin does not work.
     
  9. Wulf

    Wulf Community Admin

    It does, I use it every day. ;)

    Keep in mind that not all IP addresses will resolve to a country, that's just how IPs work. Not every IP will be in a database.
     
  10. My God , how do you find this plug -in filter Country / restriction already spent a year and still walks nothing at all = /
     
  11. Wulf

    Wulf Community Admin

    CountryBlock | Oxide
     
  12. muito obrigado