Jump to content

ProconRulz V44j1 - weapon limits and other event-triggered admin actions


ColColonCleaner

Recommended Posts

Originally Posted by gabipaci*:

 

Oh yeah, good point. It would be bad if it kept decreasing to a negative number.

 

On Kill;Damage ProjectileExplosive;Incr %server_rockets[%p%]%

On Kill;Not Damage ProjectileExplosive;If %server_rockets[%p%]% >= 1;Decr %server_rockets[%p%]%

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% >= 5;Log %p% banned for Metro rockets;Ban %p% Metro rockets

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% == 4;PlayerSay %p%: killed for rocket spamming. # %server_rockets[%p%]%;Kill

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% >= 2;PlayerSay %p%: server bans for rocket spamming. # %server_rockets[%p%]%

Last quesion:

U sure, u take the "If %server_rockets[%p%]% >= 1;" to good line?

I think so, this need to first line, for multi kill, with projective explosive be only one kill.

If not, sorry

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

Originally Posted by bambam*:

 

ty_ger a !punish/!forgive thread is certainly ok with me. I know Zaeed has a few concerns about the number of threads relating to ProconRulz in this Plugins forum so micovery's suggestion of Procon 1.0 General would fix that. My suggestion is we copy all the teamkill rulz into that thread (i.e. updated from here*) and I'll swap the link in the ProconRulz 1st post (teamkill example) across to your new thread.

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

Originally Posted by ty_ger07*:

 

Last quesion:

U sure, u take the "If %server_rockets[%p%]% >= 1;" to good line?

I think so, this need to first line, for multi kill, with projective explosive be only one kill.

If not, sorry

Say what?

 

Multikill with rocket will be more than one kill. I don't know of any way around that. Each kill is considered a separate kill and runs through the rules separately. There is no way to combine the multi kills into one kill because there is no way to tell if the kills were caused by one or more than one RPGs.

 

The "If %server_rockets[%p%]% >= 1;" part is to prevent the rocket count from going negative if the player does not use the RPG. Without the "If %server_rockets[%p%]% >= 1;" part, if a player got 20 kills without a rocket, it would mean they could get 25 kills in a row with a rocket without being punished. So, we must prevent it from counting down below zero.

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

Originally Posted by Operator*:

 

I'm overlapping a bit with other replies - all good stuff - apologies.

 

Operator

 

yeah you're on the right lines, and you're correct you need to modify the Kill action to kill thenameoftheguy not the person who said the say text, so 9/10 for that....

 

On Say;Admin;Text !kill;TargetPlayer;TargetAction Kill

Thanks for the indepth reply. I was trying to figure out a way to pass a varable into TargetPlayer

 

Something like this in psudeo....

 

On Say;Admin;Text !kill; Set %pName% = "SomeGuy"; TargetPlayer = %pName%; TargetAction Kill

 

What I'm trying to do, is the person only has to type !kill, and it will kill someone's name that is hardcoded in a variable

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

Originally Posted by gibbsuk*:

 

Cool plugin!

 

Is there a way to maintain a KDR ratio of 2:1?

 

Example:

So if someone gets 11 kills and only 5 deaths, they get a warning that they have exceeded 2:1 KDR

If they kill again (12 kills, 5 deaths), they get final warning.

If they kill again (13 kills, 5 deaths), they get kicked.

 

Thanks in advance

Sorry to bump this but does anyone have any clues as to what commands I can use please? I was thinking an IF command but I am not really up to scratch on this mod yet.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Sorry to bump this but does anyone have any clues as to what commands I can use please? I was thinking an IF command but I am not really up to scratch on this mod yet.

I think this is along the right lines, but I haven't refined it. I would wait to see what BamBam said. I think the biggest issue is figuring out how it reacts to dividing numbers by zero at the start of a round.

 

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
The other problem with this code is that it would not allow for a quick accumulation of kills at the start of a round. Someone could go from 2 - 0 with a warning to 3 - 0 with a kick. You may want to have a 10 or 20 kill minimum before the rules become effective in order to prevent the oddities which may occur at the start of a round.

 

