Advertisement
Xerakon

XGUI20

Dec 24th, 2012
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 112.12 KB | None | 0 0
  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <cmud>
  3. <class name="UI">
  4. <class name="ResearchPlugin">
  5. <notes>This script originally written by Seyalas. Modified by @zareth to properly catch skills with names including numbers, underscore character, or hyphen character, as well as clean up unnecessary commands sent to the mud. Also makes the interface more readable in my opinion.</notes>
  6. <alias name="rese">
  7. <value>research %-1
  8. #VA rese %-1 {researchscript}</value>
  9. </alias>
  10. <var name="rese" usedef="true">
  11. <value>dig</value>
  12. <default>researchscript</default>
  13. </var>
  14. <trigger priority="400">
  15. <pattern>^You study for hours on end, but fail to gather any knowledge.</pattern>
  16. <value>rese @rese</value>
  17. <notes>used in continuing research</notes>
  18. </trigger>
  19. <trigger priority="410">
  20. <pattern>^You finish your studies and feel much more skilled.</pattern>
  21. <value>rese @rese</value>
  22. <notes>used in continuing research</notes>
  23. </trigger>
  24. <alias name="enq">
  25. <value>#ADDITEM reslist %-1
  26. #PRINT {%-1 added to research list.}
  27. #PRINT {Current research list: @reslist}</value>
  28. </alias>
  29. <trigger priority="470">
  30. <pattern>^You can't learn about that in books. Go find a teacher.</pattern>
  31. <value>#VAR newres %item(@reslist,1)
  32. #DELITEM reslist @newres
  33. #IF %if(@newres =~ %x, 1, 0)
  34. {#PRINT Now researching: @newres
  35. #PRINT Remaining research: @reslist
  36. rese @newres}</value>
  37. <notes>trigger used in continuing research</notes>
  38. </trigger>
  39. <trigger priority="490">
  40. <pattern>^You can't learn any more about that from books!</pattern>
  41. <value>#VAR newres %item(@reslist,1)
  42. #DELITEM reslist @newres
  43. #IF %if(@newres =~ %x, 1, 0)
  44. {#PRINT Now researching: @newres
  45. #PRINT Remaining research: @reslist
  46. rese @newres}</value>
  47. <notes>used in continuing research</notes>
  48. </trigger>
  49. <var name="newres"/>
  50. <class name="linker" enabled="false">
  51. <notes>This hold the trigger that turns the skill names in the practice list into links and changes color of the link depending on skill percentage.</notes>
  52. <trigger priority="340" trigontrig="false" repeat="true">
  53. <pattern>({%w|%w %w|%w%s%w%s%d|%w-%w|%w_%w})(%s)(%d)~%</pattern>
  54. <value><![CDATA[#switch (%3 = 0) {#SUB {{<color red><send 'rese %1|enq %1|prac %1' 'Research %1|Enqueue %1|Practice %1'>%1</send>%2%3~%</color>}}} (0 < %3 && %3 < 100) {#SUB {{<color orange><send 'rese %1|enq %1|prac %1' 'Research %1|Enqueue %1|Practice %1'>%1</send>%2%3~%</color>}}} (%3 = 100) {#SUB {{<color green>%1%2%3~%</color>}}}
  55.  
  56. ]]></value>
  57. </trigger>
  58. </class>
  59. <trigger priority="520">
  60. <pattern>^---------------------------------Skills-----------------------------------</pattern>
  61. <value>#T+ linker
  62. #SUB {---------------------------------Skills-------------------------------------------}</value>
  63. <notes>used for formatting and to trigger the linker</notes>
  64. </trigger>
  65. <trigger priority="530">
  66. <pattern>^To see a shorter practice list, type PRACTICE &lt;class name&gt;.</pattern>
  67. <value>#T- linker</value>
  68. <notes>used to disable the linker</notes>
  69. </trigger>
  70. <trigger priority="550">
  71. <pattern>^---------------------------------Weapons-----------------------------------</pattern>
  72. <value>#SUB {---------------------------------Weapons------------------------------------------}</value>
  73. <notes>used for formatting</notes>
  74. </trigger>
  75. <trigger priority="560">
  76. <pattern>^---------------------------------Feats-----------------------------------</pattern>
  77. <value>#SUB {---------------------------------Feats--------------------------------------------}</value>
  78. <notes>Used for formatting</notes>
  79. </trigger>
  80. <trigger priority="620">
  81. <pattern>^You can't learn bounty hunting skills from a book!</pattern>
  82. <value>#VAR newres %item(@reslist,1)
  83. #DELITEM reslist @newres
  84. #IF %if(@newres =~ %x, 1, 0)
  85. {#PRINT Now researching: @newres
  86. #PRINT Remaining research: @reslist
  87. rese @newres}</value>
  88. <notes>used in continuing research</notes>
  89. </trigger>
  90. <trigger priority="630">
  91. <pattern>^You can't learn smuggling skills from a book!</pattern>
  92. <value>#VAR newres %item(@reslist,1)
  93. #DELITEM reslist @newres
  94. #IF %if(@newres =~ %x, 1, 0)
  95. {#PRINT Now researching: @newres
  96. #PRINT Remaining research: @reslist
  97. rese @newres}</value>
  98. <notes>used in continuing research</notes>
  99. </trigger>
  100. <var name="reslist" type="StringList">
  101. <json>[]</json>
  102. </var>
  103. <trigger priority="620">
  104. <pattern>Go learn it the hard way, sissy.</pattern>
  105. <value>#VAR newres %item(@reslist,1)
  106. #DELITEM reslist @newres
  107. #IF %if(@newres =~ %x, 1, 0)
  108. {#PRINT Now researching: @newres
  109. #PRINT Remaining research: @reslist
  110. rese @newres}</value>
  111. <notes>used in continuing research</notes>
  112. </trigger>
  113. </class>
  114. <class name="MSDP">
  115. <trigger type="Telnet" param="69" priority="20" trigontrig="false" newline="false" prompt="true">
  116. <pattern><![CDATA[<IAC><WILL><69>]]></pattern>
  117. <value>// Opens MSDP dialog with TELNET.
  118. #SENDRAW %char(255)%char(253)%char(69)</value>
  119. </trigger>
  120. <trigger type="Telnet" param="69" priority="5920">
  121. <pattern>(@MSDPVAR)([%w|_])(@MSDPVAL)(*)</pattern>
  122. <value>// Captures the MSDP data sent by the MUD.
  123. #VAR {%trim(%2)} {%trim(%delete(%4,1,1))}
  124.  
  125. // Converts Health for a percentage. Not currently in any gauge or printout.
  126. #MATH HEALTH_PCT ((@HEALTH * 100)/@HEALTHMAX)
  127.  
  128. // Toggles Force Points gauge.
  129. #IF (@MANA = 0) {#T- ForceGauge;#T- ForceLabel} {#T+ ForceGauge;#T+ ForceLabel}
  130.  
  131. // Updates the status window with pulled MSDP.
  132. #CALL @updatestatuswindow()</value>
  133. </trigger>
  134. <alias name="vreport">
  135. <value>// Initial command to force-pull MSDP data from the MUD. Use this command anytime you fill your data is inaccurate, then follow it up with SCORE to fill out bank data.
  136. #SENDSB 69 %CHAR(1)REPORT%CHAR(2)CHARACTERNAME%CHAR(2)LEVEL%CHAR(2)CLASS%CHAR(2)HEALTH%CHAR(2)HEALTHMAX%CHAR(2)MANA%CHAR(2)MANAMAX%CHAR(2)MOVEMENT%CHAR(2)MOVEMENTMAX%CHAR(2)MONEY%CHAR(2)STR%CHAR(2)CON%CHAR(2)DEX%CHAR(2)WIS%CHAR(2)INT%CHAR(2)CHA%CHAR(2)STRPERM%CHAR(2)DEXPERM%CHAR(2)CONPERM%CHAR(2)WISPERM%CHAR(2)INTPERM%CHAR(2)CHAPERM%CHAR(2)HITROLL%CHAR(2)DAMROLL%CHAR(2)OPPONENTHEALTH%CHAR(2)OPPONENTHEALTHMAX%CHAR(2)OPPONENTLEVEL%CHAR(2)OPPONENTNAME%CHAR(2)TOPLEVEL%CHAR(2)LEVELCOMBAT%CHAR(2)LEVELPILOTING%CHAR(2)LEVELENGINEERING%CHAR(2)LEVELHUNTING%CHAR(2)LEVELSMUGGLING%CHAR(2)LEVELDIPLOMACY%CHAR(2)LEVELLEADERSHIP%CHAR(2)LEVELFORCE%CHAR(2)LEVELESPIONAGE%CHAR(2)LEVELSLICER%CHAR(2)LEVELMEDIC%CHAR(2)LEVELSCIENCE%CHAR(2)COMMCHANNEL%CHAR(2)COMMENCRYPT%CHAR(2)OOCLIMIT%CHAR(2)OOCBREAK%CHAR(2)PLANET%CHAR(2)CLAN%CHAR(2)PILOTING%CHAR(2)SHIPSPEED%CHAR(2)SHIPMAXSPEED%CHAR(2)SHIPHULL%CHAR(2)SHIPMAXHULL%CHAR(2)SHIPENERGY%CHAR(2)SHIPMAXENERGY%CHAR(2)SHIPSHIELD%CHAR(2)SHIPMAXSHIELD%CHAR(2)SHIPGALX%CHAR(2)SHIPGALY%CHAR(2)SHIPSYSX%CHAR(2)SHIPSYSY%CHAR(2)SHIPSYSZ%CHAR(2)SHIPHEADX%CHAR(2)SHIPHEADY%CHAR(2)SHIPHEADZ%CHAR(2)SHIPSYSNAME%CHAR(2)MONEYTOTAL%CHAR(2)MONEYINV%CHAR(2)MONEYBANK%CHAR(2)BOTTINGDELAY%CHAR(2)CURRENTAMMO%CHAR(2)MAXAMMO%CHAR(2)SHIELDENERGY%CHAR(2)LIGHTTIME%CHAR(2)MEDPACPOWER%CHAR(2)GRENADEROUNDS%CHAR(2)BLADEPOWER%CHAR(2)BOTTINGTIME%CHAR(2)BOTTINGCOOLDOWN%CHAR(2)CONTINENT</value>
  137. </alias>
  138. <trigger priority="10460">
  139. <pattern>Copyover recovery complete.</pattern>
  140. <value>// Force-fills the initial MSDP variables after a copyover.
  141. vreport
  142.  
  143. // Fill out credits data.
  144. score</value>
  145. </trigger>
  146. <class name="Vars">
  147. <var name="HITROLL" type="String"></var>
  148. <var name="DAMROLL" type="String"></var>
  149. <var name="STR" type="String"></var>
  150. <var name="INT" type="String"></var>
  151. <var name="WIS" type="String"></var>
  152. <var name="DEX" type="String"></var>
  153. <var name="CON" type="String"></var>
  154. <var name="CHA" type="String"></var>
  155. <var name="CLASS" type="String"></var>
  156. <var name="HEALTH" type="String"></var>
  157. <var name="LEVEL" type="String"></var>
  158. <var name="MANA" type="String"></var>
  159. <var name="MOVEMENT" type="String"></var>
  160. <var name="TOPLEVEL" type="String"></var>
  161. <var name="PLANET" type="String"/>
  162. <var name="CLAN" type="String"></var>
  163. <var name="CHARACTERNAME" type="String"></var>
  164. <var name="HEALTHMAX" type="String"></var>
  165. <var name="LEVELCOMBAT" type="String"></var>
  166. <var name="LEVELPILOTING" type="String"></var>
  167. <var name="LEVELENGINEERING" type="String"></var>
  168. <var name="LEVELHUNTING" type="String"></var>
  169. <var name="LEVELSMUGGLING" type="String"></var>
  170. <var name="LEVELDIPLOMACY" type="String"></var>
  171. <var name="LEVELLEADERSHIP" type="String"></var>
  172. <var name="LEVELFORCE" type="String"></var>
  173. <var name="LEVELESPIONAGE" type="String"></var>
  174. <var name="LEVELSLICER" type="String"></var>
  175. <var name="LEVELMEDIC" type="String"></var>
  176. <var name="LEVELSCIENCE" type="String"></var>
  177. <var name="COMMCHANNEL" type="String"></var>
  178. <var name="COMMENCRYPT" type="String"></var>
  179. <var name="OOCLIMIT" type="String"></var>
  180. <var name="OOCBREAK" type="String"></var>
  181. <var name="SHIPSPEED" type="String"></var>
  182. <var name="SHIPMAXSPEED" type="String"></var>
  183. <var name="SHIPHULL" type="String"></var>
  184. <var name="SHIPMAXHULL" type="String"></var>
  185. <var name="SHIPENERGY" type="String"></var>
  186. <var name="SHIPMAXENERGY" type="String"></var>
  187. <var name="SHIPSHIELD" type="String"></var>
  188. <var name="SHIPMAXSHIELD" type="String"></var>
  189. <var name="SHIPGALX" type="String"></var>
  190. <var name="SHIPGALY" type="String"></var>
  191. <var name="SHIPSYSX" type="String"></var>
  192. <var name="SHIPSYSY" type="String"></var>
  193. <var name="SHIPSYSZ" type="String"></var>
  194. <var name="SHIPHEADX" type="String"></var>
  195. <var name="SHIPHEADY" type="String"></var>
  196. <var name="SHIPHEADZ" type="String"></var>
  197. <var name="SHIPSYSNAME" type="String">/var>
  198. <var name="MANAMAX" type="String"></var>
  199. <var name="MONEYTOTAL"></var>
  200. <var name="MONEYINV"></var>
  201. <var name="MONEYBANK" type="String"></var>
  202. <var name="MOVEMENTMAX" type="String"></var>
  203. <var name="STRPERM" type="String"></var>
  204. <var name="INTPERM" type="String"></var>
  205. <var name="WISPERM" type="String"></var>
  206. <var name="DEXPERM" type="String"></var>
  207. <var name="CONPERM" type="String"></var>
  208. <var name="CHAPERM" type="String"></var>
  209. <var name="OPPONENTHEALTH" type="String"></var>
  210. <var name="OPPONENTHEALTHMAX" type="String"></var>
  211. <var name="OPPONENTNAME" type="String"></var>
  212. <var name="HEALTH_PCT"></var>
  213. <var name="PILOTING" type="String"></var>
  214. <var name="SERVERID" type="String"></var>
  215. <var name="BOTTINGDELAY" type="String"></var>
  216. <var name="CURRENTAMMO" type="String"></var>
  217. <var name="MAXAMMO" type="String"></var>
  218. <var name="SHIELDENERGY" type="String"></var>
  219. <var name="LIGHTTIME" type="String"></var>
  220. <var name="MEDPACPOWER" type="String"></var>
  221. <var name="GRENADEROUNDS" type="String"></var>
  222. <var name="BLADEPOWER" type="String"></var>
  223. <var name="BOTTINGCOOLDOWN" type="String"></var>
  224. <var name="BOTTINGTIME" type="String"></var>
  225. </class>
  226. <func name="updatestatuswindow">
  227. <value><![CDATA[// This function fills the status window. If you need to manually refresh it, use the VREPORT command.
  228.  
  229. // Function originally created by @Ixt___something___. Modified by @Xerakon to fit purposes.
  230.  
  231. // Added in for testing purposes.
  232. #IF (@OPPONENTHEALTHMAX = 0) {#T- TopBar} {#T+ TopBar}
  233.  
  234. // Clears the Status window to receive the new information.
  235. #CLR Status
  236.  
  237. // Line 1: Displays Hitroll, Damroll, Strength, Dexterity, Constitution, Intelligence, Wisdom, and Charisma. The major stats will be in a nn (nn) format. The left set are your stats after all modifiers. Inside parenthesis are permanent stats, which are affected only by training and cybernetics.
  238. #LOCAL $line1
  239. $line1 = %format("<color red>HIT: <color lightgrey>&s</color> <color red>DAM:</color> <color lightgrey>&s</color> <color red>STR:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color> <color red>DEX:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color> <color red>CON:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color> <color red>INT:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color> <color red>WIS:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color> <color red>CHA:</color> <color lightgrey>&s</color> <color red>(</color><color lightgrey>&s</color><color red>)</color>", @HITROLL, @DAMROLL, @STR, @STRPERM, @DEX, @DEXPERM, @CON, @CONPERM, @INT, @INTPERM, @WIS, @WISPERM, @CHA, @CHAPERM)
  240.  
  241. // Line 2: Total, Inventory, and Bank Credits. Comlink Frequency and Encryption.
  242. #LOCAL $line2
  243. $line2 = %format("<color red>Total Credits:</color> <color lightgrey>&s</color> <color red>Inventory:</color> <color lightgrey>&s</color> <color red>Bank:</color> <color lightgrey>&s</color> <color red>Frequency:</color> <color lightgrey>&s</color> <color red>Encryption:</color> <color lightgrey>&s</color>", @MONEYTOTAL, @MONEYINV, @MONEYBANK, @COMMCHANNEL, @COMMENCRYPT)
  244.  
  245. // Line 3: Reserved for equipment data when MSDP is fixxed.
  246. #LOCAL $line3
  247. $line3 = %format("<color red>Reserved for equipment data when the MSDP is fixxed.</color>")
  248.  
  249. // Line 4: Reserved for botting plugin I'm working on.
  250. #LOCAL $line4
  251. $line4 = %format("<color red>Reserved for botting plugin when finished developing.</color>")
  252. //$line4 = %format("<color red>"["</color><color lightgrey>Botting</color><color red>"]" Time Remaining:</color><color lightgrey> &d:&02d:&02d</color><color red> Botting Activity: %s", (@BOTTINGTIME / 3600), %mod(@BOTTINGTIME / 60, 60), %mod(@BOTTINGTIME, 60),@BottingActivity)
  253.  
  254. //$line4 = %format("<color red>Reserved for botting plugin.</color>")
  255.  
  256. // Line 5: Displays cargo plugin variables, if enabled.
  257. #LOCAL $line5
  258. $line5 = %format("<color red>Reserved for cargo plugin when finished developing.</color>")
  259. //#IF (%class("CargoPlugin") = 1) {
  260. // $line5 = %format("<color red>Ship:</color><color lightgrey> &s </color><color red> Planet 1:</color><color lightgrey> &s </color><color red> Planet 2:</color><color lightgrey> &s </color><color red> Cargo 1:</color><color lightgrey> &s </color><color red> Cargo 2:</color><color lightgrey> &s</color>", @CargoShip, @CargoPlanet1, @CargoPlanet2, @Cargo1, @Cargo2)
  261. // } {
  262. // $line5 = %format("<color red>Cargo plugin disabled.</color>")}
  263.  
  264. // Line 3: Reserved.
  265. //#LOCAL $line3
  266. //$line3 = %format("<color red>Reserved.</color>")
  267.  
  268. // Line 6: Sublight information. Star System, Star Coordinates, Current XYZ, Coursing XYZ.
  269. #LOCAL $line6
  270. $line6 = %format("<color red>Star System:</color> <color lightgrey>%s</color> <color red>Coordinates:</color> <color lightgrey>%s %s</color> <color red>Current Position:</color> <color lightgrey>%s %s %s</color> <color red>Heading:</color> <color lightgrey>%s %s %s</color>", @SHIPSYSNAME, @SHIPGALX, @SHIPGALY, @SHIPSYSX, @SHIPSYSY, @SHIPSYSZ, @SHIPHEADX, @SHIPHEADY, @SHIPHEADZ)
  271.  
  272. // Adds the lines to the window.
  273. #WIN Status {$line1}
  274. #WIN Status {$line2}
  275. #WIN Status {$line3}
  276. #WIN Status {$line4}
  277. #WIN Status {$line5}
  278. #WIN Status {$line6}]]></value>
  279. </func>
  280. <trigger priority="12380">
  281. <pattern>~(W~)elcome to ~[S~]tar ~[W~]ars: Legend of the Jedi...</pattern>
  282. <value>// Force-fills the initial MSDP variables on login.
  283. vreport
  284.  
  285. // Fill out credits data.
  286. score</value>
  287. </trigger>
  288. </class>
  289. <class name="BottomBar">
  290. <button name="ForceGauge" type="Gauge" variable="@MANA" autosize="false" width="267" height="50" autopos="false" left="536" top="0" toolbar="2" color="purple" textcolor="white" border="black" gaugelowcol="red" gaugebackcol="gray" priority="59" enabled="false">
  291. <caption>@MANA/@MANAMAX</caption>
  292. <expr>@MANA</expr>
  293. <gaugemax>@MANAMAX</gaugemax>
  294. <gaugelow>@MANAMAX/4</gaugelow>
  295. </button>
  296. <button name="Health Gauge" type="Gauge" variable="@HEALTH" autosize="false" width="267" height="50" autopos="false" left="0" top="0" toolbar="2" color="green" textcolor="white" border="black" gaugelowcol="red" gaugebackcol="gray" priority="18">
  297. <caption>@HEALTH/@HEALTHMAX</caption>
  298. <expr>@HEALTH</expr>
  299. <gaugemax>@HEALTHMAX</gaugemax>
  300. <gaugelow>@HEALTHMAX/4</gaugelow>
  301. </button>
  302. <button name="Movement Gauge" type="Gauge" variable="@MOVEMENT" autosize="false" width="267" height="50" autopos="false" left="268" top="0" toolbar="2" color="navy" textcolor="white" border="black" gaugelowcol="red" gaugebackcol="gray" priority="40">
  303. <caption>@MOVEMENT/@MOVEMENTMAX</caption>
  304. <expr>@MOVEMENT</expr>
  305. <gaugemax>@MOVEMENTMAX</gaugemax>
  306. <gaugelow>@MOVEMENTMAX/4</gaugelow>
  307. </button>
  308. <class name="ShipStatus">
  309. <button name="Hull Variable" type="Gauge" variable="@SHIPHULL" autosize="false" width="200" height="20" autopos="false" left="201" top="72" toolbar="2" color="green" textcolor="white" gaugelowcol="maroon" gaugebackcol="gray" priority="6406">
  310. <caption>@SHIPHULL/@SHIPMAXHULL</caption>
  311. <expr>@SHIPHULL</expr>
  312. <gaugemax>@SHIPMAXHULL</gaugemax>
  313. <gaugelow>@SHIPMAXHULL/4</gaugelow>
  314. </button>
  315. <button name="Shields Variable" type="Gauge" variable="@SHIPSHIELD" autosize="false" width="200" height="20" autopos="false" left="402" top="72" toolbar="2" color="green" textcolor="white" gaugelowcol="maroon" gaugebackcol="gray" priority="6374">
  316. <caption>@SHIPSHIELD/@SHIPMAXSHIELD</caption>
  317. <expr>@SHIPSHIELD</expr>
  318. <gaugemax>@SHIPMAXSHIELD</gaugemax>
  319. <gaugelow>@SHIPMAXSHIELD/4</gaugelow>
  320. </button>
  321. <button name="Hull Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="201" top="51" toolbar="2" color="black" textcolor="white" priority="6398">
  322. <caption>Hull</caption>
  323. </button>
  324. <button name="Shields Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="402" top="51" toolbar="2" color="black" textcolor="white" priority="6394">
  325. <caption>Shields</caption>
  326. </button>
  327. <button name="Energy Variable" type="Gauge" variable="@SHIPENERGY" autosize="false" width="200" height="20" autopos="false" left="603" top="72" toolbar="2" color="green" textcolor="white" border="black" gaugelowcol="maroon" gaugebackcol="gray" priority="6371">
  328. <caption>@SHIPENERGY/@SHIPMAXENERGY</caption>
  329. <expr>@SHIPENERGY</expr>
  330. <gaugemax>@SHIPMAXENERGY</gaugemax>
  331. <gaugelow>@SHIPMAXENERGY/4</gaugelow>
  332. </button>
  333. <button name="Energy Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="603" top="51" toolbar="2" color="black" textcolor="white" priority="6392">
  334. <caption>Energy</caption>
  335. </button>
  336. <button name="Speed Variable" type="Gauge" variable="@SHIPSPEED" autosize="false" width="200" height="20" autopos="false" left="0" top="72" toolbar="2" color="green" textcolor="white" gaugelowcol="maroon" gaugebackcol="gray" priority="6404">
  337. <caption>@SHIPSPEED/@SHIPMAXSPEED</caption>
  338. <expr>@SHIPSPEED</expr>
  339. <gaugemax>@SHIPMAXSPEED</gaugemax>
  340. </button>
  341. <button name="Speed Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="0" top="51" toolbar="2" color="black" textcolor="white" priority="6396">
  342. <caption>Speed</caption>
  343. </button>
  344. <button name="Star System Label" type="Separator" autosize="false" width="300" height="20" autopos="false" left="0" top="93" toolbar="2" color="black" textcolor="white" priority="6390" enabled="false">
  345. <caption>Star System</caption>
  346. </button>
  347. <button name="Star System Variable" type="Separator" autosize="false" width="300" height="20" autopos="false" left="0" top="114" toolbar="2" color="black" textcolor="white" priority="6376" enabled="false">
  348. <caption>@SHIPSYSNAME</caption>
  349. </button>
  350. <button name="Current Position Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="402" top="93" toolbar="2" color="black" textcolor="white" priority="6384" enabled="false">
  351. <caption>Current Position</caption>
  352. </button>
  353. <button name="Current Position Variable" type="Separator" autosize="false" width="200" height="20" autopos="false" left="402" top="114" toolbar="2" color="black" textcolor="white" priority="6378" enabled="false">
  354. <caption>@SHIPSYSX @SHIPSYSY @SHIPSYSZ</caption>
  355. </button>
  356. <button name="Heading Label" type="Separator" autosize="false" width="200" height="20" autopos="false" left="603" top="93" toolbar="2" color="black" textcolor="white" priority="6382" enabled="false">
  357. <caption>Heading</caption>
  358. </button>
  359. <button name="Heading Variable" type="Separator" autosize="false" width="200" height="20" autopos="false" left="603" top="114" toolbar="2" color="black" textcolor="white" priority="6380" enabled="false">
  360. <caption>@SHIPHEADX @SHIPHEADY @SHIPHEADZ</caption>
  361. </button>
  362. <button name="Star System Coordinates Label" type="Separator" autosize="false" width="100" height="20" autopos="false" left="301" top="93" toolbar="2" color="black" textcolor="white" priority="6388" enabled="false">
  363. <caption>Coordinates</caption>
  364. </button>
  365. <button name="Star System Coordinates Variable" type="Separator" autosize="false" width="100" height="20" autopos="false" left="301" top="114" toolbar="2" color="black" textcolor="white" priority="6386" enabled="false">
  366. <caption>@SHIPGALX @SHIPGALY</caption>
  367. </button>
  368. </class>
  369. <class name="Toggling">
  370. <trigger priority="14400">
  371. <pattern>^You enter (*).</pattern>
  372. <value>// Determines when to pull up the gauges contained in ShipStatus. Added in the EnteringWhat variable to ensure that entering a building doesn't confuse the trigger.
  373. #VAR EnteringWhat (%1)
  374. #IF (@EnteringWhat = the building) {#T- ShipStatus} {#T+ ShipStatus}
  375. #IF (@EnteringWhat = the control codes for the autopilot) {#T+ ShipStatus}</value>
  376. </trigger>
  377. <trigger priority="14410">
  378. <pattern>^You exit the ship.</pattern>
  379. <value>#T- ShipStatus</value>
  380. </trigger>
  381. <var name="EnteringWhat">the control codes for the autopilot</var>
  382. </class>
  383. </class>
  384. <class name="Credit Captures">
  385. <trigger priority="10530">
  386. <pattern>You earned (%d) credits from the sale and pay (%d) in taxes.</pattern>
  387. <value>MONEYINV = @MONEYINV + %1
  388. MONEYINV = @MONEYINV - %2
  389. MONEYTOTAL = @MONEYINV + @MONEYBANK
  390. #CALL @updatestatuswindow()</value>
  391. </trigger>
  392. <trigger priority="10540">
  393. <pattern>It cost you (%d) credits total, (%d) credits in tax.</pattern>
  394. <value>MONEYINV = @MONEYINV - %1
  395. MONEYTOTAL = @MONEYINV + @MONEYBANK
  396. #CALL @updatestatuswindow()</value>
  397. </trigger>
  398. <trigger priority="10550">
  399. <pattern>You pay (%d) credits to refuel the ship.</pattern>
  400. <value>MONEYINV = @MONEYINV - %1
  401. MONEYTOTAL = @MONEYINV + @MONEYBANK
  402. #CALL @updatestatuswindow()</value>
  403. </trigger>
  404. <trigger priority="10580">
  405. <pattern>You get (%d) credits</pattern>
  406. <value>MONEYINV = @MONEYINV + %1
  407. MONEYTOTAL = @MONEYINV + @MONEYBANK
  408. #CALL @updatestatuswindow()</value>
  409. </trigger>
  410. <trigger priority="10590">
  411. <pattern>You have (%d) credits.</pattern>
  412. <value>#VAR MONEYINV (%1)
  413. MONEYTOTAL = @MONEYINV + @MONEYBANK
  414. #CALL @updatestatuswindow()</value>
  415. </trigger>
  416. <trigger priority="10600">
  417. <pattern>* puts some credits into a large safe.</pattern>
  418. <value>gold
  419. #CALL @updatestatuswindow()</value>
  420. </trigger>
  421. <trigger priority="10610">
  422. <pattern>You are paid (%d) credits, courtesy of (*).</pattern>
  423. <value>MONEYINV = @MONEYINV + %1
  424. MONEYTOTAL = @MONEYINV + @MONEYBANK
  425. #CALL @updatestatuswindow()</value>
  426. </trigger>
  427. <trigger priority="10620">
  428. <pattern>You pay (%d) credits to register an account.</pattern>
  429. <value>MONEYINV = @MONEYINV - %1
  430. MONEYTOTAL = @MONEYINV + @MONEYBANK
  431. #CALL @updatestatuswindow()</value>
  432. </trigger>
  433. <trigger priority="10940">
  434. <pattern>You sell (*) for (%d) credits.</pattern>
  435. <value>MONEYINV = @MONEYINV + %2
  436. MONEYTOTAL = @MONEYINV + @MONEYBANK
  437. #CALL @updatestatuswindow()</value>
  438. </trigger>
  439. <trigger priority="10950">
  440. <pattern>You pay (%d) credits in taxes to (*).</pattern>
  441. <value>MONEYINV = @MONEYINV - %1
  442. MONEYTOTAL = @MONEYINV + @MONEYBANK
  443. #CALL @updatestatuswindow()</value>
  444. </trigger>
  445. <trigger priority="10960">
  446. <pattern>Account (%d) earned (%d) credits this month.</pattern>
  447. <value>MONEYBANK = @MONEYBANK + %2
  448. MONEYTOTAL = @MONEYINV + @MONEYBANK
  449. #CALL @updatestatuswindow()</value>
  450. </trigger>
  451. <trigger priority="10990">
  452. <pattern>Your gain is: (%d)/(%d) mv and (%d) credits.</pattern>
  453. <value>MONEYINV = @MONEYINV + %3
  454. MONEYTOTAL = @MONEYINV + @MONEYBANK
  455. #CALL @updatestatuswindow()</value>
  456. </trigger>
  457. <trigger priority="11000">
  458. <pattern>Your gain is: (%d) credits.</pattern>
  459. <value>MONEYINV = @MONEYINV + %1
  460. MONEYTOTAL = @MONEYINV + @MONEYBANK
  461. #CALL @updatestatuswindow()</value>
  462. </trigger>
  463. <trigger priority="11010">
  464. <pattern>You pay (%d) credits to access a room and begin your training.</pattern>
  465. <value>MONEYINV = @MONEYINV - %1
  466. MONEYTOTAL = @MONEYINV + @MONEYBANK
  467. #CALL @updatestatuswindow()</value>
  468. </trigger>
  469. <trigger priority="12000">
  470. <pattern>You deposit (%d) credits into the account.</pattern>
  471. <value>MONEYBANK = @MONEYBANK + %1
  472. MONEYTOTAL = @MONEYINV + @MONEYBANK
  473. #CALL @updatestatuswindow()</value>
  474. </trigger>
  475. <trigger priority="10580">
  476. <pattern>(*) gives you (%d) credits</pattern>
  477. <value>MONEYINV = @MONEYINV + %1
  478. MONEYTOTAL = @MONEYINV + @MONEYBANK
  479. #CALL @updatestatuswindow()</value>
  480. </trigger>
  481. <trigger priority="14450">
  482. <pattern>You collect (%d) credits for killing a wanted criminal.</pattern>
  483. <value>MONEYINV = @MONEYINV + %1
  484. MONEYTOTAL = @MONEYINV + @MONEYBANK
  485. #CALL @updatestatuswindow()</value>
  486. </trigger>
  487. <trigger priority="18750">
  488. <pattern>^You pay (%d) credits to purchase the ship.</pattern>
  489. <value>MONEYINV = @MONEYINV - %1
  490. MONEYTOTAL = @MONEYINV + @MONEYBANK
  491. #CALL @updatestatuswindow()</value>
  492. </trigger>
  493. </class>
  494. <class name="Comms">
  495. <class name="Logs" enabled="false">
  496. <trigger priority="3640">
  497. <pattern>~(*~) (*) tells you '(*)'</pattern>
  498. <value>$name = %1
  499. $message = %2
  500. $timedtells = {}
  501. #ADDKEY $timedtells time %time("yyyy/mm/dd hh:mm:ss")
  502. #ADDKEY $timedtells name $name
  503. #ADDKEY $timedtells message $message
  504. #ADDITEM tellslog $timedtells</value>
  505. </trigger>
  506. <alias name="tellsfrom">
  507. <value><![CDATA[#PRINT
  508. $wantedname = %params
  509. #PRINT <color lightgrey>Tells from: $wantedname</color>
  510. #PRINT <color darkred>---------------------</color>
  511. #FORALL @tellslog {
  512. #IF (%upper(%i.name) = %upper($wantedname)) {#SHOW %format("&s: &s", %i.name, %i.message)}
  513. }
  514. #PRINT]]></value>
  515. </alias>
  516. <alias name="tellhist">
  517. <value><![CDATA[#PRINT
  518. #PRINT <color lightgrey>Tell History</color>
  519. #PRINT <color darkred>------------</color>
  520. $numitems = %numitems(@tellslog)
  521. #LOOP %max(($numitems-10),1),$numitems {
  522. $item = %item(@tellslog, %i)
  523. #SHOW %format("&s: &20s", $item.name, $item.message)
  524. //#SHOW %format("&s : &20s : &s", $item.time, $item.name, $item.message)
  525. }
  526. #PRINT]]></value>
  527. </alias>
  528. <alias name="commshist">
  529. <value><![CDATA[#WIN Comms <color lightgrey> </color>
  530. #WIN Comms <color darkred>-------------</color>
  531. #WIN Comms <color lightgrey>Comms History</color>
  532. #WIN Comms <color darkred>-------------</color>
  533. $numitems = %numitems(@//LotJShared/Comms/commslog)
  534. #LOOP %max(($numitems-10),1),$numitems {
  535. $item = %item(@//LotJShared/Comms/commslog, %i)
  536. #WIN Comms %format("&s: &s: &s", $item.name, $item.channel, $item.message)
  537. // #SHOW %format("&s: &s: &s", $item.name, $item.channel, $item.message)
  538. }
  539. #WIN Comms <color darkred>-------------</color>
  540. #WIN Comms <color lightgrey> </color>]]></value>
  541. </alias>
  542. <alias name="commsfrom">
  543. <value><![CDATA[#WIN Comms <color lightgrey> </color>
  544. $wantedname = %params
  545. #WIN Comms <color darkred>---------------------</color>
  546. #WIN Comms <color lightgrey>Comms from: $wantedname</color>
  547. #WIN Comms <color darkred>---------------------</color>
  548. #FORALL @//LotJShared/Comms/commslog {
  549. #IF (%upper(%i.name) = %upper($wantedname)) {#WIN Comms %format("&s: &s", %i.name, %i.message)}
  550. }
  551. #WIN Comms <color darkred>---------------------</color>
  552. #WIN Comms <color lightgrey> </color>]]></value>
  553. </alias>
  554. <trigger priority="11100" enabled="false">
  555. <pattern>(*) says '(*)'</pattern>
  556. <value>$name = %1
  557. $message = %2
  558. $timedcomms = {}
  559. #ADDKEY $timedcomms time %time("yyyy/mm/dd hh:mm:ss")
  560. #ADDKEY $timedcomms name $name
  561. #ADDKEY $timedcomms message $message
  562. #ADDITEM commslog $timedcomms
  563.  
  564. //~(*~) (*) tells you '(*)'</value>
  565. </trigger>
  566. <var name="tones" type="StringList">
  567. <value>abashedlylily|abruptlylily|absent mindedlylily|accusinglylily|aggravatedlylily|aggressivelylily|amusedlylily|angrylylily|annoyedlylily|annoyinglylily|anxiouslylily|apologeticlylily|appreciativelylily|approvinglylily|argumentativelylily|arrogantlylily|ashamedlylily|audaciouslylily|awedlylily|awkwardlylily|bashfullylily|belligerentlylily|bickeringlylily|bitterlylily|bluntlylily|boredlylily|boyishlylily|brashlylily|bravelylily|breathlesslylily|boldlylily|brisklylily|brokenlylily|calmlylily|carefullylily|casuallylily|causticlylily|cautiouslylily|cheerfullylily|clearlylily|cleverlylily|coarselylily|coldlylily|commandinglylily|competitivelylily|concernedlylily|condescendinglylily|confidentlylily|confusedlylily|cordiallylily|coughinglylily|courageouslylily|coylylily|curiouslylily|cursinglylily|curtlylily|cravenlylily|crisplylily|cruellylily|crypticlylily|cynicallylily|darklylily|dazedlylily|deeplylily|defensivelylily|defiantlylily|dejectedlylily|demurelylily|dimlylily|disappointedlylily|disapprovinglylily|disenchantedlylily|disgustedlylily|dismissivelylily|disrespectfullylily|distractedlylily|distantlylily|dizzylylily|dominantlylily|domineeringlylily|dreamylylily|droninglylily|drunkenlylily|drylylyly|dubiouslylily|dulllylily|embarrassedlylily|emphaticlylily|encouraginglylily|enragedlylily|enviouslylily|exasperatedlylily|excitedlylily|expectantlylily|exuberantlylily|faintlylily|fearfullylily|firmlylily|flatlylily|flirtatiouslylily|foolishlylily|forlornlylily|franklylily|fretfullylily|frustratedlylily|fuminglylily|furiouslylily|gaspinglylily|gentlylily|girlishlylily|gleefullylily|glumlylily|grufflylily|grandlylily|gratefullylily|gravelylily|greedylylily|grimlylily|growlinglylily|grumpylylily|gruntinglylily|gutturallylily|happylylily|haltinglylily|harshlylily|haughtylylily|heartlesslylily|heroicallylily|hesitantlylily|hissinglylily|hopefullylily|humourouslylily|hurriedlylily|hushedlylily|hyperlylily|impatientlylily|incoherentlylily|incredulouslylily|indistinctivelylily|innocentlylily|inquisitivelylily|insistentlylily|insolentlylily|irritatedlylily|jealouslylily|jitterlylily|jokinglylily|jubilantlylily|knowinglylily|laconiclylily|laughinglylily|lazylylily|lewdlylily|lightlylily|lithelylily|lividlylily|loudlylily|lovinglylily|lustfullylily|madlylily|majesticlylily|maniacallylily|mechanicallylily|meeklylily|melodicallylily|menacinglylily|merrylylily|messylylily|mindlesslylily|mischievouslylily|miserablelylily|mockinglylily|monotonouslylily|moodylylily|mournfullylily|mutedlylily|mysteriouslylily|nasallylily|negativelylily|nervouslylily|nonchalantlylily|obnoxiouslylily|obscuredlylily|obstinatelylily|ominouslylily|passionatelylily|passivelylily|patheticlylily|patientlylily|pausinglylily|peacefullylily|pedanticlylily|persistentlylily|piouslylily|placidlylily|playfullylily|pointedlylily|politelylily|pompouslylily|poshlylily|positivelylily|preeminentlylily|proudlylily|psychoticlylily|questioninglylily|quicklylily|quietlylily|rabidlylily|recklesslylily|regretfullylily|remorsefullylily|resentfullylily|resignedlylily|respectfullylily|rudelylily|sadlylily|sarcasticlylily|scaredlylily|scoffinglylily|scornfullylily|seductivelylily|serenelylily|seriouslylily|sexylylily|shamedlylily|sharplylily|sheepishlylily|shrewdlylily|shylylyly|sighinglylily|sinisterlylily|skepticallylily|sleazylylily|sleepylylily|slicklylily|slimylylily|slowlylily|slylylyly|smoothlylily|smuglylily|snarkylylily|snidelylily|snipinglylily|snottylylily|sobbinglylily|softlylily|solemnlylily|somberlylily|soothinglylily|sorrowfullylily|sourlylily|spinelesslylily|spitefullylily|squeakylylily|stubbornlylily|submissivelylily|suggestivelylily|surprisedlylily|suspiciouslylily|staggeringlylily|stammeringlylily|sternlylily|stupidlylily|stutteringlylily|suavelylily|suddenlylily|sweetlylily|sympatheticlylily|tactfullylily|tearfullylily|teasinglylily|tenderlylily|tentativelylily|tepidlylily|terselylily|thicklylily|thinlylily|thoughtfullylily|threateninglylily|timidlylily|tiredlylily|triumphantlylily|undecipherablelylily|understandinglylily|uneasylylily|unhappylylily|vacantlylily|warmlylily|warylylily|weaklylily|wearylylily|wheezinglylily|whininglylily|wiselylily|wistfullylily|worriedlylily|wrylylyly|aggravatedlily|aggressivelily|amusedlily|angrylily|annoyedlily|annoyinglily|anxiouslily|apologeticlily|appreciativelily|approvinglily|argumentativelily|arrogantlily|ashamedlily|audaciouslily|awedlily|awkwardlily|bashfullily|belligerentlily|bickeringlily|bitterlily|bluntlily|boredlily|boyishlily|brashlily|bravelily|breathlesslily|boldlily|brisklily|brokenlily|calmlily|carefullily|casuallily|causticlily|cautiouslily|cheerfullily|clearlily|cleverlily|coarselily|coldlily|commandinglily|competitivelily|concernedlily|condescendinglily|confidentlily|confusedlily|cordiallily|coughinglily|courageouslily|coylily|curiouslily|cursinglily|curtlily|cravenlily|crisplily|cruellily|crypticlily|cynicallily|darklily|dazedlily|deeplily|defensivelily|defiantlily|dejectedlily|demurelily|dimlily|disappointedlily|disapprovinglily|disenchantedlily|disgustedlily|dismissivelily|disrespectfullily|distractedlily|distantlily|dizzylily|dominantlily|domineeringlily|dreamylily|droninglily|drunkenlily|drylyly|dubiouslily|dulllily|embarrassedlily|emphaticlily|encouraginglily|enragedlily|enviouslily|exasperatedlily|excitedlily|expectantlily|exuberantlily|faintlily|fearfullily|firmlily|flatlily|flirtatiouslily|foolishlily|forlornlily|franklily|fretfullily|frustratedlily|fuminglily|furiouslily|gaspinglily|gentlily|girlishlily|gleefullily|glumlily|grufflily|grandlily|gratefullily|gravelily|greedylily|grimlily|growlinglily|grumpylily|gruntinglily|gutturallily|happylily|haltinglily|harshlily|haughtylily|heartlesslily|heroicallily|hesitantlily|hissinglily|hopefullily|humourouslily|hurriedlily|hushedlily|hyperlily|impatientlily|incoherentlily|incredulouslily|indistinctivelily|innocentlily|inquisitivelily|insistentlily|insolentlily|irritatedlily|jealouslily|jitterlily|jokinglily|jubilantlily|knowinglily|laconiclily|laughinglily|lazylily|lewdlily|lightlily|lithelily|lividlily|loudlily|lovinglily|lustfullily|madlily|majesticlily|maniacallily|mechanicallily|meeklily|melodicallily|menacinglily|merrylily|messylily|mindlesslily|mischievouslily|miserablelily|mockinglily|monotonouslily|moodylily|mournfullily|mutedlily|mysteriouslily|nasallily|negativelily|nervouslily|nonchalantlily|obnoxiouslily|obscuredlily|obstinatelily|ominouslily|passionatelily|passivelily|patheticlily|patientlily|pausinglily|peacefullily|pedanticlily|persistentlily|piouslily|placidlily|playfullily|pointedlily|politelily|pompouslily|poshlily|positivelily|preeminentlily|proudlily|psychoticlily|questioninglily|quicklily|quietlily|rabidlily|recklesslily|regretfullily|remorsefullily|resentfullily|resignedlily|respectfullily|rudelily|sadlily|sarcasticlily|scaredlily|scoffinglily|scornfullily|seductivelily|serenelily|seriouslily|sexylily|shamedlily|sharplily|sheepishlily|shrewdlily|shylyly|sighinglily|sinisterlily|skepticallily|sleazylily|sleepylily|slicklily|slimylily|slowlily|slylyly|smoothlily|smuglily|snarkylily|snidelily|snipinglily|snottylily|sobbinglily|softlily|solemnlily|somberlily|soothinglily|sorrowfullily|sourlily|spinelesslily|spitefullily|squeakylily|stubbornlily|submissivelily|suggestivelily|surprisedlily|suspiciouslily|staggeringlily|stammeringlily|sternlily|stupidlily|stutteringlily|suavelily|suddenlily|sweetlily|sympatheticlily|tactfullily|tearfullily|teasinglily|tenderlily|tentativelily|tepidlily|terselily|thicklily|thinlily|thoughtfullily|threateninglily|timidlily|tiredlily|triumphantlily|undecipherablelily|understandinglily|uneasylily|unhappylily|vacantlily|warmlily|warylily|weaklily|wearylily|wheezinglily|whininglily|wiselily|wistfullily|worriedlily|aggravatedly|aggressively|amusedly|angrily|annoyedly|annoyingly|anxiously|apologetically|appreciatively|approvingly|argumentatively|arrogantly|ashamedly|audaciously|awedly|awkwardly|bashfully|belligerently|bickeringly|bitterly|bluntly|boredly|boyishly|brashly|bravely|breathlessly|boldly|briskly|brokenly|calmly|carefully|casually|caustically|cautiously|cheerfully|clearly|cleverly|coarsely|coldly|commandingly|competitively|concernedly|condescendingly|confidently|confusedly|cordially|coughingly|courageously|coyly|curiously|cursingly|curtly|cravenly|crisply|cruelly|cryptically|cynically|darkly|dazedly|deeply|defensively|defiantly|dejectedly|demurely|dimly|disappointedly|disapprovingly|disenchantedly|disgustedly|dismissively|disrespectfully|distractedly|distantly|dizzily|dominantly|domineeringly|dreamily|droningly|drunkenly|dryly|dubiously|dully|embarrassedly|emphatically|encouragingly|enragedly|enviously|exasperatedly|excitedly|expectantly|exuberantly|faintly|fearfully|firmly|flatly|flirtatiously|foolishly|forlornly|frankly|fretfully|frustratedly|fumingly|furiously|gaspingly|gently|girlishly|gleefully|glumly|gruffly|grandly|gratefully|gravely|greedily|grimly|growlingly|grumpily|gruntingly|gutturally|happily|haltingly|harshly|haughtily|heartlessly|heroically|hesitantly|hissingly|hopefully|humourously|hurriedly|hushedly|hyperly|impatiently|incoherently|incredulously|indistinctively|innocently|inquisitively|insistently|insolently|irritatedly|jealously|jitterly|jokingly|jubilantly|knowingly|laconically|laughingly|lazily|lewdly|lightly|lithely|lividly|loudly|lovingly|lustfully|madly|majestically|maniacally|mechanically|meekly|melodically|menacingly|merrily|messily|mindlessly|mischievously|miserably|mockingly|monotonously|moodily|mournfully|mutedly|mysteriously|nasally|negatively|nervously|nonchalantly|obnoxiously|obscuredly|obstinately|ominously|passionately|passively|pathetically|patiently|pausingly|peacefully|pedantically|persistently|piously|placidly|playfully|pointedly|politely|pompously|poshly|positively|preeminently|proudly|psychotically|questioningly|quickly|quietly|rabidly|recklessly|regretfully|remorsefully|resentfully|resignedly|respectfully|rudely|sadly|sarcastically|scaredly|scoffingly|scornfully|seductively|serenely|seriously|sexily|shamedly|sharply|sheepishly|shrewdly|shyly|sighingly|sinisterly|skeptically|sleazily|sleepily|slickly|slimily|slowly|slyly|smoothly|smugly|snarkily|snidely|snipingly|snottily|sobbingly|softly|solemnly|somberly|soothingly|sorrowfully|sourly|spinelessly|spitefully|squeakily|stubbornly|submissively|suggestively|surprisedly|suspiciously|staggeringly|stammeringly|sternly|stupidly|stutteringly|suavely|suddenly|sweetly|sympathetically|tactfully|tearfully|teasingly|tenderly|tentatively|tepidly|tersely|thickly|thinly|thoughtfully|threateningly|timidly|tiredly|triumphantly|undecipherably|understandingly|uneasily|unhappily|vacantly|warmly|warily|weakly|wearily|wheezingly|whiningly|wisely|wistfully|worriedly</value>
  568. <json>["abashedlylily","abruptlylily","absent mindedlylily","accusinglylily","aggravatedlylily","aggressivelylily","amusedlylily","angrylylily","annoyedlylily","annoyinglylily","anxiouslylily","apologeticlylily","appreciativelylily","approvinglylily","argumentativelylily","arrogantlylily","ashamedlylily","audaciouslylily","awedlylily","awkwardlylily","bashfullylily","belligerentlylily","bickeringlylily","bitterlylily","bluntlylily","boredlylily","boyishlylily","brashlylily","bravelylily","breathlesslylily","boldlylily","brisklylily","brokenlylily","calmlylily","carefullylily","casuallylily","causticlylily","cautiouslylily","cheerfullylily","clearlylily","cleverlylily","coarselylily","coldlylily","commandinglylily","competitivelylily","concernedlylily","condescendinglylily","confidentlylily","confusedlylily","cordiallylily","coughinglylily","courageouslylily","coylylily","curiouslylily","cursinglylily","curtlylily","cravenlylily","crisplylily","cruellylily","crypticlylily","cynicallylily","darklylily","dazedlylily","deeplylily","defensivelylily","defiantlylily","dejectedlylily","demurelylily","dimlylily","disappointedlylily","disapprovinglylily","disenchantedlylily","disgustedlylily","dismissivelylily","disrespectfullylily","distractedlylily","distantlylily","dizzylylily","dominantlylily","domineeringlylily","dreamylylily","droninglylily","drunkenlylily","drylylyly","dubiouslylily","dulllylily","embarrassedlylily","emphaticlylily","encouraginglylily","enragedlylily","enviouslylily","exasperatedlylily","excitedlylily","expectantlylily","exuberantlylily","faintlylily","fearfullylily","firmlylily","flatlylily","flirtatiouslylily","foolishlylily","forlornlylily","franklylily","fretfullylily","frustratedlylily","fuminglylily","furiouslylily","gaspinglylily","gentlylily","girlishlylily","gleefullylily","glumlylily","grufflylily","grandlylily","gratefullylily","gravelylily","greedylylily","grimlylily","growlinglylily","grumpylylily","gruntinglylily","gutturallylily","happylylily","haltinglylily","harshlylily","haughtylylily","heartlesslylily","heroicallylily","hesitantlylily","hissinglylily","hopefullylily","humourouslylily","hurriedlylily","hushedlylily","hyperlylily","impatientlylily","incoherentlylily","incredulouslylily","indistinctivelylily","innocentlylily","inquisitivelylily","insistentlylily","insolentlylily","irritatedlylily","jealouslylily","jitterlylily","jokinglylily","jubilantlylily","knowinglylily","laconiclylily","laughinglylily","lazylylily","lewdlylily","lightlylily","lithelylily","lividlylily","loudlylily","lovinglylily","lustfullylily","madlylily","majesticlylily","maniacallylily","mechanicallylily","meeklylily","melodicallylily","menacinglylily","merrylylily","messylylily","mindlesslylily","mischievouslylily","miserablelylily","mockinglylily","monotonouslylily","moodylylily","mournfullylily","mutedlylily","mysteriouslylily","nasallylily","negativelylily","nervouslylily","nonchalantlylily","obnoxiouslylily","obscuredlylily","obstinatelylily","ominouslylily","passionatelylily","passivelylily","patheticlylily","patientlylily","pausinglylily","peacefullylily","pedanticlylily","persistentlylily","piouslylily","placidlylily","playfullylily","pointedlylily","politelylily","pompouslylily","poshlylily","positivelylily","preeminentlylily","proudlylily","psychoticlylily","questioninglylily","quicklylily","quietlylily","rabidlylily","recklesslylily","regretfullylily","remorsefullylily","resentfullylily","resignedlylily","respectfullylily","rudelylily","sadlylily","sarcasticlylily","scaredlylily","scoffinglylily","scornfullylily","seductivelylily","serenelylily","seriouslylily","sexylylily","shamedlylily","sharplylily","sheepishlylily","shrewdlylily","shylylyly","sighinglylily","sinisterlylily","skepticallylily","sleazylylily","sleepylylily","slicklylily","slimylylily","slowlylily","slylylyly","smoothlylily","smuglylily","snarkylylily","snidelylily","snipinglylily","snottylylily","sobbinglylily","softlylily","solemnlylily","somberlylily","soothinglylily","sorrowfullylily","sourlylily","spinelesslylily","spitefullylily","squeakylylily","stubbornlylily","submissivelylily","suggestivelylily","surprisedlylily","suspiciouslylily","staggeringlylily","stammeringlylily","sternlylily","stupidlylily","stutteringlylily","suavelylily","suddenlylily","sweetlylily","sympatheticlylily","tactfullylily","tearfullylily","teasinglylily","tenderlylily","tentativelylily","tepidlylily","terselylily","thicklylily","thinlylily","thoughtfullylily","threateninglylily","timidlylily","tiredlylily","triumphantlylily","undecipherablelylily","understandinglylily","uneasylylily","unhappylylily","vacantlylily","warmlylily","warylylily","weaklylily","wearylylily","wheezinglylily","whininglylily","wiselylily","wistfullylily","worriedlylily","wrylylyly","aggravatedlily","aggressivelily","amusedlily","angrylily","annoyedlily","annoyinglily","anxiouslily","apologeticlily","appreciativelily","approvinglily","argumentativelily","arrogantlily","ashamedlily","audaciouslily","awedlily","awkwardlily","bashfullily","belligerentlily","bickeringlily","bitterlily","bluntlily","boredlily","boyishlily","brashlily","bravelily","breathlesslily","boldlily","brisklily","brokenlily","calmlily","carefullily","casuallily","causticlily","cautiouslily","cheerfullily","clearlily","cleverlily","coarselily","coldlily","commandinglily","competitivelily","concernedlily","condescendinglily","confidentlily","confusedlily","cordiallily","coughinglily","courageouslily","coylily","curiouslily","cursinglily","curtlily","cravenlily","crisplily","cruellily","crypticlily","cynicallily","darklily","dazedlily","deeplily","defensivelily","defiantlily","dejectedlily","demurelily","dimlily","disappointedlily","disapprovinglily","disenchantedlily","disgustedlily","dismissivelily","disrespectfullily","distractedlily","distantlily","dizzylily","dominantlily","domineeringlily","dreamylily","droninglily","drunkenlily","drylyly","dubiouslily","dulllily","embarrassedlily","emphaticlily","encouraginglily","enragedlily","enviouslily","exasperatedlily","excitedlily","expectantlily","exuberantlily","faintlily","fearfullily","firmlily","flatlily","flirtatiouslily","foolishlily","forlornlily","franklily","fretfullily","frustratedlily","fuminglily","furiouslily","gaspinglily","gentlily","girlishlily","gleefullily","glumlily","grufflily","grandlily","gratefullily","gravelily","greedylily","grimlily","growlinglily","grumpylily","gruntinglily","gutturallily","happylily","haltinglily","harshlily","haughtylily","heartlesslily","heroicallily","hesitantlily","hissinglily","hopefullily","humourouslily","hurriedlily","hushedlily","hyperlily","impatientlily","incoherentlily","incredulouslily","indistinctivelily","innocentlily","inquisitivelily","insistentlily","insolentlily","irritatedlily","jealouslily","jitterlily","jokinglily","jubilantlily","knowinglily","laconiclily","laughinglily","lazylily","lewdlily","lightlily","lithelily","lividlily","loudlily","lovinglily","lustfullily","madlily","majesticlily","maniacallily","mechanicallily","meeklily","melodicallily","menacinglily","merrylily","messylily","mindlesslily","mischievouslily","miserablelily","mockinglily","monotonouslily","moodylily","mournfullily","mutedlily","mysteriouslily","nasallily","negativelily","nervouslily","nonchalantlily","obnoxiouslily","obscuredlily","obstinatelily","ominouslily","passionatelily","passivelily","patheticlily","patientlily","pausinglily","peacefullily","pedanticlily","persistentlily","piouslily","placidlily","playfullily","pointedlily","politelily","pompouslily","poshlily","positivelily","preeminentlily","proudlily","psychoticlily","questioninglily","quicklily","quietlily","rabidlily","recklesslily","regretfullily","remorsefullily","resentfullily","resignedlily","respectfullily","rudelily","sadlily","sarcasticlily","scaredlily","scoffinglily","scornfullily","seductivelily","serenelily","seriouslily","sexylily","shamedlily","sharplily","sheepishlily","shrewdlily","shylyly","sighinglily","sinisterlily","skepticallily","sleazylily","sleepylily","slicklily","slimylily","slowlily","slylyly","smoothlily","smuglily","snarkylily","snidelily","snipinglily","snottylily","sobbinglily","softlily","solemnlily","somberlily","soothinglily","sorrowfullily","sourlily","spinelesslily","spitefullily","squeakylily","stubbornlily","submissivelily","suggestivelily","surprisedlily","suspiciouslily","staggeringlily","stammeringlily","sternlily","stupidlily","stutteringlily","suavelily","suddenlily","sweetlily","sympatheticlily","tactfullily","tearfullily","teasinglily","tenderlily","tentativelily","tepidlily","terselily","thicklily","thinlily","thoughtfullily","threateninglily","timidlily","tiredlily","triumphantlily","undecipherablelily","understandinglily","uneasylily","unhappylily","vacantlily","warmlily","warylily","weaklily","wearylily","wheezinglily","whininglily","wiselily","wistfullily","worriedlily","aggravatedly","aggressively","amusedly","angrily","annoyedly","annoyingly","anxiously","apologetically","appreciatively","approvingly","argumentatively","arrogantly","ashamedly","audaciously","awedly","awkwardly","bashfully","belligerently","bickeringly","bitterly","bluntly","boredly","boyishly","brashly","bravely","breathlessly","boldly","briskly","brokenly","calmly","carefully","casually","caustically","cautiously","cheerfully","clearly","cleverly","coarsely","coldly","commandingly","competitively","concernedly","condescendingly","confidently","confusedly","cordially","coughingly","courageously","coyly","curiously","cursingly","curtly","cravenly","crisply","cruelly","cryptically","cynically","darkly","dazedly","deeply","defensively","defiantly","dejectedly","demurely","dimly","disappointedly","disapprovingly","disenchantedly","disgustedly","dismissively","disrespectfully","distractedly","distantly","dizzily","dominantly","domineeringly","dreamily","droningly","drunkenly","dryly","dubiously","dully","embarrassedly","emphatically","encouragingly","enragedly","enviously","exasperatedly","excitedly","expectantly","exuberantly","faintly","fearfully","firmly","flatly","flirtatiously","foolishly","forlornly","frankly","fretfully","frustratedly","fumingly","furiously","gaspingly","gently","girlishly","gleefully","glumly","gruffly","grandly","gratefully","gravely","greedily","grimly","growlingly","grumpily","gruntingly","gutturally","happily","haltingly","harshly","haughtily","heartlessly","heroically","hesitantly","hissingly","hopefully","humourously","hurriedly","hushedly","hyperly","impatiently","incoherently","incredulously","indistinctively","innocently","inquisitively","insistently","insolently","irritatedly","jealously","jitterly","jokingly","jubilantly","knowingly","laconically","laughingly","lazily","lewdly","lightly","lithely","lividly","loudly","lovingly","lustfully","madly","majestically","maniacally","mechanically","meekly","melodically","menacingly","merrily","messily","mindlessly","mischievously","miserably","mockingly","monotonously","moodily","mournfully","mutedly","mysteriously","nasally","negatively","nervously","nonchalantly","obnoxiously","obscuredly","obstinately","ominously","passionately","passively","pathetically","patiently","pausingly","peacefully","pedantically","persistently","piously","placidly","playfully","pointedly","politely","pompously","poshly","positively","preeminently","proudly","psychotically","questioningly","quickly","quietly","rabidly","recklessly","regretfully","remorsefully","resentfully","resignedly","respectfully","rudely","sadly","sarcastically","scaredly","scoffingly","scornfully","seductively","serenely","seriously","sexily","shamedly","sharply","sheepishly","shrewdly","shyly","sighingly","sinisterly","skeptically","sleazily","sleepily","slickly","slimily","slowly","slyly","smoothly","smugly","snarkily","snidely","snipingly","snottily","sobbingly","softly","solemnly","somberly","soothingly","sorrowfully","sourly","spinelessly","spitefully","squeakily","stubbornly","submissively","suggestively","surprisedly","suspiciously","staggeringly","stammeringly","sternly","stupidly","stutteringly","suavely","suddenly","sweetly","sympathetically","tactfully","tearfully","teasingly","tenderly","tentatively","tepidly","tersely","thickly","thinly","thoughtfully","threateningly","timidly","tiredly","triumphantly","undecipherably","understandingly","uneasily","unhappily","vacantly","warmly","warily","weakly","wearily","wheezingly","whiningly","wisely","wistfully","worriedly"]</json>
  569. </var>
  570. <class name="TonesClass" enabled="false">
  571. <trigger priority="11310">
  572. <pattern>^(%d)~.(%s)(%w)(%s)(%d)~.(%s)(%w)(%s)(%d)~.(%s)(%w)(%s)(%d)~.(%s)(%w)(%s)</pattern>
  573. <value>#ADDITEM @//LotJShared/Comms/tones %3
  574. #ADDITEM @//LotJShared/Comms/tones %7
  575. #ADDITEM @//LotJShared/Comms/tones %11
  576. #ADDITEM @//LotJShared/Comms/tones %15</value>
  577. </trigger>
  578. <trigger priority="11350">
  579. <pattern>^~[H: (%d)/(%d)~] ~[M: (%d)/(%d)~] ~[OOC: (%d)~] ~[T: (*)~] ~[A: (*)~] ~[N: (*)~] ~[(*)~]$</pattern>
  580. <value>$adverbs = ""
  581. #FORALL @//LotjShared/Comms/tones {
  582. $adj = %i
  583. $adv = ""
  584. #SWITCH (%ends($adj, "le")) {$adv = %concat(%leftback($adj, 2), "ly")}
  585. (%ends($adj, "ll")) {$adv = %concat($adj, "y")}
  586. (%ends($adj, "ic")) {$adv = %concat($adj, "ally")}
  587. (%ends($adj,"y") AND !%match($adj, "*{a|e|i|o|u}y$") AND %match($adj, "*{a|e|i|o|u}*")) {$adv = %concat(%leftback($adj, 1), "ily")}
  588. {$adv = %concat($adj, "ly")}
  589.  
  590.  
  591. #T- TonesClass
  592.  
  593. #ADDITEM $adverbs $adv
  594. }
  595. #VAR //LotjShared/Comms/tones $adverbs
  596. </value>
  597. </trigger>
  598. </class>
  599. <trigger priority="11340">
  600. <pattern>Complete list of speaking tones:</pattern>
  601. <value>#T+ TonesClass
  602. #VAR @//LotJShared/Comms/tones ""</value>
  603. </trigger>
  604. </class>
  605. <class name="IC">
  606. <class name="CommNet">
  607. <trigger priority="11190">
  608. <pattern>^CommNet (%d) ~[(*)~]: (*)</pattern>
  609. <value>// Sends commnet data to the Talk window.
  610. #CAPTURE Talk
  611.  
  612. // Data below is for a comm database I'm working on... slowly.
  613. //$line = %1
  614. //$name = %2
  615. //$message = %3
  616. //$timedcomms = {}
  617. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  618. //#ADDKEY $timedcomms channel $line
  619. //#ADDKEY $timedcomms name $name
  620. //#ADDKEY $timedcomms message $message
  621. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  622. //#ADDITEM @//LotJShared/Comms/lognames $name
  623.  
  624. //CommNet Line [Name]: Message
  625.  
  626. //Line: %1
  627. //Name: %2
  628. //Message: %3</value>
  629. </trigger>
  630. <trigger priority="11190">
  631. <pattern>^CommNet (%d) ~[(*)~]~( (*) ~): (*)</pattern>
  632. <value>// Sends commnet data to the Talk window.
  633. #CAPTURE Talk
  634.  
  635. // Data below is for a comm database I'm working on... slowly.
  636. //$line = %1
  637. //$name = %2
  638. //$message = %4
  639. //$timedcomms = {}
  640. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  641. //#ADDKEY $timedcomms channel $line
  642. //#ADDKEY $timedcomms name $name
  643. //#ADDKEY $timedcomms message $message
  644. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  645. //#ADDITEM @//LotJShared/Comms/lognames $name
  646.  
  647. //CommNet Line [Name]( Tone ): Message
  648.  
  649. //Line: %1
  650. //Name: %2
  651. //Tone: %3
  652. //Message: %4</value>
  653. </trigger>
  654. <trigger priority="11190">
  655. <pattern>^CommNet (%d) ~[(*)~]~( (*) ~)~&lt;(*)~&gt;: (*)</pattern>
  656. <value>// Sends commnet data to the Talk window.
  657. #CAPTURE Talk
  658.  
  659. // Data below is for a comm database I'm working on... slowly.
  660. //$line = %1
  661. //$name = %2
  662. //$message = %5
  663. //$timedcomms = {}
  664. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  665. //#ADDKEY $timedcomms channel $line
  666. //#ADDKEY $timedcomms name $name
  667. //#ADDKEY $timedcomms message $message
  668. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  669. //#ADDITEM @//LotJShared/Comms/lognames $name
  670.  
  671. //CommNet Line [Name]( Tone )&lt;Language&gt;: Message
  672.  
  673. //Line: %1
  674. //Name: %2
  675. //Tone: %3
  676. //Language: %4
  677. //Message: %5</value>
  678. </trigger>
  679. <trigger priority="11190">
  680. <pattern>^CommNet (%d) ~[(*)~]~&lt;(*)~&gt;: (*)</pattern>
  681. <value>// Sends commnet data to the Talk window.
  682. #CAPTURE Talk
  683.  
  684. // Data below is for a comm database I'm working on... slowly.
  685. //$line = %1
  686. //$name = %2
  687. //$message = %4
  688. //$timedcomms = {}
  689. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  690. //#ADDKEY $timedcomms channel $line
  691. //#ADDKEY $timedcomms name $name
  692. //#ADDKEY $timedcomms message $message
  693. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  694. //#ADDITEM @//LotJShared/Comms/lognames $name
  695.  
  696. //CommNet Line [Name]&lt;Language&gt;: Message
  697.  
  698. //Line: %1
  699. //Name: %2
  700. //Language: %3
  701. //Message: %4</value>
  702. </trigger>
  703. </class>
  704. <class name="Broadcast">
  705. <trigger priority="12680">
  706. <pattern>^Broadcasting Network ~[*~(*~)~]: *</pattern>
  707. <value>// Sends broadcast data to the Talk window.
  708. #CAPTURE Talk</value>
  709. </trigger>
  710. <trigger priority="12930">
  711. <pattern>^(*) has been captured by (*)!</pattern>
  712. <value>// Sends planetary capture information to the Talk window.
  713. #CAPTURE Talk</value>
  714. </trigger>
  715. </class>
  716. <class name="Clan">
  717. <trigger priority="11110">
  718. <pattern>^~(~[(*)~]~)~{(*)~}~&lt;(*)~&gt;~[(*)~]~( (*) ~): (*)</pattern>
  719. <value>// Sends clan data to the Clan window.
  720. #CAPTURE Clan
  721.  
  722. // Data below is for a comm database I'm working on... slowly.
  723. //$line = %1
  724. //$name = %4
  725. //$message = %6
  726. //$timedcomms = {}
  727. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  728. //#ADDKEY $timedcomms channel $line
  729. //#ADDKEY $timedcomms name $name
  730. //#ADDKEY $timedcomms message $message
  731. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  732. //#ADDITEM @//LotJShared/Comms/lognames $name
  733.  
  734. //([Clan]){Branch}&lt;Rank&gt;[Name]( Tone ): Message
  735.  
  736. //Line: %1
  737. //Branch: %2
  738. //Rank: %3
  739. //Name: %4
  740. //Tone: %5
  741. //Message: %6</value>
  742. </trigger>
  743. <trigger priority="11110">
  744. <pattern>^~(~[(*)~]~)~{(*)~}~&lt;(*)~&gt;~[(*)~]: (*)</pattern>
  745. <value>// Sends clan data to the Clan window.
  746. #CAPTURE Clan
  747.  
  748. // Data below is for a comm database I'm working on... slowly.
  749. //$line = %1
  750. //$name = %4
  751. //$message = %5
  752. //$timedcomms = {}
  753. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  754. //#ADDKEY $timedcomms channel $line
  755. //#ADDKEY $timedcomms name $name
  756. //#ADDKEY $timedcomms message $message
  757. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  758. //#ADDITEM @//LotJShared/Comms/lognames $name
  759.  
  760. //([Clan]){Branch}&lt;Rank&gt;[Name]: Message
  761.  
  762. //Line: %1
  763. //Branch: %2
  764. //Rank: %3
  765. //Name: %4
  766. //Message: %5</value>
  767. </trigger>
  768. <trigger priority="12770">
  769. <pattern>^~{(*)-~{(*)~}~&lt;(*)~&gt;~[(*)~]~( (*) ~)~&lt;(*)~&gt;: (*)</pattern>
  770. <value>// Sends clan data to the Clan window.
  771. #CAPTURE Clan
  772.  
  773. // Data below is for a comm database I'm working on... slowly.
  774. //$line = %1
  775. //$name = %4
  776. //$message = %7
  777. //$timedcomms = {}
  778. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  779. //#ADDKEY $timedcomms channel $line
  780. //#ADDKEY $timedcomms name $name
  781. //#ADDKEY $timedcomms message $message
  782. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  783. //#ADDITEM @//LotJShared/Comms/lognames $name
  784.  
  785. //{Clan-{Branch}&lt;Rank&gt;[Name]( Tone )&lt;Language&gt;: Message
  786.  
  787. //Line: %1
  788. //Branch: %2
  789. //Rank: %3
  790. //Name: %4
  791. //Tone: %5
  792. //Language: %6
  793. //Message: %7</value>
  794. </trigger>
  795. <trigger priority="12770">
  796. <pattern>^~{(*)-~{(*)~}~&lt;(*)~&gt;~[(*)~]~( (*) ~): (*)</pattern>
  797. <value>// Sends clan data to the Clan window.
  798. #CAPTURE Clan
  799.  
  800. // Data below is for a comm database I'm working on... slowly.
  801. //$line = %1
  802. //$name = %4
  803. //$message = %6
  804. //$timedcomms = {}
  805. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  806. //#ADDKEY $timedcomms channel $line
  807. //#ADDKEY $timedcomms name $name
  808. //#ADDKEY $timedcomms message $message
  809. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  810. //#ADDITEM @//LotJShared/Comms/lognames $name
  811.  
  812. //{Clan-{Branch}&lt;Rank&gt;[Name]( Tone ): Message
  813.  
  814. //Line: %1
  815. //Branch: %2
  816. //Rank: %3
  817. //Name: %4
  818. //Tone: %5
  819. //Message: %6</value>
  820. </trigger>
  821. <trigger priority="12770">
  822. <pattern>^~{(*)-~{(*)~}~&lt;(*)~&gt;~[(*)~]~&lt;(*)~&gt;: (*)</pattern>
  823. <value>// Sends clan data to the Clan window.
  824. #CAPTURE Clan
  825.  
  826. // Data below is for a comm database I'm working on... slowly.
  827. //$line = %1
  828. //$name = %4
  829. //$message = %6
  830. //$timedcomms = {}
  831. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  832. //#ADDKEY $timedcomms channel $line
  833. //#ADDKEY $timedcomms name $name
  834. //#ADDKEY $timedcomms message $message
  835. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  836. //#ADDITEM @//LotJShared/Comms/lognames $name
  837.  
  838. //{Clan-{Branch}&lt;Rank&gt;[Name]&lt;Language&gt;: Message
  839.  
  840. //Line: %1
  841. //Branch: %2
  842. //Rank: %3
  843. //Name: %4
  844. //Language: %5
  845. //Message: %6</value>
  846. </trigger>
  847. <trigger priority="12770">
  848. <pattern>^~{(*)-~{(*)~}~&lt;(*)~&gt;~[(*)~]: (*)</pattern>
  849. <value>// Sends clan data to the Clan window.
  850. #CAPTURE Clan
  851.  
  852. // Data below is for a comm database I'm working on... slowly.
  853. //$line = %1
  854. //$name = %4
  855. //$message = %5
  856. //$timedcomms = {}
  857. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  858. //#ADDKEY $timedcomms channel $line
  859. //#ADDKEY $timedcomms name $name
  860. //#ADDKEY $timedcomms message $message
  861. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  862. //#ADDITEM @//LotJShared/Comms/lognames $name
  863.  
  864. //{Clan-{Branch}&lt;Rank&gt;[Name]: Message
  865.  
  866. //Line: %1
  867. //Branch: %2
  868. //Rank: %3
  869. //Name: %4
  870. //Message: %5</value>
  871. </trigger>
  872. <class name="ClanTo">
  873. <trigger priority="11170">
  874. <pattern>^~[(*)~]$~{(*)~}~&lt;(*)~&gt;~[(*)~]~( (*) ~): (*)</pattern>
  875. <value>// Sends clanmessage data to the Clan window.
  876. #CAPTURE Clan
  877.  
  878. // Data below is for a comm database I'm working on... slowly.
  879. //$line = %1
  880. //$name = %4
  881. //$message = %6
  882. //$timedcomms = {}
  883. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  884. //#ADDKEY $timedcomms channel $line
  885. //#ADDKEY $timedcomms name $name
  886. //#ADDKEY $timedcomms message $message
  887. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  888. //#ADDITEM @//LotJShared/Comms/lognames $name
  889.  
  890. //[Incoming/Outgoing Transmission from/to Clan]
  891. //{Branch}&lt;Rank&gt;[Name]( Tone ): Message
  892.  
  893. //Line: %1
  894. //Branch: %2
  895. //Rank: %3
  896. //Name: %4
  897. //Tone: %5
  898. //Message: %6</value>
  899. </trigger>
  900. <trigger priority="11170">
  901. <pattern>^~[(*)~]$~{(*)~}~&lt;(*)~&gt;~[(*)~]: (*)</pattern>
  902. <value>// Sends clanmessage data to the Clan window.
  903. #CAPTURE Clan
  904.  
  905. // Data below is for a comm database I'm working on... slowly.
  906. //$line = %1
  907. //$name = %4
  908. //$message = %5
  909. //$timedcomms = {}
  910. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  911. //#ADDKEY $timedcomms channel $line
  912. //#ADDKEY $timedcomms name $name
  913. //#ADDKEY $timedcomms message $message
  914. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  915. //#ADDITEM @//LotJShared/Comms/lognames $name
  916.  
  917. //[Incoming/Outgoing Transmission from/to Clan]
  918. //{Branch}&lt;Rank&gt;[Name]: Message
  919.  
  920. //Line: %1
  921. //Branch: %2
  922. //Rank: %3
  923. //Name: %4
  924. //Message: %5</value>
  925. </trigger>
  926. <trigger priority="11170">
  927. <pattern>^~[(*)~]$~{(*)~}~&lt;(*)~&gt;~[(*)~]~( (*) ~)~&lt;(*)~&gt;: (*)</pattern>
  928. <value>// Sends clanmessage data to the Clan window.
  929. #CAPTURE Clan
  930.  
  931. // Data below is for a comm database I'm working on... slowly.
  932. //$line = %1
  933. //$name = %4
  934. //$message = %7
  935. //$timedcomms = {}
  936. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  937. //#ADDKEY $timedcomms channel $line
  938. //#ADDKEY $timedcomms name $name
  939. //#ADDKEY $timedcomms message $message
  940. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  941. //#ADDITEM @//LotJShared/Comms/lognames $name
  942.  
  943. //[Incoming/Outgoing Transmission from/to Clan]
  944. //{Branch}&lt;Rank&gt;[Name]( Tone )&lt;Language&gt;: Message
  945.  
  946. //Line: %1
  947. //Branch: %2
  948. //Rank: %3
  949. //Name: %4
  950. //Tone: %5
  951. //Language: %6
  952. //Message: %7</value>
  953. </trigger>
  954. <trigger priority="11170">
  955. <pattern>^~[(*)~]$~{(*)~}~&lt;(*)~&gt;~[(*)~]~&lt;(*)~&gt;: (*)</pattern>
  956. <value>// Sends clanmessage data to the Clan window.
  957. #CAPTURE Clan
  958.  
  959. // Data below is for a comm database I'm working on... slowly.
  960. //$line = %1
  961. //$name = %4
  962. //$message = %6
  963. //$timedcomms = {}
  964. //#ADDKEY $timedcomms time %time("mm-dd hh:nn:ss")
  965. //#ADDKEY $timedcomms channel $line
  966. //#ADDKEY $timedcomms name $name
  967. //#ADDKEY $timedcomms message $message
  968. //#ADDITEM @//LotJShared/Comms/commslog $timedcomms
  969. //#ADDITEM @//LotJShared/Comms/lognames $name
  970.  
  971. //[Incoming/Outgoing Transmission from/to Clan]
  972. //{Branch}&lt;Rank&gt;[Name]( Tone )&lt;Language&gt;: Message
  973.  
  974. //Line: %1
  975. //Branch: %2
  976. //Rank: %3
  977. //Name: %4
  978. //Language: %5
  979. //Message: %6</value>
  980. </trigger>
  981. <trigger priority="12950">
  982. <pattern>^~[Incoming Transmission from (*)~]</pattern>
  983. <value>// Sends clanmessage data to the Clan window.
  984. #CAPTURE Clan</value>
  985. </trigger>
  986. <trigger priority="12950">
  987. <pattern>^~[Outgoing Transmission to (*)~]</pattern>
  988. <value>// Sends clanmessage data to the Clan window.
  989. #CAPTURE Clan</value>
  990. </trigger>
  991. </class>
  992. </class>
  993. </class>
  994. <class name="OOC">
  995. <class name="IMM">
  996. <trigger priority="12540">
  997. <pattern>^~( IMM | CHAT ~)~[*~]: '*'</pattern>
  998. <value>// Sends your IMMCHAT data to the OOC window.
  999. #CAPTURE OOC</value>
  1000. </trigger>
  1001. <trigger priority="12550">
  1002. <pattern>^~( IMM | CHAT ~) * mortchats to you '*'</pattern>
  1003. <value>// Sends IMMCHAT data to the OOC window.
  1004. #CAPTURE OOC
  1005.  
  1006. // Audible loud beep and bright message display on main screen in the event you are cargo botting or scrolling or whatnot.
  1007. #BEEP 25
  1008. #PRINT YOU ARE RECEIVING A MESSAGE FROM AN IMMORTAL!</value>
  1009. </trigger>
  1010. </class>
  1011. <class name="RPC">
  1012. <trigger priority="12580">
  1013. <pattern>^~(R|P|C~) * says to you '*'</pattern>
  1014. <value>// Sends RPC data to the OOC window.
  1015. #CAPTURE OOC</value>
  1016. </trigger>
  1017. <trigger priority="12590">
  1018. <pattern>^~(R|P|C~) ~[*~]: *</pattern>
  1019. <value>// Sends RPC data to the OOC window.
  1020. #CAPTURE OOC</value>
  1021. </trigger>
  1022. </class>
  1023. <class name="OSay">
  1024. <trigger priority="12560">
  1025. <pattern>^~(OOC~) * says '*'</pattern>
  1026. <value>// Sends Osay data to the OOC window.
  1027. #CAPTURE OOC</value>
  1028. </trigger>
  1029. <trigger priority="12560">
  1030. <pattern>^~(OOC~) You say '*'</pattern>
  1031. <value>// Sends Osay data to the OOC window.
  1032. #CAPTURE OOC</value>
  1033. </trigger>
  1034. </class>
  1035. <class name="Tells">
  1036. <trigger priority="70">
  1037. <pattern>^~(*~) You tell %w '*'</pattern>
  1038. <value>// Sends Tell data to the OOC window.
  1039. #CAPTURE OOC</value>
  1040. </trigger>
  1041. <trigger priority="80">
  1042. <pattern>^~(*~) ~@%w tells you '*'</pattern>
  1043. <value>// Sends Tell data to the OOC window.
  1044. #CAPTURE OOC</value>
  1045. </trigger>
  1046. <trigger priority="90">
  1047. <pattern>^~(*~) %w tells you '*'</pattern>
  1048. <value>// Sends Tell data to the OOC window.
  1049. #CAPTURE OOC</value>
  1050. </trigger>
  1051. </class>
  1052. <trigger priority="90">
  1053. <pattern>^~(OOC~) (*): (*)</pattern>
  1054. <value>// Sends OOC data to the OOC window.
  1055. #CAPTURE OOC</value>
  1056. </trigger>
  1057. <trigger priority="90">
  1058. <pattern>^~(NEWBIE~) (*): (*)</pattern>
  1059. <value>// Sends OOC data to the OOC window.
  1060. #CAPTURE OOC</value>
  1061. </trigger>
  1062. <trigger priority="90">
  1063. <pattern>^~(IMM~) (*): (*)</pattern>
  1064. <value>// Sends OOC data to the OOC window.
  1065. #CAPTURE OOC</value>
  1066. </trigger>
  1067. <trigger priority="90">
  1068. <pattern>^~(RPC~) (*): (*)</pattern>
  1069. <value>// Sends OOC data to the OOC window.
  1070. #CAPTURE OOC</value>
  1071. </trigger>
  1072. </class>
  1073. <class name="Maintenance">
  1074. <alias name="clearooc">
  1075. <value>// Clears the buffer out of the OOC capture window.
  1076. :OOC:clear</value>
  1077. </alias>
  1078. <alias name="cleartalk">
  1079. <value>// Clears the buffer out of the Talk capture window.
  1080. :Talk:clear</value>
  1081. </alias>
  1082. <alias name="clearclan">
  1083. <value>// Clears the buffer out of the Clan capture window.
  1084. :Clan:clear</value>
  1085. </alias>
  1086. <alias name="clearall">
  1087. <value>// Clears the buffer out of all capture windows.
  1088. :Clan:clear
  1089. :Talk:clear
  1090. :OOC:clear</value>
  1091. </alias>
  1092. </class>
  1093. </class>
  1094. <class name="CharacterSpecific">
  1095. <trigger priority="14990">
  1096. <pattern>~(C~)haracters associated with account:</pattern>
  1097. <value>// Opens up the folder that will capture your character names.
  1098. #T+ CharactersCapture</value>
  1099. </trigger>
  1100. <class name="CharactersCapture" enabled="false">
  1101. <trigger priority="15010">
  1102. <pattern>^~(1~) - (*)</pattern>
  1103. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1104. #VAR Character1 (%1)</value>
  1105. </trigger>
  1106. <trigger priority="15010">
  1107. <pattern>^~(2~) - (*)</pattern>
  1108. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1109. #VAR Character2 (%1)</value>
  1110. </trigger>
  1111. <trigger priority="15010">
  1112. <pattern>^~(3~) - (*)</pattern>
  1113. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1114. #VAR Character3 (%1)</value>
  1115. </trigger>
  1116. <trigger priority="15010">
  1117. <pattern>^~(4~) - (*)</pattern>
  1118. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1119. #VAR Character4 (%1)</value>
  1120. </trigger>
  1121. <trigger priority="15010">
  1122. <pattern>^~(5~) - (*)</pattern>
  1123. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1124. #VAR Character5 (%1)</value>
  1125. </trigger>
  1126. <trigger priority="15010">
  1127. <pattern>^~(6~) - (*)</pattern>
  1128. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1129. #VAR Character6 (%1)</value>
  1130. </trigger>
  1131. <trigger priority="15010">
  1132. <pattern>^~(7~) - (*)</pattern>
  1133. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1134. #VAR Character7 (%1)</value>
  1135. </trigger>
  1136. <trigger priority="15010">
  1137. <pattern>^~(8~) - (*)</pattern>
  1138. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1139. #VAR Character8 (%1)</value>
  1140. </trigger>
  1141. <trigger priority="15010">
  1142. <pattern>^~(9~) - (*)</pattern>
  1143. <value>// Captures your character name depending on which slot they occupy. Up to 9 characters are supported.
  1144. #VAR Character9 (%1)</value>
  1145. </trigger>
  1146. </class>
  1147. <class name="CharacterSelector">
  1148. <var name="Character1Active">0</var>
  1149. <var name="Character1"></var>
  1150. <var name="Character2"></var>
  1151. <var name="Character3"></var>
  1152. <var name="Character4"/>
  1153. <var name="Character5"/>
  1154. <var name="Character6"/>
  1155. <var name="Character7"/>
  1156. <var name="Character8"/>
  1157. <var name="Character9"/>
  1158. <var name="Character2Active">0</var>
  1159. <var name="Character3Active">1</var>
  1160. <var name="Character4Active">0</var>
  1161. <var name="Character5Active">0</var>
  1162. <var name="Character6Active">0</var>
  1163. <var name="Character7Active">0</var>
  1164. <var name="Character8Active">0</var>
  1165. <var name="Character9Active">0</var>
  1166. </class>
  1167. <trigger priority="16320">
  1168. <pattern>~(R~)econnecting.</pattern>
  1169. <value>// Turns off capturing character names.
  1170. #T- CharactersCapture
  1171.  
  1172. // Waits 3 seconds, then determines which character number is active.
  1173. #WA 3000
  1174. #IF (@CHARACTERNAME = @CHARACTER1) {#VAR CHARACTER1ACTIVE (1)} {#VAR CHARACTER1ACTIVE (0)}
  1175. #IF (@CHARACTERNAME = @CHARACTER2) {#VAR CHARACTER2ACTIVE (1)} {#VAR CHARACTER2ACTIVE (0)}
  1176. #IF (@CHARACTERNAME = @CHARACTER3) {#VAR CHARACTER3ACTIVE (1)} {#VAR CHARACTER3ACTIVE (0)}
  1177. #IF (@CHARACTERNAME = @CHARACTER4) {#VAR CHARACTER4ACTIVE (1)} {#VAR CHARACTER4ACTIVE (0)}
  1178. #IF (@CHARACTERNAME = @CHARACTER5) {#VAR CHARACTER5ACTIVE (1)} {#VAR CHARACTER5ACTIVE (0)}
  1179. #IF (@CHARACTERNAME = @CHARACTER6) {#VAR CHARACTER6ACTIVE (1)} {#VAR CHARACTER6ACTIVE (0)}
  1180. #IF (@CHARACTERNAME = @CHARACTER7) {#VAR CHARACTER7ACTIVE (1)} {#VAR CHARACTER7ACTIVE (0)}
  1181. #IF (@CHARACTERNAME = @CHARACTER8) {#VAR CHARACTER8ACTIVE (1)} {#VAR CHARACTER8ACTIVE (0)}
  1182. #IF (@CHARACTERNAME = @CHARACTER9) {#VAR CHARACTER9ACTIVE (1)} {#VAR CHARACTER9ACTIVE (0)}
  1183.  
  1184. bot start
  1185. //study @currentlystudying
  1186. group all
  1187. refresh
  1188. buildship @FocusFrame @FocusComponent
  1189. #T- autolog</value>
  1190. </trigger>
  1191. <trigger priority="16320">
  1192. <pattern>~(L~)ast connected from:</pattern>
  1193. <value>// Turns off capturing character names.
  1194. #T- CharactersCapture
  1195.  
  1196. // Waits 3 seconds, then determines which character number is active.
  1197. #WA 3000
  1198. #IF (@CHARACTERNAME = @CHARACTER1) {#VAR CHARACTER1ACTIVE (1)} {#VAR CHARACTER1ACTIVE (0)}
  1199. #IF (@CHARACTERNAME = @CHARACTER2) {#VAR CHARACTER2ACTIVE (1)} {#VAR CHARACTER2ACTIVE (0)}
  1200. #IF (@CHARACTERNAME = @CHARACTER3) {#VAR CHARACTER3ACTIVE (1)} {#VAR CHARACTER3ACTIVE (0)}
  1201. #IF (@CHARACTERNAME = @CHARACTER4) {#VAR CHARACTER4ACTIVE (1)} {#VAR CHARACTER4ACTIVE (0)}
  1202. #IF (@CHARACTERNAME = @CHARACTER5) {#VAR CHARACTER5ACTIVE (1)} {#VAR CHARACTER5ACTIVE (0)}
  1203. #IF (@CHARACTERNAME = @CHARACTER6) {#VAR CHARACTER6ACTIVE (1)} {#VAR CHARACTER6ACTIVE (0)}
  1204. #IF (@CHARACTERNAME = @CHARACTER7) {#VAR CHARACTER7ACTIVE (1)} {#VAR CHARACTER7ACTIVE (0)}
  1205. #IF (@CHARACTERNAME = @CHARACTER8) {#VAR CHARACTER8ACTIVE (1)} {#VAR CHARACTER8ACTIVE (0)}
  1206. #IF (@CHARACTERNAME = @CHARACTER9) {#VAR CHARACTER9ACTIVE (1)} {#VAR CHARACTER9ACTIVE (0)}
  1207.  
  1208. bot start
  1209. //study @currentlystudying
  1210. group all
  1211. refresh
  1212. buildship @FocusFrame @FocusComponent
  1213. #T- autolog</value>
  1214. </trigger>
  1215. </class>
  1216. <class name="CargoPlugin">
  1217. <notes>Script written by @Xerakon.</notes>
  1218. <class name="CargoTransactions">
  1219. <trigger priority="3100">
  1220. <pattern>^You sell 2000 units of (*).</pattern>
  1221. <value>// Waits a standard amount of time for planetary funds to refresh, then sells the next 2000 units of cargo.
  1222. #WAIT 30000
  1223. sellcargo @CargoShip @SellCargo 2000</value>
  1224. </trigger>
  1225. <trigger priority="3120">
  1226. <pattern>^The planets funds can't support such a sale!</pattern>
  1227. <value>// If there are no planet funds, waits 30 seconds, then tries to sell again.
  1228. #WAIT 30000
  1229. sellcargo @CargoShip @SellCargo 2000</value>
  1230. </trigger>
  1231. <trigger priority="3140">
  1232. <pattern>^You're not carrying any of the resource onboard!</pattern>
  1233. <value>// Determines when your cargo pods are empty, and buys your next cargo to full amount, depending on which ship you're using.
  1234. #IF (@CargoShipType = yg) {buycargo @CargoShip @BuyCargo 3000}
  1235. #IF (@CargoShipType = gr) {buycargo @CargoShip @BuyCargo 13000}</value>
  1236. </trigger>
  1237. <trigger priority="4020">
  1238. <pattern>^You dont have that much onboard your ship!</pattern>
  1239. <value>// Drops amount from 2000 to 1000 to help complete selling.
  1240. sellcargo @CargoShip @SellCargo 1000</value>
  1241. </trigger>
  1242. <trigger priority="3100">
  1243. <pattern>^You sell 1000 units of (*).</pattern>
  1244. <value>// Once you've sold the last 1000 units aboard your ship, this determines which ship you're using and buys the next cargo.
  1245. #IF (@CargoShipType = yg) {buycargo @CargoShip @BuyCargo 3000}
  1246. #IF (@CargoShipType = gr) {buycargo @CargoShip @BuyCargo 13000}</value>
  1247. </trigger>
  1248. <trigger priority="3160">
  1249. <pattern>^You purchased (%d) units of (*).</pattern>
  1250. <value>// Takes what is purchased and corrects it to meet lotj two-word requirements.
  1251. #VAR SellCargo (@CargoConverter.%2)
  1252.  
  1253. // Change out the cargo variables
  1254. #IF (@SellCargo = @Cargo1) {#VAR BuyCargo (@Cargo2)} {#VAR BuyCargo (@Cargo1)}
  1255.  
  1256. // Opening, entering, and launching the ship.
  1257. openship
  1258. #IF (@CargoShipType = yg) {yglaunchship}
  1259. #IF (@CargoShipType = gr) {grlaunchship}</value>
  1260. </trigger>
  1261. <trigger priority="10530">
  1262. <pattern>^You earned (%d) credits from the sale and pay (%d) in taxes.</pattern>
  1263. <value>// Calculates Sell and Tax totals from selling cargo, then updates the total amount.
  1264. CargoSellTotal = @CargoSellTotal + %1
  1265. CargoTaxTotal = @CargoTaxTotal + %2
  1266. CargoTotal = @CargoSellTotal - @CargoBuyTotal - @CargoTaxTotal</value>
  1267. </trigger>
  1268. <trigger priority="10540">
  1269. <pattern>^It cost you (%d) credits total, (%d) credits in tax.</pattern>
  1270. <value>// This trigger is messed up on the MUD. Taxes does not warrant a separate variable, so we're just calculating the sale and total.
  1271. CargoBuyTotal = @CargoBuyTotal + %1
  1272. CargoTotal = @CargoSellTotal - @CargoBuyTotal - @CargoTaxTotal</value>
  1273. </trigger>
  1274. </class>
  1275. <class name="CargoVariables">
  1276. <var name="CargoShip"></var>
  1277. <var name="LandingPads" type="Record">
  1278. <value>ord=land ord ord|nim=land nim bagsho|nal=land nal glor|nal hutta=land nal glor|alderaan=land alderaan garage|naboo=land naboo theed|dantooine=land dantooine enclave|ord mantell=land ord ord|nim drovis=land nim bagsho|lorrd=land lorrd what|wroona=land wroona trade|arkania=land arkania ada|corellia=land corellia alpha|coruscant=land coruscant cargo|ryloth=land ryloth space|kashyyyk=land kashyyyk rwook|kuat=land kuat kuat|bespin=land bespin platform|tatooine=land tatooine mos</value>
  1279. <json>{"ord":"land ord ord","nim":"land nim bagsho","nal":"land nal glor","nal hutta":"land nal glor","alderaan":"land alderaan garage","naboo":"land naboo theed","dantooine":"land dantooine enclave","ord mantell":"land ord ord","nim drovis":"land nim bagsho","lorrd":"land lorrd what","wroona":"land wroona trade","arkania":"land arkania ada","corellia":"land corellia alpha","coruscant":"land coruscant cargo","ryloth":"land ryloth space","kashyyyk":"land kashyyyk rwook","kuat":"land kuat kuat","bespin":"land bespin platform","tatooine":"land tatooine mos"}</json>
  1280. </var>
  1281. <var name="CargoPlanet1"></var>
  1282. <var name="CargoPlanet2"></var>
  1283. <var name="Cargo1"></var>
  1284. <var name="Cargo2"></var>
  1285. <var name="SellCargo"></var>
  1286. <var name="BuyCargo"></var>
  1287. <var name="PlanetCheck" type="Record">
  1288. <value>Kamino System=Kamino|Khomm System=Khomm|Kuat System=Kuat|Chommell Sector=Naboo|Coruscant Sector=Coruscant|Tatoo System=Tatooine|Perave System=Arkania|Kanz Sector=Lorrd|Raioballo Sector=Dantooine|Ryloth System=Ryloth|Wroona System=Wroona|Bright Jewel System=Ord|Hutt Space=Nal|Anoat Sector=Bespin|Mytaranor Sector=Kashyyyk|Meridian Sector=Nim|Alderaan System=Alderaan|Corellian System=Corellia</value>
  1289. <json>{"Kamino System":"Kamino","Khomm System":"Khomm","Kuat System":"Kuat","Chommell Sector":"Naboo","Coruscant Sector":"Coruscant","Tatoo System":"Tatooine","Perave System":"Arkania","Kanz Sector":"Lorrd","Raioballo Sector":"Dantooine","Ryloth System":"Ryloth","Wroona System":"Wroona","Bright Jewel System":"Ord","Hutt Space":"Nal","Anoat Sector":"Bespin","Mytaranor Sector":"Kashyyyk","Meridian Sector":"Nim","Alderaan System":"Alderaan","Corellian System":"Corellia"}</json>
  1290. </var>
  1291. <var name="CargoConverter" type="Record">
  1292. <value>precious metals='precious metals'|weapons=weapons|livestock=livestock|tibanna gas='tibanna gas'|medical supplies='medical supplies'|water=water|goods=goods|lumber=lumber|food=food|spice=spice|electronics=electronics</value>
  1293. <json>{"precious metals":"'precious metals'","weapons":"weapons","livestock":"livestock","tibanna gas":"'tibanna gas'","medical supplies":"'medical supplies'","water":"water","goods":"goods","lumber":"lumber","food":"food","spice":"spice","electronics":"electronics"}</json>
  1294. </var>
  1295. <var name="CargoShipType"></var>
  1296. <var name="CargoSellTotal"></var>
  1297. <var name="CargoBuyTotal"></var>
  1298. <var name="CargoTaxTotal"></var>
  1299. <var name="CargoTotal"></var>
  1300. </class>
  1301. <class name="CargoShortcuts">
  1302. <alias name="openship">
  1303. <value>// Refuels and enters your ship.
  1304. refuel @CargoShip full
  1305. open @CargoShip
  1306. enter @CargoShip
  1307. close</value>
  1308. </alias>
  1309. <alias name="yglaunchship">
  1310. <value>// Determines standard pathing for entering and launching a YG-4210.
  1311. e
  1312. u
  1313. n
  1314. pilot
  1315. autop
  1316. launch</value>
  1317. </alias>
  1318. <alias name="ygexitship">
  1319. <value>// Determines standard pathing for exitting and closing a YG-4210.
  1320. s
  1321. d
  1322. w
  1323. open
  1324. leave
  1325. close @CargoShip</value>
  1326. </alias>
  1327. <alias name="grexitship">
  1328. <value>// Determines standard pathing for exitting and closing a GR-75.
  1329. s
  1330. 1
  1331. open
  1332. leave
  1333. close @CargoShip</value>
  1334. </alias>
  1335. <alias name="grlaunchship">
  1336. <value>// Determines standard pathing for entering and launching a GR-75.
  1337. n
  1338. 5
  1339. pilot
  1340. autop
  1341. launch</value>
  1342. </alias>
  1343. </class>
  1344. <class name="CargoFlying">
  1345. <trigger priority="1360">
  1346. <pattern>^Landing sequence complete.</pattern>
  1347. <value>// Selects ship type to determine exit pathing, then exits.
  1348. #IF (@CargoShipType = yg) {ygexitship}
  1349. #IF (@CargoShipType = gr) {grexitship}
  1350.  
  1351. // Begins cargo selling process.
  1352. sellcargo @CargoShip @SellCargo 2000</value>
  1353. </trigger>
  1354. <trigger priority="1370">
  1355. <pattern>^The ship lurches slightly as it comes out of hyperspace.</pattern>
  1356. <value>// Vectors you towards the planet in the system (determined by MSDP) you have entered. I've had no issues with the MUD not updating MSDP quickly enough, but I've added in a 1 second wait in the event that there is some system lag. You can remove or modify this in the event that you always have no lag, or have a lot of it. The planet vector database can be altered in CargoVariables/PlanetCheck. The only current exception is Nar Shaddaa. Exitting into Hutt Space will bring you to Nal Hutta, as Nar Shaddaa has no resources anyways. The IF check was added in to do 2 things: Remind you if you are not piloting, or, if you have left the cargo scripting running while aboard another person's ship.
  1357. #WAIT 1000
  1358. #IF (@PILOTING = 1) {vector @PlanetCheck.@SHIPSYSNAME} {save}</value>
  1359. </trigger>
  1360. <trigger priority="1410">
  1361. <pattern>^Launch complete.</pattern>
  1362. <value>// Waits for 60 seconds once launched to initiate hyperspace. If you wish, you can put a skill on line 2, such as study or whatever so that you're not wasting a minute.
  1363.  
  1364. #WAIT 60000
  1365. hyp</value>
  1366. </trigger>
  1367. <trigger priority="3190">
  1368. <pattern>^You are too close to</pattern>
  1369. <value>// Waits 15 seconds in the event of being too close to another ship to go to hyperspeed.
  1370. #WAIT 15000
  1371. hyp</value>
  1372. </trigger>
  1373. <trigger priority="8140">
  1374. <pattern>^You can't figure out which lever to use.</pattern>
  1375. <value>// Added as a general failure feature.
  1376. hyp</value>
  1377. </trigger>
  1378. <trigger priority="1400">
  1379. <pattern>^You begin orbitting (*).</pattern>
  1380. <value>// Lands at a pad pre-selected in the CargoVariables/LandingPads variable by determining which planet you are orbitting. If you wish to change pads to land at each time, go into the file and change the pad name only.
  1381. @LandingPads.%1
  1382.  
  1383. // This calculates your return trip by determining which planet you are orbitting and comparing it to your two destinations.
  1384. #IF (%upper(@CargoPlanet1) = %upper(%1)) {oc @CargoPlanet2} {oc @CargoPlanet1}
  1385.  
  1386. // General safety features.
  1387. shields
  1388. recharge
  1389. recharge
  1390. autop</value>
  1391. </trigger>
  1392. <class name="CargoFirstLaunch" enabled="false">
  1393. <trigger priority="17000">
  1394. <pattern>^Launch complete.</pattern>
  1395. <value>oc @CargoPlanet1
  1396. #T- CargoFirstLaunch</value>
  1397. </trigger>
  1398. </class>
  1399. </class>
  1400. <class name="CargoSetupInfo">
  1401. <alias name="cplanet1">
  1402. <value><![CDATA[// Determines the first planet that you will move to. For example, if you are running cargo from Coruscant to Corellia, and you are beginning the script with an empty cargo on Coruscant, your first planet will be Corellia, and your second planet will be Coruscant. Planets must be specified as 1-word. If the planet is 2-words, use only the 1st word of it.
  1403. #VAR CargoPlanet1 (%1)
  1404.  
  1405. // Confirms your variable change.
  1406. #PRINT
  1407. #PRINT <color red>First planet set to:</color><color lightgrey> @CargoPlanet1</color>
  1408. #PRINT]]></value>
  1409. </alias>
  1410. <alias name="cplanet2">
  1411. <value><![CDATA[// Determines the second planet that you will move to. For example, if you are running cargo from Coruscant to Corellia, and you are beginning the script with an empty cargo on Coruscant, your first planet will be Coruscant, and your second planet will be Corellia. Planets must be specified as 1-word. If the planet is 2-words, use only the 1st word of it.
  1412. #VAR CargoPlanet2 (%1)
  1413.  
  1414. // Confirms your variable change.
  1415. #PRINT
  1416. #PRINT <color red>Second planet set to:</color><color lightgrey> @CargoPlanet2</color>
  1417. #PRINT]]></value>
  1418. </alias>
  1419. <alias name="cargo1">
  1420. <value><![CDATA[// Determines the cargo you will sell on your first planet. For example, if you are running cargo from Coruscant to Corellia, and you want to sell Tibanna gas on Coruscant and Goods on Corellia, and you are beginning the script with an empty cargo on Coruscant, your first planet will be Corellia, and your first cargo will be Goods. Cargo must be specified as 1-word. If the resource is 2-words, use only the 1st word of them.
  1421. #VAR Cargo1 (%1)
  1422.  
  1423. // These convert entries into their two-word equivalents, if necessary.
  1424. #IF (%1 = tibanna) {#VAR Cargo1 ('tibanna gas')}
  1425. #IF (%1 = medical) {#VAR Cargo1 ('medical supplies')}
  1426. #IF (%1 = precious) {#VAR Cargo1 ('precious metals')}
  1427.  
  1428. // Sets your variable to be correct when you buy cargo and launch for the first time.
  1429. #VAR BuyCargo (@Cargo1)
  1430.  
  1431. // Confirms your variable change.
  1432. #PRINT
  1433. #PRINT <color red>First cargo set to:</color><color lightgrey> @Cargo1</color>
  1434. #PRINT]]></value>
  1435. </alias>
  1436. <alias name="cargo2">
  1437. <value><![CDATA[// Determines the cargo you will sell on your second planet. For example, if you are running cargo from Coruscant to Corellia, and you want to sell Tibanna gas on Coruscant and Goods on Corellia, and you are beginning the script with an empty cargo on Coruscant, your second planet will be Coruscant, and your second cargo will be Tibanna. Cargo must be specified as 1-word. If the resource is 2-words, use only the 1st word of them.
  1438. #VAR Cargo2 (%1)
  1439.  
  1440. // These convert entries into their two-word equivalents, if necessary.
  1441. #IF (%1 = tibanna) {#VAR Cargo2 ('tibanna gas')}
  1442. #IF (%1 = medical) {#VAR Cargo2 ('medical supplies')}
  1443. #IF (%1 = precious) {#VAR Cargo2 ('precious metals')}
  1444.  
  1445. // Sets your variable to be correct when you buy cargo and launch for the first time.
  1446. #VAR SellCargo (@Cargo2)
  1447.  
  1448. // Confirms your variable change.
  1449. #PRINT
  1450. #PRINT <color red>Second cargo set to:</color><color lightgrey> @Cargo2</color>
  1451. #PRINT]]></value>
  1452. </alias>
  1453. <alias name="cshipname">
  1454. <value><![CDATA[// Sets the name of the ship you will be using for your cargo running.
  1455. #VAR CargoShip (%1)
  1456.  
  1457. // Confirms your variable change.
  1458. #PRINT
  1459. #PRINT <color red>Ship name set to:</color><color lightgrey> @CargoShip</color>
  1460. #PRINT]]></value>
  1461. </alias>
  1462. <alias name="cshiptype">
  1463. <value><![CDATA[// Sets the type of ship you will be using for your cargo running in order to determine entry and exit pathing and cargo values. Use only the letter designation of the ship (IE: YG-4210 will be yg).
  1464. #VAR CargoShipType (%1)
  1465.  
  1466. // In the event that people don't understand directions, this will help to convert typical designations. However, this will not work in the future when ships are changed and I add more functionality.
  1467. #IF (%1 = YG-4210) {#VAR CargoShipType (yg)}
  1468. #IF (%1 = YG4210) {#VAR CargoShipType (yg)}
  1469. #IF (%1 = GR-75) {#VAR CargoShipType (gr)}
  1470. #IF (%1 = GR75) {#VAR CargoShipType (gr)}
  1471.  
  1472.  
  1473. // Confirms your variable change.
  1474. #PRINT
  1475. #PRINT <color red>Ship type set to:</color><color lightgrey> @CargoShipType</color>
  1476. #PRINT]]></value>
  1477. </alias>
  1478. <alias name="cstart">
  1479. <value>// Displays start. Will be used to turn on more options in later versions.
  1480. #PRINT
  1481. #PRINT &lt;color red&gt;Starting cargo session.&lt;/color&gt;
  1482. #PRINT
  1483.  
  1484. // Enables the CargoFirstLaunch folder, which ensures to calculate your jump to your first planet destination upon launch.
  1485. #T+ CargoFirstLaunch
  1486.  
  1487. // Buys your first cargo to full amount, depending on which ship you're using.
  1488. #IF (@CargoShipType = yg) {buycargo @CargoShip @BuyCargo 3000}
  1489. #IF (@CargoShipType = gr) {buycargo @CargoShip @BuyCargo 13000}</value>
  1490. </alias>
  1491. <alias name="csetup">
  1492. <value><![CDATA[#PRINT
  1493. #PRINT
  1494. #PRINT <color red>Xerakon's Cargo Script v1.0</color>
  1495. #PRINT <color lightgrey>---------------------------</color>
  1496. #PRINT
  1497. #PRINT <color red>All of the commands below must be input to ensure a profitable cargo session.</color>
  1498. #PRINT <color red>Sessions must be started on pad, next to your ship, with the cargo holds empty.</color>
  1499. #PRINT <color red>NOTE: All entries MUST be ONE word. No punctuation either!</color>
  1500. #PRINT
  1501. #PRINT <color red>EXAMPLE:</color>
  1502. #PRINT <color red>You have a GR-75 Medium Transport 'CargoPimp'.</color>
  1503. #PRINT <color red>You wish to run cargo between Coruscant and Corellia.</color>
  1504. #PRINT <color red>You will sell Tibanna Gas on Coruscant, and Goods on Corellia.</color>
  1505. #PRINT <color red>You are standing on Coruscant, next to your ship, with its cargo pods empty.</color>
  1506. #PRINT
  1507. #PRINT <color lightgrey>csetup</color>
  1508. #PRINT <color red>Brings up this dialog and shows variable settings once entered.</color>
  1509. #PRINT
  1510. #PRINT <color lightgrey>cshiptype</color><color red> ~(<color lightgrey>type~</color><color red>)</color>
  1511. #PRINT <color red>Currently: [</color><color lightgrey>@CargoShipType</color><color red>]</color>
  1512. #PRINT <color red>Determines the type of the cargo ship you are using.</color>
  1513. #PRINT <color red>In the example, this entry will be </color><color lightgrey>GR.</color>
  1514. #PRINT
  1515. #PRINT <color lightgrey>cshipname</color><color red> ~(<color lightgrey>name~</color><color red>)</color>
  1516. #PRINT <color red>Currently: [</color><color lightgrey>@CargoShip</color><color red>]</color>
  1517. #PRINT <color red>Determines the name of the cargo ship you are using.</color>
  1518. #PRINT <color red>In the example, this entry will be </color><color lightgrey>CargoPimp.</color>
  1519. #PRINT
  1520. #PRINT <color lightgrey>cplanet1</color><color red> ~(<color lightgrey>planet~</color><color red>)</color>
  1521. #PRINT <color red>Currently: [</color><color lightgrey>@CargoPlanet1</color><color red>]</color>
  1522. #PRINT <color red>Determines the first planet of your session.</color>
  1523. #PRINT <color red>In the example, this entry will be </color><color lightgrey>Corellia.</color>
  1524. #PRINT
  1525. #PRINT <color lightgrey>cplanet2</color><color red> ~(<color lightgrey>planet~</color><color red>)</color>
  1526. #PRINT <color red>Currently: [</color><color lightgrey>@CargoPlanet2</color><color red>]</color>
  1527. #PRINT <color red>Determines the second planet of your session.</color>
  1528. #PRINT <color red>In the example, this entry will be </color><color lightgrey>Coruscant.</color>
  1529. #PRINT
  1530. #PRINT <color lightgrey>cargo1</color><color red> ~(<color lightgrey>resource~</color><color red>)</color>
  1531. #PRINT <color red>Currently: [</color><color lightgrey>@Cargo1</color><color red>]</color>
  1532. #PRINT <color red>Determines the resource to sell on the first planet of your session.</color>
  1533. #PRINT <color red>In the example, this entry will be </color><color lightgrey>Goods.</color>
  1534. #PRINT
  1535. #PRINT <color lightgrey>cargo2</color><color red> ~(<color lightgrey>resource~</color><color red>)</color>
  1536. #PRINT <color red>Currently: [</color><color lightgrey>@Cargo2</color><color red>]</color>
  1537. #PRINT <color red>Determines the resource to sell on the second planet of your session.</color>
  1538. #PRINT <color red>In the example, this entry will be </color><color lightgrey>Tibanna.</color>
  1539. #PRINT
  1540. #PRINT <color lightgrey>cstart</color>
  1541. #PRINT <color red>Begins your cargo session if all variables are entered.</color>
  1542. #PRINT
  1543. #PRINT]]></value>
  1544. </alias>
  1545. <alias name="cclearroute">
  1546. <value>#VAR CargoPlanet1 (0)
  1547. #VAR CargoPlanet2 (0)
  1548. #VAR Cargo1 (0)
  1549. #VAR Cargo2 (0)
  1550. #VAR BuyCargo (0)
  1551. #VAR SellCargo (0)
  1552. #VAR CargoShipType (0)
  1553. #VAR CargoShip (0)
  1554. #PRINT
  1555. #PRINT &lt;color red&gt;All cargo variables cleared. Please input new data.&lt;/color&gt;
  1556. #PRINT</value>
  1557. </alias>
  1558. <alias name="cmoney">
  1559. <value><![CDATA[#PRINT
  1560. #PRINT <color red>Your cargo payout:</color>
  1561. #PRINT
  1562. #PRINT <color red>Sold:</color><color lightgrey> @CargoSellTotal</color>
  1563. #PRINT <color red>Bought:</color><color lightgrey> @CargoBuyTotal</color>
  1564. #PRINT <color red>Taxes:</color><color lightgrey> @CargoTaxTotal</color>
  1565. #PRINT <color lightgrey>---------------------</color>
  1566. #PRINT <color red>Total:</color><color lightgrey> @CargoTotal</color>
  1567. #PRINT]]></value>
  1568. </alias>
  1569. <alias name="coweclan">
  1570. <value><![CDATA[#PRINT
  1571. #PRINT <color red>Using a 50% margin, you owe</color><color lightgrey> (@CargoTotal/2) </color><color red>credits to your clan.</color>
  1572. #PRINT]]></value>
  1573. </alias>
  1574. <alias name="ccommands">
  1575. <value><![CDATA[#PRINT
  1576. #PRINT <color red>Available commands:</color>
  1577. #PRINT
  1578. #PRINT <color lightgrey>csetup</color>
  1579. #PRINT <color red>Brings up the initial dialog and shows variable settings once entered.</color>
  1580. #PRINT
  1581. #PRINT <color lightgrey>cshiptype</color><color red> ~(<color lightgrey>type~</color><color red>)</color>
  1582. #PRINT <color red>Determines the type of the cargo ship you are using.</color>
  1583. #PRINT
  1584. #PRINT <color lightgrey>cshipname</color><color red> ~(<color lightgrey>name~</color><color red>)</color>
  1585. #PRINT <color red>Determines the name of the cargo ship you are using.</color>
  1586. #PRINT
  1587. #PRINT <color lightgrey>cplanet1</color><color red> ~(<color lightgrey>planet~</color><color red>)</color>
  1588. #PRINT <color red>Determines the first planet of your session.</color>
  1589. #PRINT
  1590. #PRINT <color lightgrey>cplanet2</color><color red> ~(<color lightgrey>planet~</color><color red>)</color>
  1591. #PRINT <color red>Determines the second planet of your session.</color>
  1592. #PRINT
  1593. #PRINT <color lightgrey>cargo1</color><color red> ~(<color lightgrey>resource~</color><color red>)</color>
  1594. #PRINT <color red>Determines the resource to sell on the first planet of your session.</color>
  1595. #PRINT
  1596. #PRINT <color lightgrey>cargo2</color><color red> ~(<color lightgrey>resource~</color><color red>)</color>
  1597. #PRINT <color red>Determines the resource to sell on the second planet of your session.</color>
  1598. #PRINT
  1599. #PRINT <color lightgrey>cstart</color>
  1600. #PRINT <color red>Begins your cargo session if all variables are entered.</color>
  1601. #PRINT
  1602. #PRINT <color lightgrey>cclearroute</color>
  1603. #PRINT <color red>Resets your cargo route variables, including planets, cargos, and ship information.</color>
  1604. #PRINT
  1605. #PRINT <color lightgrey>ccommands</color>
  1606. #PRINT <color red>Shows all commands available through XCargo.</color>
  1607. #PRINT
  1608. #PRINT <color lightgrey>cmoney</color>
  1609. #PRINT <color red>Shows the credits breakdown for your session.</color>
  1610. #PRINT
  1611. #PRINT <color lightgrey>coweclan</color>
  1612. #PRINT <color red>Shows how much you owe your clan at the standard 50% rate from what you have made this session.</color>
  1613. #PRINT
  1614. #PRINT <color lightgrey>cclearmoney</color>
  1615. #PRINT <color red>Resets your credit variables.</color>
  1616. #PRINT ]]></value>
  1617. </alias>
  1618. <alias name="cclearmoney">
  1619. <value>#VAR CargoBuyTotal (0)
  1620. #VAR CargoSellTotal (0)
  1621. #VAR CargoTaxTotal (0)
  1622. #VAR CargoTotal (0)
  1623. #PRINT
  1624. #PRINT &lt;color red&gt;All credit variables cleared.&lt;/color&gt;
  1625. #PRINT</value>
  1626. </alias>
  1627. </class>
  1628. </class>
  1629. <class name="Development" enabled="false">
  1630. <class name="BotPlugin" enabled="false">
  1631. <class name="BotVariables">
  1632. <var name="Character1BotTime"/>
  1633. <var name="Character2BotTime"/>
  1634. <var name="Character9BotTime"/>
  1635. <var name="Character3BotTime"/>
  1636. <var name="Character4BotTime"/>
  1637. <var name="Character5BotTime"/>
  1638. <var name="Character6BotTime"/>
  1639. <var name="Character7BotTime"/>
  1640. <var name="Character8BotTime"/>
  1641. <var name="Character1BotCDTime">
  1642. <default>0</default>
  1643. </var>
  1644. <var name="Character2BotCDTime">
  1645. <default>0</default>
  1646. </var>
  1647. <var name="Character3BotCDTime">
  1648. <default>0</default>
  1649. </var>
  1650. <var name="Character4BotCDTime">
  1651. <default>0</default>
  1652. </var>
  1653. <var name="Character5BotCDTime">
  1654. <default>0</default>
  1655. </var>
  1656. <var name="Character6BotCDTime">
  1657. <default>0</default>
  1658. </var>
  1659. <var name="Character7BotCDTime">
  1660. <default>0</default>
  1661. </var>
  1662. <var name="Character8BotCDTime">
  1663. <default>0</default>
  1664. </var>
  1665. <var name="Character9BotCDTime">
  1666. <default>0</default>
  1667. </var>
  1668. <trigger priority="17660">
  1669. <pattern>bobyo</pattern>
  1670. <value>#IF (@BotCDTime&lt;=0) {
  1671. #IF (@Character1Active=1) {#T- Character1BotTime
  1672. #T- BotCDCountdown
  1673. #T- BotCDGauge
  1674. } {
  1675. #ADD BotCDTime -1
  1676. }</value>
  1677. </trigger>
  1678. <var name="BottingActivity">buildship</var>
  1679. </class>
  1680. <class name="BotTriggers">
  1681. <class name="Ponder">
  1682. <trigger priority="350">
  1683. <pattern>^You ponder for some time, but fail to figure anything out.</pattern>
  1684. <value>ponder</value>
  1685. </trigger>
  1686. <trigger priority="360">
  1687. <pattern>^You ponder for some time, and things seem clearer.</pattern>
  1688. <value>ponder</value>
  1689. </trigger>
  1690. </class>
  1691. <class name="Studying">
  1692. <trigger priority="3280" enabled="false">
  1693. <pattern>You are not ready to learn this skill.</pattern>
  1694. <value>study @currentlystudying</value>
  1695. </trigger>
  1696. <var name="currentlystudying">makecutter</var>
  1697. <trigger priority="3340">
  1698. <pattern>You study it for some time, but fail to learn anything about it.</pattern>
  1699. <value>study @currentlystudying</value>
  1700. </trigger>
  1701. <trigger priority="3350">
  1702. <pattern>After some time studying you feel you know more.</pattern>
  1703. <value>study @currentlystudying</value>
  1704. </trigger>
  1705. <alias name="stud">
  1706. <value>study %1
  1707. #VAR currentlystudying (%1)</value>
  1708. </alias>
  1709. </class>
  1710. <trigger priority="3380">
  1711. <pattern>^Copyover recovery complete.</pattern>
  1712. <value>study @currentlystudying
  1713. //ponder
  1714. //buildship corvette hull</value>
  1715. </trigger>
  1716. <trigger priority="340">
  1717. <pattern>^You may now bot again.</pattern>
  1718. <value>afk
  1719. bot start
  1720. study @currentlystudying
  1721. //ponder
  1722. //buildship corvette hull</value>
  1723. </trigger>
  1724. <var name="BotCommand"/>
  1725. <class name="Buildship"/>
  1726. <class name="Save"/>
  1727. <class name="Makearmor"/>
  1728. <class name="Develop"/>
  1729. </class>
  1730. <class name="OldBotStuff">
  1731. <button name="BotGauge" type="Gauge" autosize="false" width="250" height="50" autopos="false" left="0" top="723" toolbar="4" color="green" textcolor="white" gaugelowcol="maroon" gaugebackcol="gray" priority="6402" enabled="false">
  1732. <caption>Bot Time Remaining: %format("&amp;d:&amp;02d:&amp;02d", (@BotTime / 3600), %mod(@BotTime / 60, 60), %mod(@BotTime, 60)))</caption>
  1733. <expr>@BotTime</expr>
  1734. <gaugemax>7200</gaugemax>
  1735. <gaugelow>900</gaugelow>
  1736. </button>
  1737. <var name="BotTime">
  1738. <value>1483</value>
  1739. <default>0</default>
  1740. </var>
  1741. <trigger priority="2600">
  1742. <pattern>^You can bot on LOTJ for 2 hours legally.</pattern>
  1743. <value>#T- StartBottingButton
  1744. #T- BottingPausedButton
  1745. #T- BottingCooldownButton
  1746. #T+ PauseBottingButton
  1747. #VAR BotTime {7200}
  1748. #T+ BotCountdown
  1749. #T- BotCDGauge
  1750. #T+ BotGauge</value>
  1751. </trigger>
  1752. <trigger name="BotCountdown" type="Alarm" priority="7550" enabled="false">
  1753. <pattern>*1</pattern>
  1754. <value>#IF (@BotTime&lt;=0) {#T- BotCountdown
  1755. #T- BotGauge
  1756. } {#ADD BotTime -1}</value>
  1757. </trigger>
  1758. <button name="StartBottingButton" autosize="false" width="250" height="50" autopos="false" top="674" toolbar="4" color="navy" textcolor="white" priority="614" enabled="false">
  1759. <caption>Start Botting</caption>
  1760. <value>bot start</value>
  1761. </button>
  1762. <trigger priority="10760">
  1763. <pattern>^Botting paused.</pattern>
  1764. <value>#T- BottingCooldownButton
  1765. #T- PauseBottingButton
  1766. #T- StartBottingButton
  1767. #T+ BottingPausedButton
  1768. #T- BotCDGauge
  1769. #T- BotCountdown
  1770. </value>
  1771. </trigger>
  1772. <trigger priority="10770">
  1773. <pattern>^Botting time limit reached.</pattern>
  1774. <value>#T- PauseBottingButton
  1775. #T- BottingPausedButton
  1776. #T- StartBottingButton
  1777. #T+ BottingCooldownButton
  1778. #T- BotGauge
  1779. #T+ BotCDGauge
  1780. #VAR BotCDTime {1800}
  1781. #T+ BotCDCountdown</value>
  1782. </trigger>
  1783. <var name="BotCDTime">
  1784. <value>0</value>
  1785. <default>0</default>
  1786. </var>
  1787. <trigger name="BotCDCountdown" type="Alarm" priority="7550" enabled="false">
  1788. <pattern>*1</pattern>
  1789. <value>#IF (@BotCDTime&lt;=0) {#T- BotCDCountdown
  1790. #T- BotCDGauge
  1791. } {#ADD BotCDTime -1}</value>
  1792. </trigger>
  1793. <button name="BotCDGauge" type="Gauge" autosize="false" width="250" height="50" autopos="false" left="0" top="723" toolbar="4" color="teal" textcolor="white" gaugelowcol="#FFCC00" gaugebackcol="gray" priority="6400" enabled="false">
  1794. <caption>Bot CD Time Remaining: %format("&amp;d:&amp;02d", (@BotCDTime/60), %mod(@BotCDTime,60))</caption>
  1795. <expr>@BotCDTime</expr>
  1796. <gaugemax>1800</gaugemax>
  1797. <gaugelow>300</gaugelow>
  1798. </button>
  1799. <trigger priority="10860">
  1800. <pattern>^You may now bot again.</pattern>
  1801. <value>#T- BottingPausedButton
  1802. #T- PauseBottingButton
  1803. #T- BottingCooldownButton
  1804. #T+ StartBottingButton
  1805. #T- BotCDGauge
  1806. #T+ BotGauge
  1807. #T+ BotButton</value>
  1808. </trigger>
  1809. <button name="BottingPausedButton" autosize="false" width="250" height="50" autopos="false" top="674" toolbar="4" color="maroon" textcolor="white" border="black" priority="609" enabled="false">
  1810. <caption>Botting Paused</caption>
  1811. <value>bot start</value>
  1812. </button>
  1813. <trigger priority="10880">
  1814. <pattern>^Botting resumed.</pattern>
  1815. <value>#T- BottingCooldownButton
  1816. #T+ PauseBottingButton
  1817. #T- StartBottingButton
  1818. #T- BottingPausedButton
  1819. #T- BotCDGauge
  1820. #T+ BotCountdown</value>
  1821. </trigger>
  1822. <trigger priority="10770">
  1823. <pattern>^Botting session terminated.</pattern>
  1824. <value>#T- PauseBottingButton
  1825. #T- BottingPausedButton
  1826. #T- StartBottingButton
  1827. #T+ BottingCooldownButton
  1828. #T- BotGauge
  1829. #T+ BotCDGauge
  1830. #VAR BotCDTime {1800}
  1831. #T+ BotCDCountdown</value>
  1832. </trigger>
  1833. <button name="PauseBottingButton" autosize="false" width="250" height="50" autopos="false" top="674" toolbar="4" color="#FFCC00" textcolor="white" priority="612" enabled="false">
  1834. <caption>Pause Botting</caption>
  1835. <value>bot stop</value>
  1836. </button>
  1837. <button name="BottingCooldownButton" autosize="false" width="250" height="50" autopos="false" top="674" toolbar="4" color="maroon" textcolor="white" border="black" priority="606" enabled="false">
  1838. <caption>Botting on Cooldown</caption>
  1839. </button>
  1840. </class>
  1841. </class>
  1842. <class name="ShipBuildPlugin">
  1843. <class name="ShipBuildGags">
  1844. <trigger priority="6750">
  1845. <pattern>^(*) steps away from (*)</pattern>
  1846. <value>#GAG</value>
  1847. </trigger>
  1848. <trigger priority="6760">
  1849. <pattern>^(*) takes (*) tools and starts to work on (*)</pattern>
  1850. <value>#GAG</value>
  1851. </trigger>
  1852. <trigger priority="6770">
  1853. <pattern>^(*) droid assists (*)</pattern>
  1854. <value>#GAG</value>
  1855. </trigger>
  1856. <trigger priority="10970">
  1857. <pattern>^(*) gets Tetratech durasteel ship hull.</pattern>
  1858. <value>#GAG</value>
  1859. </trigger>
  1860. <trigger priority="16540">
  1861. <pattern>^You failed to learn anything.</pattern>
  1862. <value>#GAG</value>
  1863. </trigger>
  1864. <trigger priority="17680">
  1865. <pattern>^You receive (*) engineering experience.</pattern>
  1866. <value>#GAG</value>
  1867. </trigger>
  1868. <trigger priority="17690">
  1869. <pattern>^You gain (*) engineering experience.</pattern>
  1870. <value>#GAG</value>
  1871. </trigger>
  1872. <trigger priority="17700">
  1873. <pattern>^Your droid assists you!</pattern>
  1874. <value>#GAG</value>
  1875. </trigger>
  1876. <trigger priority="17790">
  1877. <pattern>^Your droid gains (%d) experience points.</pattern>
  1878. <value>#GAG</value>
  1879. </trigger>
  1880. <trigger priority="18520">
  1881. <pattern>^You get (%d) leadership experience for leading your group.</pattern>
  1882. <value>#GAG</value>
  1883. </trigger>
  1884. </class>
  1885. <class name="ShipBuildVariables">
  1886. <var name="FocusFrame">frigate</var>
  1887. <var name="FocusComponent">engines</var>
  1888. <var name="Refreshed">1</var>
  1889. </class>
  1890. <class name="ShipBuildTriggers">
  1891. <trigger priority="16430">
  1892. <pattern>^You finish modifying the ship.</pattern>
  1893. <value>buildship @FocusFrame @FocusComponent</value>
  1894. </trigger>
  1895. <trigger priority="16440">
  1896. <pattern>^Where to begin? It all looks so complex...</pattern>
  1897. <value>buildship @FocusFrame @FocusComponent</value>
  1898. </trigger>
  1899. <trigger priority="16480">
  1900. <pattern>^You don't have a component like that.</pattern>
  1901. <value>get 20 @FocusComponent
  1902. buildship @FocusFrame @FocusComponent</value>
  1903. </trigger>
  1904. <trigger priority="16490">
  1905. <pattern>^Your (*) doesnt need any more of that.</pattern>
  1906. <value>#IF (@FocusComponent = hull) {#VAR FocusComponent (circuits)}
  1907. #IF (@FocusComponent = circuits) {#VAR FocusComponent (weapons)}
  1908. #IF (@FocusComponent = weapons) {#VAR FocusComponent (engines)}
  1909. #IF (@FocusComponent = engines) {#VAR FocusComponent (hull)}</value>
  1910. </trigger>
  1911. <trigger priority="17800">
  1912. <pattern>^You stop working on your new ship.</pattern>
  1913. <value>buildship @FocusFrame @FocusComponent</value>
  1914. </trigger>
  1915. <trigger priority="17810">
  1916. <pattern>^You feel refreshed.</pattern>
  1917. <value>#VAR Refreshed (1)</value>
  1918. </trigger>
  1919. <trigger priority="17830">
  1920. <pattern>^You can refresh your party again.</pattern>
  1921. <value>refresh</value>
  1922. </trigger>
  1923. </class>
  1924. <class name="ShipBuildCommands">
  1925. <alias name="buildstart">
  1926. <value>get 20 hull
  1927. buildship %1 hull
  1928. #VAR FocusFrame (%1)</value>
  1929. </alias>
  1930. </class>
  1931. </class>
  1932. <class name="XConfigMenu">
  1933. <alias name="xconfig">
  1934. <value><![CDATA[// Specifies the option being turned on and off.
  1935. $option = %1
  1936.  
  1937. // Bot Plugin
  1938. #IF (%upper($option) = %upper("+Bot")) {
  1939. #T+ BotPlugin
  1940. #VAR XConfigBot (1)
  1941. #PRINT Plugin: Bot activated.}
  1942. #IF (%upper($option) = %upper("-Bot")) {
  1943. #T- BotPlugin
  1944. #VAR XConfigBot (0)
  1945. #PRINT Plugin: Bot deactivated.}
  1946.  
  1947. // Cargo Plugin
  1948. #IF (%upper($option) = %upper("+Cargo")) {
  1949. #T+ CargoPlugin
  1950. #VAR XConfigCargo (1)
  1951. #PRINT Plugin: Cargo activated.}
  1952. #IF (%upper($option) = %upper("-Cargo")) {
  1953. #T- CargoPlugin
  1954. #VAR XConfigCargo (0)
  1955. #PRINT Plugin: Cargo deactivated.}
  1956.  
  1957. // Research Plugin
  1958. #IF (%upper($option) = %upper("+Research")) {
  1959. #T+ ResearchPlugin
  1960. #VAR XConfigResearch (1)
  1961. #PRINT Plugin: Research activated.}
  1962. #IF (%upper($option) = %upper("-Research")) {
  1963. #T- ResearchPlugin
  1964. #VAR XConfigResearch (0)
  1965. #PRINT Plugin: Research deactivated.}
  1966.  
  1967. // Ship Build Plugin
  1968. #IF (%upper($option) = %upper("+ShipBuild")) {
  1969. #T+ ShipBuildPlugin
  1970. #VAR XConfigShipBuild (1)
  1971. #PRINT Plugin: Ship Build activated.}
  1972. #IF (%upper($option) = %upper("-ShipBuild")) {
  1973. #T- ShipBuildPlugin
  1974. #VAR XConfigShipBuild (0)
  1975. #PRINT Plugin: Ship Build deactivated.}
  1976.  
  1977. #PRINT
  1978. #PRINT <color lightgrey>XUI Config Settings</color>
  1979. #PRINT <color red>----------------------------------------</color>
  1980. #PRINT <color lightgrey>Turn plugins on and off by using the </color><color limegreen>"+keyword"</color><color lightgrey> or </color><color red>"-keyword"</color><color lightgrey> syntax.</color>
  1981. #PRINT <color red>EX:</color><color limegreen> "+bot" </color><color lightgrey>turns on the botting plugin, and </color><color red>"-bot"</color><color lightgrey> turns it off.</color>
  1982. #PRINT
  1983. #IF (%class("BotPlugin") = 0) {
  1984. #PRINT <color lightgrey>Plugin: "[bot]" is </color><color red>OFF</color><color lightgrey>.</color>} {
  1985. #PRINT <color lightgrey>Plugin: "[bot]" is </color><color limegreen>ON</color><color lightgrey>.</color>}
  1986. #IF (%class("CargoPlugin") = 0) {
  1987. #PRINT <color lightgrey>Plugin: "[cargo]" plugin is </color><color red>OFF</color><color lightgrey>.</color>} {
  1988. #PRINT <color lightgrey>Plugin: "[cargo]" is </color><color limegreen>ON</color><color lightgrey>.</color>}
  1989. #IF (%class("ResearchPlugin") = 0) {
  1990. #PRINT <color lightgrey>Plugin: "[research]" is </color><color red>OFF</color><color lightgrey>.</color>} {
  1991. #PRINT <color lightgrey>Plugin: "[research]" is </color><color limegreen>ON</color><color lightgrey>.</color>}
  1992. #IF (%class("ShipBuildPlugin") = 0) {
  1993. #PRINT <color lightgrey>Plugin: "[shipbuild]" is </color><color red>OFF</color><color lightgrey>.</color>} {
  1994. #PRINT <color lightgrey>Plugin: "[shipbuild]" is </color><color limegreen>ON</color><color lightgrey>.</color>}
  1995. #PRINT]]></value>
  1996. </alias>
  1997. </class>
  1998. <var name="XConfigResearch">1</var>
  1999. <var name="XConfigShipBuild">1</var>
  2000. </class>
  2001. </class>
  2002. </cmud>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement