Approved script ntoombs19's FA Filter

Discussion in 'Scripts & Independent Tools' started by ntoombs19, Aug 31, 2013.

Share This Page

  1. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    Renamed to LA Enhancer
    There is a lot in this script so I understand it will be confusing to some people. If you have any questions or would like to report a bug, please message me or contact me on skype (username: ntoombs19).


    The script (This is different than the one before)
    //Edit by mod// currently working and legal version:

    Code:
    javascript:$.get('https://scripts.ibragonza.nl/enhancer/enhancer.js');void(0);

    Original version:

    Code:
    [COLOR=#333333][I]javascript:$.ajaxSetup({dataType:"script"});$.getScript('https://ntoombs19.github.io/LA-Enhancer/js/main.min.js');void 0;[/I][/COLOR]
    Settings Menu
    [​IMG]

    What it does
    This script has 3 main features: Filtering, page loading, and key commands. As you can see in the settings panel, you have the ability to load 1 page or all pages by setting last page to 'max'. So, "load pages 1 to max" will load all the pages. The script will show you what page is currently loading so your browser won't hang. For users with a poor network connection, the page loading can take a long time so loading fewer pages at a time would probably be a good idea. When clicking A, B, or C, the row containing those buttons will be hidden. If an error occurs such as "Not enough units" or "You can only send 5 attacks per second", the row will reappear and my script will not think it has been farmed yet. By setting filters, you can farm even faster by not having to check for various factors such as the last report, wall level, estimated resources, or whether the last attack received a full or partial haul. Those "info" images will provide details as to what that particular feature will do when you hover over it. The script also includes integration with the FA Keypress script to allow you to farm even faster. Now you can farm with the master button so you won't have to think about which button to click.
    Disclaimer: there is no validation for correct input. It is the users responsibility to ensure all inputs have valid values.

    Filters

    • Load Pages: Load's a set number of pages. The first input is the start page, the second number is the end page. Setting this to max will automatically use the last page.
    • Order/Direction: Selects what the pages will be ordered by and in what direction. This setting and the load pages setting cannot be changed after running the script for the first time. To change these settings, the page will need to be reloaded and the script run again.
    • Hide farmed rows: Saves the the village coordinates of any village you send troops to using this script in the browsers cache. If this filter is enabled, the script will hide all villages that have had troops sent to it since x amount of time. The format is in minutes so for 2 hours, the input would be 120 minutes. Changing this value will not change the time for villages already in the cache but will be the timeout for villages farmed after that value was changed. It is important to note that this does not set the timer once the attack lands but rather sets the timer when the attack is sent. Clicking the reset button will only reset the rows that are loaded on the page (including hidden rows). It will not reset rows if those rows are not loaded.
    • Hide/show continent(s): Hides or shows a list of continents separated by a comma. This is useful if the terms of a diplomatic relationship with another tribe is to not farm in their K.
    • Middle column filters: These filters will only be applied if the check box next to them is enabled.
    • Hide hauls: will hide whichever radio button is selected.
    • Hide attacks: Hide's rows where the number of attacks going to that village is greater than, less than, or equal to a number.
    • Hide wall lvl: Hides rows where the wall level is greater than, less than, or equal to a number. Rows where the wall lvl is a question mark will be assumed to have a wall lvl of zero.
    • Hide distances: Hides rows greater than, less than, or equal to (pointless?) a number. This input can have a decimal value (eg. 30.2)
    • Hide scout reports: Will remove rows where the estimated resources are greater than, less than, or equal to a number. Rows without any resource information will be assumed to have 0 resources.
    • Attack time filter: Hides/shows villages attacked within a certain time. Useful for C farming.
    • Hide reports: Checked report types will be hidden.
    • Apply/Reset: Clicking "Apply Filters" will run through all the rows and hide any rows that match a filter setting. Clicking "Reset Table" will show all rows loaded even if they were hidden by clicking the button or by a filter.
    Profiles
    Profiles allow the user to save settings in their browsers cache for later use.
    • Create new: Creates a new profile with the current settings. The user will be prompted to set a name for the profile. Profiles cannot have the same name.
    • Set default: Sets the selected profile to the default profile.
    • Delete: Deletes the currently selected profile. The user will be prompted to confirm they wish to delete the profile. The default profile can not be deleted.
    • Update: Setset the current inputs to the selected profile.
    • Export: Retrieves a string of text containing all the settings to be pasted in a notebook, forum, or mail.
    • Import: Opens prompt to paste exported settings
    Keypress Settings
    I stole this feature from crimsoni's FA keypress script. This aspect of the script works the same as that script. I recommend only mapping numbers, letters, and arrows for the keypress settings. Some of the characters won't show in text box the way they do on your keyboard so it may get confusing if you use anything other than the recommended keys.
    Master Button Settings
    This is what controls what action is taken when clicking the master button. If an MBS is enabled (checked) the script will look at that MBS and perform the selected action (A, B, C, Skip) if the row matches the profile. If the row does not match the first enabled MBS profile the script will then look at the next enabled MBS profile to see if it's a match and perform the action if it is. This process will occur for each enabled MBS in order until the row matches one of the profiles and the selected action is performed. If the row matches none of the profiles then the default action will be taken.
    Languages
    For those interested in viewing this script in a particular language, you can translate the following text into that language and I will add it to the script. Just change the text inside the quotes. Also be sure to tell me what language it is.
    [SPOIL][NOPARSE]//Language: English
    //Translator: ntoombs19
    var filter_01 = "FA Filter Settings";
    var filter_02 = "Instructions";
    var filter_03 = "Created by";
    var filter_04 = "Load Pages";
    var filter_05 = "to";
    var filter_06 = "Enable";
    var filter_07 = "Hide All/None";
    var filter_08 = "Scout Attack";
    var filter_09 = "No losses";
    var filter_10 = "Some losses";
    var filter_11 = "Lost, but damaged building(s)";
    var filter_12 = "Lost,but scouted";
    var filter_13 = "Lost";
    var filter_14 = "Order By";
    var filter_15 = "Distance";
    var filter_16 = "Time";
    var filter_17 = "Direction";
    var filter_18 = "Ascending";
    var filter_19 = "Descending";
    var filter_20 = "Hide Hauls";
    var filter_21 = "Full";
    var filter_22 = "Partial";
    var filter_23 = "Hide Attacks";
    var filter_24 = "Greater Than";
    var filter_25 = "Less Than";
    var filter_26 = "Equal To";
    var filter_27 = "Hide farms sent to in the last";
    var filter_28 = "minutes";
    var filter_29 = "Reset";
    var filter_30 = "Hide Wall Lvl";
    var filter_31 = "Hide Distances";
    var filter_32 = "Hide";
    var filter_33 = "Show";
    var filter_34 = "continent(s)";
    var filter_35 = "Hide scout reports with resources";
    var filter_36 = "villages attacked in the last";
    var filter_37 = "minutes(s)";
    var filter_38 = "Run default automatically";
    var filter_39 = "Hide scout reports where C is disabled";
    var filter_40 = "Farm Assistant";
    var filter_41 = "Farm Assistant - Loading page";
    var filter_42 = "Language";
    var instructions_01 = "Checked report types will be hidden";
    var instructions_02 = "Filters left unchecked will not be applied";
    var instructions_03 = "Separate continents with a period. Example: 55.54.53";
    var instructions_04 = "This filter will hide rows that were farmed \"n\" minutes ago. The default is 60 minutes. Changing the time will only affect newly farmed rows. Clicking reset will reset all the timers for each row but only the rows loaded.";
    var instructions_05 = "Save and load your various settings configurations here. Changing profiles will load the selected profile. The default will load automatically when the script is run.";
    var instructions_06 = "Adjust page size to 100 for faster page loading";
    var dialog_01 = "Are you sure you want to reset your recently farmed villages?";
    var dialog_02 = "You are already on the default profile. Would you like to create a new profile and set it to default?";
    var dialog_03 = "Profile name";
    var dialog_04 = "You already have a profile with that name. Please choose another name";
    var dialog_05 = "Your profile name cannot be empty. Please try again.";
    var dialog_06 = "You cannot delete your default profile";
    var dialog_07 = "You cannot export/import the default profile. To export these settings, create a new profile, then try exporting again.";
    var dialog_08 = "Copy to clipboard: Ctrl+C, Enter";
    var dialog_09A = "FA Filter: ";
    var dialog_09B = "
    Instructions: To import this profile, copy the following line of code then import the copied settings by pasting them into the prompt after clicking import on the FA Filter Script settings panel
    Code:
    ";
    var dialog_09C = "
    ";
    var dialog_10 = "Profile Settings";
    var dialog_11 = "Ctrl+V to paste here settings here";
    var dialog_12 = "You already have a profile with that name.";
    var dialog_13 = "Reload this script to see the new language. This page will refresh automatically.";
    var profile_01 = "Settings profile";
    var profile_02 = "Apply";
    var profile_03 = "Reset";
    var profile_04 = "New";
    var profile_05 = "Set Default";
    var profile_06 = "Delete";
    var profile_07 = "Update";
    var profile_08 = "Export";
    var profile_09 = "Import";
    var profile_10 = "Default";[/NOPARSE][/SPOIL]Languages currently supported:
    • English
    • Spanish
    • Arabic
    • Greek
    Future Improvements
    • Hide success messages, error messages, or both
    • Asynchronous page loading
    • Sorting by wall and resources
    • Village priority list to farm from more important villages first
    • Custom troop order (send certain troops first, second, third, etc...)
    • Custom filtering besides wall and distance
    • Auto pagination to reduce page loading time
    • Add two new versions (FA Filter Lite, and FA Filter Mobile)
     
    Last edited by a moderator: Apr 9, 2019
    symbian ryder likes this.
  2. sakit gigi

    sakit gigi Non-stop Poster

    Joined:
    Nov 24, 2012
    Messages:
    125
    Likes Received:
    2
    Brilliant script! Only problem I've found is instructions is spelt wrong:icon_rolleyes:
     
  3. lonestar1

    lonestar1 Guest

    ntoombs19 - Has this been approved for .net ?
     
    Last edited by a moderator: Sep 4, 2013
  4. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    Fixed. Thanks for pointing that out.

    Yes, Morthy has approved this for .net himself. It was kind of funny actually. The way my script works, it had the potential to get users of it banned even if it was legal because it looked like the user was boting. I can only assume it was because my script loads pages faster than a person would. You would also be asked to fill out a CAPTCHA 80% of the time after using it. The fix to prevent my script from getting people banned was added to the 8.15 update. It just took me a few days to getting around to writing the thread and then getting the thread approved. So again, just to be clear, this script has been approved by Morthy for .net use. It would be helpful if a mod could add the "Approved Script" to the title of my thread.
     
    Last edited: Sep 4, 2013
  5. lonestar1

    lonestar1 Guest

    Cool, seem to recall seeing it on .us first but could be mistaken, always good to see new scripters breaking through
     
  6. sakit gigi

    sakit gigi Non-stop Poster

    Joined:
    Nov 24, 2012
    Messages:
    125
    Likes Received:
    2
    if you could somehow add this into it
    [spoil]javascript:/*author: patricier, name: FA-filter, version:1.0.0 (twcheese.mod.01)*/$.getScript('https://dl.dropbox.com/u/1621643/tw/scripts/tribalwars.us/FA_filter.js');void 0;[/spoil] to reorder the vils, and hide ones being attacked already?
     
  7. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    You can already hide villages already being attacked. and to reorder the villages you can set variables before the $getScript(). It looks like this.
    Code:
    javascript:var orderBy='time';var orderDirection='asc';[COLOR=#3E3E3E]$.getScript('https://dl.dropboxusercontent.com/u/26362756/faFilter.js');void(0);[/COLOR]
    I'm eventually going to add a filter in the interface to set the sorting and direction.
     
  8. Sauer

    Sauer Guest

    Awesome script! Maybe one of the best ever made. Congratulations.
     
    Last edited by a moderator: Sep 4, 2013
  9. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    It's already functional on all servers running Tribalwars 8.15. Functionality isn't the problem, it's getting permission to use it that's the problem
     
  10. Sauer

    Sauer Guest

    Yep, i just tried and i saw is functional, that's the reason of the edit ;)

    And obviously i already sent a ticket to ask its approval, in case it being approved, i would like also to translate it in other languages, is it a problem for you?
     
  11. Justifi3d

    Justifi3d Still Going Strong

    Joined:
    Apr 5, 2009
    Messages:
    722
    Likes Received:
    14
    So what would we change to remove villages being attacked?
     
  12. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    I don't have a problem with you translating it but I would like to host the script to push future updates to the translated versions. Send me a PM when you have translated it and I will add it to my dropbox account and send you a link. I might also contact you in the future for translating those future updates as well.

    Hide attacks greater than 0. Only villages with 0 attacks will be shown.
     
  13. Sauer

    Sauer Guest

    Sure, keep in touch :D
     
  14. i tried the script on chrome, its shoed up but no matter how i set the settings none of my farms in fa appeared:(
    help me?
     
  15. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    Leave all input fields empty and unchecked except the page numbers. Set the first page to 1 and the second page to max. Then click apply filters and you should see all available farms. Also make sure "Only show attacks from this village" in the normal FA is unchecked before running my script.
     
  16. explanation?

    explanation? Non-stop Poster

    Joined:
    Dec 22, 2010
    Messages:
    248
    Likes Received:
    0
    Any way to have it filter on your "default" criteria right away instead of having to first click the script and then click filter? Sounds silly but with 400 tabs it sure makes a difference :D

    Having one script where you make profile and one where you run the filtering without having to see the table would be very useful.

    Thanks for making it :)
     
    Last edited: Sep 6, 2013
  17. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    Yea I will add something to do that and reply with the updated script.
     
  18. xshahzad

    xshahzad Guest

    looks like a goood script.

    I wanted to change how FA send troops. Currntly it sends troops according to their haul capacity per population which is as follows.

    1) Spear (25)
    2) LC (20)
    3) Sword (15)
    4) axe (10)
    5) HC (8.33)

    I want to send according to speed i.e.

    1) LC
    2) HC
    3) Spear
    4) Axe
    5) Sword

    Can we do this in ur script.


    Also their is another request i.e. can we use it for farm shaping like www.twfarmreports.com does
     
  19. ntoombs19

    ntoombs19 Still Going Strong

    Joined:
    Nov 28, 2007
    Messages:
    630
    Likes Received:
    10
    To stay within the rule of 1 action per click I would have to add an alert to ask the user if they would like to select the next troop type after sending the first troop type. That would just check the next fastest unit on the page. Does that make sense?

    As for farm shaping. I would be very very surprised if that was legal but I could probably do it if it was. Can a mod say anything about this?
     
  20. lonestar1

    lonestar1 Guest

    TBH every script Ive ever had approved has been by morthy, There are a number of ways that are already approved to shape farms but how you would do that via FA Im not sure (unless it can now send cats)