Here is the same code again, except that a 10 kill minimum is added before the 'final warning' and 'kick' rules become activated.

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;If %server_playerkills[%p%]% >= 10;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;If %server_playerkills[%p%]% >= 10;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
And here is the same code again, except that it ensures that no division occurs when any of the two values are zero.

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;If %server_playerkills[%p%]% >= 1;If %server_playerdeaths[%p%]% >= 1;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;If %server_playerkills[%p%]% >= 10;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;If %server_playerkills[%p%]% >= 10;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
BamBam would have to confirm whether or not "%server_playerkills[%p%]%/%server_playerdeaths[%p%]%" needs to be in parenthesis.

 

Good luck!

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

Originally Posted by gibbsuk*:

 

I think this is along the right lines, but I haven't refined it. I would wait to see what BamBam said. I think the biggest issue is figuring out how it reacts to dividing numbers by zero at the start of a round.

 

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
The other problem with this code is that it would not allow for a quick accumulation of kills at the start of a round. Someone could go from 2 - 0 with a warning to 3 - 0 with a kick. You may want to have a 10 or 20 kill minimum before the rules become effective in order to prevent the oddities which may occur at the start of a round.

 

Here is the same code again, except that a 10 kill minimum is added before the 'final warning' and 'kick' rules become activated.

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;If %server_playerkills[%p%]% >= 10;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;If %server_playerkills[%p%]% >= 10;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
And here is the same code again, except that it ensures that no division occurs when any of the two values are zero.

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;If %server_playerkills[%p%]% >= 1;If %server_playerdeaths[%p%]% >= 1;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%
On Kill;If %server_playerkillratio[%p%]% >= 2.5;If %server_playerkills[%p%]% >= 10;Kick %p% Do not exceed a KDR of 2
On Kill;If %server_playerkillratio[%p%]% >= 2.25;If %server_playerkills[%p%]% >= 10;PlayerSay %p%: final warning!
On Kill;If %server_playerkillratio[%p%]% >= 2.0;PlayerSay %p%: warning!  Do not exceed a KDR of 2.
BamBam would have to confirm whether or not "%server_playerkills[%p%]%/%server_playerdeaths[%p%]%" needs to be in parenthesis.

 

Good luck!

Wow great reply, thanks for your time on that one ty_ger07. Much appreciated. Indeed the start of the round is a tricky one because would dividing zero would be null. In the second example (min 10 kills), would I be right in thinking that if someone got 10 kills and 1 death that it would leave them alone? Then as soon as they get their 11th kill, the kick rule would be matched and would be kicked? That could be good. Perhaps their final warning would come at =10 instead of >=10 though.

The third example might be useful because I don't even know what it will do if it tries to divide figures by zero! hehe

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

Originally Posted by C-4-N*:

 

hi

I see we can use "teamsize " to activate rulz until X players

 

i would like activate if there is more than players

 

I would like only kick if there is more of players (exemple for Explosive)

 

possible ?

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

Originally Posted by bambam*:

 

Operator

Something like this in psudeo....

 

On Say;Admin;Text !kill; Set %pName% = "SomeGuy"; TargetPlayer = %pName%; TargetAction Kill

 

What I'm trying to do, is the person only has to type !kill, and it will kill someone's name that is hardcoded in a variable

pfft, easy.

 

TargetPlayer has an optional argument of the (partial or full) name of the player you want to select.

 

On Say;Text !kill;TargetPlayer %varname%;TargetAction Kill

 

It'd help if you explained how the player name was going to get set in the variable.

 

E.g. if the target player is *always* bambam (unlikely) then you could use "On Say;Text !kill;TargetPlayer bambam;TargetAction Kill"

 

If the target player is the fekker that most recently did a teamkill, then you'd set the value from another rule:

 

On TeamKill;Set %server_tker% %p%

 

On Say;Admin;Text !kill;TargetPlayer %server_tker%;TargetAction Kill

 

