Jump to content

Insane Limits Requests


ImportBot

Recommended Posts

Originally Posted by Rucki*:

 

Hi,

i am using the Insane Limits V0.8/R2: Melee/Knife Death Shame From Message List from here:

myrcon.net/...insane-limits-v08r2-meleeknife-death-shame-from-message-list#entry23856

Thx PapaCharlie9!

 

Code:

( Regex.Match(kill.Weapon, "(Melee|Knife)").Success )
Code:
/* Version: V0.8/R2 */
List<String> shame = new List<String>();
shame.Add("%k_fn% just sliced %v_n%'s throat, what a shame, bro!");
shame.Add("%v_n% was shanked by %k_fn%!");
shame.Add("%k_fn% just took %v_n%'s tags and made him cry!");
shame.Add("%k_fn% slipped a shiv into %v_n%'s back!");
shame.Add("%k_fn% knifed %v_n% and Insane Limits approves!");
shame.Add("%v_n%, you gonna let %k_fn% get away with taking your tags_");
shame.Add("%k_fn% just Tweeted about knifing %v_n%!");
shame.Add("%k_fn% just posted %v_n%'s tags on Facebook!");
shame.Add("%k_fn%: 'Just die already, %v_n%'"); // From BC2
shame.Add("%k_fn%: 'Hey %v_n%, you want summa this_'"); // From BC2
shame.Add("%v_n% took a gun to a knife fight with %k_fn%, and LOST!");
shame.Add("Did you see the YouTube of %k_fn% knifing %v_n%_");
shame.Add("%k_fn% just added +1 knife kills to his Battlelog stats, thanks to %v_n%");
shame.Add("%k_fn%: 'Hey %v_n%, check your six next time!'");
shame.Add("%v_n%, go tell your momma you lost your tags to %k_fn%!");
shame.Add("%v_n% just wanted to see %k_fn%'s Premium knife, not have it shoved in his eye!"); // Bonus shame for Premium peeps!
// Add additional messages here with shame.Add("...");

int level = 2;

try {
	level = Convert.ToInt32(plugin.getPluginVarValue("debug_level"));
} catch (Exception e) {}

int next = Convert.ToInt32(limit.ActivationsTotal());

next = next % shame.Count; // Ensure rotation of messages
String msg = plugin.R(shame[next]);

/*
To keep a lid on spam, only the first activation per player per
round is sent to all players. Subsequent shames are only sent
to the killer and victim.
*/
bool noSpam = (limit.Activations(killer.Name) > 1);

if (level >= 2) plugin.ConsoleWrite("^b[Knife Shame]^n " + ((noSpam)_"^8private^0: ":"^4public^0: ") + msg);
if (noSpam) {
	plugin.ServerCommand("admin.say", msg, "player", killer.Name);
	plugin.ServerCommand("admin.say", msg, "player", victim.Name);
	plugin.ServerCommand("admin.yell", msg, "8", "player", killer.Name);
	plugin.ServerCommand("admin.yell", msg, "8", "player", victim.Name);
} else {
	plugin.SendGlobalMessage(msg);
	plugin.ServerCommand("admin.yell", msg, "8");
}
plugin.PRoConChat("ADMIN > " + msg);
return false;
Its working fine since BF3!

 

Now i will have special msgs for members and friends.

 

My idea:

I will make 3 limits.

 

1.

If playername ist not in Clan_list and not in Friends_list aktivate limit#1 Knifeshame_for_guests.

2.

If playername is in Clan_list aktivate limit#2 Knifeshame_for_members.

3.

If playername is in Friends_list aktivate limit#3 Knifeshame_for_friends.

 

Unfortunately i have no idea where to set the "isInList" code. :sad:

 

Thanks for your help!

Rucki

---edit---

( Regex.Match(kill.Weapon, "(Melee|Knife|Knife_RazorBlade)").Success ) && (!plugin.isInList(player.Name, "Clan_list")) && (!plugin.isInList(player.Name, "Friends_List"))

 

Should this work for the first limit?

Thx!

* Restored post. It could be that the author is no longer active.
Link to comment
  • Replies 3.2k
  • Created
  • Last Reply

Originally Posted by xcite*:

 

Greetings PapaCharlie9!

 

Where to get Insane Limit punish/forgive code for teamkills in BF4 ?

 

I don't need any extras such as RPG/SMAW check like here:

 

showthread....+limits+punish*

 

I need only !punish or !forgive for teamkilling.

 

Thanks in advance...

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

Originally Posted by PapaCharlie9*:

 

Greetings PapaCharlie9!

 

Where to get Insane Limit punish/forgive code for teamkills in BF4 ?

 

