<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>TroopAndResourceTotals</title><revhistory><revision><revnumber>26</revnumber><date>2015-04-26 02:36:41</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>25</revnumber><date>2015-03-05 09:52:28</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>24</revnumber><date>2015-03-05 09:50:03</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>23</revnumber><date>2015-02-09 01:22:29</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>22</revnumber><date>2015-02-07 04:41:53</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>21</revnumber><date>2015-02-07 04:41:23</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>20</revnumber><date>2015-02-04 22:38:25</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>19</revnumber><date>2015-02-04 22:38:10</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>18</revnumber><date>2015-02-04 22:36:47</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>17</revnumber><date>2014-02-26 03:36:03</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>16</revnumber><date>2014-02-25 05:22:14</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>15</revnumber><date>2014-02-25 05:10:19</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>14</revnumber><date>2014-02-18 03:58:10</date><authorinitials>Inanna</authorinitials><revremark>Revert to revision 12.</revremark></revision><revision><revnumber>13</revnumber><date>2014-02-11 23:29:46</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>12</revnumber><date>2013-12-20 21:17:09</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>11</revnumber><date>2013-12-20 21:13:55</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>10</revnumber><date>2013-12-20 20:37:54</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>9</revnumber><date>2013-12-20 20:36:40</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>8</revnumber><date>2013-12-18 05:29:11</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>7</revnumber><date>2013-12-12 02:24:51</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>6</revnumber><date>2013-12-12 02:24:42</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>5</revnumber><date>2013-12-12 02:23:38</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>4</revnumber><date>2013-12-09 01:53:23</date><authorinitials>Inanna</authorinitials><revremark>Renamed from 'TroopTotals'.</revremark></revision><revision><revnumber>3</revnumber><date>2013-12-09 01:52:58</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>2</revnumber><date>2013-11-21 02:30:46</date><authorinitials>Inanna</authorinitials></revision><revision><revnumber>1</revnumber><date>2013-11-21 02:30:04</date><authorinitials>Inanna</authorinitials></revision></revhistory></articleinfo><para>This script will echo your troop &amp; resource totals for each city and for your entire account. </para><para><emphasis role="strong">THIS VERSION REQUIRES NEATBOT 3145T OR LATER.</emphasis> </para><para> For older bots, use the script in the second code box below. </para><screen><![CDATA[// --------------------------------
// 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)}"]]></screen><para> FOR OLDER NEATBOT VERSIONS: </para><screen><![CDATA[// =======================================================
// Troop & Resource Totals For Each City & Entire Account
// Originally by romulus
// Requires NeatBot 3010 or later
// =======================================================
]]><![CDATA[
// set this to 1 if you want individual city troop/res counts displayed too, 0 if not
showcities = 0
]]><![CDATA[
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
]]><![CDATA[
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
]]><![CDATA[
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==========================="]]></screen><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="http://guide.neatportal.com/wiki/TroopAndResourceTotals/wiki/ScriptExamples#">ScriptExamples</ulink> </para></article>