The above applies if there is ONE value for the variable for the whole server. If you want to store a different playername value to be killed for each player (e.g. what you'd need to do to implement !punish) then you will use 'player variables' and if you need that explaining then ask. I'm still writing the docs.

Note ProconRulz doesn't use quotes around strings.

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

Originally Posted by bambam*:

 

C-4-N

I see we can use "teamsize " to activate rulz until X players

 

i would like activate if there is more than players

Simples, just use "Not Teamsize" instead of Teamsize.

 

"Teamsize " succeeds if the size of the smallest team on the server is N OR FEWER players. So if you have 9 players on the server, Team A = 4 players and Team B = 5 players, then the minimum teamsize is 4 and "Teamsize 4" would succeed, but "Teamsize 3" would fail.

 

To have the condition succeed if the minimum teamsize is BIGGER than N, use "Not Teamsize N". E.g. "Not Teamsize 4" will succeed if the smallest team is NOT smaller or equal to 4.

 

I think you would also be able to use the %n% substitution variable (= current min teamsize) if that is simpler for you, e.g. "If %n% > 5;..."

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

Originally Posted by bambam*:

 

There is no way to combine the multi kills into one kill

Actually a technique I've thought about but not actually tested is the "Rate" condition could be used to avoid multiple kills from a single explosive counting as multiple kills... e.g. only the first in a 2-second window would count if a condition "Not Rate 2 2" was added (it takes thinking about...). When a nade explodes, if three players are killed simultaneously, then a player will show 3 kills with 3 different victims within a second. "Damage Explosive;Not Rate 2 2" will succeed for the first kill but not the second or third.

 

On Kill;Damage Explosive;Not Rate 2 2;Say Nade kill (single or multi) #%c%

On Kill;Damage Explosive;Say Nade kill #%c%

 

I *think* the first rule would count up once per nade kill ignoring multi-kills, while the second rule will count every nade kill.

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

Originally Posted by bambam*:

 

On Kill;Set %server_playerkillratio[%p%]% %server_playerkills[%p%]%/%server_playerdeaths[%p%]%

Sorry to bring in a downer but embedded in that rule is ARITHMETIC i.e. var1 divided by var2. ProconRulz has NO support for arithmetic in rulz. Also numbers in ProconRulz variables are integers only.

 

This isn't as crippling as you might think, and it keeps the plugin simpler (for now). For a K/D requirement (if you really need one and can't just use kill rates) you could check the kill counts at 5-kill intervals, starting wherever you want the restriction to kick in. e.g. At 5 kills you make sure the player has at least 2 deaths, at 10 kills at least 5 deaths, 15/7, 20/10 etc. So maybe you end up with 10 rulz, but you get pretty close to what you want. Actually I'd extend the intervals above some number (e.g. if they're 20/10 I'd be fairly comfortable letting them get to 30 kills before the next check...)

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

Originally Posted by gabipaci*:

 

On Kill;Damage Explosive;Not Rate 2 2;Say Nade kill (single or multi) #%c%

On Kill;Damage Explosive;Say Nade kill #%c%

Sorry, i'm real beginner in this.

I need just add this two line to original rule, or i need changeing something?

And, please change the ban to a day tempban.

Rule:

On Kill;Damage ProjectileExplosive;Incr %server_rockets[%p%]%

On Kill;Not Damage ProjectileExplosive;If %server_rockets[%p%]% >= 1;Decr %server_rockets[%p%]%

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% >= 5;Log %p% banned for rocket spamming;Ban %p% rocket spamming

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% == 4;PlayerSay %p%: killed for rocket spamming. # %server_rockets[%p%]%;Kill

On Kill;Damage ProjectileExplosive;If %server_rockets[%p%]% >= 2;PlayerSay %p%: server bans for rocket spamming. # %server_rockets[%p%]%

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

Originally Posted by Operator*:

 

Operator

pfft, easy.

 

TargetPlayer has an optional argument of the (partial or full) name of the player you want to select.

 

E.g. if the target player is *always* bambam (unlikely) then you could use "On Say;Text !kill;TargetPlayer bambam;TargetAction Kill"

Thank you bambam, thats exactly what I wanted!

 

edit:

 

I dont think the argument is being passed, this is what im using:

 

Code:

On Say;Admin;Text !nub;TargetPlayer pPlayer;TargetAction Kill
Where pPlayer is the exact player name
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Thank you bambam, thats exactly what I wanted!

 

edit:

 

I dont think the argument is being passed, this is what im using:

 

Code:

On Say;Admin;Text !nub;TargetPlayer pPlayer;TargetAction Kill
Where pPlayer is the exact player name
Why do you want to hardcode a specific player's name? Maybe it is for a different purpose than you are using in your examples. If you didn't use a specific player name, as BamBam suggested, it would be more versatile since you could specify the desired player's name in the command each time.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Operator*:

 

I want to hardcore the players name because someone wants me to since bambam said on last page, it was possible. I am using the exact name of the specific player.

 

Operator

pfft, easy.

 

TargetPlayer has an optional argument of the (partial or full) name of the player you want to select.

 

On Say;Text !kill;TargetPlayer %varname%;TargetAction Kill

 

It'd help if you explained how the player name was going to get set in the variable.

 

E.g. if the target player is *always* bambam (unlikely) then you could use "On Say;Text !kill;TargetPlayer bambam;TargetAction Kill"

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

Originally Posted by ty_ger07*:

 

Sorry to bring in a downer but embedded in that rule is ARITHMETIC i.e. var1 divided by var2. ProconRulz has NO support for arithmetic in rulz. Also numbers in ProconRulz variables are integers only.

 

This isn't as crippling as you might think, and it keeps the plugin simpler (for now). For a K/D requirement (if you really need one and can't just use kill rates) you could check the kill counts at 5-kill intervals, starting wherever you want the restriction to kick in. e.g. At 5 kills you make sure the player has at least 2 deaths, at 10 kills at least 5 deaths, 15/7, 20/10 etc. So maybe you end up with 10 rulz, but you get pretty close to what you want. Actually I'd extend the intervals above some number (e.g. if they're 20/10 I'd be fairly comfortable letting them get to 30 kills before the next check...)

Oh, ok. :smile:

 

Yes, using a kill rate could be a solution, but it might be too lenient as well. I suppose it is up to the server owner. The kill rate wouldn't restrict the KDR of the player at all, it would only restrict how many kills that player gets in an ammount of time. I assume he is looking for a way to create a 'noob' server where skilled players are filtered out by KDR. But I really don't know. I am just guessing.

 

So, back to how you proposed:

 

Code:

On Kill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On TeamKill;Incr %server_playerdeaths[%v%]%;Incr %server_playerkills[%p%]%
On Suicide;Incr %server_playerdeaths[%p%]%
On Kill;If %server_playerkills[%p%]% == 100;If %server_playerdeaths[%p%]% <= 50;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 98;If %server_playerdeaths[%p%]% <= 50;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 90;If %server_playerdeaths[%p%]% <= 45;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 88;If %server_playerdeaths[%p%]% <= 45;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 80;If %server_playerdeaths[%p%]% <= 40;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 78;If %server_playerdeaths[%p%]% <= 40;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 70;If %server_playerdeaths[%p%]% <= 35;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 68;If %server_playerdeaths[%p%]% <= 35;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 60;If %server_playerdeaths[%p%]% <= 30;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 58;If %server_playerdeaths[%p%]% <= 30;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 50;If %server_playerdeaths[%p%]% <= 25;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 48;If %server_playerdeaths[%p%]% <= 25;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 40;If %server_playerdeaths[%p%]% <= 20;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 38;If %server_playerdeaths[%p%]% <= 20;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 30;If %server_playerdeaths[%p%]% <= 15;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 28;If %server_playerdeaths[%p%]% <= 15;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 20;If %server_playerdeaths[%p%]% <= 10;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 18;If %server_playerdeaths[%p%]% <= 10;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
On Kill;If %server_playerkills[%p%]% == 10;If %server_playerdeaths[%p%]% <= 5;Kick %p% your KDR was over 2.0
On Kill;If %server_playerkills[%p%]% == 8;If %server_playerdeaths[%p%]% <= 5;PlayerSay %p%: warning! Don't exceed 2.0 KDR in this server.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by ty_ger07*:

 

Ah hah!

 

How about this for an automatically incrementing to infinity 2.0 KDR enforcer?

 