I don't need any extras such as RPG/SMAW check like here:

 

showthread....+limits+punish*

 

I need only !punish or !forgive for teamkilling.

 

Thanks in advance...

Have you tried using Insane Punisher? It might work for BF4.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Hey Papa.

 

After our testing of the temporary mute limit, here's the updated request you wanted me to post for a MUTE Limit to be used by BF4 servers (I assume it would not be any different for BF3).

 

This mute limit is an alternative method to mute players who are just regularly disruptive (since normal chat muting is not available in BF4), and it will automatically kill/kick/tempban a specific player whenever he types anything in chat as follows:

 

 

 

1) Player X is placed on an IL List called "MUTEList" with his EA_GUID and/or PlayerName.

In my testing, we encountered one player who changed his name specifically to avoid this mute limit, which is why the guid is better.

 

2) Player X types in chat and immediately this private chat messages is sent to him:

%p_fn% you have been MUTED INDEFINITELY for being disruptive. You will be auto killed/kicked after you chat!

 

Then, 10 seconds later he is automatically admin killed.

 

I found a 10 second delay before he was admin killed gave him enough time to read the warning and still provided a nice wakeup because the admin kill feels aggressive in BF4. The message above fits the maximum character limit for chat.

 

3) Each time he chats on the 2nd and 3rd time, Player X is given the same private message and then admin killed 10 seconds later as shown in number 2 above.

 

4) Since Player X can spam the chat when he's dead without being admin killed, on the 4th time he types anything in chat, he is kicked with this reason:

%p_fn% KICKED and MUTED INDEFINITELY for being disruptive!

 

5) If Player X comes back after the kick and types in chat again (5th time), he is instantly temp banned by EA_GUID for 1 day with this kick reason:

%p_fn% TEMP BAN 1 DAY and MUTED INDEFINITELY for being disruptive!

 

 

 

 

 

.

I added two additional features:

 

1) For kicks and bans, the message is written to the chat.log for tracking

2) After a temp ban, the counter is reset to 2, so if Procon runs for several days without a restart and the player comes back after a ban, he starts with the count set to 2.

 

Create a list called "MUTEList", leave Enabled and CaseInsensitive, fill in with comma separated list of names and/or EA_GUIDs, no double quotes.

 

Create a limit to evaluate OnAnyChat, call it MUTE, leave Action set to None.

 

Set first_check to this Code:

 

Code:

if (!plugin.isInList(player.Name, "MUTEList") && !plugin.isInList(player.EAGuid, "MUTEList")) return false;

String kPrefix = "MUTE_";
String nkey = kPrefix + player.Name;
String gkey = kPrefix + player.EAGuid;

int count = 0;
if (server.Data.issetInt(nkey)) { count = server.Data.getInt(nkey); }
else if (server.Data.issetInt(gkey)) { count = server.Data.getInt(gkey); }

count = count + 1;
server.Data.setInt(nkey, count);
server.Data.setInt(gkey, count);

if (count > 0 && count < 4) {
    plugin.SendPlayerMessage(player.Name, plugin.R("%p_fn% you have been MUTED INDEFINITELY for being disruptive. You will be auto killed/kicked after you chat!"));
    plugin.KillPlayer(player.Name, 10);
} else if (count == 4) {
    plugin.SendPlayerMessage(player.Name, plugin.R("%p_fn% you have been MUTED INDEFINITELY for being disruptive. You will be auto killed/kicked after you chat!"));
    plugin.KickPlayerWithMessage(player.Name, plugin.R("%p_fn% KICKED and MUTED INDEFINITELY for being disruptive!"));
    plugin.PRoConChat("[Insane Limits] > " + plugin.R("%p_fn% KICKED and MUTED INDEFINITELY for being disruptive!"));
} else if (count > 4) {
    plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Temporary, player.Name, 24*60, plugin.R("%p_fn% TEMP BAN 1 DAY and MUTED INDEFINITELY for being disruptive!"));
    plugin.PRoConChat("[Insane Limits] > " + plugin.R("%p_fn% TEMP BAN 1 DAY and MUTED INDEFINITELY for being disruptive!"));
    server.Data.setInt(nkey, 2);
    server.Data.setInt(gkey, 2);
}
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by IAF-SDS*:

 

I added two additional features:

 

1) For kicks and bans, the message is written to the chat.log for tracking

2) After a temp ban, the counter is reset to 2, so if Procon runs for several days without a restart and the player comes back after a ban, he starts with the count set to 2.

 

Create a list called "MUTEList", leave Enabled and CaseInsensitive, fill in with comma separated list of names and/or EA_GUIDs, no double quotes.

 

