Jump to content

Insane Limits (0.9.17.0 - 30-MAR-2015) + BFHL


ImportBot

Recommended Posts

Originally Posted by PapaCharlie9*:

 

Sorry to bother you again.

You write that there is an optional MySQL Database support for caching from a recent version on. I didnt find a way to enable that, or do I need to have another add on for that?

Eh? Are you talking about Battlelog Cache for player tag and stats? Only works for BF3. It's automatically enabled in Insane Limits if you have the Battlelog Cache plugin working correctly.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by 397Seth*:

 

I thought the Plug in is not working for BF4, at least that whats it says on the last page.

I installed it anyway. It is working and writing in the database, however some errors occur:

[21:37:42 48] [battlelog Cache] Fetching stats for player 'playername' with requestType 'ClanTag' failed!

[21:58:53 14] [battlelog Cache] Fetching stats for player 'playername' with requestType 'Overview' failed!

 

I changed the hoster today and took over the settings of the plugins. However insane limits gives me an error.

I copied the .cfg file to the new folder (the one for the new IP Adress) and I changed the InsaneLimits_85.114.152.38_10301.conf (in the plugin/BF4 folder) to my new IP Adress.

The error I get is that InsaneLimits misses this file (InsaneLimits_85.114.152.38_10301.conf) allthough I replaced it with my new IP Adress. Is there a dependency to the IP Adress somewhere?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

I thought the Plug in is not working for BF4, at least that whats it says on the last page.

I installed it anyway. It is working and writing in the database, however some errors occur:

[21:37:42 48] [battlelog Cache] Fetching stats for player 'playername' with requestType 'ClanTag' failed!

[21:58:53 14] [battlelog Cache] Fetching stats for player 'playername' with requestType 'Overview' failed!

That's why I wrote "Only works for BF3" in my previous reply. :smile:

 

I changed the hoster today and took over the settings of the plugins. However insane limits gives me an error.

I copied the .cfg file to the new folder (the one for the new IP Adress) and I changed the InsaneLimits_85.114.152.38_10301.conf (in the plugin/BF4 folder) to my new IP Adress.

The error I get is that InsaneLimits misses this file (InsaneLimits_85.114.152.38_10301.conf) allthough I replaced it with my new IP Adress. Is there a dependency to the IP Adress somewhere?

See instructions here:

 

myrcon.net/...insane-limits-bfhl#entry30253

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

So it's better not to use it, or to use it with some errors?

If you were confused by EBassie's reply, it is because you didn't mention you were trying to use it on BF4. If you had mentioned that, he would have given you the same answer I did. It only works on BF3.

 

But you don't have to take my word for it. PM MorpheusX(AUT) and ask him directly. I'm sure he'd be glad to clear up any confusion about this.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by MorpheusX(AUT)*:

 

I thought the Plug in is not working for BF4, at least that whats it says on the last page.

I installed it anyway. It is working and writing in the database, however some errors occur:

Uh.

No. It's not working and will with almost complete certainty never work for BF4 (which is one of the reasons why it only has a BF3 tag in its title and explicitly states it does not work for BF4).

If you read the last page stating the plugin will not work for BF4, how did you think it would work when installing it? Magical unicorn dust just available to your Procon layer? :ohmy:

 

I've edited the first post of the BattlelogCache thread and added another warning. Hope this clears "issues" up for the future. *sigh*

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LumPenPacK*:

 

Does anyone have some experience in loading/updating maps into the maplist with InsaneLimits?

 

I was trying something like:

 

Code:

	List<string> MyMapList	= new List<string>();
	
	Vanilla.Add("\"MP_001\", \"ConquestSmall0\", \"1\"");
         .......

for (int i = 0; i < MyMapList.Count; i++) {
		if(server.MapIndex != i) {
			plugin.ServerCommand("mapList.remove", i.ToString() );
			plugin.ServerCommand("mapList.Add", MyMapList[i], i.ToString() );
		}	
	}
...
	plugin.ServerCommand("mapList.save");
	plugin.ServerCommand("mapList.list");
But apparently not all maps are loaded into the map cycle.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Does anyone have some experience in loading/updating maps into the maplist with InsaneLimits?

 

I was trying something like:

 

Code:

	List<string> MyMapList	= new List<string>();
	
	Vanilla.Add("\"MP_001\", \"ConquestSmall0\", \"1\"");
         .......

