Page 1 of 613 1231151101501 ... LastLast
Results 1 to 10 of 6127
  1. #1

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

    Donations: none needed - ProconRulz is 100% free software. Please acknowledge any support by clicking the Rate this thread link just above this post, and sharing the rulz you come up with. Thank You.



    ProconRulz is a general-purpose Procon plugin that allows admin actions to be taken based on events and triggers. The most common usage is for weapon limits, e.g. "On Kill;Weapon SMAW;Kill" (which will limit the SMAW rockets by killing any player that kills with that weapon). Or you can limit players NOT using certain weapons, e.g. for a pistols-only server "On Kill;Not Damage Handgun;Kill" (which will kill any player that kills with anything NOT a pistol).

    Rulz for many example requirements are given at the end of this thread

    If you are new to ProconRulz, and look at the documentation, the fact that ProconRulz is now capable of enabling you to write sets of rulz that behave as killstreak announcers or in-game admin or rude-word-responders will appear scary at first, so don't forget ProconRulz was designed from the beginning to allow simple rulz to implement weapon limits, so it's easy to start with a single rule e.g. limiting nades with On Kill;Weapon M67;PlayerCount 3;Say Too many nade kills for %p%;Kill.


    How to enter your rulz
    click here to expand this section:

    Click the elements 1..5 as per the screenshot below.
    NEW feature in V44 is the 'Rulz .txt filenames' plugin setting (#4 in screenshot) which allows you to have additional files containing rulz in the same folder as the proconrulz.cs file and load them directly from those files. This is the BEST approach if you have easy access to the rulz files that are in the ProconRulz download zip which go alongside the proconrulz.cs in the Plugins/<gameid> folder.
    Alternatively you can enter rulz directly into the plugin in the multi-line 'Rules' setting entry: When the [...] button is clicked on the 'Rules' plugin setting (Just above #4 in image) a pop-up edit window wll appear and you cut-and-paste your rulz into that window and save. This may be simpler if you have a 'layer server' and a hosting company that makes it difficult to manage server files.

    See below in this thread for sample rulz and an explanation of BF3/BF4 limitations so you don't ask the same "how do I block mortars" question as everyone else...

    ProconRulz has a very flexible range of conditions and actions that can be applied, so as your rulz get fancy you are in effect creating a custom plugin. But everyone begins thinking they "just" want a simple weapon limit.

    NEWS 25-Dec-2013: version 44j1 uploaded. Rulz .txt files now reloaded on plugin enable (useful for layer-server users).
    NEWS 17-Dec-2013: version 44h6 uploaded. New On RoundOver trigger that fired on end-of-round (useful for BF4). !knife rulz added.
    NEWS 9-Dec-2013: version 44g3 uploaded. BUGFIX version for new "On Init" trigger with BF3/4. Users who downloaded 44g.2 should replace with this version if they want to use the new On Init trigger (also used in snipersquad rulz set).
    NEWS 6-Dec-2013: version 44g2 uploaded. Sniper Squad limiter rulz added. Added Linux support for %ini_..% vars file. New 'On Init' trigger that can be used for simple startup values for rules.
    NEWS 2-Dec-2013: version 44f1 uploaded. Support for Linux external .txt rulz files. Updated sniper limit with additional !setsniper command (e.g. !setsniper bam) for admin to guarantee sniper slot to a player.
    NEWS 26-Nov-2013: version 44e2 uploaded. Support for BF4 with four weeks of testing (thanks D1bble, Tarreltje). Now rulz can be held in an external file and loaded by the plugin making it easier to share rulz sets e.g. for weapon limits, teamkill limits, announcers, etc.
    Older news click to expand:

    NEWS 17-Sep-2012: version 43d1 uploaded. New %score% variable for in-game player score. '+' now allowed as first character in a rule to act as a 'join' character to the rule above for multi-line rulz. Docs updated.
    NEWS 07-Sep-2012: very minor bugfix version 43c.1 uploaded. No functional changes - just a catch for an error condition that can be logged in the TargetPlayer condition when given an empty target (e.g. an admin types !kick, without giving a player name.) ProconRulz would be unaffected by the error, but log an 'exception' in the plugin log and continue. With this v43c.1 ProconRulz detects this condition and handles it more gracefully.
    NEWS 21-Aug-2012: Download updated to version 43b.8. Major update: Arithmetic added, permanent 'ini' variables, rounding, new variables for date, time, teamsize of each team, new logging options (to choose where ProconRulz 'Log' actions write to). ONLINE DOCUMENTATION UPDATED.
    NEWS 29-Jun-2012: Download updated to version 41a.4. Minor update: Text and TargetPlayer conditions have been enhanced to enable more flexible rulz for in-game admin. It is now easy to define in-game commands such as !kick <player> <reason> (previously the 'reason' part was difficult with ProconRulz. ONLINE DOCUMENTATION UPDATED.
    NEWS 15-May-2012: Download updated to version 40d.2. Minor update: quoted strings can now be used in rulz, e.g. Set %x% "Hello world". Particularly useful for Exec actions e.g. Exec vars.serverName "Bambam's Server".
    NEWS 2-May-2012: Download updated to version 39d.1. Minor update: new substitution variable %team_score% which holds the number of tickets left for each team, updated about every 30 seconds. See ProconRulz online docs (link above) for details,
    NEWS 24-Apr-2012: Download updated to version 39b.2. Minor update: all yell actions now have an optional integer first parameter for the number of seconds it should remain on screen, e.g. "PlayerYell 10 Change your kit %p%!!! Sniper Limit". If the text immediately following the action name (e.g. "Yell") isn't a number, then the default yell time from your plugin settings is used. (And that is set to 5 seconds unless you change that...). Also I've updated the online docs
    NEWS 16-Apr-2012: Download updated to version 39a.4. Full set of Say/Yell actions provided for BF3 now that BF3 R20 supports those. I.e. Say, PlayerSay, SquadSay, TeamSay, Yell, PlayerYell, SquadYell, TeamYell. Also 'player country' substitution variables added %pcountry%, %pcountrykey%, %vcountry%, %vcountrykey% for player and victim country (e.g. Germany) and country 'key' (e.g. DE) respectively.
    NEWS 07-Apr-2012: Cambridge win the Boat Race. ProconRulz Sniper Limit (by tarreltje) added as Example 13.
    NEWS 02-Apr-2012: Minor update 38e.1 for BF3 R20 - Yell and PlayerSay actions now work.
    NEWS 26-Jan-2012: A new documentation PDF is available
    NEWS 18-Jan-2012: ProconRulz update to version 38d2. It is recommended all users update to this version which significantly extends the flexibility with which rulz can be written and fixes an issue with executing punkBuster commands. ProconRulz remains upwards-compatible with rulz from prior versions. It is expected the core processing logic of ProconRulz will be stable now for a while (with bug fixes as needed), with development limited to new conditions, actions, or perhaps substitution variables if they're needed. Basically 38d2 is like a VERSION upgrade, while the next few upgrades can be considered incremental releases. With 38d2, conditions (e.g. "Weapon SMAW") and actions (e.g. "Kick") can now be freely intermixed in any rule in any order, with processing proceeding from left-to-right through the rule until a condition fails. This won't mean much to you unless you've tried it but it removes a constraint from prior versions that was unexpected to some users. Variable names can now be nested in a completely general way, e.g. a count of weapon use by each player could be stored in %server_weapon_use[%w%][%p%]%.
    NEWS 11-Jan-2012: New example added (Example 8) of simple kill-rate anti-hacker rulz.
    NEWS 09-Jan-2012: It's been noted the Procon Configs/BF3.def file does not have an entry for the Jackhammer MK3A1 shotgun. If you want to add the weapon without waiting for a Procon update, add the following line to the Configs\BF3.def file near the other similar entries:
    procon.protected.weapons.add None "jackhammer" Primary Shotgun
    NEWS 04-Jan-2012: Minor bugfix v37g3 (fixes minor PBBan message error). Also adds a new "If %var% word <value>" condition that matches words (e.g. say text) not just a string anywhere as 'Text' condition.
    NEWS 28-Dec-2011: Minor bugfix v37e3 upload, corrects the display of the %c% variable (now counts from 1, not 0), and the 'Text' condition for single-word player say values.
    NEWS 27-Dec-2011: ProconRulz major update to v37 - This has a significant update to the rules processing engine, plus a few useful things that have been asked for:
    * NEW PBKick and PBBan actions added (kicking, banning via PunkBuster using PB GUID)
    * NEW substitution variables %ea_guid%, %pb_guid%, %ip%
    * A small change has been made to the way ProconRulz steps through the rulz: ProconRulz will CONTINUE rulz processing for a single event until a KILL/KICK/BAN event is fired.. This means multiple Log/Say actions can fire for a single event. A new action "End" can be placed after any Log/Say action to return the behaviour of the prior versions.
    * NEW Continue and End actions that force rulz processing to continue or end respectively, overriding the default behaviour of continuing unless the action was Kill/Kick/Ban.
    * NEW User-writeable Rulz %Variables%. Supported with new conditions Set, Incr, Decr, and If. This provides much greater flexibility in rulz writing, e.g. to keep track of kill streaks, or for a QuakeCounter-style plugin.
    NEWS 29-Nov-2011: ProconRulz minor update to v34 - 'Protection' of admins from kicks/bans now optional.
    NEWS 28-Nov-2011: An updated Procon is available, so ProconRulz modified BF3.def is no longer needed or included in the zip.

    ProconRulz has been extensively used on BFBC2 servers (for BFBC2 see this thread). That thread now has hundreds of entries so for BF3 I've started this new one.

    ProconRulz has relatively comprehensive documentation on its 'Details' tab, so please refer to that. For info, if you haven't downloaded the plugin yet, you can check out an cached version of the details info online here. Of course for the most up-to-date version of the documentation, check the plugin 'Details'.

    ProconRulz allows rulz of the format "Trigger;Conditions...;Actions..." with a wide choice of triggers, conditions and actions. The most trivial forms of weapon limits can be implemented with a single rule, e.g. to kill players using the M320 underslung rifle nade, use the single rule given as an example at the top of this post. However, with a bit of thought, it is possible to provide rulz with a more complex behaviour, e.g. warn on the first kill, kill on the third, kick on the fifth.

    ProconRulz installs with half-a-dozen default simple rulz that provide a template for your rulz if that helps.

    Currently included rulz sets

    Sniper Limit (proconrulz_sniperlimit.txt) - limits the number of snipers on each team to a maximum set at the top of the rulz. A sniper slot is reserved when the player kills with a sniper rifle. The sniper slot is released when the round ends, the player leaves, or the player kills with some other weapon and an announcement is issued to team. All players have the !snipers command which tells them the current snipers on their team. Also included is proconrulz_sniperdmrlimit.txt which is the same but limits both sniper rifles and DMR's. CREDIT tarreltje and see thread here

    Sniper Squad Limit (proconrulz_snipersquad.txt) - only permits sniper kills if you are in a particular squad (default Echo). Also supports a !snipers command that tells users what's going on. (As above, also with proconrulz_sniperdmrsquad.txt for snipers andDMR's). CREDIT staazvaind.

    Announcer (proconrulz_announcer.txt) - gives a few kill messages (Fred knifed Barney) for you to modify.

    Multi-kills (proconrulz_multikill.txt) - keeps track of short-term multi-kill streaks and makes Quake-like announcements. Credit Bl1ndy and Panther.

    Rules (proconrulz_rules.txt) - simple rulz that display messages when any player types !rules - for you to modify for your server.

    Punish (proconrulz_punish.txt) Support of !punish / !p and !forgive / !f for teamkills. CREDIT ty_ger07 and russel5

    Killstreak (proconrulz_killstreak.txt) Announces kill streaks at 5/10/15 kills etc, and when ended. Credit ty_ger07

    Best 3 Players (proconrulz_best3players.txt) Particularly for TDM announces current highest kill player & each time that changes. CREDIT tarreltje.

    ************************************************** ************************************************
    Plus, you can still edit additional rulz directly into the Plugin settings with these as examples for ideas below
    ************************************************** ************************************************

    BF3 Map names and modes

    In case you need them in Map or MapMode conditions, BF3/BF4 names and modes are collected into this post.

    ProconRulz doesn't really care what keys you use - it's up to you to check your conditions match whatever your server is sending. This is collected documentation for BF3 that you can find on the internet.

    Some current limitations of BF3/BF4 to be aware of

    click to expand:

    1) not all weapon keys are available. All kills by mortar, MAV, tanks, choppers, humvee are just weapon 'Death'. This means Damage VehicleXXX conditions cannot be used in BF3.
    2) weapon keys are currently given on 'kill' events but not on 'spawn' events.
    3) player kit (i.e. assault, recon etc) is not available
    4) player specializations/accessories are not availabe
    5) xxx whoopie xxx this limitation now removed - PlayerSay, TeamYell etc now supported in BF3
    6) A rocket attack on a tank, killing the player inside, cannot be distinguished from a soldier that gets hit by an RPG7 in the face. Both show the killer killing the victim with a rocket. This means no plugin can detect RPG's used on infantry as opposed to tanks.
    7) there are no events triggered when a player enters or leaves any vehicle
    8) Nade launchers slung under assault rifles are reported by BF3 as a kill BY THE ASSAULT RIFLE. This is an absolute bug in BF3, IMHO. It means you CANNOT tell in any plugin whether the kill was by a bullet from an M416 rifle, or an M320 nade from a launcher that happened to be attached to the M416 rifle.
    9) BF3 is not reporting the map coordinates of the killer or victim in a kill event (although BFBC2 does with a 10m random error). This means the ProconRulz 'Range' condition and %r% variable are non-functioning for BF3.
    10) As of BF3 R21, admin kills in the server are being reported as "Suicides with weapon Death". I.e. they will now trigger the "On Suicide" rulz in ProconRulz. If you don't want your On Suicide rulz triggered by automatic 'Kill' actions in other rulz, the simplest method is to use rulz with "On Suicide;Not Weapon Death;...". I suspect this means a player that mortars himself (i.e. really does commit suicide with weapon 'Death') will then also not trigger the "On Suicide;Not Weapon Death.." rulz, but that is the best current compromise.

    Specifically, these kinds of limits are not possible, even though many people ask:
    * no mortar limits (see 1. Mortars are one of the weapons with key DEATH, as well as all vehicles). On an infantry-only server, you can use a Weapon Death condition to block mortars because you are not worried about vehicle kills being affected by the same rule.
    * no server limit for numbers of players spawned with a particular kit/spec/weapon (see 2). See also Example 13 (by tarreltje), with a workaround by checking for snipers a kill time.
    * no 'max 2 snipers per team' type rule at spawn time (I just explained that in the line above ^^)
    * no 'max 2 mortars per team' type rule (ditto)
    * no kill or spawn limit for players with MAV (aka Weapon Roadkill - similar issues to mortar comment above) except on non-vehicle maps like Metro where blocking all roadkill works
    * no rule to kill m26 users (Dart/Mass) BF3 not reporting underslung weapons

    For all this, you can still prevent the use of the 55 weapons that *do* have a weapon key (and hence also a damage-type), by having a rule that kills any player that kills with one. E.g. my favorite rule:

    On Kill;Map Subway;Damage ProjectileExplosive;Kill

    This makes RPG kills on Operation Metro suicidal. Right now you probably have no idea what this rule does or how it works, but when you've installed ProconRulz and tried a few simple rulz you'll get the idea, so congratulations...

    So I've tried to explain the BF3 limitations, but still get questions like this:
    does anyone know how to limit the snipers to 5 a side please
    Answer: No BF3 admin tool can do this at spawn time. Read the BF3 limitations above, especially #2. Instead all you can do is limit the number of kills by sniper weapons, or with rulz you can track the counts of players with sniper rifles at kill time (see Example 13).

    Some sample rulz

    KEEP the default logging On Kill rule at the end of all your rulz. This has a 'Log' action which is very helpful when your rulz don't pick up the condition you expected... (e.g. Log %pt% %k% %p% killed %v% with %w% (%wk%), damage %d%). You don't need to understand this now, just leave it in.

    Example 1. Limit a single weapon (usage suicidal, kick on 4th kill, ban on 6th kill):
    Click to expand:

    On Kill;Weapon Siaga20k;PlayerCount 5;Log %p% banned for Saiga;Ban %p% Saiga shotgun use
    On Kill;Weapon Siaga20k;PlayerCount 3;Log %p% kicked for Saiga;Kick %p% Saiga shotgun use
    On Kill;Weapon Siaga20k;PlayerSay %p% no Saiga shotgun;Kill 100

    Example 2. Limit a weapon category via Damage condition (usage suicidal, kick on 4th kill, ban on 6th kill):
    Click to expand:

    On Kill;Damage Shotgun;PlayerCount 5;Log %p% banned for Shotgun;Ban %p% shotgun use
    On Kill;Damage Shotgun;PlayerCount 3;Log %p% kicked for Shotgun;Kick %p% shotgun use
    On Kill;Damage Shotgun;PlayerSay %p% no Shotgun;Kill 100

    Above rule can be used with Damage ProjectileExplosive, or Damage SniperRifle (instead of Damage Shotgun) to block rockets or snipers respectively.

    Example 3. For a sniper/pistol server (usage of other weapons is suicidal, kick on 4th kill, ban on 6th kill):
    Click to expand:

    On Kill;Not Damage SniperRifle;Not Damage Handgun;PlayerCount 5;Log %p%banned (snipers / pistols only);Ban %p% snipers only
    On Kill;Not Damage SniperRifle;Not Damage Handgun;PlayerCount 3;Log %p% kicked (snipers / pistols only);Kick %p% snipers only
    On Kill;Not Damage SniperRifle;Not Damage Handgun;PlayerSay %p% snipers/pistols only;Kill 100

    Example 4. Make teamkills suicidal
    Click to expand:

    The simplest idea is just have a rule:

    On TeamKill;Say %p% teamkilled %v%;Kill 100;

    If you want !forgive/!punish
    See this dedicated thread

    Example 5. Stop use of rockets on map Operation Metro:
    Click to expand:

    On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 5;Log %p% banned for rockets on Metro;Ban %p% Metro rockets
    On Kill;Map Subway;Damage ProjectileExplosive;PlayerCount 3;Log %p% kicked for rockets on Metro;Kick %p% Metro rockets
    On Kill;Map Subway;Damage ProjectileExplosive;PlayerSay %p% no rockets on Metro;Kill 100

    For reference, the other BF3 map filenames / map names (use substring of either in Map condition) are:
    MP_001 (Grand Bazaar)
    MP_003 (Teheran Highway)
    MP_007 (Caspian Border)
    MP_011 (Seine Crossing)
    MP_012 (Operation Firestorm)
    MP_013 (Damavand Peak)
    MP_017 (Noshashar Canals)
    MP_018 (Kharg Island)
    MP_Subway (Operation Metro)

    there are more filesnames for more maps (e.g. Karkand), but go find them on the interweb. If you post the new mapnames here I'll update this list.

    Be careful !! These are not the definitive spellings of the full map names. It is possible a map name could include non-english characters, e.g. "Operation Métro" or something like that. If in doubt use a safe subset of the map name, or map filename e.g. "Map 011" or "Map Canal"

    Example 6. If you want to reduce the frequency of a weapon use
    e.g. limit players to max 2 nade kills per minute:
    Click to expand:

    On Kill;Damage Explosive;Rate 2 60;Say %p% excessive nade spam;Kill

    Example 7. Kill Streak Announcer

    by ty_ger07.

    Please see this dedicated thread

    Example 8. Basic Cheater Detector
    Click to expand:

    by ty_ger07.

    These rulz use the 'Rate' condition to QUICKLY ban likely hackers, i.e. the kiddies that appear on the server and don't even pretend to play the game.

    You can adjust the thresholds and messages (in fact it's a good idea if you do). Note that you do NOT have to tell the player you banned WHY you banned them (why tell the hacker you specifically detected their knife hack?) but it is helpful to have unique info in the ban message so YOU know which rule banned them. You cannot have these kinds of rulz without risking false positives, in particular BF3 players can get long-term high kill rates in vehicles (Weapon Death...) and short-term high kills rates with explosives/rockets.

    Micovery's Insane Limiter plugin provides more comprehensive support for this capability (by also checking BattleLog stats) and can be used in addition to ProconRulz.

    # Cheater Detector by ty_ger07
    On Kill;Damage Melee;Rate 8 30;Say %p%: banned - kill rate;Ban %p% Auto-banned - hacking status 5
    On Kill;Weapon Death;Rate 10 30;Say %p%: banned - nuke;Ban %p% Auto-banned - hacking status 6
    On Kill;Not Damage Explosive;Not Damage ProjectileExplosive;Rate 20 50;Say %p%: banned - kill rate 1;Ban %p% Auto-banned - hacking status 1
    On Kill;Not Damage Explosive;Not Damage ProjectileExplosive;Rate 40 200;Say %p%: banned - kill rate;Ban %p% Auto-banned - hacking status 2
    On Kill;Headshot;Rate 6 15;Say %p%: banned - aimbot;Ban %p% Auto-banned - hacking status 3
    On Kill;Headshot;Rate 8 25;Say %p%: banned - aimbot;Ban %p% Auto-banned - hacking status 4

    Example 9. Limit vehicle use when teams are small
    Click to expand:

    All BF3 vehicle kills are currently reported as "Weapon Death", and FYI Mortars are reported as "Weapon Death" also, so you cannot tell those kills apart. But if you want to limit all vehicles AND mortars when teams are small, then you can use these rulz for BF3 (For BFBC2 there is full support for vehicle kills, e.g. with Damage VehicleHeavy, VehicleAir etc. so you can use similar rulz but be more specific).

    The Teamsize condition in these rulz makes vehicle kills suicidal if the smallest team is 4 or smaller. On a balanced server this means vehicle kills will be suicidal until 10 players total are in-game...

    The PlayerCount conditions control the kill count thresholds for warn (vehicle kill 1,2,3), kill (vehicle kill 4,5), kick (vehicle kills >5)

    On Kill;Weapon Death;Teamsize 4;
    PlayerCount 5;Say %p% kicked for vehicle kills;Kick kicked for vehicle kills with small teams
    PlayerCount 3;Say %p% slayed for vehicle kill %c%/5;Kill 100
    Say %p% - no vehicle kills with small teams (#%c%/5)

    Example 10. Easy in-game admin
    Click to expand:

    Using the TargetPlayer condition simplifies matching player names - any string subset of the name will do, and ProconRulz will only match the name if ONLY ONE match is found so you're unlikely to kick the wrong player and no "confirm..." step is needed.

    You can type ANY SUBSTRING of the player name and the command will be applied if that is found in a SINGLE player name (upper/lower case still match). If there is no match, or the string is found in multiple names, the command does nothing.

    E.g. to kick player "l33t_h4x0r_^^_" just say "!kick h4x" (or "!kick 33", or any other substring of the player name that gives a unique match).

    On Say;Admin;Text !kill;TargetPlayer;Say Player %t% killed;TargetAction Kill 100
    On Say;Admin;Text !kick;TargetPlayer;Say Player %t% kicked;TargetAction Kick Kicked by Admin

    Example 11. No MAV's on Metro
    Click to expand:

    Credit: Rouven

    MAV's kill with weapon 'Roadkill', so you can only trap this if there are no vehicles on your server that could do this as well. E.g. you can use these rulz on Metro or on an infantry-only server.

    On Kill;Map Subway;Weapon Roadkill;PlayerCount 5;Log %p% banned for MAV;Ban %p% MAV use
    On Kill;Map Subway;Weapon Roadkill;PlayerCount 3;Log %p% kicked for MAV;Kick %p% MAV use
    On Kill;Map Subway;Weapon Roadkill;PlayerSay %p% no MAV;Kill 100

    Example 12. Unreal Tournament Multi Kills Announcer by Bl1ndy

    Please see this dedicated thread

    Example 13. Sniper Limit V2!!! (credit tarreltje)

    Please see this dedicated thread

    Click to expand for a bit of explanation of how these rulz work in BF3:

    Congrats to tarreltje for finding a way of limiting snipers (or the rulz could be modified for any weapon) even though BF3 makes this tricky to do.

    Most BF3 admins know by now that the game server doesn't inform the plugins what weapons a player has chosen at spawn time, so limiting snipers is tricky. What these rulz do is keep track of the list players that have sniper rifles when they make a kill using one, so the plugin can detect when more than two players are trying to kill with sniper rifles (get it?). So where with BFBC2 you could say "max two players can spawn with sniper rifles" (i.e. the third spawning sniper gets admin-slayed), these rulz do the same thing at kill-time. The first two players to kill with sniper rifles are ok, the third player to kill with a sniper rifle will get admin-slayed.

    Example 14. Multi-language 'join' welcome messages (credit Angry_AGAIN)
    Click to expand:

    Here is our first version for country based welcome.
    Hope its usefull for somebody
    PS: DEACTIVATE vars.serverMessage if you use this welcome.

    #Country Base Welcome
    #BASETEXT: Welcome - YOUR TEXT - Please follow our rules
    #Countrykeys only in small letters based on ISO3166
    # Only latin letters works propper

    On Spawn;PlayerOnce;If %pcountrykey% == de;Yell 10 WILLKOMMEN %p% - RED EYES ONLY @ AMSTERDAM 420 SERVER - BITTE BEACHTE UNSERE REGELN
    On Spawn;PlayerOnce;If %pcountrykey% == nl;Yell 10 Welkom %p% - RED EYES ONLY @ AMSTERDAM 420 SERVERS - check ff onze huisregels,enjoy
    On Spawn;PlayerOnce;If %pcountrykey% == fr;Yell 10 BONJOUR %p% -YOUR SERVER TEXT HERE - VEUILLEZ SUIVRE NOS RÈGLES
    On Spawn;PlayerOnce;If %pcountrykey% == uk;Yell 10 WELCOME %p% -YOUR SERVER TEXT HERE - PLEASE FOLLOW OUR RULES
    On Spawn;PlayerOnce;If %pcountrykey% == us;Yell 10 WELCOME %p% -YOUR SERVER TEXT HERE - PLEASE FOLLOW OUR RULES
    On Spawn;PlayerOnce;If %pcountrykey% == ru;Yell 10 Dobro pozhalovat %p% -YOUR SERVER TEXT HERE - pozhaluysta sleduy nashim pravilam
    On Spawn;PlayerOnce;If %pcountrykey% == pt;Yell 10 Sangrado %p% -YOUR SERVER TEXT HERE - Por favor anote nosso Regimento
    On Spawn;PlayerOnce;If %pcountrykey% == dk;Yell 10 Velkommen %p% -YOUR SERVER TEXT HERE - følg vores regler
    On Spawn;PlayerOnce;If %pcountrykey% == it;Yell 10 Benvenuti %p% -YOUR SERVER TEXT HERE - SI PREGA DI SEGUIRE LE NOSTRE REGOLE
    On Spawn;PlayerOnce;If %pcountrykey% == no;Yell 10 Velkommen %p% -YOUR SERVER TEXT HERE - KAN DU FØLGE VÅRE REGLER
    On Spawn;PlayerOnce;If %pcountrykey% == se;Yell 10 Välkommen %p% -YOUR SERVER TEXT HERE - följ VÅRA REGLER
    On Spawn;PlayerOnce;If %pcountrykey% == es;Yell 10 Bienvenido %p% -YOUR SERVER TEXT HERE - por favor siga nuestro reglamento
    On Spawn;PlayerOnce;If %pcountrykey% == fi;Yell 10 Suhtaudun myönteisesti %p% -YOUR SERVER TEXT HERE - huomaa työjärjestyksemme
    On Spawn;PlayerOnce;If %pcountrykey% == pl;Yell 10 Mile widziane %p% -YOUR SERVER TEXT HERE - PROSIMY O PRZESTRZEGANIE NASZYCH ZASAD

    Example 15. Knife/Defib/Repair Tool Kill YELL Announcer
    This plugin will put a Yell message on the screen each knife or other melee weaon kill
    Click to expand:

    On Kill;Weapon Weapons/Knife/Knife;Yell %p% slit the throat of %v% !!!
    On Kill;Weapon Melee;Yell %p% grabbed and stabbed %v% !!!
    On Kill;Weapon Defib;Yell %p% zapped %v% with the Defib !!!
    On Kill;Weapon Repair&Tool;Yell %p% killed %v% with the Repair Tool !!!

    Example 16. End of Round Stats Announcer by tarreltje

    These rules give the 'most kills', 'most knife kills', 'most headshots' playernames and kill counts during and near the end of the round. As with all ProconRulz rulz you can tweak the rulz for different stats or timings as you want.

    Please see this dedicated thread

    Example 17. Country filter by L2Devlier
    Here's an interesting concept, illustrating the global villiage we live (game) in. It's possible you live in a small country, adjacent to a large country (e.g. China), and you're trying to build a local community, but end up with the server being dominated by large numbers of gamers texting in the foreign language from the large-country-next-door, what can you do. L2Devlier came up with this solution in in a long PM to me emphasized this is not about being racist, just trying to compensate for limitations in the EA queueing system if you're trying to build a local community. For other-country-applicability you'll need to read the rulz, understand what they do, and tweak the country-codes as appropriate.

    Click to expand the rulz:

    #Count and limit chinaman to 16. To disable, set %server_chinamax% to 32(if it's a 32 player server)

    On Spawn;ServerFirst;Set %server_chinamax% 16; Set %server_chinac% 0

    On Spawn;PlayerFirst;If %pcountrykey% == cn
    Incr %server_chinac%
    If %server_chinac% > %server_chinamax%;Kick Country Limit (China/16) Reached;Log %p% %pcountrykey% has been kicked for country limit %server_chinac% %server_chinamax%
    On Spawn;PlayerFirst;If %pcountrykey% == hk
    Incr %server_chinac%
    If %server_chinac% > %server_chinamax%;Kick Country Limit (China/16) Reached;Log %p% %pcountrykey% has been kicked for country limit %server_chinac% %server_chinamax%
    On Spawn;PlayerFirst; If %pcountrykey% == tw
    Incr %server_chinac%
    If %server_chinac% > %server_chinamax%;Kick Country Limit (China/16) Reached;Log %p% %pcountrykey% has been kicked for country limit %server_chinac% %server_chinamax%
    On Spawn;PlayerFirst;If %pcountrykey% == mo
    Incr %server_chinac%
    If %server_chinac% > %server_chinamax%;Kick Country Limit (China/16) Reached;Log %p% %pcountrykey% has been kicked for country limit %server_chinac% %server_chinamax%

    On Leave;
    If %pcountrykey% == cn;Decr %server_chinac%
    If %pcountrykey% == hk;Decr %server_chinac%
    if %pcountrykey% == tw;Decr %server_chinac%
    if %pcountrykey% == mo;Decr %server_chinac%

    Example 18. BEST 3 PLAYERS Announcer by tarreltje

    Every 100 tickets, these rulz announce the top 3 players based on kills, e.g.:

    1st Tarreltje 1000 kills
    2nd Gaga 580 kills
    3rd Noob 30 kills

    Please see this dedicated thread

    Example 19. SERVER STATS by tarreltje

    On the first kill of each round, server will announce the player names with the highest kill counts, e.g.

    1st RINUSS 1000 kills
    2nd BAMBAM 500 kills
    3th GAGA 200 kills
    Most Knives: RINUSS 3000 knives

    Please see this dedicated thread

    Example 20. !punish and other TeamKill protection rulz by ty_ger

    The !punish, !forgive commands you've probably seen on a variety of servers, plus optional rulz so you can automatically punish teamkillers if you prefer that for your server.

    Please see this dedicated thread

    Example 21. !votekick - ingame command for players to vote to kick another player

    Click to expand:

    The second line sets the number of votes needed to kick another player (currently 3).

    Any player can say !votekick <partial player name> and these rulz will accumulate a count against that player. Players cannot vote twice against the same player. When the vote count reaches the limit, the player is kicked. <partial player name> is any unique (case insensitive) part of the player name. I.e. !votekick 4x will vote against a player called 7337H4X0r. This is much better than trying to guess a good approximation of the name, trust me on this.

    E.g. !votekick bam could give the message "Pebbles voted to kick bambam (2 more votes needed)".

    Votes expire at the end of the round. If the kicked player rejoins during the same round, a single !votekick will kick them again.

    Simple tweaks are possible to these rulz (in addition to adjusting the votesneeded limit). E.g. you can change any of the Say or PlayerSay messages, and can swap Say for Yell (or PlayerYell), without affecting the way the rulz work. You can run the rulz in test mode by deleting the "Kick kicked by vote;" action in the second-to-last line - then there will be no actual kick, only the "bambam kicked by vote" Yell message...

    On Say;Text !votekick;
        Set %server_votesneeded% 3
        Set %server_votetarget% none;TargetPlayer;Set %server_votetarget% %t%;If %voting[%server_votetarget%]% == 0;Set %server_voteflag% 1
        If %server_votetarget% != none;If %voting[%server_votetarget%]% == 1;PlayerSay Your vote to kick %server_votetarget% is already registered (%server_votekicks[%server_votetarget%]%/%server_votesneeded%)
        If %server_votetarget% == none;PlayerSay Votekick playername not found. Just type ANY UNIQUE part of the name
    On Say;If %server_voteflag% == 1
        Log server_voteflag is 1 (%p% said %text%). Target is %server_votetarget%
        Set %voting[%server_votetarget%]% 1
        Incr %server_votekicks[%server_votetarget%]%
        If %server_votekicks[%server_votetarget%]% < %server_votesneeded%;Set %server_votesmore% %server_votesneeded%-%server_votekicks[%server_votetarget%]%;Say %p% voted to kick %server_votetarget% (%server_votesmore% more votes needed)
        If %server_votekicks[%server_votetarget%]% >= %server_votesneeded%;TargetPlayer %server_votetarget%;Kick kicked by vote;Yell %t% kicked by vote
        Set %server_voteflag% 0

    Example 22. Adaptive SPAMBOT by tarreltje

    Easy to modify, these rulz 'chat' different messages according to the map 'Mode' that is currently running, i.e. you can have message for TeamDeathMatch, and different messages for Conquest. The same rulz could be tweaked if you want messages based on Map, rather than MapMode (i.e. some messages for Caspian, different messages for Seine Crossing...)

    Please see this dedicated thread

    Example 23. Simple Aimbot headshot detector
    credit russel5

    These rulz count headshots and if it's more than 60% after 30 kills (these params in line 5) and it's not a sniper rifle, player is banned.
    click here for rulz:

    on spawn;serverfirst;set %kills% 0;set %hs% 0
    on kill;Not Damage SniperRifle;incr %kills%
    on kill;Not Damage SniperRifle;Headshot;incr %hs%
    on kill;Set %proc.1% %hs% / %kills% * 100
    on kill;If %proc.1% >= 60;If %kills% > 30;Log %p%;Ban %p% Impossible stats Hs/K %proc.1% %
    on say;Admin;Text @kills;TargetPlayer;TargetAction Say kills %kills% HS %hs% and %proc.1% %

    Versions summary:

    v44 (Nov 26 2013): Support for BF4, plus the support for separate rulz .txt files (incl Linux from 44f.1 credit FritzE).On RoundOver trigger.
    v43 (Aug 21 2012): Arithmetic in Set/If statements, permanent 'ini' vars, rounding, new date/time and teamsize variables, logging options. New player %score% variable, '+' as 1st character on line allows multi-line rulz.
    v41 (Jun 29 2012): More flexible support for in-game admin commands e.g. !kick <player> <reason>
    v40 (May 15 2012): Quoted strings can be used in rulz e.g. Set %server_message% "Get ready for next round"
    v39 (Apr 12 2012): Yell added (with BF3 R20). Yell/Say can now be to all, Player, Squad, Team (e.g. SquadYell). Player/Victim country codes available (e.g. %pcountry% see online docs). Tickets remaining now in %team_score%.
    v38 (Jan 18 2012): any order now permitted for intermixing actions and conditions. server, team, squad, player variables now more easily mixable, Exec can now run PunkBuster commands in addition to the v37 PBBan & PBTempBan, TargetPlayer condition enhanced for ease of use in rulz.
    v37: PunkBuster Kicks/bans, new rulz processing flow, rulz variables
    v34: Players 'protected' from kicks, kills, bans by ProconRulz now Admins, Admins+Reserved_Slots, Neither, plus Player and Clan whitelist.
    v33: BF3 compatibility
    v1..32 (see ProconRulz BFBC2 thread)

    Downloads: 15,811 + count on this version:

    Please note: There is an unsupported version below which allows new lines in messages.
    Example new line:
    On Say;Text /show;PlayerYell \nHello %p%\nThis is your first visit, please type !rules
    It should look like this on the player screen:

    Hello DarthVader
    This is your first visit, please type !rules
    Attached Files Attached Files
    Last edited by leibhold; 05-01-2017 at 06:02. Reason: update to 44j1 NL version
    For the ProconRulz Procon Plugin, always read the first post in the ProconRulz thread. See also the ONLINE DOCUMENTATION for information regarding writing your own rulz.

  2. #2
    wow! good news!

    it's working like a charm.
    Last edited by RadicalMode; 21-11-2011 at 14:30.

  3. #3
    Good Job bambam :-)

  4. #4
    Thank you very much bambam, interesting the reference to the M320

    Now do we backup the BF3.def and just copy this one in or wait for the next update as referenced above? BTW I sent you a PM.

    For rule writing help, if anyone knows how to write a rule for banning use of M320, though I do allow for smoke but don't think that is currently an option, and controlling spamming of RPG/SMAW I'd be grateful for your assistance, thank you.
    Last edited by Clay52; 21-11-2011 at 15:35.

  5. #5
    Thank You, Thank You, Thank You ! ! !

  6. #6
    the BF3.def I included is a superset of the one shipped with Procon so you can copy it over that one. Basically it includes a list of all the BF3 R8 weapon definitions - the key work was done by Phil (and me) and will be included in the next 'prod' release of Procon.

    So install this BF3.def in your Config folder, and when the next Procon update comes along (soon) it'll get updated again and that's fine. The BF3.def is needed if you want to use 'Damage' conditions (e.g. Damage ProjectileExplosive, or Damage SniperRifle, or Damage Handgun) as opposed to single weapon conditions, and also will give weapon display names in the subst variable %w%.

    If you *don't* install this BF3.def, ProconRulz will still work, but all the weapon damages will be "None" and all the weapon display names will be the same as the weapon key, as per the BF3.def shipped with Procon

  7. #7
    Update for ProconRulz noobies:

    ProconRulz can do lots of stuff, and will become more powerful as soon as EA ship a version of BF3 that enables more weapon keys and more admin events as were in BFBC2, particularly when a player spawns. But the most common usage is for weapon limits and here's a rulz template, using SniperRifle as an example (say you want to reduce sniper use to 5 sniper kills / player):

    On Kill;Damage SniperRifle;Count 7;Kick %p% ignoring sniper limit
    On Kill;Damage SniperRifle;Count 5;Say %p% sniper limit;Kill 100
    On Kill;Damage SniperRifle;Count 3;Say %p% sniper limit warning #%c%

    The plugin will display say-text warnings above 3 sniper kills, player will get auto-killed above 5 sniper kills, and will get auto-kicked above 7 sniper kills.

    If you didn't know - weapon limits in BFx are traditionally applied at SPAWN time (i.e. if you limit snipers, you kill players that SPAWN with a sniper rifle if a certain number have already spawned with one on that team). ProconRulz is designed to support this as well as the On Kill rulz, but BF3 R8 is limiting the functionality to Kill-only at the moment, hence the limited example above.
    Last edited by bambam; 21-11-2011 at 15:59.

  8. #8
    I've no EA rules to read when we join our server?
    Can you help me please?

  9. #9
    "I was a genuinely nice person before I joined this community"
    Join Date
    May 2010
    What do EA rules (?) have to do with this plugin?

    Before posting: Have you read the MANUAL?
    Before posting: Have you used the SEARCH?

    I will not provide support through PMs or TeamSpeak. Please post your questions in our forums.

  10. #10
    Yes there is this option
    "EA Rules of conduct read and accepted" Yes/No



Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts