Jump to content

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


ColColonCleaner

Recommended Posts

Originally Posted by bambam*:

 

Friegide eh? This is maybe simpler than you think... this is what your rule will do:

 

On Kill;Map Subway;Damage ProjectileExplosive;Say %p% kicked for use Explosive weapon %w%;Kick %p% banned weapon use

 

(1) On Kill - this rule will ONLY apply when one player has KILLED another player (i.e. this rule will not be used when a player spawns, or says something, or joins, or leaves etc.

 

(2) Map Subway - ProconRulz will check if the map NAME or map FILENAME includes the letters "subway", with everything converted to lowercase. This condition will SUCCEED on map Operation Metro (so rule will continue processing), FAIL on any other map (so processing this rule will stop, and ProconRulz will continue looking through the rest of the rulz).

 

(3) Damage ProjectileExplosive - given the event was 'Kill', ProconRulz will check to see if the Damage caused by the kill weapon is ProjectileExplosive, referring to the Weapon-Damage table given in the ONLINE DOCUMENTATION (and the Plugin Details tab for ProconRulz). E.g. the weapon with key SMAW will cause this damage. If this condition SUCCEEDS, rule will continue processing, if it FAILS processing this rule will stop, and ProconRulz will continue looking through the rest of the rulz.

 

(4) Say %p% kicked for use Explosive weapon %w% - ProconRulz will echo into the chat text box in game, and the chat log "bambam kicked for use Explosive weapon SMAW Anti Tank weapon".

 

(5) Kick %p% banned weapon use - assuming the prior conditions all succeeded, this will kick the player that did the kill, and give that player the kick reason "bambam banned weapon use".

 

You are correct, the "Damage ProjectileExplosive" condition means this rule will not affect players using other weapons that do other damage (i.e. Damage Explosive). If you want that, then add another rule for that case...

 

If I was to guess what you want, i.e. you want to ban weapons like the M67 nade that do damage Explosive, then you simply need another rule

On Kill;Map Subway;Damage Explosive;Say %p% kicked for use Explosive weapon %w%;Kick %p% banned weapon use

 

ty_ger lol you're doing some fancy thinking there... The variable format is certainly ok, and reading your rulz it looks to me like they'll do exactly what you expect. It would make things clearer if you made the messages slightly different (one message is for 'double teamkill on same player' and the other is 'payback teamkill on previous teamkiller') - then you could test more easily. In an eerie coincidence, this code fits an internal update I made to ProconRulz in the new version v38 uploaded today (see attachment to 1st post in thread) which few people will understand: %lastteamkill% is now IDENTICAL to %server_lastteamkill[%p%]%. %lastteamkill% (for example) was always a per-player variable but the format I used to do that was different in an insignificant way - it made sense to normalise the way variables are named to give an equivalence between player variables and server variables indexed on playername. Anyhoo I can see you've completely understood the plugin programming trick of using %p% and %v% in the right order to record data when a player was a VICTIM and later look that up when they're a KILLER, or vice versa. Neat huh.

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

Originally Posted by bambam*:

 

Announcing Version 38 of ProconRulz

 

New version can be downloaded from 1st post in this thread (click my sig). I recommend all users upgrade to this version after which you can probably relax for a bit. Apart from bug fixes as necessary my intention is to moderately extend ProconRulz with new conditions, substitution variable or actions, but not change the processing method much from here. So this V38 makes sense as a foundation for most rulz you'd be able to cut-paste from here moving forward.

 

V38 is upwards compatible with rulz from prior versions, but don't expect new rulz written for v38 to be able to run properly on older versions.

 

The main changes are:

 

(1) The core ProconRulz conditions/actions processing flow has been re-designed such that the distinction between conditions and actions becomes largely irrelevant and they can be in any order in a rule. I.e. you can have trigger-condition-action-condition-action (before you were limited to trigger-condition-condition-action-action). If a condition fails, processing stops for this rule and continues with the next one. So a rule could execute a given action based on the first condition, but selectively execute the second action depending on the second condition in the same rule. For example:

On Kill;Map Subway;Log %p% Metro kill with %w%;Weapon SMAW;Say %p% no SMAW on Metro;Kill

This becomes quite useful where the 'If' condition is used, i.e. you might update a variable in the first part and test it later.

 

(2) Rulz can be written WITHOUT TRIGGERS, and have a special meaning. The rule will be processed as if it has a 'first part' made of the RULE ABOVE THAT DOES HAVE A TRIGGER. E.g.

On Kill;Weapon SMAW

PlayerCount 3;Kick too much SMAW

PlayerCount 1;Kill

Say %p% warning - we have SMAW limits

 

After the On Kill, each of the following rulz can be read as if they have "On Kill;Weapon SMAW" included at the start.

As with feature (1) it's difficult to give a useful example, but if you write rulz this feature turns out to be handy.

 

(3) As mentioned in the response to ty_ger above, server/team/squad/player variable names have a consistent internal equivalence. If you store a players kill count in a variable %killcount% (as in On Kill;Incr %killcount%) then you can freely refer to that variable as both %killcount% (where the player, i.e. %p%, for the current rule is the player of interest) or equally %server_killcount[%p%]%. The latter format is only needed if you're being clever like ty_ger and looking up the variable value even when the player is a victim.

 

(4) General rulz variables can be nested in the same way as substitution variables, i.e. you can have %kills[%lastweapon%]% the same as you can have %kills[%v%]%. ProconRulz variables haven't been available very long so I doubt anyone was aware of that prior limitation. Incidentally if you want to index with TWO variables, e.g. to accumulate a count of how many times a victim has been killed with each weapon, the format is %server_varname[%v%][%w%]%, NOT %server_varname[%v%,%w%]% - these two things are equivalent anyway, but just stick to the first format.

 

(5) TargetPlayer and TargetAction have been re-worked to make them more useful in the variable-driven world of ProconRulz v38. TargetPlayer is the condition designed to suck a playername out of player chat (e.g. On Say;Text !ss;TargetPlayer;...) and succeed if a SINGLE playername can be found after the Text in the chat string (e.g. player says "!ss bam"). TargetPlayer can also be given a string to use (e.g. On Kill;TargetPlayer %v%;...), typically with a variable containing a known player name (as %v% above). TargetPlayer will populate a substitution variable %t% with the player name it has confirmed (or the condition will fail). TargetPlayer is designed to be used with the meta-action "TargetAction " which applied the action given TO THE TARGET, e.g. a "Kill" would normally kill the player that triggered the rule, but with TargetPlayer/TargetAction it can be applied to any player. Equally you can use the "Exec" action but insert a playername in the right place including %t% from a TargetPlayer, e.g. On Say;Text !ss;TargetPlayer;Exec punkBuster.pb_sv_command pb_sv_getss "%t%"

 

And oh yeah, (6) I nearly forgot, the Exec action with punkBuster commands has been modified so it works in the use cases I could identify, e.g. in the example above. Previously this had a problem for some punkbuster commands.

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

Originally Posted by axRhino*:

 

Maybe this has been covered and if so I missed it but can we write a rule based upon a certain game type.

 

In my case I'm interested in a rule that would would kill a player that uses the vehicle in squad deathmatch. If we are not playing sqdm then the vehicles are fine.

 

We have been manually enforcing this rule and warning players with server announcements. I'd prefer to spend more time playing than enforcing this rule.

 

Yes we know we can turn the vehicle off but when we do then we become a custom settings server (rather than hardcore) and our server does not populate.

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

Originally Posted by DethJesta*:

 

I'm trying to write a rule that logs when a specific player has been killed. This is what I have so far, but its not working for me...

 

On Kill;TargetPlayer [eg.DethJesta];Log %p% killed %v%!

 

I have tried without the [ ], but this didn't work, well it did, but picked up every player that made a kill. Is it possible to write such a rule or am I chasing my tail with this?

 

Also, feel free to favourite our server too :]

 