for (int i = 0; i < MyMapList.Count; i++) {
		if(server.MapIndex != i) {
			plugin.ServerCommand("mapList.remove", i.ToString() );
			plugin.ServerCommand("mapList.Add", MyMapList[i], i.ToString() );
		}	
	}
...
	plugin.ServerCommand("mapList.save");
	plugin.ServerCommand("mapList.list");
But apparently not all maps are loaded into the map cycle.
Your mapList.add command isn't formatted correctly. It has to be three separate strings.

 

You can do it with three lists:

 

Code:

List<String> mapCode = new List<String>();
List<String> modeName = new List<String>();
List<String> rounds = new List<String>();

// Add MP_001, ConquestSmall0, 1
mapCode.Add("MP_001");
modeName.Add("ConquestSmall0");
rounds.Add("1");

...

plugin.ServerCommand("mapList.add", mapCode[i], modeName[i], rounds[i]);
...
Keep in mind that BF4 only allows you to define 34 maps before it starts dropping maps from the list (bug).
* Restored post. It could be that the author is no longer active.
Link to comment
  • 3 weeks later...

Originally Posted by LmaA-aD*:

 

Hello PapaCharlie9

 

please excuse my bad english. I use the Google translator because I can not englich.

But I despair of Insane Limits with the rank and KD kicker.

It just does not work. I own layer and Insane Limits goes.

 

I need eg a Kd restriction for a noob server where the KD should not be greater than 1.1 in Battlelog. And rank no higher than 99, for example:

 

player.Kdr> 1.0 || player.Accuracy> 30 / does not work

(Player.Kdr> 1.0 || player.Accuracy> 30) does not go

 

In the first of micovery in BF3 everything went.

I use Insane Limits - 0.9.16.0!

 

In the forum no one answers / Sorry.

WHAT AM I DOING WRONG?

 

Big Thanks

LMAA-aD alias Volli

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Hello PapaCharlie9

 

please excuse my bad english. I use the Google translator because I can not englich.

But I despair of Insane Limits with the rank and KD kicker.

It just does not work. I own layer and Insane Limits goes.

 

I need eg a Kd restriction for a noob server where the KD should not be greater than 1.1 in Battlelog. And rank no higher than 99, for example:

 

player.Kdr> 1.0 || player.Accuracy> 30 / does not work

(Player.Kdr> 1.0 || player.Accuracy> 30) does not go

 

In the first of micovery in BF3 everything went.

I use Insane Limits - 0.9.16.0!

 

In the forum no one answers / Sorry.

WHAT AM I DOING WRONG?

 

Big Thanks

LMAA-aD alias Volli

The first thing I noticed is that you said you wanted a rank and KD kicker, yet to code shows Accuracy and KD. You'd need to change that to:

Code:

(player.KDR > 1.1 || player.Rank > 99)
Or, you could use the following (change the values highlighted in red to your desired values):

 


Limit Player's KDR & Rank

 

Create a new limit to evaluate OnJoin. Set action to None.

 

Set first_check to this Code:

Code:

// Limit Player's KDR & Rank

double maxKDR = 1.1;    // Maximum KD, anyone with higher is kicked
double maxRank = 99;    // Maximum Rank, anyone with higher is kicked

String[] msgs = { "Sorry, your ",
                  " is higher than ",
                  "KDR",
                  "Rank" };

if (player.Kdr > maxKDR || player.Rank > maxRank)
{
    String kMsg = msgs[0];
    if (player.Kdr > maxKDR)
    {
        kMsg = kMsg + msgs[2] + msgs[1] + maxKDR.ToString("F1");
    }
    else
    {
        kMsg = kMsg + msgs[3] + msgs[1] + maxRank.ToString();
    }
    plugin.KickPlayerWithMessage(player.Name, kMsg);
}
return false;

End of post!

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LmaA-aD*:

 

Riesen danke ich werde es testen

 

thx

 

This results in error and has no function non-

 

(player.KDR > 1.1 || player.Rank > 99)

 

[21:44:11 90] [insane Limits] Thread(settings): ERROR: (CS0117, line: 27, column: 31): 'PRoConEvents.PlayerInfoInterface' does not contain a definition for 'KDR'

[21:46:12 06] [insane Limits] Thread(settings): Compiling Limit #2 - KDR-KICKER MIX - OnSpawn

[21:46:12 35] [insane Limits] Thread(settings): ERROR: 1 error compiling Expression

[21:46:12 36] [insane Limits] Thread(settings): ERROR: (CS0117, line: 27, column: 31): 'PRoConEvents.PlayerInfoInterface' does not contain a definition for 'KDR'

 

So have tested it works unfortunately on any server.

Where can the problem lying?

 

(player.Kdr> 1.1 || player.Rank> 99)

 

other notation is also not

 

The second code also does not work!

 

// Limit Player's KDR & Rank

 

double maxKDR = 1.1; // Maximum KD, anyone with higher is kicked

double maxRank = 99; // Maximum Rank, anyone with higher is kicked

 

String[] msgs = { "Sorry, your ",

" is higher than ",

"KDR",

"Rank" };

 

if (player.Kdr > maxKDR || player.Rank > maxRank)

{

String kMsg = msgs[0];

if (player.Kdr > maxKDR)

{

kMsg = kMsg + msgs[2] + msgs[1] + maxKDR.ToString("F1");

}

else

{

kMsg = kMsg + msgs[3] + msgs[1] + maxRank.ToString();

}

plugin.KickPlayerWithMessage(player.Name, kMsg);

}

return false;

 

Please continue to help THANK YOU

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by LCARSx64*:

 

Riesen danke ich werde es testen

 

thx

 

This results in error and has no function non-

 

(player.KDR > 1.1 || player.Rank > 99)

 

[21:44:11 90] [insane Limits] Thread(settings): ERROR: (CS0117, line: 27, column: 31): 'PRoConEvents.PlayerInfoInterface' does not contain a definition for 'KDR'

[21:46:12 06] [insane Limits] Thread(settings): Compiling Limit #2 - KDR-KICKER MIX - OnSpawn

[21:46:12 35] [insane Limits] Thread(settings): ERROR: 1 error compiling Expression

[21:46:12 36] [insane Limits] Thread(settings): ERROR: (CS0117, line: 27, column: 31): 'PRoConEvents.PlayerInfoInterface' does not contain a definition for 'KDR'

 

So have tested it works unfortunately on any server.

Where can the problem lying?

 

(player.Kdr> 1.1 || player.Rank> 99)

 

other notation is also not

 

The second code also does not work!

 

Code:

// Limit Player's KDR & Rank

double maxKDR = 1.1;    // Maximum KD, anyone with higher is kicked
double maxRank = 99;    // Maximum Rank, anyone with higher is kicked

String[] msgs = { "Sorry, your ",
                  " is higher than ",
                  "KDR",
                  "Rank" };

if (player.Kdr > maxKDR || player.Rank > maxRank)
{
    String kMsg = msgs[0];
    if (player.Kdr > maxKDR)
    {
        kMsg = kMsg + msgs[2] + msgs[1] + maxKDR.ToString("F1");
    }
    else
    {
        kMsg = kMsg + msgs[3] + msgs[1] + maxRank.ToString();
    }
    plugin.KickPlayerWithMessage(player.Name, kMsg);
}
return false;
Please continue to help THANK YOU
Übersetzt mit Google Translate, weil ich nicht Deutsch sprechen.

 

Der erste Teil ist fehlgeschlagen, weil man musste:

(The first part has failed because you had: )

Code:

(player.KDR > 1.1 || player.Rank > 99)
Es sollte sein:

(It should be: )

Code:

(player.Kdr > 1.1 || player.Rank > 99)
Die zweite Hälfte meiner Post ...* ist ein vollständiger Ersatz der gesamten herrschen über.

(The second half of my post ...* is a complete replacement of the entire rule.)

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by test_bench*:

 

Your layer host allow web requests?

Yes, they always have. Appears to have only stopped working recently. I have asked them to confirm that web requests are going out and I am awaiting a response. Any suggestions?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by test_bench*:

 

Looks to be a problem with Battlelog returning the required information. I had to alter line 13833 from:

 

fetchWebPage(ref result, "http://battlelog.battlefield.com/bf3/user/" + player);

 

to:

 

fetchWebPage(ref result, "http://api.bf4stats.com/api/playerInfo_plat=pc&name=" + player + "&opt=urls&output=js");

 

This uses the bf4stats.com API to return the battlelog stats URL which InsaneLimits can then query directly. All is working fine again now.

* Restored post. It could be that the author is no longer active.
Link to comment
  • 3 weeks later...
  • 3 weeks later...

Originally Posted by darkwolf1171*:

 

Help ! Ich have the following issue:

 

[12:27:26 84] Compiling InsaneLimits.cs... Errors or Warnings

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

 

