Jump to content

Insane Limits Requests


ImportBot

Recommended Posts

Originally Posted by p19blo*:

 

Thanks PC9

 

seconds request if its even possible at all... can it be done that anyone types !register in game and registers them to my site by their name ?

 

big ask i know.

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

Originally Posted by llB00Nll*:

 

Hi,

 

Im wondering if there is a limit compiled already ( searched but might have missed it) that can accomplish some tasks for me.

 

1- Limit the amount of kills a player has with C4 within the round and its reset for the next round (xx kills)

2- Limit the amount of kills a player has with Grenades within the round and its reset for the next round (xx kills)

3- Limit the amount of kills a player has with M320 within the round and its reset for the next round ( xx kills)

 

Now I played on a metro server that allowed 5 grenades kills before it killed or kicked that player, cant remember which it was. It counted down the kills to the player himself/herself privately and thats the style im looking for.

 

If the player exceeds the specified limit

 

1st warnings ( countdown from allowed kills - "You are allowed xx more kills before punish")

2nd kill

3rd kick

 

If someone could write this up for me I would be very grateful and willing to donate some beers for their time, thanks .

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

Originally Posted by slayersghost*:

 

cn some1 please link me to the no c4 limiter codes please thanks in advance

Set limit to evaluate OnKill, set action to Kick_Say, or any other action you wish

 

Set first_check to this Expression:

 

Code:

 

( kill.Weapon.Equals("c4") )

Set these action specific parameters:

 

Code:

 

kick_message = No c4! connect again and dont use this weapon!

say_message = %p_n% killed with %w_n%, he kill %v_n%! KICKED!

 

 

Does that look abt right?

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

Originally Posted by madmuthamonk*:

 

Thanks PC9

 

seconds request if its even possible at all... can it be done that anyone types !register in game and registers them to my site by their name ?

 

big ask i know.

Now that would be awesome. So much info need I think. Like a password and email of the person registering
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Thanks PC9

 

seconds request if its even possible at all... can it be done that anyone types !register in game and registers them to my site by their name ?

 

big ask i know.

Is it possible? Yes. Do I know how to do it? No. The tricky part is the web service code. You probably have PHP on your site. I have no idea how to program PHP.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Set limit to evaluate OnKill, set action to Kick_Say, or any other action you wish

 

Set first_check to this Expression:

 

Code:

 

( kill.Weapon.Equals("c4") )

Set these action specific parameters:

 

Code:

 

kick_message = No c4! connect again and dont use this weapon!

say_message = %p_n% killed with %w_n%, he kill %v_n%! KICKED!

 

 

Does that look abt right?

Change

 

Code:

kill.Weapon.Equals("c4")
to

 

Code:

kill.Weapon.Equals("Weapons/Gadgets/C4/C4")
All of the weapon name codes are in your BF3.def file. You have to spell them exactly if you use Equals.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Hi,

 

Im wondering if there is a limit compiled already ( searched but might have missed it) that can accomplish some tasks for me.

 

1- Limit the amount of kills a player has with C4 within the round and its reset for the next round (xx kills)

2- Limit the amount of kills a player has with Grenades within the round and its reset for the next round (xx kills)

3- Limit the amount of kills a player has with M320 within the round and its reset for the next round ( xx kills)

 

Now I played on a metro server that allowed 5 grenades kills before it killed or kicked that player, cant remember which it was. It counted down the kills to the player himself/herself privately and thats the style im looking for.

 

If the player exceeds the specified limit

 

1st warnings ( countdown from allowed kills - "You are allowed xx more kills before punish")

2nd kill

3rd kick

 

If someone could write this up for me I would be very grateful and willing to donate some beers for their time, thanks .

All of the above are discussed in detail in this thread:

 

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

 

Read the whole thread. Various examples and improvements are shown in later posts.

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

Originally Posted by Roughneck2-0*:

 

Hello.

 

I'm using Insane Limits v0.9.11.0 and would like to limit the following weapons:

Code:

( Regex.Match(kill.Weapon,  @"(C4|Claymore|USAS-12|Siaga20k|DAO-12)", RegexOptions.IgnoreCase).Success )
What I would like to achieve is this:

From the very first infraction and indefinitely, Insane Limits will kill the player and send him the following private chat (not yell) message:

Code:

