Jump to content

Insane Limits Requests


ImportBot

Recommended Posts

  • Replies 3.2k
  • Created
  • Last Reply

Originally Posted by HexaCanon*:

 

is there an update to the code with the new maps and modes from this example

myrcon.net/...insane-limits-examples#entry19653

here you go

 

Set the limit to evaluate OnAnyChat, and set the action to None.

 

Set first_check to this Expression:

Code:

player.LastChat.StartsWith("@shownext")
Set second_check to this Code:

Code:

plugin.ConsoleWrite(plugin.R("%p_n% wants to know the next map"));
string map_msg = "The next map is " + plugin.FriendlyMapName(server.NextMapFileName) + " on " + plugin.FriendlyModeName(server.NextGamemode);
string rnd_msg = "The current round is " + (server.CurrentRound+1) + " of " + server.TotalRounds;
plugin.SendGlobalMessage( map_msg );
plugin.SendGlobalMessage( rnd_msg );
plugin.ServerCommand("admin.yell", map_msg, "8", "player", player.Name);
plugin.ServerCommand("admin.yell", rnd_msg, "5", "player", player.Name);
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by shadow2k1*:

 

here you go

...

thanks, however doesnt the map names need to be listed like the code in the link has?

 

also after reading 75 posts in this thread my eyes are going wonky so im gonna ask (probably a question thats been asked)

 

is it possible to take this code

showthread....with-a-vehicle*

and this code

myrcon.net/...insane-limits-examples#entry18428

and put them together

 

to make code that limits the use of vehicles on certain modes, not maps and kills if someone kills with it

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

Originally Posted by PapaCharlie9*:

 

thanks although searching 111 posts in this thread is very tedious i guess i better get to work

That is not what I said. I said, search the forum. If you go here:

 

Plugin-Enhancements

 

and scroll through the list of threads, you will see that a large number of them start with "Insane Limits" in the title. Each is a limit thread. The first post is limit code in each thread.

 

So, the forum is the list.

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

Originally Posted by Bubica*:

 

change this line

 

Code:

plugin.KillPlayer(killer.Name, 20);
to

 

Code:

plugin.KickPlayerWithMessage(killer.Name, plugin.R("Reason"));
Thank you! Thank you! Thank you!

 

Work like a charm!!! :smile::smile::smile:

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

Originally Posted by HexaCanon*:

 

hello

is there any chance admins in my list could yell rules at a specific player by typeing something like e.g @frules playersname ?

made this limit but i did not have the time to compile it, please report if there is an issue.

 

it will make the command "!rules" work in various situations :

 

1- player is not an admin, the rules will be sent to him regardless if he put a player name or not. admin is detected if he has a procon account (first time using this method so please check)

2- if player is an admin, it will check if there is no name after the !rules command it will send the rules to him and tell him there is no match for a player just in case he wanted to send the rules to someone.

3- player is an admin and he puts a correct name, then the rules are sent to the target player.

 

check the blue lines to configure the rules and the method they show up in-game.

 

Create new limit and set evaluation to OnAnyChat and set Action to None.

 

Set first_Check to Code:

 

Code:

if (Regex.Match(player.LastChat, @"^\s*[!](rules)", RegexOptions.IgnoreCase).Success) {

// Rules here
List<String> Rules = new List<String>();
Rules.Add("[u][b]----- SERVER RULES -----[/b][/u]");
Rules.Add("[b][u]No Shotguns/Hand grenades[/u][/b]");
Rules.Add("[b][u]No Claymore/C4/M320[/u][/b]");
Rules.Add("[b][u]No RPG/SMAW/Javelin[/u][/b]");
Rules.Add("[u][b]No Religion / Racism / insulting family members[/b][/u]");
Rules.Add("[u][b]No out of map glitching[/b][/u]");
// Rules End, keep it at 6 lines maximum.

Action<String> RulesMethod = delegate(String who) { // how to send the rules
	foreach (string Rule in Rules) { // set up the way the rules are sent
		[b][u]plugin.ServerCommand("admin.say", Rule, "player", who);[/u][/b]
		[u][b]plugin.ServerCommand ( "admin.yell" , Rule , "12" , "player" , who) ;[/b][/u]
	}
};

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);

if (!player.LastChat.StartsWith("!rules")) return false; // stop if not chat did not start with the command

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);

if (!hasAccount)	{ // if not admin, send rules to the player who issued the command
	RulesMethod(player.Name);
	return false;
}


Match RuleCommand = Regex.Match(player.LastChat, @"^\s*!rules\s+([^\s]+)", RegexOptions.IgnoreCase);
String RuleAskedByName = RuleCommand.Groups[1].Value;


/* This is the re-usable function that takes a substring and matches it against all the player names */

Converter<String,List<String>> ExactNameMatches = delegate(String sub) {

	List<String> matches = new List<String>();

	if (String.IsNullOrEmpty(sub)) return matches;

	foreach (PlayerInfoInterface p in all) {
		if (Regex.Match(p.Name, sub, RegexOptions.IgnoreCase).Success) {
			matches.Add(p.Name);
		}
	}
	return matches;
};