The layer Server runs on W2K3 Server environment, .Net3.5 SP1 and 4.0 installed. What is the mistake i make?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Help ! Ich have the following issue:

 

[12:27:26 84] Compiling InsaneLimits.cs... Errors or Warnings

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

[12:27:26 84] InsaneLimits.cs (Line: 0, C: 0) CS1501: No overload for method 'WaitOne' takes '1' arguments

 

The layer Server runs on W2K3 Server environment, .Net3.5 SP1 and 4.0 installed. What is the mistake i make?

Something is wrong with your .Net installation. It's as if you only have .Net 2.0 installed.

 

Try reinstalling 3.5.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by virusdead*:

 

hi, could someone tell me why this code does not work anymore

 

Code:

// ---------- Strings --------- //
string   key_sgLimit   = "_shotty_kill";
String[] sgMsgs        = { "1st",
                           "2nd",
                           "3rd",
                           "FINAL",
                           " WARNING: Do not use shotguns!" };
String   sgOut         = String.Empty;
String[] logMsgs       = { "^b^1Shotgun Limiter^0^n: ",
                           "Shotgun Limiter: ",
                           " has been kicked for: ",
                           " has been Round Banned for: ",
                           " has been Permanently Banned for: ",
                           "Excessive use of forbidden weapon(s)!" };

// --------- Integers --------- //
int      sgCount       = 0;

// --------- Booleans --------- //
bool     bKill         = false;
bool     bKick         = false;
bool     bBan          = false;
bool     bMove         = false;
bool     bLevel        = false;

// ***** END OF VARIABLES ***** //
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

hi, could someone tell me why this code does not work anymore

 

Code:

// ---------- Strings --------- //
string   key_sgLimit   = "_shotty_kill";
String[] sgMsgs        = { "1st",
                           "2nd",
                           "3rd",
                           "FINAL",
                           " WARNING: Do not use shotguns!" };
String   sgOut         = String.Empty;
String[] logMsgs       = { "^b^1Shotgun Limiter^0^n: ",
                           "Shotgun Limiter: ",
                           " has been kicked for: ",
                           " has been Round Banned for: ",
                           " has been Permanently Banned for: ",
                           "Excessive use of forbidden weapon(s)!" };

// --------- Integers --------- //
int      sgCount       = 0;

// --------- Booleans --------- //
bool     bKill         = false;
bool     bKick         = false;
bool     bBan          = false;
bool     bMove         = false;
bool     bLevel        = false;

// ***** END OF VARIABLES ***** //
Did you leave some code out? That code wouldn't do anything. It's incomplete.

 

What exactly do you mean by doesn't work any more? Do you get an error or does it just do nothing? Doing nothing would be expected.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by virusdead*:

 

Did you leave some code out? That code wouldn't do anything. It's incomplete.

 

What exactly do you mean by doesn't work any more? Do you get an error or does it just do nothing? Doing nothing would be expected.

Code:
// Shotgun Limiter
// v1.01 - OnKill - Limit 1 of 1
//

// ********* VARIABLES ******** //

// ---------- Strings --------- //
string   key_sgLimit   = "_shotty_kill";
String[] sgMsgs        = { "1st",
                           "2nd",
                           "3rd",
                           "FINAL",
                           " WARNING: Do not use shotguns!" };
String   sgOut         = String.Empty;
String[] logMsgs       = { "^b^1Shotgun Limiter^0^n: ",
                           "Shotgun Limiter: ",
                           " has been kicked for: ",
                           " has been Round Banned for: ",
                           " has been Permanently Banned for: ",
                           "Excessive use of forbidden weapon(s)!" };

// --------- Integers --------- //
int      sgCount       = 0;

// --------- Booleans --------- //
bool     bKill         = false;
bool     bKick         = false;
bool     bBan          = false;
bool     bMove         = false;
bool     bLevel        = false;

// ***** END OF VARIABLES ***** //



// *********** CODE ********** //

// Exit if we are Admin or VIP
if (plugin.CheckAccount(player.Name, out bKill, out bKick, out bBan, out bMove, out bLevel) || plugin.isInWhitelist(player.Name)) return false;

// Exit if not Metro or Locker
if (server.MapFileName != "XP0_Metro" && server.MapFileName != "MP_Prison") return false;

// Exit if not an Shotgun
if (!Regex.Match(kill.Category, @"Shotgun").Success) return false;

// Set key name for this player
key_sgLimit = player.Name + key_sgLimit;