("%p_n%, %w_n% IS NOT ALLOWED! PLEASE WRITE @RULES IN CHAT.")
I've tried using ...*'s example from myrcon.net/...insane-limits-warn-then-punish-pattern#entry23505, but I've got no coding skills so kinda stuck.

 

EDIT:

Upon further investigation, I came up with this:

Code:

TimeSpan time = TimeSpan.FromSeconds(3); // Activations within 3 seconds count as 1
    
/*
The first time through, warnings is zero. Whether this is an isolated
activation or the first of a sequence of activations in a short period
of time, do something on this first time through.
*/

if (Regex.Match(kill.Weapon,  @"(C4|Claymore|jackhammer|USAS-12|Siaga20k|DAO-12)", RegexOptions.IgnoreCase).Success) {
    String  message = plugin.R("%p_n%, %w_n%! IS NOT ALLOWED. WRITE @RULES TO SEE OUR RULES.");
    plugin.SendPlayerMessage(killer.Name, message);
    plugin.PRoConChat("Admin > All: " + message);
    plugin.KillPlayer(player.Name);
    return false;
}

if (limit.Activations(player.Name, time) > 1) return false;
Looks good so far.

 

 

Any help is appreciated.

//subscribed.

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

Originally Posted by PapaCharlie9*:

 

Any help is appreciated.

//subscribed.

Slight improvement below, but you basically have the right idea:

 

Code:

TimeSpan time = TimeSpan.FromSeconds(2); // Activations within 2 seconds count as 1

if (limit.Activations(killer.Name, time) > 1) return false;

// This code gives you a more readable weapon name:
Match mw = Regex.Match(kill.Weapon, @"/([^/]+)$");
String weaponName = kill.Weapon;
if (mw.Success) weaponName= mw.Groups[1].Value;

if (Regex.Match(kill.Weapon,  @"(C4|Claymore|jackhammer|USAS-12|Siaga20k|DAO-12)", RegexOptions.IgnoreCase).Success) {
    String  message = weaponName + "! IS NOT ALLOWED. CHAT @RULES TO SEE OUR RULES.";
    plugin.SendPlayerMessage(killer.Name, message);
    plugin.PRoConChat("Admin > " + killer.Name + ": " + message);
    plugin.KillPlayer(killer.Name, 3); // need 3 second delay so he can see the warning message
    return false;
}

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

Originally Posted by Roughneck2-0*:

 

Slight improvement below, but you basically have the right idea:

Thank you so much, ...*!

 

I've implemented it now.

 

EDIT:

Thanks a lot!

It solved the problem where C4/Claymore names where displayed like this:

Code:

Admin > All: xXx, [b]Weapons/Gadgets/C4/C4[/b]! IS NOT ALLOWED. WRITE @RULES TO SEE OUR RULES.
Admin > All: xXx, [b]Weapons/Gadgets/Claymore/Claymore[/b]! IS NOT ALLOWED. WRITE @RULES TO SEE OUR RULES.
Regards,
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by dyn*:

 

I've been helping out with an Infantry Only server and am trying to get more traffic to it. We all know that by setting 'no vehicles' the server goes to a custom server and is a death sentence. There was some talk previously about disabling the internal BF3 team balance during the countdown to a new round and then enabling it after the round has started. Well, I just tested doing just that with vars allows vehicle spawn and it worked to some extent on some maps. Some maps it didn't work, but the maps that it did work on, are the ones which the server runs currently anyway. So... on with the request:

 

GOAL: MAKE VEHICLES NEVER SPAWN. HAVE SERVER SHOW UP AS 'NORMAL' or 'HARDCORE'. AVOID THE INFANTRY ONLY SETTING!!

 

Actions needed:

 

After round has ended, before next map has loaded (40 seconds after round end) issue vars.vehicleSpawnAllowed false.

On first player spawn of new round (any player spawn) issue vars.vehicleSpawnAllowed true

 

For this to work the vehicle spawns timer will have to be set to a high percentage already.

 

A friend and I went and tested them on all Conquest Large maps. If anyone is interested in which maps the above works on read below:

 

Azadi Palace DOES NOT

Bandar Desert DOES NOT

Border ONLY HELOCOPTER SPAWNS / JETS

Damavand Peak WORKS - TRANSPORT ONLY

Death Valley DOES NOT WORK

Epicenter TRANSPORTS SPAWN

Grand Bazaar WORKS

Gulf of Oman TRANSPORT HELO / CARS / STATIONRY AA / JETS