Code:

# 2.0 KDR Enforcer for PRoConRulz
# .
# Count deaths
# .
On Kill;Incr %server_playerdeaths[%v%]%
On TeamKill;Incr %server_playerdeaths[%v%]%
On Suicide;Incr %server_playerdeaths[%p%]%
# .
# Create Kill Variable to be used by death limit incrementer
# .
On Kill;Incr %server_playerkillvariable[%p%]%
On TeamKill;Incr %server_playerkillvariable[%p%]%
# .
# Increment death limit at half the rate of kill variable to calculate 2.0 KDR
# .
On Kill;If %server_playerkillvariable[%p%]% == 2;Incr %server_playerdeathlimit[%p%]%;Set %server_playerkillvariable[%p%]% 0
On TeamKill;If %server_playerkillvariable[%p%]% == 2;Incr %server_playerdeathlimit[%p%]%;Set %server_playerkillvariable[%p%]% 0
# .
# Increment rule to fire at every 10th kill
# .
On Kill;Incr %server_playerkillincr[%p%]%
On TeamKill;Incr %server_playerkillincr[%p%]%
# .
# Enforce the 2.0 KDR Rule
# .
# First consider kills
# .
On Kill;If %server_playerkillincr[%p%]% == 10;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;Set %server_playerkillincr[%p%]% 0;Set %server_playerdeaths[%p%]% 0;Set %server_playerkillvariable[%p%]% 0;Set %server_playerdeathlimit[%p%]% 0;Log %p% kicked for exceeding 2.0 KDR.;Kick %p% Do not exceed 2.0 KDR in this server!
On Kill;If %server_playerkillincr[%p%]% == 9;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;PlayerSay %p%: Warning!  Do not exceed 2.0 KDR in this server!
On Kill;If %server_playerkillincr[%p%]% == 8;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;PlayerSay %p%: Warning!  Do not exceed 2.0 KDR in this server!
On Kill;If %server_playerkillincr[%p%]% == 10;If %server_playerdeaths[%p%]% >= %server_playerdeathlimit[%p%]%;Set %server_playerkillincr[%p%]% 0
# .
# Then consider team kills using the same logic
# .
On TeamKill;If %server_playerkillincr[%p%]% == 10;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;Set %server_playerkillincr[%p%]% 0;Set %server_playerdeaths[%p%]% 0;Set %server_playerkillvariable[%p%]% 0;Set %server_playerdeathlimit[%p%]% 0;Log %p% kicked for exceeding 2.0 KDR.;Kick %p% Do not exceed 2.0 KDR in this server!
On TeamKill;If %server_playerkillincr[%p%]% == 9;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;PlayerSay %p%: Warning!  Do not exceed 2.0 KDR in this server!
On TeamKill;If %server_playerkillincr[%p%]% == 8;If %server_playerdeaths[%p%]% < %server_playerdeathlimit[%p%]%;PlayerSay %p%: Warning!  Do not exceed 2.0 KDR in this server!
On TeamKill;If %server_playerkillincr[%p%]% == 10;If %server_playerdeaths[%p%]% >= %server_playerdeathlimit[%p%]%;Set %server_playerkillincr[%p%]% 0
The behavior would be:

 

Player reaches 8 kills with 2 deaths: "Player: Warning! Do not exceed 2.0 KDR in this server!"

Player dies once.

Player kills again (9 kills 3 deaths): "Player: Warning! Do not exceed 2.0 KDR in this server!"

Player kills again (10 kills 3 deaths): "Kick: Player Do not exceed 2.0 KDR in this server!"

Player rejoins server. KDR counter starts over from 0.

Player reaches 10 kills 6 deaths: nothing is displayed. Kill incrementer resets to 0 to count the next 10 kills.

Player reaches 18 kills 8 deaths: "Player: Warning! Do not exceed 2.0 KDR in this server!"

And so on....

 

 

Instead of directly counting KDR, we are making sure the player dies at least a certain number of times for each group of 10 kills. Effectively the same final outcome is produced except this rule will work to infinity without having to create a long list of rules for each increment of kills.

 