http://battlelog.battlefield.com/bf3...e-200-tickets/

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

Originally Posted by Dudenell*:

 

so I'm testing out the new version with the format you just listed

Code:

# Claymore test
#On Kill;Weapon Weapons/Gadgets/Claymore/Claymore;PlayerSay %p% No Claymores!!!;

On Kill;Weapon Weapons/Gadgets/Claymore/Claymore
	PlayerCount 5;PlayerSay %p% You have NO claymore kills left, you have been punished!;Say %p% Has NO claymore kills left and has been punished!;Kill
	PlayerCount 4;PlayerSay %p% You have NO claymore kills left;
	PlayerCount 3;PlayerSay %p% You have 1 claymore kills left;
	PlayerCount 2;PlayerSay %p% You have 2 claymore kills left;
	PlayerCount 1;PlayerSay %p% You have 3 claymore kills left;
	PlayerCount 0;PlayerSay %p% You have 4 claymore kills left;
I guess what I'm asking is if there is a way to only reply to the player one line at a time for each set

I see that there is an if statement but I don't believe that can be used to test each kill amount.

 

What I'm trying to do is limit the servers claymore kills **per round** to no more than 5, after 5 it will kill the player twice then on the third kick from the server.

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

Originally Posted by ty_ger07*:

 

ty_ger lol you're doing some fancy thinking there... The variable format is certainly ok, and reading your rulz it looks to me like they'll do exactly what you expect. It would make things clearer if you made the messages slightly different (one message is for 'double teamkill on same player' and the other is 'payback teamkill on previous teamkiller') - then you could test more easily. In an eerie coincidence, this code fits an internal update I made to ProconRulz in the new version v38 uploaded today (see attachment to 1st post in thread) which few people will understand: %lastteamkill% is now IDENTICAL to %server_lastteamkill[%p%]%. %lastteamkill% (for example) was always a per-player variable but the format I used to do that was different in an insignificant way - it made sense to normalise the way variables are named to give an equivalence between player variables and server variables indexed on playername. Anyhoo I can see you've completely understood the plugin programming trick of using %p% and %v% in the right order to record data when a player was a VICTIM and later look that up when they're a KILLER, or vice versa. Neat huh.