/* end of function */

// Use the function to find all matches
List<String> RuleAskedBy = ExactNameMatches(RuleAskedByName);
String msg = null;

if (RuleAskedBy.Count == 0) {
	RulesMethod(player.Name);
	msg = "No match for: " + RuleAskedByName;
	plugin.ServerCommand("admin.say", msg, "player", player.Name);
	return false;
}

if (RuleAskedBy.Count > 1) {
	msg = @"Try again, '" + RuleAskedByName + @"' matches multiple names: ";
	bool first = true;
	foreach (String b in RuleAskedBy) {
		if (first) {
			msg = msg + b;
			first = false;
		} else {
			msg = msg + ", " + b;
		}
	}
	plugin.ServerCommand("admin.say", msg, "player", player.Name);
	return false;	
}

// Otherwise just one exact match

/* Extract the player name */
PlayerInfoInterface target = plugin.GetPlayer(RuleAskedBy[0], true);

if (target == null) return false;

RulesMethod(target.Name);
return false;
}
return false;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by starsky*:

 

had a few errors. wasnt quiet sure.

 

ERROR: 9 errors compiling Code

[insane ERROR: (CS0128, line: 86, column: 26): A local variable named 'RuleAskedBy' is already defined in this scope

[insane Limits] Thread(settings): ERROR: (CS0103, line: 86, column: 57): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0117, line: 89, column: 29): 'string' does not contain a definition for 'Count'

[insane Limits] Thread(settings): ERROR: (CS0103, line: 91, column: 39): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0117, line: 96, column: 29): 'string' does not contain a definition for 'Count'

[insane Limits] Thread(settings): ERROR: (CS0103, line: 97, column: 38): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0030, line: 99, column: 14): Cannot convert type 'char' to 'string'

[insane Limits] Thread(settings): ERROR: (CS1502, line: 114, column: 42): The best overloaded method match for 'PRoConEvents.PluginInterface.GetPlayer(string, bool)' has some invalid arguments

[insane Limits] Thread(settings): ERROR: (CS1503, line: 114, column: 59): Argument '1': cannot convert from 'char' to 'string'

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

Originally Posted by HexaCanon*:

 

had a few errors. wasnt quiet sure.

 

ERROR: 9 errors compiling Code

[insane ERROR: (CS0128, line: 86, column: 26): A local variable named 'RuleAskedBy' is already defined in this scope

[insane Limits] Thread(settings): ERROR: (CS0103, line: 86, column: 57): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0117, line: 89, column: 29): 'string' does not contain a definition for 'Count'

[insane Limits] Thread(settings): ERROR: (CS0103, line: 91, column: 39): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0117, line: 96, column: 29): 'string' does not contain a definition for 'Count'

[insane Limits] Thread(settings): ERROR: (CS0103, line: 97, column: 38): The name 'RuleAskedByName' does not exist in the current context

[insane Limits] Thread(settings): ERROR: (CS0030, line: 99, column: 14): Cannot convert type 'char' to 'string'

[insane Limits] Thread(settings): ERROR: (CS1502, line: 114, column: 42): The best overloaded method match for 'PRoConEvents.PluginInterface.GetPlayer(string, bool)' has some invalid arguments

[insane Limits] Thread(settings): ERROR: (CS1503, line: 114, column: 59): Argument '1': cannot convert from 'char' to 'string'

fixed, copy paste the original work.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Code:

i	foreach (string Rule in Rules) { // set up the way the rules are sent
		[b][u]plugin.ServerCommand("admin.say", Rule, "player", who);[/u][/b]
		[u][b]plugin.ServerCommand ( "admin.yell" , Rule , "12" , "player" , who) ;[/b][/u]
	}
};
That's so old school! You are forgetting about the plugin.SendPlayerYell and plugin.SendPlayerMessage functions.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by shadow2k1*:

 

ok so i have limits for messing around purposes to call clanmates douchbags it was working now with the updated plugin im getting errors

when i type !douchebags in the chat it scrolls the names and then says 'douchbags' is not a valid command

 

im getting this with all my limits...

 

is there something changed in the plugin?

 

Code:

List<String> douchebags = new List<String>();
douchebags.Add("playername1");
douchebags.Add("playername2");
douchebags.Add("playername3");
douchebags.Add("playername4");
douchebags.Add("Are all douchebags");

if (!Regex.Match(player.LastChat, @"^\s*!douchebags_", RegexOptions.IgnoreCase).Success) return false;

foreach(string douchebag in douchebags) {
plugin.SendGlobalMessage(douchebag);
plugin.ServerCommand("admin.say", douchebag, "8", "player", player.Name);
}
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Fingler*:

 

My server runs SQDM, CTF and some CQ. I want a rule that will kill anyone using vehicles, mortar, eod, etc ("DEATH"), but only on SQDM. Is this possible?

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

Originally Posted by Tomgun*:

 

ADMIN HUNT!!!

 

ok this is what im thinking, each round any admin (taken from accounts list) that gets killed is logged, at the start of the next round or on the first kill of the next round it could show "Top admin killer last round is [Name] with [value] kills, good hunting!!"

 