One major thing I question (BamBam):

 

On Kill;If %server_playerkillincr[%p%]% == 10;If %server_playerdeaths[%p%]% Set %server_playerkillincr[%p%]% 0;Set %server_playerdeaths[%p%]% 0;Set %server_playerkillvariable[%p%]% 0;Set %server_playerdeathlimit[%p%]% 0;Log %p% kicked for exceeding 2.0 KDR.;Kick %p% Do not exceed 2.0 KDR in this server!

 

I set all the values back to zero before kicking the player so that the player can rejoin right away and not have to wait for the round to end in order to rejoin. Does this make sense?

 

 

 

 

 

 

I realize that I could combine many of those lines together, but figured I would lay them all out separately in this example to make it easier for you to read.

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

Originally Posted by Operator*:

 

I want to hardcore the players name because someone wants me to since bambam said on last page, it was possible. I am using the exact name of the specific player.

nevermind, its working, I had a really old version of Procon Rules, I had version 36x
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by gibbsuk*:

 

Sorry to bring in a downer but embedded in that rule is ARITHMETIC i.e. var1 divided by var2. ProconRulz has NO support for arithmetic in rulz. Also numbers in ProconRulz variables are integers only.

 

This isn't as crippling as you might think, and it keeps the plugin simpler (for now). For a K/D requirement (if you really need one and can't just use kill rates) you could check the kill counts at 5-kill intervals, starting wherever you want the restriction to kick in. e.g. At 5 kills you make sure the player has at least 2 deaths, at 10 kills at least 5 deaths, 15/7, 20/10 etc. So maybe you end up with 10 rulz, but you get pretty close to what you want. Actually I'd extend the intervals above some number (e.g. if they're 20/10 I'd be fairly comfortable letting them get to 30 kills before the next check...)

Ahh ok, no arithmatic. I guess the occasional kill/death check could work and like you say, it will give players a chance to get established with a few deaths before trying to police them. I'll give it a go, thanks.

 

Our server is called PCSpecialist.co.uk BF3 Server (85.236.100.8) if you are still wanting to fav Rulz servers :smile:

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

Originally Posted by gibbsuk*:

 

I assume he is looking for a way to create a 'noob' server where skilled players are filtered out by KDR. But I really don't know. I am just guessing.

That's exactly right ty_ger07 - I have played a lot on another server that features the KDR rule as well as a max allowed kill count of 25 and the maps are set on rotation between Metro, Bazaar and Seine. The action is pretty intense and when you reach your max kills or max your KDR, all you can then do is run around trying not to die and support your team with defibs or help capture flags. It actually makes a really fun game style to play. The downside is that it is a real bind for someone to police and for it to work it needs policing 100% of the time. An automated script will remove the downside and leave only the good!
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Raistlin*:

 

Hi, I need some help. Im trying to implement a No MAV kills code.

 

#### MAVS RULE Version 1 ###

On Kill;Weapon Roadkill;Count 2;Kick DO NOT KILL WITH MAV;Log ^1 %p% Kicked at for MAV KILLING

On Kill;Weapon Roadkill;Count 1;Kill DO NOT KILL WITH MAV;Log ^1 %p% Killed at for MAV KILLING