Create a limit to evaluate OnAnyChat, call it MUTE, leave Action set to None.

 

Set first_check to this Code:

 

Code:

if (!plugin.isInList(player.Name, "MUTEList") && !plugin.isInList(player.EAGuid, "MUTEList")) return false;

String kPrefix = "MUTE_";
String nkey = kPrefix + player.Name;
String gkey = kPrefix + player.EAGuid;

int count = 0;
if (server.Data.issetInt(nkey)) { count = server.Data.getInt(nkey); }
else if (server.Data.issetInt(gkey)) { count = server.Data.getInt(gkey); }

count = count + 1;
server.Data.setInt(nkey, count);
server.Data.setInt(gkey, count);

if (count > 0 && count < 4) {
    plugin.SendPlayerMessage(player.Name, plugin.R("%p_fn% you have been MUTED INDEFINITELY for being disruptive. You will be auto killed/kicked after you chat!"));
    plugin.KillPlayer(player.Name, 10);
} else if (count == 4) {
    plugin.SendPlayerMessage(player.Name, plugin.R("%p_fn% you have been MUTED INDEFINITELY for being disruptive. You will be auto killed/kicked after you chat!"));
    plugin.KickPlayerWithMessage(player.Name, plugin.R("%p_fn% KICKED and MUTED INDEFINITELY for being disruptive!"));
    plugin.PRoConChat("[Insane Limits] > " + plugin.R("%p_fn% KICKED and MUTED INDEFINITELY for being disruptive!"));
} else if (count > 4) {
    plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Temporary, player.Name, 24*60, plugin.R("%p_fn% TEMP BAN 1 DAY and MUTED INDEFINITELY for being disruptive!"));
    plugin.PRoConChat("[Insane Limits] > " + plugin.R("%p_fn% TEMP BAN 1 DAY and MUTED INDEFINITELY for being disruptive!"));
    server.Data.setInt(nkey, 2);
    server.Data.setInt(gkey, 2);
}
return false;

Thank you Papa.

 

I will try it and report back if there are any issues.

 

Nicely done, once again.

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

Originally Posted by Roughneck2-0*:

 

Hello, I'm in need of some assistance please.

 

I'm using Insane Limits v0.9.14.0 .

Based on micovery's 'Switch Hardcore/Softcore Mode Based on Player Count*' (found here*), I've been trying to create a code for 'Switch to Fast Vehicles based on Player Count'.

 

 

----------------------EDIT, DISREGARD THE REST----------------------

To those interested, I've found a working solution:

Code:

double switch_value = 47;

bool_ fastvehicles = null;
if (server.Data.issetBool("fastvehicles"))
    fastvehicles = server.Data.getBool("fastvehicles");

if ( server.PlayerCount >= switch_value && ( fastvehicles == true || fastvehicles == null) ) 
{
    plugin.ConsoleWrite("Switching game-server to Fast Vehicles mode!");
    plugin.PRoConChat(plugin.R("Switching game-server to Fast Vehicles mode!"));
    plugin.ServerCommand("vars.vehicleSpawnDelay", "75");
    plugin.ServerCommand("vars.serverName", "Servername 1");
}
else if ( server.PlayerCount > 0 && server.PlayerCount < switch_value && ( fastvehicles == true || fastvehicles == null) ) 
{
    plugin.ConsoleWrite("Switching game-server to non-Fast Vehicles mode!");
    plugin.PRoConChat(plugin.R("Switching game-server to non-Fast Vehicles mode!"));
    plugin.ServerCommand("vars.vehicleSpawnDelay", "100");
    plugin.ServerCommand("vars.serverName", "Servername 2");
}
return false;
--------------------------------------------------------------------------------

 

 

So far I came up with the following:

Code:

bool_ fastvehicles = null;
if (server.Data.issetBool("fastvehicles"))
    fastvehicles = server.Data.getBool("fastvehicles");

if ( server.PlayerCount >= 47 && ( fastvehicles == true || fastvehicles == null) ) 
{
    plugin.ConsoleWrite("Switching game-server to Fast Vehicles mode!");
    plugin.ServerCommand("vars.vehicleSpawnDelay", "75");
    plugin.ServerCommand("vars.serverName", "Servername 1");
}
else if ( server.PlayerCount < 47 && ( fastvehicles == true || fastvehicles == null) ) 
{
    plugin.ConsoleWrite("Switching game-server to non-Fast Vehicles mode!");
    plugin.ServerCommand("vars.vehicleSpawnDelay", "100");
    plugin.ServerCommand("vars.serverName", "Servername 2");
}
..but it keeps on spamming Procon's plugins console with this:

Code:

[01:24:07 53] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 53] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 54] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 54] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 54] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 54] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 55] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 55] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 55] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 55] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 55] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 56] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 56] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 56] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 57] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 57] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 58] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 58] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 58] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 58] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 59] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 59] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 60] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
[01:24:07 60] [Insane Limits] Thread(enforcer): Switching game-server to non-Fast Vehicles mode!
And that's even though I tried to follow micovery's notes (in the link above) which should have helped prevent this:

Note that this limit stores a flag "hardcore" in the server object. Depending on the value of the flag, it decides whether or not mode needs to be switched again. This is needed so that it would not keep spamming the switch message, as well well as not sending server commands unnecessarily if the mode is already the same.

 

This flag is only cleared if the plugin is enabled/disabled. The limit is not in any way aware of what the current mode is. It assumes that whatever mode it set last time ... is the one currently active. Because of this, if you manually change the mode, the limit will not know of the mode change.

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

Originally Posted by Roughneck2-0*:

 

Following my previous post, this might be a bug (perhaps just cosmetic, not sure):

 

1. Selecting 'OnInterval' from the limit_evaluation field results in Procon's plugins console to display the following:

Code:

[01:40:57 49] [Insane Limits] Compiling Limit #2 - Conquest mode Fast Vehicles switcher (0-47 / 48-64 PL) - [b]OnIntervalPlayers[/b]
However,

Procon's main Console displays the following:

Code:

[01:41:06] procon.plugin.setVariable InsaneLimits limit_2_evaluation [b]OnInterval[/b]
[01:41:06] OK
2. Selecting 'OnIntervalPlayers' from the limit_evaluation field results in Procon's plugins console to display the following:

Code:

[01:46:17 40] [Insane Limits] Compiling Limit #2 - Conquest mode Fast Vehicles switcher (0-47 / 48-64 PL) - [b]OnIntervalPlayers[/b]
Procon's main Console displays the following:

Code:

[01:46:26] procon.plugin.setVariable InsaneLimits limit_2_evaluation [b]OnIntervalPlayers[/b]
[01:46:26] OK
Regards,
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Following my previous post, this might be a bug (perhaps just cosmetic, not sure):

OnInterval is the same as OnIntervalPlayers. Its deprecated, meaning, its old and shouldn't be used anymore. It does turn up in old posts, just don't use it.

 

OnIntervalPlayers executes the limit once for every player in the game at the interval. So if there are 64 players, it will execute the limit 64 times. This is how it is supposed to work.

 

Just use OnIntervalServer. If old limits refer to OnInterval or OnIntervalPlayers, use OnIntervalServer instead.

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

Originally Posted by Roughneck2-0*:

 

OnInterval is the same as OnIntervalPlayers. Its deprecated, meaning, its old and shouldn't be used anymore. It does turn up in old posts, just don't use it.

 

OnIntervalPlayers executes the limit once for every player in the game at the interval. So if there are 64 players, it will execute the limit 64 times. This is how it is supposed to work.

 

Just use OnIntervalServer. If old limits refer to OnInterval or OnIntervalPlayers, use OnIntervalServer instead.

Sweet, thank you!
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by tarreltje*:

 

Master PC9 ,

 

Is it posible to have end of round stats, just after the last kill, sort of during scoreboard? Like we had in BC2. I have tryed this with proconRulz but i dont have a trigger for last kill or round over or something similar!

 

Something like:

First Blood

Last BLood

Most Knives

Most Kills

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

Originally Posted by PapaCharlie9*:

 

Master PC9 ,

 

Is it posible to have end of round stats, just after the last kill, sort of during scoreboard? Like we had in BC2. I have tryed this with proconRulz but i dont have a trigger for last kill or round over or something similar!

 

Something like:

First Blood

Last BLood

Most Knives

Most Kills

Sure. Now that the chat board is visible after OnRoundOver, this is easy.

 

Just make a limit OnRoundOver and plugin.SendGlobalMessage for whatever stats you want.

 

Post your limit in a separate thread when you are ready.

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

Originally Posted by naurel*:

 

Hello,

 

I'm trying to add a rules to kill someone who killed more than X players with nades DURING a time.

I've already found this : showthread....ll=1#post50502*

But I don't know how to add a time counter.

 

Sweet,

 

Naurel

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

Originally Posted by AgentHawk*:

 

Is it possible with this plugin to display some diffrent chat-blocks?

Like:

Code:

************************************************** **
************************************************** **
***************** THE ASYLUM *********************
***********[url=http://theasylum.enjin.com]http://theasylum.enjin.com[/url]****************
*********TS3=theasylum.enjinvoice.com*************
************************************************** **
************************************************** **
and after xyz seconds a nother chat-block with a diffrent text?
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by droopie*:

 

hey, i just had an idea for for bf4 which im sure insane can do since it has done it before but i cant find the limit...

 

when the round finishes and a new round is starting, change the server to a preset custom preset, once the level/round has fully loaded, apply the normal or hardcore preset. this way, the server has the loaded custom settings live during the round but in the server browser displays the hardcore or normal preset. im sure this will piss off people but i have been doing this manually each round and people alraedy know how the server is actually runnining. sure a couple of new people get pissed off but the majority is fine with this and like it.

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

Originally Posted by PapaCharlie9*:

 

Hello,

 

I'm trying to add a rules to kill someone who killed more than X players with nades DURING a time.

I've already found this : showthread....ll=1#post50502*

But I don't know how to add a time counter.

 

Sweet,

 

Naurel

What do you mean by during a time or time counter? Do you mean between 9am and 11am? Or do you mean within the last 37 seconds?

 

The first one is easy. The second one is extremely difficult.

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

Originally Posted by PapaCharlie9*:

 

Is it possible with this plugin to display some diffrent chat-blocks?

Like:

************************************************** **

************************************************** **

***************** THE ASYLUM *********************

***********http://theasylum.enjin.com****************

*********TS3=theasylum.enjinvoice.com*************

************************************************** **

************************************************** **

 

and after xyz seconds a nother chat-block with a diffrent text?

Create a new limit to evaluate OnIntervalServer. Call it "Block spammer". Set the interval to the number of seconds of time you want between sending the first block of the sequence. For example, if you want to send the first block every 20 minutes, set the interval to 1200 seconds. Leave the Action set to None.

 

In the first_check code below, put the first block in the FirstBlock list (modify the code), one line for each Add.

 

Define the delay in seconds between the first block and the second block by changing the value of DelaySeconds in the code. The code below uses 600 seconds for this example.

 

Put the second block in the SecondBlock list (modify the code), one line for each Add.

 

You will have to experiment with the chat text to get it formatted right. Your lines are probably too long and will wrap. Try shortening them and using fewer asterisks.

 

Set first_check to this Code:

 

Code:

List<String> FirstBlock = new List<String>();
FirstBlock.Add("************************************************** **");
FirstBlock.Add("************************************************** **");
FirstBlock.Add("***************** THE ASYLUM *********************");
FirstBlock.Add("***********http://theasylum.enjin.com****************");
FirstBlock.Add("*********TS3=theasylum.enjinvoice.com*************");
FirstBlock.Add("************************************************** **");
FirstBlock.Add("************************************************** **");

int DelaySeconds = 600;  // delay between first block and second block

List<String> SecondBlock = new List<String>();
SecondBlock.Add("Rule 1) Go crazy!");
SecondBlock.Add("Rule 2) No owning admins!");
SecondBlock.Add("Rule 3) B belongs to BearCat1!");

// Send first block
foreach (String line in FirstBlock) {
    plugin.SendGlobalMessage(line);
}

// Send second block after DelaySeconds

ThreadStart SendSecondBlock = delegate  {
    Thread.Sleep(DelaySeconds * 1000);
    foreach (String line in SecondBlock) {
        plugin.SendGlobalMessage(line);
    }
    if (plugin.Data.issetBool("SendSecondBlock")) plugin.Data.unsetBool("SendSecondBlock");
 };

if (plugin.Data.issetBool("SendSecondBlock")) return false; // don't make more than one thread
plugin.Data.setBool("SendSecondBlock", true);
Thread t = new Thread(SendSecondBlock);
t.Start();
Thread.Sleep(10);
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by naurel*:

 

What do you mean by during a time or time counter? Do you mean between 9am and 11am? Or do you mean within the last 37 seconds?

 

The first one is easy. The second one is extremely difficult.

Sadly for me it's the second one. I would like to limit nade using on a locker only server. And so I've think about limit kills over a period of time. Like no more than 4 kills per minutes with nades.

 

Idealy i would like to do this :

4 kills in less than a minute : chat warning

5 kills in less than a minute : kill the player

If he does it 3 times : kick.

 

Sweet

 

Naurel

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

Originally Posted by PapaCharlie9*:

 

I want to set up a server that runs TDM and conquest. TDM will be pistols only but conquest will be all weapons. Is this possible?

Answered in your other thread, why post twice?

 

showthread....memodes-normal*

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

Originally Posted by PapaCharlie9*:

 

Sadly for me it's the second one. I would like to limit nade using on a locker only server. And so I've think about limit kills over a period of time. Like no more than 4 kills per minutes with nades.

 

Idealy i would like to do this :

4 kills in less than a minute : chat warning

5 kills in less than a minute : kill the player

If he does it 3 times : kick.

 

Sweet

 

Naurel

The basis for this limit will be the "All Activations

 

showthread....s-Count-As-One*

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

Originally Posted by Rucki*:

 

Hi,

this limit is working fine for BF3.

Original post: showthread....ll=1#post33341*

 

Code:

double total = player.Score;

double TS_P = Math.Round((player.ScoreTeam / total) * 100, 2);
double OS_P =  Math.Round((player.ScoreObjective / total) * 100, 2);

if ( TS_P < 10 && OS_P < 10)
{
   plugin.ConsoleWarn(player.Name + " is not a team-player! TS: "+ TS_P + "%, OS: "+OS_P+"%");
   return true;
}
After updating to IL 0.9.14.0 i have a problem in BF4.

 

[19:36:06] PlayerA is not a team-player! TS: 2,03%, OS: 0%

[19:36:07] PlayerB is not a team-player! TS: 1,93%, OS: 0%

[19:36:07] PlayerC is not a team-player! TS: 1,24%, OS: 0%

 

Objective stats is 0% on every player.

Thanks for help!

 

Would be nice, to see also the KD from BL-Stats. Like:

[19:36:07] PlayerC is not a team-player! TS: 1,24%, OS: 2% KD: 1,00

 

Regards, Rucki

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

Originally Posted by PapaCharlie9*:

 

Hi,

this limit is working fine for BF3.

Original post: showthread....ll=1#post33341*

 

Code:

double total = player.Score;

double TS_P = Math.Round((player.ScoreTeam / total) * 100, 2);
double OS_P =  Math.Round((player.ScoreObjective / total) * 100, 2);

if ( TS_P < 10 && OS_P < 10)
{
   plugin.ConsoleWarn(player.Name + " is not a team-player! TS: "+ TS_P + "%, OS: "+OS_P+"%");
   return true;
}
After updating to IL 0.9.14.0 i have a problem in BF4.

 

[19:36:06] PlayerA is not a team-player! TS: 2,03%, OS: 0%

[19:36:07] PlayerB is not a team-player! TS: 1,93%, OS: 0%

[19:36:07] PlayerC is not a team-player! TS: 1,24%, OS: 0%

 

Objective stats is 0% on every player.

I checked Battlelog. Looks like ScoreObjective (sc_objective) is 0 for everyone in BF4. Keep in mind that Battlelog stats have some changes in them since BF3. Looks like this is one of them. If you can find a Battlelog BF4 player that has a non-zero sc_objective in their stats, post the Battlelog link.

 

Thanks for help!

 

Would be nice, to see also the KD from BL-Stats. Like:

[19:36:07] PlayerC is not a team-player! TS: 1,24%, OS: 2% KD: 1,00

 

Regards, Rucki

Change the plugin.ConsoleWrite line to this:

 

Code:

plugin.ConsoleWarn(player.Name + " is not a team-player! TS: "+ TS_P + "%, OS: "+OS_P+"% KD: " + player.Kdr.ToString("F1"));
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Dudenell*:

 

trying to mess around with my admin call code a bit more... Maybe you can help me papa?

 

Right now it's spanned across two limits (one also doubles as our welcome message), and it works great! Minus the players who just type !admin with no message attached. I'm looking over the code, and I see there are things like limit.Activations that may cause an issue. Here's my code to date (modified for BF4)

 

Code:

/*
Evaulation: OnAnyChat
First check: Code
return(Regex.Match(player.LastChat, @"^\s*!admin", RegexOptions.IgnoreCase).Success);
Second check: Code
*/
string msg1 = ", you have requested an admin! This action has been logged!";
string msg2 = " requested an admin on server #3 " + DateTime.Now.ToShortDateString() + " Message: ";
string msg3 = " is an admin";
string msg4 = ", you have activated request admin too many times";
string msg5 = ", there is an admin on the server! Current admins are ";
bool canKill = false;
bool canKick = false;
bool canBan = false;
bool canMove = false;
bool canChangeLevel = false;
bool hasAccount = plugin.CheckAccount(player.Name, out canKill, out canKick, out canBan, out canMove, out canChangeLevel);


List<PlayerInfoInterface> all = new List<PlayerInfoInterface>();
all.AddRange(team1.players);
all.AddRange(team2.players);
if (team3.players.Count > 0) all.AddRange(team3.players);
if (team4.players.Count > 0) all.AddRange(team4.players);

int count = (int) limit.Activations(player.Name);

bool first = true;
bool firstMsg3 = true;
bool isAnyAdminOn = false;
foreach (PlayerInfoInterface p in all) {

	if (p.Data.getBool("adminon")) {
		isAnyAdminOn = true;

		if (player.Name == p.Name) {
			msg3 = player.Name + msg3;
		} else {
			if (firstMsg3) { 
				msg3 = msg3 + " and so is " + p.Name;
				firstMsg3 = false;
			} else {
				msg3 = msg3 + ", " + p.Name;
			}
		}
		if (!first) {
			msg5 = msg5 + ", ";
		}
		msg5 = msg5 + p.Name;
		first = false;
	}
}
bool playerIsAdmin = plugin.isInList(player.Name, "admins");

if (count == 1) {
	if (hasAccount && canKick){
		plugin.SendGlobalMessage(player.Name + msg3);			
	} else if (isAnyAdminOn) {
		//plugin.ServerCommand("admin.yell", (player.Name + msg5), "30", "player", player.Name);
		plugin.ServerCommand("admin.say" , (player.Name + msg5), "player" , player.Name );
		plugin.PRoConChat("ADMIN > " + player.Name + ": Has requested an admin, with an admin on");
	} else {
		plugin.Tweet(player.Name + msg2 + player.LastChat);
		//plugin.ServerCommand("admin.yell", (player.Name + msg1), "30", "player", player.Name);
		plugin.ServerCommand("admin.say" , (player.Name + msg1), "player" , player.Name );
		plugin.PRoConChat("ADMIN > " + player.Name + ": Has requested an admin " + count + " times with no admin on");
		plugin.ServerCommand("punkBuster.pb_sv_command", "PB_SV_GetSs");
	}
} else {
	if (hasAccount && canKick){
		plugin.SendGlobalMessage(msg3);
	} else if (isAnyAdminOn) {
		//plugin.ServerCommand("admin.yell", (player.Name + msg5), "30", "player", player.Name);
		plugin.ServerCommand("admin.say" , (player.Name + msg5), "player" , player.Name );
		plugin.PRoConChat("ADMIN > " + player.Name + ": Has requested an admin, with an admin on");
	} else {
		//plugin.ServerCommand("admin.yell", (player.Name + msg4), "30", "player", player.Name);
		plugin.ServerCommand("admin.say" , (player.Name + msg4), "player" , player.Name );
		plugin.PRoConChat("ADMIN > " + player.Name + ": Has requested an admin " + count + " times with no admin on");
	}
}
return false;
Maybe you see something I can't, but is there a way to give a player who just types

!admin

a message saying to please use the correct format: Ex !admin unless they are an admin?

 

Thanks for looking

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

Originally Posted by Rucki*:

 

I checked Battlelog. Looks like ScoreObjective (sc_objective) is 0 for everyone in BF4.

Thx for your check!

You are right! I cant find any ScoreObjective in my Battlelog stats. :/

 

At http://bf4stats.com/pc/Mr_RuckiPeng i can find

Squad score and TeamScore.

 

Squad score 989,656

Team score 93,201

 

So i will ignore the 0 points ScoreObjecrive.

 

My wish: SquadScore, TeamScore, KD.

 

I tried to change

 

double OS_P = Math.Round((player.ScoreObjective / total) * 100, 2);

to

double OS_P = Math.Round((player.ScoreSquad / total) * 100, 2);

 

but:

15:11:41 03] [insane Limits] Thread(settings): ERROR: (CS0117, line: 0, column: 0): PRoConEvents.PlayerInfoInterface enthält keine Definition für ScoreSquad.

 