I haven't had a chance to implement your latest plugin version or try out these team kill rules I proposed -- much less the new fixed exec command (thanks by the way).

 

But...

 

I am just thinking of more elaborate things.

 

A !punish function could be manipulated into your rulz plugin theoretically, right?

 

I am sure this code isn't right since I haven't taken the time to learn the TargetPlayer function or how it really works, but I was thinking something along these lines:

Code:

On Teamkill;Set %server_lastteamkiller[%v%]% %p%
On Say;Text !punish;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% killed for team killing.;Kill
Huh?

 

This stuff is addictive. I need to go to bed.

 

EDIT: I thought of an unexpected consequence. If that !punish rule worked at all, it would not work correctly if the player typed !punish before they were actually dead. If they typed !punish while they were down on the ground but not yet completely dead, I believe it would punish the wrong team member.

 

Unless, maybe team killing is already defined as simply downing a team mate. I don't know how RCon, PRoCon, and your plugin determine a kill in relation to taking a player down versus the player being fully dead and no longer able to be revived.

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

Originally Posted by bambam*:

 

axRhino map mode can easily be tested with the condition "MapMode " which will succeed if any string in the is found in the current map mode (most often you use a single value in the test string list e.g. rush but you could use for example "small,large" (no spaces). Available map modes are:

 

ConquestLarge0 (Conquest, up to 64 players)

ConquestSmall0 (Conquest, up to 32 players)

RushLarge0 (Rush, up to 32 players)

SquadRush0 (SquadRush, up to 8 players)

SquadDeathMatch0 (Squad Deathmatch, up to 16 players)

TeamDeathMatch0 (Team Deathmatch, up to 32 players)

 

A kill from a BF3 vehicle is CURRENTLY "Weapon Death" (a later release of BF3 could replace this with a proper value for the actual vehicle)

 

So your rule to make vehicle kills in squad deathmatch suicidal would be:

 

On Kill;MapMode squaddeathmatch;Weapon Death;Say %p% NO VEHICLES IN SQUAD DEATHMATCH !!;Kill 100

 

Dudenell - your issue is the player gets multiple messages (4,3,2,1) for the same Claymore kill? There are various ways of getting the behaviour you want:

 

(1) If you want the rule to fire ONLY on the 3rd kill, not the 3rd and every one after, use "PlayerCount 2;Not PlayerCount 3;..." i.e. the pair of conditions will succeed if the player count for this rule is >2 but NOT >3 (i.e. it must be 3).

 

(2) The simplest answer is stick a clause "End" on the end of each of your PlayerSay rulz and processing will not continue after that rule - careful though because this will mean any 'logging' rulz later on (or perhaps a hacker-detect kill rate counter) will not see this kill event. I cannot imagine that is a problem with a Claymore rule though so feel free to go for it.

 

(3) You could also experiment with using "If %c% == 3;" instead of "PlayerCount 2;Not PlayerCount 3" as that will then only succeed for that exact value.

 

The countdown trick is neat... a suggestion that would shorten the rulz slightly: rather than saying 3 kills left you can say "%c% of 5 kills now used" - this won't count DOWN (it counts UP) but your 1,2,3,4 all become ONE rule:

On Kill;Weapon Weapons/Gadgets/Claymore/Claymore

PlayerCount 7;Say %p% kicked for excessive Claymores;Kick too many Claymores

PlayerCount 5;PlayerSay %p% You have NO claymore kills left, you have been punished!;Say %p% Has NO claymore kills left and has been punished!;Kill

PlayerSay %p%, you have %c% of 5 Claymore kills - more and you will be killed and then kicked

 

note that PlayerSay is auto-converted to a SquadSay because BF3 doesn't support PlayerSay (yet) but you might as well keep the PlayerSay in your rulz so they work fully if BF3 is upgraded.

 

ty_ger ... the TeamKill trigger fires when the actual KILL occurs (i.e. before any revive). I suspect that NO event fires when a revive happens but I haven't really checked.

 

You could protect against the %server_lastteamkiller[%p%]% being empty or an out-of-date value by initializing it to "noplayer" when the player first spawns (then TargetPlayer will not succeed), and you could choose to reset the variable to this value each time the victim KILLS another player (or teamkills or suicides)

I.e. additional rulz such as

# disable most recent teamkiller because this player just killed

On Kill;Set %server_lastteamkiller[%p%]% noplayer

.. also for teamkill & suicide

# initialize last teamkiller value to noplayer when player first spawns

On Spawn;PlayerFirst;Set %server_lastteamkiller[%p%]% noplayer

 

With the tweak above, the !punish would remain valid from when the VICTIM was teamkilled to when the VICTIM next kills someone (or the end of the round).

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

Originally Posted by TiDisintegro*:

 

My server is:

http://battlelog.battlefield.com/bf3...s-1p-to-start/

 

It does have 2 maps, Metro and Sein Crossing. ProconRulz is enable and limits the use of RPG/SMAW/M320 only in Metro.

 

I set it up this way:

1st kill is suicidal

2nd kill is kick

3rd kill is ban (in case the player comes back)

 

Using the first page rulz:

 

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 3;Log %p% banned for rockets on Metro;Ban %p% Metro rockets

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 2;Log %p% kicked for rockets on Metro;Kick %p% Metro rockets

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 1;PlayerSay %p% no rockets on Metro;Kill 100

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

Originally Posted by C-4-N*:

 

My server is:

http://battlelog.battlefield.com/bf3...s-1p-to-start/

 

It does have 2 maps, Metro and Sein Crossing. ProconRulz is enable and limits the use of RPG/SMAW/M320 only in Metro.

 

I set it up this way:

1st kill is suicidal

2nd kill is kick

3rd kill is ban (in case the player comes back)

answer is just in bambam last post , please take a little time to read next time :smile:

oh you edit AT SAME TIME, be careful of PLAYERCOUNT 1 is for the 2nd KILL , because there is playercount 0 :tongue:

test that code

 

Code:

#Subway
On Kill;Map Subway;Damage ProjectileExplosive;Count 2;say %p% Banned for RPG/SMAW/M320 using;ban %p% no RPG/SMAW/M320 
On Kill;Map Subway;Damage ProjectileExplosive;Count 1;say %p% kick for RPG/SMAW/M320 using;kick %p% No RPG/SMAW/M320
On Kill;Map Subway;Damage ProjectileExplosive;say %p% Stop RPG/SMAW/M320 next Kick;kill 100
For information , If a guy as 2 kill in same tim it will be count 2 kill , so the guy will be kill and kick directly !!
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by TiDisintegro*:

 

answer is just in bambam last post , please take a little time to read next time :smile:

oh you edit AT SAME TIME, be careful of PLAYERCOUNT 1 is for the 2nd KILL , because there is playercount 0 :tongue:

test that code

 

Code:

#Subway
On Kill;Map Subway;Damage ProjectileExplosive;Count 2;say %p% Banned for RPG/SMAW/M320 using;ban %p% no RPG/SMAW/M320 
On Kill;Map Subway;Damage ProjectileExplosive;Count 1;say %p% kick for RPG/SMAW/M320 using;kick %p% No RPG/SMAW/M320
On Kill;Map Subway;Damage ProjectileExplosive;say %p% Stop RPG/SMAW/M320 next Kick;kill 100
For information , If a guy as 2 kill in same tim it will be count 2 kill , so the guy will be kill and kick directly !!
I did not ask for help indeed, just submitted my server as bambam kindly asked on the very first page of this thread. In the meantime I changed the number from 3,2,1 to 2,1,0. I'll try it out.

Thanks

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

Originally Posted by bambam*:

 

I did not ask for help indeed

Lol Cool! Well at least you got a bit of freebie error checking with the 0,1,2 thing. My suggestion would be 0,2,3 (1st & 2nd = warn, 3rd = kill, 4th = kick) and by the way "PlayerCount 0" will ALWAYS be true so you can simply omit that one. Thanks a lot for the server reference - I'll post it and add it to my favorites.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by TiDisintegro*:

 

Lol Cool! Well at least you got a bit of freebie error checking with the 0,1,2 thing. My suggestion would be 0,2,3 (1st & 2nd = warn, 3rd = kill, 4th = kick) and by the way "PlayerCount 0" will ALWAYS be true so you can simply omit that one. Thanks a lot for the server reference - I'll post it and add it to my favorites.

Thank you for the advise. I changed into a more permissive rules:

 

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 4;say %p% you got banned for having used RPG/SMAW/M320 in Metro;Ban %p% no RPG/SMAW/M320

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 3;say %p% you got kicked for having used RPG/SMAW/M320 in Metro Next one you will be banned!!;Kick %p% no RPG/SMAW/M320

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 2;say %p% you got killed for having used RPG/SMAW/M320 in Metro. Next one you will be kicked;Kill 100

On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 1;say %p% stop using RPG/SMAW/M320!! Last warning!! Next one you will be killed;

On Kill;Map Subway;Damage ProjectileExplosive;say %p% stop using RPG/SMAW/M320!!;

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

Originally Posted by ty_ger07*:

 

So, I used that TargetPlayer function correctly?

 

Code:

# Team Kill Punish Rule
On Kill;Set %server_lastteamkiller[%v%]% noplayer;Set %server_lastteamkiller[%p%]% noplayer
On TeamKill;Set %server_lastteamkiller[%v%]% %p%
On Say;Text !punish;If %server_lastteamkiller[%p%]% != noplayer;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% killed for team killing.;Kill
On Say;Text !punish;If %server_lastteamkiller[%p%]% == noplayer;Say %p%: could not find a recent team kill to punish.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% != noplayer;Say %server_lastteamkiller[%p%]% was forgiven by %p%.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% == noplayer;Say %p%: could not find a recent team kill to forgive.
So that would totally work?

 

Of course !forgive wouldn't actually do anything other than give the player a warm fuzzy feeling for forgiving someone.

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

Originally Posted by axRhino*:

 

axRhino map mode can easily be tested with the condition "MapMode " which will succeed if any string in the is found in the current map mode (most often you use a single value in the test string list e.g. rush but you could use for example "small,large" (no spaces). Available map modes are:

 

ConquestLarge0 (Conquest, up to 64 players)

ConquestSmall0 (Conquest, up to 32 players)

RushLarge0 (Rush, up to 32 players)

SquadRush0 (SquadRush, up to 8 players)

SquadDeathMatch0 (Squad Deathmatch, up to 16 players)

TeamDeathMatch0 (Team Deathmatch, up to 32 players)

 

A kill from a BF3 vehicle is CURRENTLY "Weapon Death" (a later release of BF3 could replace this with a proper value for the actual vehicle)

 

So your rule to make vehicle kills in squad deathmatch suicidal would be:

 

On Kill;MapMode squaddeathmatch;Weapon Death;Say %p% NO VEHICLES IN SQUAD DEATHMATCH !!;Kill 100[/color

You are the man!!

 

Will test it and report back...

 

If it works you just made my admin responsibilities 90% smaller...

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

Originally Posted by maximal1981*:

 

hi,

 

at the moment I use this rulez

 

Code:

# Warning for RPG/tube use on Subway on first kill in this round
On Kill;Map Subway;ServerFirst;Say Please DO NOT use RPG/SMAW in Metro, there are no vehicles here!
# Swearing
On Say; Set %server_badword% 0
Text faggot,fuck,fick,gay,homo,idiot,idioot,moron;Incr %words%;Set %server_badword% 1
If %words% > 2;Set %words% 0; Say %p% kicked for swearing and/or disrespecting players;Kick %p% Being disrespectfull
If %server_badword% == 1;Say %p% watch your language!!!
# Instakicks
On Say;Text kanker,kurwa,aids,asshole;Say %p% that language is unacceptable, your getting auto-kicked!!!;Kick %p% that language is unaccaptable, autokicked
# Detect spawn/baserape texts
On Say;Not Admins;Text spawnrap,baserap;Say state name of offender so our admins can look through log!;Log baserape complaint!
# Hacking
On Say;Text hack,cheat;Say Are you sure you are being respectful %p% it might be skill! Who is doing it_;Log moaning alert
# Noobtube, warn at 5 with a kill, kick at 9 for overly using it - when killing 3 in 30 seconds, kill as a warning
On Kill;Weapon M320;Count 9;Kick %p% enough is enough;Log %p% kicked for noobtubing
On Kill;Weapon M320;Count 3;Kill;Say that's enough tubing %p% - switch weapons;Log %p% warned for noobtubing
On Kill;Weapon M320;Rate 3 30;Kill;Say that's enough tubing %p% - switch weapons;Log %p% warned for noobtubing
# No RPG/SMAW
On Say;Text RPG,SMAW;Say No RPG/SMAW against infantry, only on vehicles
# Bazaar anti-RPG usage enforcement (since there is 1 tank, 3 kills in 30 seconds should be sufficient) - No usage on Metro
On Kill;Map Bazaar;Weapon RPG-7,SMAW;Count 9;Kick %p% enough is enough;Log %p% kicked for RPG or SMAW abuse
On Kill;Map Bazaar;Weapon RPG-7,SMAW;Rate 3 30;Kick %p% enough is enough;Log %p% kicked for RPG or SMAW abuse
On Kill;Map Bazaar;Weapon RPG-7,SMAW;Count 1;Kill;Say No RPG or SMAW on infantry
On Kill;Map Metro;Weapon RPG-7,SMAW;Count 2;Kick %p% enough is enough;Log %p% kicked for RPG or SMAW abuse
On Kill;Map Metro;Weapon RPG-7,SMAW;Count 1;Kill;Say No RPG or SMAW on infantry
# Admincheck - let's people see if someone is admin and if they are online
On Say;Text amadmin,=admin;Admin;Say Yes %p% you are admin;Log Admincheck on %p%
On Say;Text amadmin,=admin;Not Admin;Say Alas, %p% you are no admin here;Log Admincheck on %p%
On Say;Text adminonline;Admins;Say Yes %p%, admins online and in-game;Log Admin online-check from %p%
On Say;Text adminonline;Not Admins;Say Our admins are always watching %p%;Log Admin online-check from %p%
but I also want that players will be killed, if they kill player with vehicles below 10 players.

 

does anybody know it's posible, and why?

 

 

thanks maximal1981

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

Originally Posted by Flyswamper*:

 

Hey guys.... could I use this plugin to have the server ridicule a particular player every time he says something via in-game chat?

 

Bascially a rule that would trigger only when a particular player/soldiername entered a chat message and the response would be another server chat message telling everybody he is an idiot.

 

Of course, I could just ban the guy I want this for...but somehow I think this is more fun in this case.

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

Originally Posted by ty_ger07*:

 

So, I used that TargetPlayer function correctly?

 

Code:

# Team Kill Punish Rule
On Kill;Set %server_lastteamkiller[%v%]% noplayer;Set %server_lastteamkiller[%p%]% noplayer
On TeamKill;Set %server_lastteamkiller[%v%]% %p%
On Say;Text !punish;If %server_lastteamkiller[%p%]% != noplayer;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% killed for team killing.;Kill
On Say;Text !punish;If %server_lastteamkiller[%p%]% == noplayer;Say %p%: could not find a recent team kill to punish.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% != noplayer;Say %server_lastteamkiller[%p%]% was forgiven by %p%.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% == noplayer;Say %p%: could not find a recent team kill to forgive.
So that would totally work?

 

Of course !forgive wouldn't actually do anything other than give the player a warm fuzzy feeling for forgiving someone.

Nope, doesn't work. It punished the wrong player.

 

This is what I got:

[22:14:28] (PlayerSay Black_pool01) Black_pool01: watch your fire! #1

[22:14:28] ProconRulz: Black_pool01 team killed ty_ger07 with M4A1 Carbine.

[22:14:41] ty_ger07 > !punish

[22:14:32] Black_pool01 killed for team killing.

[22:14:32] ProconRulz: Player ty_ger07 killed

The TargetPlayer function apparently requires a TargetAction function. Does TargetAction require TargetConfirm? I don't know.

 

Would this work by adding the TargetAction and TargetConfirm functions?

 

Code:

# Team Kill Punish Rule
On Kill;Set %server_lastteamkiller[%v%]% 0;Set %server_lastteamkiller[%p%]% 0
On TeamKill;Set %server_lastteamkiller[%v%]% %p%
On Say;Text !punish;If %server_lastteamkiller[%p%]% != 0;TargetPlayer %server_lastteamkiller[%p%]%;Say %server_lastteamkiller[%p%]% killed for team killing.;TargetAction Kill;TargetConfirm
On Say;Text !punish;If %server_lastteamkiller[%p%]% == 0;Say %p%: could not find a recent team kill to punish.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% != 0;Say %server_lastteamkiller[%p%]% was forgiven by %p%.
On Say;Text !forgive;If %server_lastteamkiller[%p%]% == 0;Say %p%: could not find a recent team kill to forgive.
I found that substituting 0 for noplayer was better since that is the default value when a player joins the server or a new round starts.
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Dudenell*:

 

Dudenell - your issue is the player gets multiple messages (4,3,2,1) for the same Claymore kill? There are various ways of getting the behaviour you want:

 

(1) If you want the rule to fire ONLY on the 3rd kill, not the 3rd and every one after, use "PlayerCount 2;Not PlayerCount 3;..." i.e. the pair of conditions will succeed if the player count for this rule is >2 but NOT >3 (i.e. it must be 3).

 

(2) The simplest answer is stick a clause "End" on the end of each of your PlayerSay rulz and processing will not continue after that rule - careful though because this will mean any 'logging' rulz later on (or perhaps a hacker-detect kill rate counter) will not see this kill event. I cannot imagine that is a problem with a Claymore rule though so feel free to go for it.

 

(3) You could also experiment with using "If %c% == 3;" instead of "PlayerCount 2;Not PlayerCount 3" as that will then only succeed for that exact value.

 

The countdown trick is neat... a suggestion that would shorten the rulz slightly: rather than saying 3 kills left you can say "%c% of 5 kills now used" - this won't count DOWN (it counts UP) but your 1,2,3,4 all become ONE rule:

On Kill;Weapon Weapons/Gadgets/Claymore/Claymore

PlayerCount 7;Say %p% kicked for excessive Claymores;Kick too many Claymores

PlayerCount 5;PlayerSay %p% You have NO claymore kills left, you have been punished!;Say %p% Has NO claymore kills left and has been punished!;Kill

PlayerSay %p%, you have %c% of 5 Claymore kills - more and you will be killed and then kicked

 

note that PlayerSay is auto-converted to a SquadSay because BF3 doesn't support PlayerSay (yet) but you might as well keep the PlayerSay in your rulz so they work fully if BF3 is upgraded.

Thanks for the help bambam! I wasn't quite sure of the limitations of this pluggin so I didn't experiment with anything other then that (worried it would cause a server crash)

 

I just have one more question regarding playersay, I'm guessing that was meant to go towards a specific player (I found examples from this thread for player say is why I'm using it) but it only works for the squad or is it just straight up broken at this point? and are you sure they will be implementing this fix or are you just hoping at this point? Thanks!

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

Originally Posted by MorpheusX(AUT)*:

 

Not sure if this has been mentioned already, or I am simply blind, but I think, we're missing the MK3A1 (new Fully-Auto Shotgun from B2K Assignments), right?

Would be nice to have too, since people now use this shotgun with Explosive Rounds on Metro, which is quite as annoying as USAS >.

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

Originally Posted by bambam*:

 

maximal1981 ProconRulz has a 'Teamsize' condition that checks the size of the *smallest* team (in a balanced server this would be half the total). Kills with vehicles are currently "Weapon Death" (mortars are also reported as Weapon Death). So you can limit vehicles (and you have to include mortars) with the following rulz:

 

On Kill;Admins;Teamsize 5;Weapon Death;Say %p% no vehicles until 5 per team

On Kill;Not Admins;Teamsize 5;Weapon Death;Say %p% no vehicles until 5 per team;Kill 100

These rulz only WARN (with the say message) if admins are in-game (so it can be up to them if they want to take action) and automatically KILL the player in the vehicle if no admins are in-game. If you want the rule to ALWAYS KILL the player in the vehicle (i.e. ignore admins) then delete the top rule and remove the "Not Admins" clause from the second rule.

 

Flyswamper it is easy to write a 'Say Text Auto-Responder' using rulz - I have attached the rulz used on our server to this post - they are Not Suitable For Work. Do not open if you are traumatized by naughty words such as fuck.

 

ty_ger sorry I'm trying to keep up. mainly I need to complete a "Programming ProconRulz" document I'm writing that explains how the rulz processing/targetactions/rulz variables actually works - we've covered pretty much all of it in this thread but it's scattered across many posts. The TargetPlayer/TargetAction summary is:

 

TargetPlayer [] is used to set up the PlayerName any TargetAction in the same rule is aimed at, in a substitution variable called %t%.

 

If the optional string is given, then that is used to scan the current in-game players to try and match it in a name of a player. Generally if a string is used it will be the exact name of a player either literally (e.g. "TargetPlayer bambam_ofc"), or by using a variable ("TargetPlayer %v%"). %t% then contains the name of the player matched.

 

If the optional string is NOT given, then it is assumed this rule has an On Say trigger and TargetPlayer will search the %text% player chat value for a string that matches a single player name. If you have a "Text" condition before TargetPlayer in the same rule, TargetPlayer will only search for a PlayerName AFTER the matching text in the player chat. E.g. a rule "On Say;Text !ss;TargetPlayer;...", given player chat "!ss bam", will try and look for a PlayerName matching the player chat text starting from the letter "b" (i.e. will try and find the string "bam" ANYWHERE in any of the PlayerNames of the players on the server).

 

TargetPlayer ONLY succeeds if it matches a single player. If it matches no players, or matches multiple players, then it fails. TargetConfirm is no longer needed in ProconRulz (it does nothing).

 

Actions in ProconRulz are generally applied to the player that triggered the rule. E.g. the "Kill" action can be thought of as applying to the player %p%.

 

TargetAction is the way you tell ProconRulz "apply this action to the TargetPlayer target %t%, not the usual %p%". So with the latest version of ProconRulz, a rule could mix actions for just about anybody, using pairs of TargetPlayer and TargetAction clauses plus also any simple actions on the %p%. The only way I've seen this commonly used is with a single TargetPlayer, plus also simple actions affecting %p%. For example on a TeamKill, IF you wanted to kill the teamkiller AND do a PlayerSay action to the victim (ignore the fact that PlayerSay is limited in BF3): On TeamKill;Kill;TargetPlayer %v%;TargetAction PlayerSay Admijn slayed %p% that TK'd you

 

Attached Files:

* 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

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

Originally Posted by maximal1981*:

 

maximal1981 ProconRulz has a 'Teamsize' condition that checks the size of the *smallest* team (in a balanced server this would be half the total). Kills with vehicles are currently "Weapon Death" (mortars are also reported as Weapon Death). So you can limit vehicles (and you have to include mortars) with the following rulz:

 

On Kill;Admins;Teamsize 5;Weapon Death;Say %p% no vehicles until 5 per team

On Kill;Not Admins;Teamsize 5;Weapon Death;Say %p% no vehicles until 5 per team;Kill 100

These rulz only WARN (with the say message) if admins are in-game (so it can be up to them if they want to take action) and automatically KILL the player in the vehicle if no admins are in-game. If you want the rule to ALWAYS KILL the player in the vehicle (i.e. ignore admins) then delete the top rule and remove the "Not Admins" clause from the second rule.

thx, I will prepare it and give a feedback
* Restored post. It could be that the author is no longer active.
Link to comment

Originally Posted by Flyswamper*:

 

Flyswamper it is easy to write a 'Say Text Auto-Responder' using rulz - I have attached the rulz used on our server to this post - they are Not Suitable For Work. Do not open if you are traumatized by naughty words such as fuck.

Thanks for the example from your server. When I look at those, however, it appears to me that those respond to chat from ANY player in the server. I know I'm probably just being ridiculously lazy here and not bothering to read all the documentation, but what I was wondering about was a rule that would respond to anything a particular (and ONLY that player) said.

 

So...pretty much...if I was the target of the rule, any time I said anything it would say back to the entire server "Flyswamper is an idiot, thanks for sharing your idiot chat messages."

(hopefully I'll get a lot more inventive that that, but.... we've got this guy that seems to love to pretend he is admin and makes up his own rules. Pretty sure most of our regulars know he is full of it, but.... I've seen plenty of cases in the chat where some naive player believed the guy and thought that the people running the server were the worst kind of admins out there. I'd just like to play around with an auto-responder that only talks back some smack to this particular guy...... :smile:

 

Again, I'm being lazy.... but can somebody give me an example rule that would only activate when the player named "Flyswamper" said something in chat?

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

Originally Posted by axRhino*:

 

If you wish to discourage the use of the vehicle in SQDM then try these two rules. I added the second one so people can just use the vehicle to run other guys over.

 

On Kill;MapMode squaddeathmatch;Weapon Death;Say %p% NO VEHICLES IN SQUAD DEATHMATCH !!;Kill 100

On Kill;MapMode squaddeathmatch;Weapon Roadkill;Say %p% NO VEHICLES IN SQUAD DEATHMATCH !!;Kill 100

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

Originally Posted by pillsbury420*:

 

Hello, a few friends and I have a Metro server that we use ProconRulz on to autoenforce No Explosives, No Mav, No Mortar, and No shotguns Rules. If you are still interested in servers that use ProconRulz we would very much like to have you include our server on your list in the top post of the this tread. The server name is 24/7 Operation Metro NO EXPLOSIVES/SHOTGUNS. The URl for the battlelog page is http://battlelog.battlefield.com/bf3...IVES-SHOTGUNS/

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

Originally Posted by bambam*:

 

there's a few things to catch up here... firstly:

flyswamper wtf is a flyswamp?

can somebody give me an example rule that would only activate when the player named "Flyswamper" said something in chat?

Well, it's easy to do (see second rule), but it depends how you want to enter the player name as a target. This (untested) example allows any admin to say "!twat bam" which will set the value of the ridiculed playername to "bambam", and then the second rule will kick in whenever that player (i.e. me) says something. If you want to permanently set the twat to flyswamper, then you don't need the first rule or the variable %server_twat%.

 

On Say;Admin;Text !twat;TargetPlayer;Set %server_twat% %t%

On Say;If %p% == %server_twat%;Say %p%.. you are a twat.

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

Originally Posted by Flyswamper*:

 

there's a few things to catch up here... firstly:

flyswamper wtf is a flyswamp?

:smile: Not sure even I know the answer to that one. But.... not that it will make any sense to you.... Flyswamp is kinda a mish-mash of the fact that I used to play tons of street-pickup-b-ball while this song was blaring on somebody's boombox: http://www.youtube.com/watch_v=yEfg6XU9tdQ and the fact that my real-life name has something to do with swamps (loosely speaking). That...and it's a handy alias that doesn't seem to get taken by anybody else much. :P (although I'm still trying to find out who registered it for BF2142 before I could...think somebody was messing with me).

 

 

On Say;Admin;Text !twat;TargetPlayer;Set %server_twat% %t%

On Say;If %p% == %server_twat%;Say %p%.. you are a twat.

Many thanks! I'll try to think of something inventive and funny and hopefully get it tested/working this weekend. :smile:
* 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.