On Kill;Weapon Roadkill;Log ^1 %p% killed [%v%] with %w% (kill #%c%)

 

#### MAVS RULE Version 2 ###

On Kill;Weapon Roadkill;Count 1;Ban DO NOT KILL WITH MAV;Log ^1 %p% Banned at for MAV KILLING

On Kill;Weapon Roadkill;Log ^1 %p% killed [%v%] with %w% (kill #%c%)

 

Will these work?

I tested it with a friend on my server but nothing apears on chatscreen ingame.

 

He was killed once then kicked 2nd offence for version 1.

Dont want to ban him, so didnt test version2.

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

Originally Posted by chilldog*:

 

hi all

i have just downloaded and installed this plugin but i need some help/ advice please

what i want to do on my server is limit two days of the week just for medic kit with only pistol as a weapon only

 

i have to amit that am very new to this and not clued up:huh: and after reading the forum am still not closer on how to set up:huh:

settings or what i need to do just for the medic kit with just the pistol.i throught it would be different type of game than the normal

so i would be gratefull if anyone could help us out or got an template with the same or near the same idea

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

Originally Posted by bambam*:

 

YouPila

Hello is there a rule to punish tank kill if the number of player is under 5vs5?

thank you so much

Please see example #9 in the first post in this thread (I just added it for you). You can adjust the Teamsize and the PlayerCount numbers and the 'Say' messages as you want.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by bambam*:

 

gibbsuk / ty_ger (I bet it's only me actually reading ty_ger's code)... using ty_ger's formula of testing whether kills > (2 x deaths) (i.e. K/D ratio > 2), I think this simplified approach would work:

 

On Kill;

Incr %kills%;Incr %server_2deaths[%v%]%;Incr %server_2deaths[%v%]%;

If %kills% > 5;If %kills% > %server_2deaths[%p%]%;Say %p% K/D too high;Kill 100

If %kills% > 25;Say %p% you are above 25 max kills;Kill 100

Ratio/limits are highlighted in bold:

The 2:1 K/D limit is calculated by incrementing %server_2deaths[%v%]% TWICE for each kill (while %kills% is straightforwardly the number of kills) (™ty_ger)

The K/D ratio limit does not apply until the player has 5 kills.

An absolute limit is set at 25 kills, after which kills are suicidal.

 

I've ignored teamkills because for your K/D purposes I suggest TK's and Suicides are irrelevant, but if you want to include those kills counts you'll have to add in the On Suicide/On TeamKill stuff from ty_ger.

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

Originally Posted by bambam*:

 

chilldog

what i want to do on my server is limit two days of the week just for medic kit with only pistol as a weapon only

You need example 3 from the 1st post in this thread (snipers/pistols only) but replace "Not Damage SniperRifle" with "Not Weapon Defib" (so now you'll have a server that allows pistol and defib kills only). I'm guessing that's what you meant with "medic kit". You cannot actually test whether a player is Assault, Engineer, Support or Recon, just the weapon they use (assuming you're talking about BF3).
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by chilldog*:

 

chilldog

 

You need example 3 from the 1st post in this thread (snipers/pistols only) but replace "Not Damage SniperRifle" with "Not Weapon Defib" (so now you'll have a server that allows pistol and defib kills only). I'm guessing that's what you meant with "medic kit". You cannot actually test whether a player is Assault, Engineer, Support or Recon, just the weapon they use (assuming you're talking about BF3).

thanks bambam for your quick reply

well the answer is yes i just want the server to run on both teams to use a medic kit,with pistols,health bags only

i am now looking at proconrulz where would i need to input the changes if you know what i mean. sorry for sounding like a idiot

Capture 14.PNG

 

many thx

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

Originally Posted by gibbsuk*:

 

gibbsuk / ty_ger (I bet it's only me actually reading ty_ger's code)... using ty_ger's formula of testing whether kills > (2 x deaths) (i.e. K/D ratio > 2), I think this simplified approach would work:

 

On Kill;Incr %kills%;Incr %server_2deaths[%v%]%;Incr %server_2deaths[%v%]%;

If %kills% > 5;If %kills% > %server_2deaths[%p%]%;Say %p% K/D too high;Kill 100

If %kills% > 25;Say %p% you are above 25 max kills;Kill 100

Ratio/limits are highlighted in bold:

The 2:1 K/D limit is calculated by incrementing %server_2deaths[%v%]% TWICE for each kill (while %kills% is straightforwardly the number of kills) (™ty_ger)

The K/D ratio limit does not apply until the player has 5 kills.

An absolute limit is set at 25 kills, after which kills are suicidal.

 

I've ignored teamkills because for your K/D purposes I suggest TK's and Suicides are irrelevant, but if you want to include those kills counts you'll have to add in the On Suicide/On TeamKill stuff from ty_ger.

Well I've been trialling ty_ger's script for a couple of hours now and it works a charm. I have just altered the values so that it checks every 5 instead of 10 kills. Thanks both of you for your help with this!
* Restored post. It could be that the author is no longer active.
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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




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