• My Pages
  • Comments
  • Add Link
  • Subscribe
  • Subscribe User
  • Edit (GUI)
  • Edit (Text)
  • Rename Page
  • Copy Page
  • Load Page
  • Save Page
  • Delete Page
  • Attachments
  • Check Spelling
  • Diffs
  • Info
  • Revert to this revision
  • XML
  • Render as Docbook
  • Print View
  • Raw Text
  • Delete Cache
  • Like Pages
  • Local Site Map
  • Remove Spam
  • Package Pages
  • Sync Pages
    • Diff for "TroopAndResourceTotals"
    Differences between revisions 6 and 26 (spanning 20 versions)
    Revision 6 as of 2013-12-12 02:24:42
    Size: 1588
    Editor: Inanna
    Comment:
    Revision 26 as of 2015-04-26 02:36:41
    Size: 2776
    Editor: Inanna
    Comment:
    Deletions are marked like this. Additions are marked like this.
    Line 1: Line 1:
    ## page was renamed from TroopTotals
    This script will echo your troop & resource totals for each city and for your entire account.
    Troop upkeep per city and total for account added as well. Note it shows upkeep with vesta, etc. buffs factored in, not unbuffed.
    This script will echo your troop & resource totals for each city and for your entire account. <<BR>>
    Line 5: Line 3:
    '''THIS VERSION REQUIRES NEATBOT 3145T OR LATER.''' <<BR>>
    For older bots, use the script in the second code box below.
    {{{
    // --------------------------------
    // Troop & Resource Totals
    // --------------------------------
    res = GetResources("f:0")
    troops = GetTroops("a:0")
    upkeep = 0
    cities.forEach(CreateFunction("city,ind,arr","troops.add(city.cityManager.getAvailableTroop())||city.cityManager.estResource.addTo(res)||upkeep+=city.cityManager.resource.troopCostFood"))
    echo "{CenterPad("\nTOTAL TROOPS:\n", 43, "=")}\n{TroopBeanToString(troops,"\n")}\nUpkeep:{FormatNumber(upkeep)}\n\n{CenterPad("\nTOTAL RESOURCES:\n", 52, "=")}\nGold:{FormatNumber(res.gold)}\nFood:{FormatNumber(res.food)}\nWood:{FormatNumber(res.wood)}\nStone:{FormatNumber(res.stone)}\nIron:{FormatNumber(res.iron)}"
    }}}

    <<BR>><<BR>>
    FOR OLDER NEATBOT VERSIONS:
    <<BR>><<BR>>
    Line 9: Line 23:
    // Inny bloated it with the resource stuff :P // Requires NeatBot 3010 or later
    Line 12: Line 26:
    // set this to 1 if you want individual city troopcounts displayed too, 0 if not // set this to 1 if you want individual city troop/res counts displayed too, 0 if not
    Line 19: Line 33:
    res = GetResources("f:0")
    pop = 0
    popmax = 0
    Line 20: Line 37:
    g = 0
    f = 0
    w = 0
    s = 0
    i = 0
    Line 28: Line 40:
    if c c = c.cityManager
    if c tr = c.getAvailableTroop()
    if c up = up + c.resource.troopCostFood
    if c g = g + c.resource.gold
    if c f = f + c.resource.food.amount
    if c w = w + c.resource.wood.amount
    if c s = s + c.resource.stone.amount
    if c i = i + c.resource.iron.amount
    if showcities if c echo c.name + " - " + TroopBeanToString(tr, ",") + " (Upkeep: " + floor(c.resource.troopCostFood) + ")"
    if c dummy = tr.addTo(t)
    if c goto mainLoop
    if !c goto end
    c = c.cityManager
    tr = c.getAvailableTroop()
    up = up + c.resource.troopCostFood
    cres = c.resetEstResource()
    popmax = popmax + c.resource.maxPopulation
    pop = pop + c.resource.curPopulation
    if showcities echo "City " + c.name + " - " + TroopBeanToString(tr, ",") + " (Upkeep: " + FormatNumber(c.resource.troopCostFood) + ")\nGold: " + FormatNumber(cres.gold) + " Food: " + FormatNumber(cres.food) + " Wood: " + FormatNumber(cres.wood) + " Stone: " + FormatNumber(cres.stone) + " Iron: " + FormatNumber(cres.iron) + " Population: " + floor(pop) + " of " + floor(popmax)
    dummy = tr.addTo(t)
    dummy = cres.addTo(res)
    goto mainLoop
    Line 40: Line 52:
    echo "TOTAL TROOPS:\n" + TroopBeanToString(t, "\n")
    echo "TOTAL RESOURCES:\nGold: " + floor(g) + "\nTotal Food: " + floor(f) + "\nTotal Wood: " + floor(w) + "\nTotal Stone: " + floor(s) + "\nTotal Iron: " + floor(i)
    echo "TOTAL UPKEEP: " + floor(up)
    label end
    echo "===========================\nTOTAL TROOPS\n===========================\n" + TroopBeanToString(t, "\n") + "\n(Upkeep: " + FormatNumber(up) + ")\n===========================\nTOTAL RESOURCES\n===========================\nGold: " + FormatNumber(res.gold) + "\nFood: " + FormatNumber(res.food) + "\nWood: " + FormatNumber(res.wood) + "\nStone: " + FormatNumber(res.stone) + "\nIron: " + FormatNumber(res.iron) + "\n(Pop: " + FormatNumber(pop) + " of " + FormatNumber(popmax) + ")\n==========================="
    Line 44: Line 55:

    This script will echo your troop & resource totals for each city and for your entire account.

    THIS VERSION REQUIRES NEATBOT 3145T OR LATER.
    For older bots, use the script in the second code box below.

    // --------------------------------
    // Troop & Resource Totals
    // --------------------------------
    res = GetResources("f:0")
    troops = GetTroops("a:0")
    upkeep = 0
    cities.forEach(CreateFunction("city,ind,arr","troops.add(city.cityManager.getAvailableTroop())||city.cityManager.estResource.addTo(res)||upkeep+=city.cityManager.resource.troopCostFood"))
    echo "{CenterPad("\nTOTAL TROOPS:\n", 43, "=")}\n{TroopBeanToString(troops,"\n")}\nUpkeep:{FormatNumber(upkeep)}\n\n{CenterPad("\nTOTAL RESOURCES:\n", 52, "=")}\nGold:{FormatNumber(res.gold)}\nFood:{FormatNumber(res.food)}\nWood:{FormatNumber(res.wood)}\nStone:{FormatNumber(res.stone)}\nIron:{FormatNumber(res.iron)}"



    FOR OLDER NEATBOT VERSIONS:

    // =======================================================
    // Troop & Resource Totals For Each City & Entire Account
    // Originally by romulus
    // Requires NeatBot 3010 or later
    // =======================================================
    
    // set this to 1 if you want individual city troop/res counts displayed too, 0 if not
    showcities = 0
    
    mycities = cities.concat()
    echo "ACCOUNT TOTALS: Found " + mycities.length + " castle(s)"
    echo "Please wait. Calculating..."
    t = GetTroops("a:0")
    res = GetResources("f:0")
    pop = 0
    popmax = 0
    up = 0
    
    label mainLoop
    c = mycities.shift()
    if !c goto end
    c = c.cityManager
    tr = c.getAvailableTroop()
    up = up + c.resource.troopCostFood
    cres = c.resetEstResource()
    popmax = popmax + c.resource.maxPopulation
    pop = pop + c.resource.curPopulation
    if showcities echo "City " + c.name + " - " + TroopBeanToString(tr, ",") + " (Upkeep: " + FormatNumber(c.resource.troopCostFood) + ")\nGold: " + FormatNumber(cres.gold) + " Food: " + FormatNumber(cres.food) + " Wood: " + FormatNumber(cres.wood) + " Stone: " + FormatNumber(cres.stone) + " Iron: " + FormatNumber(cres.iron) + " Population: " + floor(pop) + " of " + floor(popmax)
    dummy = tr.addTo(t)
    dummy = cres.addTo(res)
    goto mainLoop
    
    label end
    echo "===========================\nTOTAL TROOPS\n===========================\n" + TroopBeanToString(t, "\n") + "\n(Upkeep: " + FormatNumber(up) + ")\n===========================\nTOTAL RESOURCES\n===========================\nGold: " + FormatNumber(res.gold) + "\nFood: " + FormatNumber(res.food) + "\nWood: " + FormatNumber(res.wood) + "\nStone: " + FormatNumber(res.stone) + "\nIron: " + FormatNumber(res.iron) + "\n(Pop: " + FormatNumber(pop) + " of " + FormatNumber(popmax) + ")\n==========================="


    ScriptExamples

    TroopAndResourceTotals (last edited 2015-04-26 02:36:41 by Inanna)