Kharg Island DOES NOT WORK

Markaz Monolith DOES NOT WORK

Noshahr Canals - JET / HELO / BOAT / NO TANK. Might get APC if 'd' or 'b' is taken. Did not test.

Operation Firestorm DOES NOT WORK

Operation Metro does not matter

Seine Crossing WORKS

Sharqi Peninsula DOES NOT WORK

Strike at Karkand DOES NOT WORK

Telah Market - did not test - only transport vehicles

Tehran Highway WORKS

Wake Island MAA SPAWNS, HELO JETS.

Alborz Mountain DOES NOT WORK

Railroad DOES NOT WORK

Nebandan Flats DOES NOT WORK

Sabalan DOES NOT WORK

Operation Riverside DOES NOT WORK

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

Originally Posted by OREX*:

 

I am helping Boon with his server. Between the round count and code written for Metro that I found in the forum, I put this together. It seems to be working ok and was wondering if there are any problems that some of you more experienced guys can foresee. Currently it is just for C4 as that was the first order of business. We aren't sure if we will leave the limit at 10 or change it. When/if we add M320 or grenades, does it make a difference if they are different limits all together or if the code should be added to this limit? We are both new to this and any advice is appreciated.

 

Thanks!

 

Set the limit to evaluate OnKill and set the Action to None.

 

Set first_check to this Expression:

 

Code:

kill.Weapon.Equals("Weapons/Gadgets/C4/C4")
Set second_check to this Code:

 

Code:

/* Version: V0.7/R1 */
String kCounter = killer.Name + "_TreatAsOne_Count";
TimeSpan time = TimeSpan.FromSeconds(2); // Activations within 2 seconds count as 1

int warnings = 0;
if (player.RoundData.issetInt(kCounter)) warnings = player.RoundData.getInt(kCounter);
    
/*
The first time through, warnings is zero. Whether this is an isolated
activation or the first of a sequence of activations in a short period
of time, do something on this first time through.
*/
String msg = "none";
if (warnings == 0) {
        msg = plugin.R("Attention %k_n%! There is a 10 successful explosion limit for C4!"); // First warning message
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
        player.RoundData.setInt(kCounter, warnings+1);
        return false;
}

/*
The second and subsequent times through, check to make sure we are not
getting multiple activations in a short period of time. Ignore if
less than the time span required.
*/

if (limit.Activations(killer.Name, time) > 1) return false;

/*
We get here only if there was exactly one activation in the time span
*/