Change the plugin.ConsoleWrite line to this:

 

Code:

plugin.ConsoleWarn(player.Name + " is not a team-player! TS: "+ TS_P + "%, OS: "+OS_P+"% KD: " + player.Kdr.ToString("F1"));
Thank you very much!

Rucki

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

Originally Posted by PapaCharlie9*:

 

trying to mess around with my admin call code a bit more... Maybe you can help me papa?

 

Right now it's spanned across two limits (one also doubles as our welcome message), and it works great! Minus the players who just type !admin with no message attached. I'm looking over the code, and I see there are things like limit.Activations that may cause an issue. Here's my code to date (modified for BF4)

 

...

Maybe you see something I can't, but is there a way to give a player who just types

!admin

a message saying to please use the correct format: Ex !admin unless they are an admin?

 

Thanks for looking

Um, as far as I can tell from that code, !admin with no reason is the ONLY command that works. I don't see any code that handles a reason. Maybe there is more going on in your first_check than the comment suggests?
* Restored post. It could be that the author is no longer active.
Link to comment

Archived

This topic is now archived and is closed to further replies.




  • Our picks

    • Game Server Hosting:

      We're happy to announce that EZRCON will branch out into the game server provider scene. This is a big step for us so please having patience if something doesn't go right in this area. Now, what makes us different compared to other providers? Well, we're going with the idea of having a scaleable server hosting and providing more control in how you set up your server. For example, in Minecraft, you have the ability to control how many CPU cores you wish your server to have access to, how much RAM you want to use, how much disk space you want to use. This type of control can't be offered in a single service package so you're able to configure a custom package the way you want it.

      You can see all the available games here. Currently, we have the following games available.

      Valheim (From $1.50 USD)


      Rust (From $3.20 USD)


      Minecraft (Basic) (From $4.00 USD)


      Call of Duty 4X (From $7.00 USD)


      OpenTTD (From $4.00 USD)


      Squad (From $9.00 USD)


      Insurgency: Sandstorm (From $6.40 USD)


      Changes to US-East:

      Starting in January 2022, we will be moving to a different provider that has better support, better infrastructure, and better connectivity. We've noticed that the connection/routes to this location are not ideal and it's been hard getting support to correct this. Our contract for our two servers ends in March/April respectively. If you currently have servers in this location you will be migrated over to the new provider. We'll have more details when the time comes closer to January. The new location for this change will be based out of Atlanta, GA. If you have any questions/concerns please open a ticket and we'll do our best to answer them.
      • 5 replies
    • Hello All,

      I wanted to give an update to how EZRCON is doing. As of today we have 56 active customers using the services offered. I'm glad its doing so well and it hasn't been 1 year yet. To those that have services with EZRCON, I hope the service is doing well and if not please let us know so that we can improve it where possible. We've done quite a few changes behind the scenes to improve the performance hopefully. 

      We'll be launching a new location for hosting procon layers in either Los Angeles, USA or Chicago, IL. Still being decided on where the placement should be but these two locations are not set in stone yet. We would like to get feedback on where we should have a new location for hosting the Procon Layers, which you can do by replying to this topic. A poll will be created where people can vote on which location they would like to see.

      We're also looking for some suggestions on what else you would like to see for hosting provider options. So please let us know your thoughts on this matter.
      • 4 replies
    • Added ability to disable the new API check for player country info


      Updated GeoIP database file


      Removed usage sending stats


      Added EZRCON ad banner



      If you are upgrading then you may need to add these two lines to your existing installation in the file procon.cfg. To enable these options just change False to True.

      procon.private.options.UseGeoIpFileOnly False
      procon.private.options.BlockRssFeedNews False



       
      • 2 replies
    • I wanted I let you know that I am starting to build out the foundation for the hosting services that I talked about here. The pricing model I was originally going for wasn't going to be suitable for how I want to build it. So instead I decided to offer each service as it's own product instead of a package deal. In the future, hopefully, I will be able to do this and offer discounts to those that choose it.

      Here is how the pricing is laid out for each service as well as information about each. This is as of 7/12/2020.

      Single MySQL database (up to 30 GB) is $10 USD per month.



      If you go over the 30 GB usage for the database then each additional gigabyte is charged at $0.10 USD each billing cycle. If you're under 30GB you don't need to worry about this.


      Databases are replicated across 3 zones (regions) for redundancy. One (1) on the east coast of the USA, One (1) in Frankfurt, and One (1) in Singapore. Depending on the demand, this would grow to more regions.


      Databases will also be backed up daily and retained for 7 days.




      Procon Layer will be $2 USD per month.


      Each layer will only allow one (1) game server connection. The reason behind this is for performance.


      Each layer will also come with all available plugins installed by default. This is to help facilitate faster deployments and get you up and running quickly.


      Each layer will automatically restart if Procon crashes. 


      Each layer will also automatically restart daily at midnight to make sure it stays in tip-top shape.


      Custom plugins can be installed by submitting a support ticket.




      Battlefield Admin Control Panel (BFACP) will be $5 USD per month


      As I am still working on building version 3 of the software, I will be installing the last version I did. Once I complete version 3 it will automatically be upgraded for you.





      All these services will be managed by me so you don't have to worry about the technical side of things to get up and going.

      If you would like to see how much it would cost for the services, I made a calculator that you can use. It can be found here https://ezrcon.com/calculator.html

       
      • 11 replies
    • I have pushed out a new minor release which updates the geodata pull (flags in the playerlisting). This should be way more accurate now. As always, please let me know if any problems show up.

       
      • 9 replies
×
×
  • 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.