// Get the activation count for this player & increment it
if (server.Data.issetInt(key_sgLimit))
{
    sgCount = server.Data.getInt(key_sgLimit);
}
sgCount++;

// Process the kills & display messages or kick if needed
switch (sgCount)
{
    case 1:
        // 1st breach send player a warning message only
        sgOut = sgMsgs[0] + sgMsgs[4];
        plugin.SendPlayerYell(player.Name, "\n" + sgOut, 8);
        plugin.SendPlayerMessage(player.Name, sgOut);
        break;
    case 2:
        // 2nd breach send player a warning message only
        sgOut = sgMsgs[1] + sgMsgs[4];
        plugin.SendPlayerYell(player.Name, "\n" + sgOut, 8);
        plugin.SendPlayerMessage(player.Name, sgOut);
        break;
    case 3:
        // 3rd breach kill player with a warning message
        sgOut = sgMsgs[3] + sgMsgs[4];
        plugin.SendPlayerYell(player.Name, "\n" + sgOut, 8);
        plugin.SendPlayerMessage(player.Name, sgOut);
        plugin.KillPlayer(player.Name, 0);
        break;
    case 4:
        // 4th breach kick player with a warning message
        sgOut = sgMsgs[3] + sgMsgs[4];
        plugin.SendPlayerYell(player.Name, "\n" + sgOut, 8);
        plugin.SendPlayerMessage(player.Name, sgOut);
        logMsgs[0] = logMsgs[0] + player.Name + logMsgs[2] + logMsgs[5];
        logMsgs[1] = logMsgs[1] + player.Name + logMsgs[2] + logMsgs[5];
        // Delay 5 seconds
        System.Threading.Thread.Sleep(5000);
        plugin.KickPlayerWithMessage(player.Name, logMsgs[5]);
        // Log to ProCon
        plugin.ConsoleWrite(logMsgs[0]);
        plugin.PRoConChat(logMsgs[0]);
        plugin.PRoConEvent(logMsgs[1], "Insane Limits");
        break;
    case 5:
        // 4th breach temp ban player with a warning message for 900 minutes
        sgOut = sgMsgs[3] + sgMsgs[4];
        plugin.SendPlayerYell(player.Name, "\n" + sgOut, 8);
        plugin.SendPlayerMessage(player.Name, sgOut);
        logMsgs[0] = logMsgs[0] + player.Name + logMsgs[3] + logMsgs[5];
        logMsgs[1] = logMsgs[1] + player.Name + logMsgs[3] + logMsgs[5];
        // Delay 5 seconds
        System.Threading.Thread.Sleep(5000);
        plugin.EABanPlayerWithMessage(EABanType.EA_GUID, EABanDuration.Temporary, player.Name, 900, logMsgs[5]);
        // Log to ProCon
        plugin.ConsoleWrite(logMsgs[0]);
        plugin.PRoConChat(logMsgs[0]);
        plugin.PRoConEvent(logMsgs[1], "Insane Limits");
        break;
    case 6:
        // Final breach so permanently ban the player
        logMsgs[0] = logMsgs[0] + player.Name + logMsgs[4] + logMsgs[5];
        logMsgs[1] = logMsgs[1] + player.Name + logMsgs[4] + logMsgs[5];
        plugin.PBBanPlayerWithMessage(PBBanDuration.Permanent, player.Name, 0, logMsgs[5]);
        // Log to ProCon
        plugin.ConsoleWrite(logMsgs[0]);
        plugin.PRoConChat(logMsgs[0]);
        plugin.PRoConEvent(logMsgs[1], "Insane Limits");
        // Dispose of the data now since it's not needed anymore
        server.Data.unsetInt(key_sgLimit);
        return false;
        break;
}

// Store the activation count
server.Data.setInt(key_sgLimit, sgCount);

return false;
I found it

it works there or not?

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by DHGreenday*:

 

Hi all, does anyone know how to make a rule that when a player with the name or better still with the specified pbguid joins the server it sends a personal message to them? On this occasion I would like to warn 2 players of their attitude and give them the potential consequence if the same occurs if and when they join my server again.

* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Hi all, does anyone know how to make a rule that when a player with the name or better still with the specified pbguid joins the server it sends a personal message to them? On this occasion I would like to warn 2 players of their attitude and give them the potential consequence if the same occurs if and when they join my server again.

As in the Insane Limits Requests thread.
* Restored post. It could be that the author is no longer active.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Please review our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.