A message cycle says "Admins are online, hunt them down!!

 

and during the previous round every admin that gets killed you could yell to the player "Well done you hunted down admin [name] and killed him, thats [value] admin kills this round" or something of that effect.

 

Also if you teamkill and admin it says "you just TK an admin, and have a total of [value] admin teamkills..watch yourself!!"

 

but if there are no admins on then it doesnt show up

 

could this be done?

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

Originally Posted by Tomgun*:

 

CLAN UP!!

 

Also what im thinking if 2 or more are in the server could be on both same or oppersite sides it could look for clan tags, see that there are 2 or more and give those players the option to "CLAN UP".

 

say there was 5 members of the same clan online but on mixed sides, it could give the option to all "Do you want to clan up_" and if say 3 of the 5 say yes then it automatically swops random people who are not in a clan around once dead and puts those that are in a clan on the same side in a newly created squad and/or makes more squads if the number is over 4 (pref puts them on the losing side as they should boost the chances working together on that side to win).

 

or have the option so it does it at the start of each round instead of people trying to get on the same side as there friends

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

Originally Posted by PapaCharlie9*:

 

ok so i have limits for messing around purposes to call clanmates douchbags it was working now with the updated plugin im getting errors

when i type !douchebags in the chat it scrolls the names and then says 'douchbags' is not a valid command

Not with Insane Limits, but one of the other plugins you run might have changed. Try disabling them one by one until the error stops, then you will know which it is. My guess is that it's from the In-Game Admin plugin.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by HexaCanon*:

 

Not with Insane Limits, but one of the other plugins you run might have changed. Try disabling them one by one until the error stops, then you will know which it is. My guess is that it's from the In-Game Admin plugin.

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

Originally Posted by PapaCharlie9*:

 

My server runs SQDM, CTF and some CQ. I want a rule that will kill anyone using vehicles, mortar, eod, etc ("DEATH"), but only on SQDM. Is this possible?

Yes, I suppose you'd like the limit code as well. :smile:

 

Create a new limit to evaluate OnKill, call it "SQDM no Death", leave Action set to None.

 

Set first_check to this Code:

 

Code:

if (!Regex.Match(server.Gamemode, @"Squad").Success) return false;
if (kill.Weapon != "Death") return false;
plugin.SendGlobalYell("Do not use vehicles during Squad Deathmatch!", 5);
plugin.SendPlayerMessage(killer.Name, killer.Name + ", do not use vehicles during Squad Deathmatch!");
plugin.KillPlayer(killer.Name, 1);
plugin.PRoConChat("ADMIN to " + killer.Name + "> " + killer.Name + ", do not use vehicles during Squad Deathmatch!");
return true;
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

ADMIN HUNT!!!

Yes. The parts about notifying players that admins are on and to hunt them is easy, that's one OnIntervalServer limit.

 

Keeping track of the kills is also easy, that's an OnKill limit.

 

The hard part is the announcing stats at the beginning of the next round. That's actually somewhat difficult. I suppose it could be based on an OnSpawn limit, with some kind of RoundData flag to determine that this is their first spawn.

 

I don't have time right now to write those up, but remind me after MULTIbalancer is finished. Or maybe someone else will tackle it.

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

Originally Posted by PapaCharlie9*:

 

CLAN UP!!

This is possible but actually quite difficult to do, even with a standalone plugin. It would be best to integrate this feature into an autobalance plugin, since otherwise the autobalancer might mess up all of the player moves.

 

An easier limit, one I've already posted here*, is one that lets members of a squad !recruit another player with the same clan tags into their squad from the opposite team. It still has the problem of autobalancing messing up the moves, though.

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

Originally Posted by Tomgun*:

 

Yes. The parts about notifying players that admins are on and to hunt them is easy, that's one OnIntervalServer limit.

 

Keeping track of the kills is also easy, that's an OnKill limit.

 

The hard part is the announcing stats at the beginning of the next round. That's actually somewhat difficult. I suppose it could be based on an OnSpawn limit, with some kind of RoundData flag to determine that this is their first spawn.

 

I don't have time right now to write those up, but remind me after MULTIbalancer is finished. Or maybe someone else will tackle it.

this would be cool and give our admins a hard time lol, even if near the end of the round it could says "this rounds admin hunter is [name] with [value] admin kills" or something or even have a top 3 (thinking if the chat box or even yell)

 

if this could be done it would be great and im sure other server will like to give there admins more of a challenge :smile:

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

Originally Posted by chris095*:

 

Quote Originally Posted by chris095 View Post

Hello, how to switch to the normal mode only on air superiority map. Thanks

there are already plugins that can do that for you and alot more

what is the name of this plugin please !
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by PapaCharlie9*:

 

Quote Originally Posted by chris095 View Post

Hello, how to switch to the normal mode only on air superiority map. Thanks

 

 

what is the name of this plugin please !

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

Originally Posted by PapaCharlie9*:

 

Can I set a below rank limit kick? I just simply change the rank > 45 to rank 45 still been kicked

Post all of the limit settings/code for that limit. That should have worked, but maybe something else is configured wrong.
* 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.