ImportBot Posted January 18, 2012 Share Posted January 18, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 18, 2012 Share Posted January 18, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 18, 2012 Share Posted January 18, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 18, 2012 Share Posted January 18, 2012 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/ Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 Originally Posted by wda_exodus*: Works great! Here is the servers I run it on for your list: http://battlelog.battlefield.com/bf3...24-7-Conquest/ http://battlelog.battlefield.com/bf3...ro-no-RPG-320/ Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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 setI 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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.;KillHuh? 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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). Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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 oh you edit AT SAME TIME, be careful of PLAYERCOUNT 1 is for the 2nd KILL , because there is playercount 0 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 100For 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 !! Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 Originally Posted by TiDisintegro*: answer is just in bambam last post , please take a little time to read next time oh you edit AT SAME TIME, be careful of PLAYERCOUNT 1 is for the 2nd KILL , because there is playercount 0 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 100For 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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!!; Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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... Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 19, 2012 Share Posted January 19, 2012 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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! Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 Originally Posted by dlorah*: goodmorning, I would like to add our server to the list of proconrulz servers. We use Proconrules to limit rpg/M320/Clay use and also NO tank/USAS use. We have a hardcore SQDM 16P server. server adress is: http://battlelog.battlefield.com/bf3...azaar-No-Tank/ Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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 >. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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: NSFW-ChatResponderRulz.txt Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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...... 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? Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 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 Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 20, 2012 Share Posted January 20, 2012 Originally Posted by M4xL0ng*: Is it possible to add an nextmap announcer? " On Say;Text /nextmap;Say the nextmap will be %nextmap% " I'm using a similar rule to display the map-rules (rpg kill limits). Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 21, 2012 Share Posted January 21, 2012 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/ Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 21, 2012 Share Posted January 21, 2012 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. Quote * Restored post. It could be that the author is no longer active. Link to comment
ImportBot Posted January 21, 2012 Share Posted January 21, 2012 Originally Posted by Flyswamper*: there's a few things to catch up here... firstly: flyswamper wtf is a flyswamp? 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. (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. Quote * Restored post. It could be that the author is no longer active. Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.