if (warnings == 1) {
        msg = plugin.R("Attention %k_n%! 2nd C4 strike - limit is 10!"); // 2nd-9th warning message
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 2) {
        msg = plugin.R("%k_n% 3rd C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 3) {
        msg = plugin.R("%k_n% 4th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 4) {
        msg = plugin.R("%k_n% 5th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 5) {
        msg = plugin.R("%k_n% 6th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 6) {
        msg = plugin.R("%k_n% 7th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 7) {
        msg = plugin.R("%k_n% 8th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 8) {
        msg = plugin.R("%k_n% 9th C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 9) {
        msg = plugin.R("%k_n% You have reached your C4 limit!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
} else if (warnings == 10) {
        msg = plugin.R("Killing %k_n% for too many C4 Kills!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
        //plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KillPlayer(killer.Name);
} else if (warnings > 10) {
        msg = plugin.R("Kicking %k_n% for Too many C4 Kills!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
        //plugin.PRoConEvent(msg, "Insane Limits");
        plugin.KickPlayerWithMessage(killer.Name, msg);
}

player.RoundData.setInt(kCounter, warnings+1);
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

GOAL: MAKE VEHICLES NEVER SPAWN. HAVE SERVER SHOW UP AS 'NORMAL' or 'HARDCORE'. AVOID THE INFANTRY ONLY SETTING!!

Given the info that some maps won't work with this technique, what exactly is the request?

 

BTW, turning vehicleSpawnAllowed off should not make a server custom (unless you forgot to turn vars.3pCam off). It should make it Infantry Only. Granted, that's almost as bad as Custom.

 

For our own "infantry only" server, we just make vars.vehicleSpawnDelay 99999. You get two vehicle spawns, then no more for the rest of the round. Close enough.

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

Originally Posted by PapaCharlie9*:

 

It seems to be working ok and was wondering if there are any problems that some of you more experienced guys can foresee. Currently it is just for C4 as that was the first order of business. We aren't sure if we will leave the limit at 10 or change it. When/if we add M320 or grenades, does it make a difference if they are different limits all together or if the code should be added to this limit? We are both new to this and any advice is appreciated.

You can simplify the code by using the warnings count in the message itself. So instead of 10 copies of this:

 

Code:

} else if (warnings == 2) {
        msg = plugin.R("%k_n% 3rd C4 strike - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
}
You just have this:

 

Code:

if (warnings > 0) {
        msg = plugin.R("%k_n% " + warnings + " C4 strikes - limit is 10!");
        plugin.SendGlobalMessage(msg);
        //plugin.PRoConChat("ADMIN > " + msg);
}
About using one limit or two, here are the pros/cons.

 

Using 1 limit:

Pro: Only one limit to write and maintain

Pro: If you want to make an improvement, you only have to do it once

Con: You have to change the messages to use the weapon name as a variable, you can't have "C4" in the string

Con: The count of warnings is combined, so it 10 uses of either C4 or M320, not 10 of each.

 

Using 2 limits is of course the opposite of the pros/cons of using 1 limit.

 

Here's the code for extracting the weapon name:

 

Code:

// This code gives you a more readable weapon name:
Match mw = Regex.Match(kill.Weapon, @"/([^/]+)$");
String weaponName = kill.Weapon;
if (mw.Success) weaponName= mw.Groups[1].Value;
Here's how you use it in a message:

 

Code:

msg = plugin.R("Attention %k_n%! " + warnings + " " + weaponName + " strikes - limit is 10!");
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

PapaCharlie9, You can do the work as the Insane Limits Welcome Messages Based on Player on BF3?

I tried to read the plugin description, but it is not clear to me what the plugin settings are supposed to be. Here is my best guess. People should try this out and post anything that needs to change. Once the code is right, I will post it in a separate thread.

 

Description

 

This limit lets you send a different welcome message to admins, clan members, and regulars. You define two custom lists, one for clan members, one for regulars. Admins are determined by whether or not they have a Procon account on your layer. You can use either player names (spelled exactly correctly, with proper case) or clan tags, in a list separated by commas, for example:

 

Code:

PapaCharlieNiner, LGN, Singh400
You also define the welcome messages for each group by changing the limit code. For example, the default welcome message for clan members is:

 

Code:

"Welcome XXX clan member %p_n%!"
If your clan tag is C2C, you would find that message at the top of the limit code and change the message to this:

 

Code:

"Welcome C2C clan member %p_n%!"
The message uses all of the usual Insane Limits replacements. The %p_n% replacement inserts the player's name. You can change the messages to whatever you want, just keep them at or below 100 characters.

 

The welcome message is sent in chat to all players the first time the player spawns in the server. If they leave and come back, the message will be sent again.

 

Instructions

 

If not already enabled, set use_custom_lists to True.

 

Create a new custom list called clan_list, Enabled, set to CaseSensitive, and add names and/or clan tags to it.

 

Create a new custom list called regulars_list, Enabled, set to CaseSensitive, and add names and/or clan tags to it.

 

Create a new limit to evaluate OnSpawn, called "Welcome Message By Group", leave Action set to None.

 

Set first_check to this Code:

 

Code:

/* Version 0.9/R2 */
String adminWelcomeMessage = "Welcome admin %p_n%!"; // CUSTOMIZE
String clanWelcomeMessage = "Welcome FTB clan member %p_n%!"; // CUSTOMIZE
String regularWelcomeMessage = "Welcome back, %p_n%!"; // CUSTOMIZE
bool enableYell = true; // CUSTOMIZE

int level = 2;

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

String key = "Welcome New Player BF3";
if (player.Data.issetBool(key)) return false;
String regularsList = "regulars_list";
String clanList = "clan_list";

bool canKill = false;
bool canKick = false;
bool canBan = false;
bool canMove = false;
bool canChangeLevel = false;
if (plugin.CheckAccount(player.Name, out canKill, out canKick, out canBan, out canMove, out canChangeLevel)) {
    plugin.SendGlobalMessage(plugin.R(adminWelcomeMessage));
    if (enableYell) plugin.SendGlobalYell(plugin.R(adminWelcomeMessage), 10);
    plugin.PRoConChat("ADMIN> " + plugin.R(adminWelcomeMessage));
    if (level >= 3) plugin.ConsoleWrite("Sent admin welcome: " + plugin.R(adminWelcomeMessage));
    player.Data.setBool(key, true);
    return false;
}
if (plugin.isInList(player.Name, clanList) || (!String.IsNullOrEmpty(player.Tag) && plugin.isInList(player.Tag, clanList))) {
    plugin.SendGlobalMessage(plugin.R(clanWelcomeMessage));
    if (enableYell) plugin.SendGlobalYell(plugin.R(clanWelcomeMessage), 10);
    plugin.PRoConChat("ADMIN> " + plugin.R(clanWelcomeMessage));
    if (level >= 3) plugin.ConsoleWrite("Sent clan welcome: " + plugin.R(clanWelcomeMessage));
    player.Data.setBool(key, true);
    return false;
}
if (plugin.isInList(player.Name, regularsList) || (!String.IsNullOrEmpty(player.Tag) && plugin.isInList(player.Tag, regularsList))) {
    plugin.SendGlobalMessage(plugin.R(regularWelcomeMessage));
    if (enableYell) plugin.SendGlobalYell(plugin.R(regularWelcomeMessage), 10);
    plugin.PRoConChat("ADMIN> " + plugin.R(regularWelcomeMessage));
    if (level >= 3) plugin.ConsoleWrite("Sent regulars welcome: " + plugin.R(regularWelcomeMessage));
    player.Data.setBool(key, true);
    return false;
}

if (level >= 4) plugin.ConsoleWrite("Spawned without message: ^b" + player.FullName + "^n, flag: " + player.Data.issetBool(key));
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by dyn*:

 

Given the info that some maps won't work with this technique, what exactly is the request?

For our own "infantry only" server, we just make vars.vehicleSpawnDelay 99999. You get two vehicle spawns, then no more for the rest of the round. Close enough.

Currently the server is set to Infantry Only. As you said this is almost as bad as custom. The server also only runs maps that this method works for. So, the idea is to have an "infantry only" server but have it show up as normal.

 

Setting infantry mode only before round start on Grand Bazaar keeps the vehicles from spawning at all. Switching it to normal mode once the round has started will give the server more visibility. This method prevents the vehicles from ever spawning thus avoiding the issue of having to slay / issue warning to people who do get a kill with a vehicle.

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

Originally Posted by PapaCharlie9*:

 

Currently the server is set to Infantry Only. As you said this is almost as bad as custom. The server also only runs maps that this method works for. So, the idea is to have an "infantry only" server but have it show up as normal.

 

Setting infantry mode only before round start on Grand Bazaar keeps the vehicles from spawning at all. Switching it to normal mode once the round has started will give the server more visibility. This method prevents the vehicles from ever spawning thus avoiding the issue of having to slay / issue warning to people who do get a kill with a vehicle.

I see.

 

Assuming the maps are limited to the working ones, this should work. You need two limits.

 

Limit 1: OnRoundOver

 

first_check Code:

Code:

Thread timeDelay = new Thread(new ThreadStart(delegate() {
   plugin.ConsoleWrite("Waiting for 40 seconds ...");
   Thread.Sleep(40*1000);
   plugin.ServerCommand("vars.vehicleSpawnAllowed", "false");
   plugin.ConsoleWrite("Vehicle spawn disabled!");
}));
timeDelay.Start();
return false;
Limit 2: OnRoundStart

 

first_check Code:

Code:

plugin.ServerCommand("vars.vehicleSpawnAllowed", "true");
plugin.ConsoleWrite("Vehicle spawn enabled!");
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by w262035635*:

 

PapaCharlie9,I want to be a limit,In order to ban players who rock the boat.

Specific rules are as follows:

Players enter the server, if "X" minutes no score,And the number of death more than Y Number of times.

So will punish players: "Kick/temp ban/permanent ban" is prohibited

 

example:

Players enter the server, Use of a vehicle Or JET,Teammates a vehicle crash,Lead to accidental death.Bring interference to other teammates.

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

Originally Posted by PapaCharlie9*:

 

PapaCharlie9,I want to be a limit,In order to ban players who rock the boat.

Specific rules are as follows:

Players enter the server, if "X" minutes no score,And the number of death more than Y Number of times.

So will punish players: "Kick/temp ban/permanent ban" is prohibited

 

example:

Players enter the server, Use of a vehicle Or JET,Teammates a vehicle crash,Lead to accidental death.Bring interference to other teammates.

I agree it is bad when griefers do stuff like that, but this sort of limit will also punish players who are not griefing but just die many times. Maybe that's not such a bad thing, but noobs die many times.

 

For example, I have sometimes gone 0 kills, 20+ deaths, because I am doing an assignment. Or there is a particular sniper that has pissed me off and I spend the whole round and 20+ deaths just trying to get close enough to stab and t-bag him.

 

Are you sure you want this?

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

Originally Posted by w262035635*:

 

I agree it is bad when griefers do stuff like that, but this sort of limit will also punish players who are not griefing but just die many times. Maybe that's not such a bad thing, but noobs die many times.

 

For example, I have sometimes gone 0 kills, 20+ deaths, because I am doing an assignment. Or there is a particular sniper that has pissed me off and I spend the whole round and 20+ deaths just trying to get close enough to stab and t-bag him.

 

Are you sure you want this?

Yes, I am sure this is what I want.

If possible.. You can add a set,

When players first breaking this rule will be KILL/KICK or temp ban 1 hours

When players who break this rule, a second time will be temp ban for 2 hours

 

Only triggered the first rule is: KILL OR KICK

So the second rule to use temp ban or permanent ban

 

Similar to first KILL the second KICK third temporary ban

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

Originally Posted by w262035635*:

 

Yes, I am sure this is what I want.

If possible.. You can add a set,

When players first breaking this rule will be KILL/KICK or temp ban 1 hours

When players who break this rule, a second time will be temp ban for 2 hours

 

Only triggered the first rule is: KILL OR KICK

So the second rule to use temp ban or permanent ban

 

Similar to first KILL the second KICK third temporary ban

I agree it is bad when griefers do stuff like that, but this sort of limit will also punish players who are not griefing but just die many times. Maybe that's not such a bad thing, but noobs die many times.

 

For example, I have sometimes gone 0 kills, 20+ deaths, because I am doing an assignment. Or there is a particular sniper that has pissed me off and I spend the whole round and 20+ deaths just trying to get close enough to stab and t-bag him.

 

Are you sure you want this?

Also, if the player did not kill scores, but have helped kill scores. Occupy the flags or scores, then there is outside the scope of rules.

Such as:

Players killed 10 times in 10 minutes, and no kill, but has a point score, so will not punish the player.

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

Originally Posted by w262035635*:

 

Also, if the player did not kill scores, but have helped kill scores. Occupy the flags or scores, then there is outside the scope of rules.

Such as:

Players killed 10 times in 10 minutes, and no kill, but has a point score, so will not punish the player.

Rules of the content:

"X" within minutes, without any scoring. (if you have occupied fraction or other scores, it will be outside the rules),

Disruptive players hit died, his teammates also will die (time is tentatively scheduled for the same seconds)

Such will be recorded as a foul.

 

 

 

Punishment:

In "X" minutes, triggering rules "N" number, will trigger a punishment

To punish players who KILL OR KICK for the first time, and warnings are given

The second violation, will be temporary or permanent ban is prohibited

 

 

Is that ok?

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

Originally Posted by guapoloko*:

 

The insane limits, doing the greeting for administrators and members of the clan or registered using the tag. But not doing Greeting for normal players not recognizing that they've been on the server.

 

Example: Welcome back guapoloko.

 

Only if I set this player on the regular list.

 

Would somehow save the plugin which players were already on the server to make a greeting?

 

Another question, is the insane limits prohibit players who are not part of the clan FTB to use the tag. Irregular use of tag?

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

Originally Posted by PapaCharlie9*:

 

That is too complicated for Insane Limits. The time part is too hard. It might be easier to just use the votekick plugin.

 

Here's what I can do:

 

* If a player dies D times AND has KDR less than 1/D: first punishment KICK

 

* If the player comes back and dies D times AND has KDR less than 1/D: second punishment TEMP BAN for 1 day

 

The KDR is important because the griefer may accidentally kill an enemy or may not start griefing until later in the round, after playing normally.

 

For the limit below, I chose:

 

D = 4

 

The KDR for D=8 is 1/4, or 0.25.

 

You can change those values and the messages for kick and ban by changing the code yourself.

 

ALL GRIEFING DEATHS COUNT AS SUICIDE!

 

 

Create a new limit that evalutes OnSuicide, call it "Punish Griefers", leave Action set to None.

 

Set first_check to this Code:

 

Code:

/* Version 0.9/R4 */
double MaxDeathCount = 4; // This is "D", number of times player died
String firstWarningMessage = "Quit griefing! Play right or stay out!"; // First warning message
String secondWarningMessage = "You have been banned for griefing for 1 day!"; // Second warning message

String prefix = "Griefer_count_";
String key = prefix + player.Name;

if (!plugin.Data.issetInt(key)) plugin.Data.setInt(key, 0);
int count = plugin.Data.getInt(key);

plugin.ConsoleWrite("name: " + player.Name + ", suicides: " + player.SuicidesRound + ", kdr: " + player.KdrRound + ", maxDeaths: " + MaxDeathCount + ", count: " + count);

if ((player.KdrRound < 1.0 && player.KdrRound > (1/MaxDeathCount)) || player.SuicidesRound < MaxDeathCount) return false; 

if (count < 1) {
    plugin.Data.setInt(key, count + 1);
    plugin.PRoConChat("ADMIN > " + player.Name + ": " + firstWarningMessage);
    plugin.ConsoleWrite("Griefer " + player.Name + " kicked! " + firstWarningMessage);
    plugin.KickPlayerWithMessage(player.Name, firstWarningMessage);
} else {
    plugin.Data.setInt(key, count + 1);
    plugin.PRoConChat("ADMIN > " + player.Name + ": " + secondWarningMessage);
    plugin.ConsoleWrite("Griefer " + player.Name + " banned! " + secondWarningMessage);
    plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Temporary, player.Name, 60*24, secondWarningMessage);
}
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by w262035635*:

 

That is too complicated for Insane Limits. The time part is too hard. It might be easier to just use the votekick plugin.

 

Here's what I can do:

 

* If a player dies D times AND has KDR less than 1/D AND has less than S score: first punishment KICK

 

* If the player comes back and dies D times AND has KDR less than 1/D AND has less than 2 x S score: second punishment TEMP BAN for 1 day

 

The KDR is important because the griefer may accidentally kill an enemy or may not start griefing until later in the round, after playing normally.

 

For the limit below, I chose:

 

D = 8

S = 200

 

The KDR for D=8 is 1/8, or 0.125.

 

You can change those values and the messages for kick and ban by changing the code yourself.

 

 

Create a new limit that evalutes OnDeath, call it "Punish Griefers", leave Action set to None.

 

Set first_check to this Code:

 

Code:

/* Version 0.9/R1 */
double MaxDeathCount = 8; // This is "D", number of times player died
double MinScore = 200; // This is "S", minimum score
String firstWarningMessage = "Quit griefing! Play right or stay out!"; // First warning message
String secondWarningMessage = "You have been banned for griefing for 1 day!"; // Second warning message

String prefix = "Griefer_count_";
String key = prefix + player.Name;

if (!plugin.Data.issetInt(key)) plugin.Data.setInt(key, 0);
int count = plugin.Data.getInt(key);

if (player.KdrRound > (1/MaxDeathCount) || player.DeathsRound < MaxDeathCount || player.ScoreRound > (MinScore*(count+1))) return false; 

if (count < 1) {
    plugin.Data.setInt(key, count + 1);
    plugin.PRoConChat("ADMIN > " + player.Name + ": " + firstWarningMessage);
    plugin.ConsoleWrite("Griefer " + player.Name + " kicked! " + firstWarningMessage);
    plugin.KickPlayerWithMessage(player.Name, firstWarningMessage);
} else {
    plugin.Data.setInt(key, count + 1);
    plugin.PRoConChat("ADMIN > " + player.Name + ": " + secondWarningMessage);
    plugin.ConsoleWrite("Griefer " + player.Name + " banned! " + secondWarningMessage);
    plugin.EABanPlayerWithMessage(EABanType.Name, EABanDuration.Temporary, player.Name, 60*24, secondWarningMessage);
}
return false;

 

If the first penalty is: kill the player

Punishment for 2: a permanent ban.

I need how to change?

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

Originally Posted by w262035635*:

 

This restriction code doesn't work.

I just did a test. Invite a friend over a prank.

He hit dead for 16 consecutive times. But there was no any warning or banned

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

Originally Posted by w262035635*:

 

If you use the time is so hard. Why don't you try to use score limit?

Such as:

Now is 1000 points, 10 deaths, are now beginning to prank..

Prank death after 20 times. The score is 1000

So can also judge the player mischief

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