Advertisement
Guest User

Sorting Script

a guest
Mar 10th, 2015
275
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.46 KB | None | 0 0
  1. SET %use_wand #TRUE
  2.  
  3. gosub new_bag
  4. ;----------------------
  5. ; Bag IDs
  6. ;----------------------
  7. SET %mask_bag EBVVUMD
  8.  
  9. SET %leat WXDSUMD
  10. SET %stud MOPQUMD
  11. SET %gheal XDASUMD
  12. SET %lb OPQVUMD
  13. SET %id DRWSUMD
  14.  
  15. SET %i_ring KXMSUMD
  16. SET %i_chain SSHVUMD
  17. SET %i_plate QKNVUMD
  18. SET %i_helm XUZOUMD
  19. SET %i_shield SWLRUMD
  20.  
  21. SET %f_ring IKKSUMD
  22. SET %f_chain KHTQUMD
  23. SET %f_plate ERORUMD
  24. SET %f_helm AIWRUMD
  25. SET %f_shield NIRSUMD
  26.  
  27. SET %gt ZTHRUMD
  28. SET %invis HTHPUMD
  29. SET %flect XIUDVMD
  30. SET %tele AXPCVMD
  31.  
  32. SET %s_arch TWEQUMD
  33. SET %p_arch XBYQUMD
  34. SET %v_arch WGFRUMD
  35. SET %c_arch FXSRUMD
  36.  
  37. SET %s_fenc RTWDVDMD
  38. SET %p_fenc QDLNUMD
  39. SET %v_fenc IWOPUMD
  40. SET %c_fenc GTKQUMD
  41.  
  42. SET %s_mace UUSCVMD
  43. SET %p_mace JCHDVMD
  44. SET %v_mace LWMDVMD
  45. SET %c_mace ZNQDVMD
  46.  
  47. SET %s_sword MWVCVMD
  48. SET %p_sword WZBEVMD
  49. SET %v_sword BAADCMD
  50. SET %c_sword QVEDVMD
  51.  
  52. SET %p_halb NSZCRMD
  53. SET %v_halb JYVFWMD
  54. ;----------------------
  55. ;DO NOT EDIT BELOW HERE
  56. ;----------------------
  57. ; vars
  58. EVENT MACRO 8 1
  59. SET %mask PZH_BZH_NZH_DZH_VSH
  60. SET %wand HFF_QMH_BFF_IFF_CFF
  61. SET %halberd YTH
  62. SET %sword NMH_BPH_YPO_BNF_CPH_INF_FSF_OSF_ASF_FMH_LSF_NSF_ISF_SMH_RMH_CSF_ZRF_MPH_LPH_MSF_BSF_KPO_GUO_KTF_JTF_EPH_ZSF_ATF_JPH_SOH_POH_OMH_LPO_ZTO_XTH_HSF_KSF_NPO_XPO_FUO_JPO_NPF_KPH_FYG_RHM_SFR
  63. SET %fenc XRH_VRH_MTF_SRH_AQF_TSF_BUO_VPO_WPO_WRH_YRH_LTF_OPO_RRH_CUO
  64. SET %mace IFF_OLH_JOH_URH_EMH_WTH_DMH_QMH_CFF_BFF_PMH_ZPF_CQF_FFF_TRH_YSF_XSF_FBG_VTH_AUH_ZTH_UOH_VOH_AUO_MPO_BUH_CUH_DMH_GFF_QOH_HFF_TLH_GBG
  65. SET %arch WOH_TOH_QPO_SPO_WOH_TOH_JSF_USF_LMH_MMH_QPO_SPO_PPO_RPO_JSF_USF_LMH_MMH_PPO_RPO_JSF
  66. SET %leather QKH_OSK_ATK_PKH_KKH_JKH_VKH_NJL_YSK_QSK
  67. SET %studded LLH_SSK_USK_GLH_XKH_ALH_MLH
  68. SET %ring WLH_YLH_BMH_IMH
  69. SET %chain ZOH_APH
  70. SET %plate HSH_MSK_MSH_ISH_NSH_LSH
  71. SET %helmet GSH_DPH_OSH_CSH_ASH_ESH
  72. SET %shield CIK_LIK_AIK_FIK_GIK_NIK_OIK
  73. GOSUB main
  74. ;----------------------
  75. ; Main Sub
  76. ;----------------------
  77. SUB MAIN
  78. FINDITEM %bag_scan G_1
  79. SET #LOBJECTID #FINDID
  80. EVENT MACRO 17 0
  81. WAIT 1S
  82. loop:
  83. FINDITEM * C_ , %bag_scan
  84. SET %temp_count #FINDCNT
  85. EVENT SYSMESSAGE %temp_count
  86. SET %item_temp #FINDID
  87. IF #FINDCNT < 1
  88. gosub new_bag
  89. SET #LTARGETID #FINDID
  90. SET #LTARGETKIND 1
  91. SET %jstart #jindex
  92. IF %use_wand = #TRUE
  93. {
  94. FINDITEM %wand C_ , #CHARID
  95. IF #FINDKIND = #TRUE
  96. {
  97. FINDITEM %wand C_ , #BACKPACKID
  98. IF #FINDCNT < 1
  99. {
  100. SET %use_wand #FAlSE
  101. RETURN
  102. }
  103. SET #LHANDID #FINDID
  104. EVENT MACRO 24 1
  105. WAIT 1s
  106. }
  107. FINDITEM %wand C_ , #CHARID
  108. SET #LOBJECTID #FINDID
  109. EVENT MACRO 17 0
  110. }
  111. IF %use_wand = #FALSE
  112. EVENT MACRO 13 3
  113. TARGET
  114. EVENT MACRO 22 0
  115. WAIT 1s
  116. SET %jend #jindex
  117. FOR %i %jstart %jend
  118. {
  119. SCANJOURNAL %i
  120. ;WAIT 1s
  121. EVENT SYSMESSAGE %i
  122. SET %temp_var %i
  123.  
  124. ;----- BIG jumbled mess of sorting
  125. FINDITEM %item_temp C_ , %bag_scan
  126. IF #FINDTYPE in %mask
  127. {
  128. SET %bag_drop %mask_bag
  129. GOSUB drop
  130. }
  131. IF ( fortification IN #JOURNAL )
  132. {
  133. if #FINDTYPE in %ring
  134. SET %bag_drop %f_ring
  135. if #FINDTYPE in %chain
  136. SET %bag_drop %f_chain
  137. if #FINDTYPE in %plate
  138. SET %bag_drop %f_plate
  139. if #FINDTYPE in %helmet
  140. SET %bag_drop %f_helm
  141. if #FINDTYPE in %shield
  142. SET %bag_drop %f_shield
  143. gosub drop
  144. }
  145. IF ( invulnerability IN #JOURNAL )
  146. {
  147. if #FINDTYPE in %ring
  148. SET %bag_drop %i_ring
  149. if #FINDTYPE in %chain
  150. SET %bag_drop %i_chain
  151. if #FINDTYPE in %plate
  152. SET %bag_drop %i_plate
  153. if #FINDTYPE in %helmet
  154. SET %bag_drop %i_helm
  155. if #FINDTYPE in %shield
  156. SET %bag_drop %i_shield
  157. if #FINDTYPE in %leather
  158. SET %bag_drop %leat
  159. if #FINDTYPE in %studded
  160. SET %bag_drop %stud
  161. gosub drop
  162. }
  163. IF ( teleporting IN #JOURNAL )
  164. {
  165. SET %bag_drop %tele
  166. GOSUB drop
  167. }
  168. IF ( reflection IN #JOURNAL )
  169. {
  170. SET %bag_drop %flect
  171. GOSUB drop
  172. }
  173. IF ( invisibility IN #JOURNAL )
  174. {
  175. SET %bag_drop %invis
  176. GOSUB drop
  177. }
  178. IF ( reaction IN #JOURNAL )
  179. {
  180. SET %bag_drop #backpackid
  181. GOSUB drop
  182. }
  183. ;wands
  184. IF ( Greater in #journal ) && ( #FINDTYPE in %wand )
  185. {
  186. set %bag_drop %gheal
  187. gosub drop
  188. }
  189. IF ( lightning in #journal ) && ( #FINDTYPE in %wand )
  190. {
  191. set %bag_drop %lb
  192. gosub drop
  193. }
  194. IF ( identification IN #JOURNAL )
  195. {
  196. SET %bag_drop %id
  197. GOSUB drop
  198. }
  199. ;weapons
  200. IF ( touch in #JOURNAL )
  201. {
  202. SET %bag_drop %touch
  203. GOSUB drop
  204. }
  205. IF ( breath in #JOURNAL ) || ( lightning in #JOURNAL )
  206. {
  207. if #FINDTYPE in %sword
  208. {
  209. SET %bag_drop %c_sword
  210. GOSUB drop
  211. }
  212. if #FINDTYPE in %mace
  213. {
  214. SET %bag_drop %c_mace
  215. GOSUB drop
  216. }
  217. if #FINDTYPE in %arch
  218. {
  219. SET %bag_drop %c_arch
  220. GOSUB drop
  221. }
  222. if #FINDTYPE in %fenc
  223. {
  224. SET %bag_drop %c_fenc
  225. GOSUB drop
  226. }
  227. }
  228. IF ( force in #JOURNAL ) && ( #FINDTYPE = %halberd )
  229. {
  230. SET %bag_drop %p_halb
  231. GOSUB drop
  232. }
  233. IF ( power in #JOURNAL )
  234. {
  235. if #FINDTYPE in %sword
  236. SET %bag_drop %p_sword
  237. if ( #FINDTYPE = %halberd )
  238. SET %bag_drop %p_halb
  239. if #FINDTYPE in %mace
  240. SET %bag_drop %p_mace
  241. if #FINDTYPE in %arch
  242. SET %bag_drop %p_arch
  243. if #FINDTYPE in %mace
  244. SET %bag_drop %p_fenc
  245. gosub drop
  246. }
  247. IF ( vanquishing in #JOURNAL )
  248. {
  249. if #FINDTYPE in %sword
  250. SET %bag_drop %v_sword
  251. if ( #FINDTYPE = %halberd )
  252. SET %bag_drop %v_halb
  253. if #FINDTYPE in %mace
  254. SET %bag_drop %v_mace
  255. if #FINDTYPE in %arch
  256. SET %bag_drop %v_arch
  257. if #FINDTYPE in %mace
  258. SET %bag_drop %v_fenc
  259. gosub drop
  260. }
  261. ;------
  262. IF ( You_are_not_certain... IN #JOURNAL )
  263. {
  264. WAIT 9S
  265. GOTO loop
  266. }
  267. IF ( This_item_is_out_of_charges. IN #JOURNAL )
  268. {
  269. FINDITEM %wand C_ , #CHARID
  270. IF #FINDKIND = #FALSE
  271. {
  272. SET %x ( #CHARPOSX )
  273. SET %y ( #CHARPOSY )
  274. EXEVENT DRAG #FINDID
  275. WAIT 1S
  276. EXEVENT DROPG %x %y
  277. }
  278. GOTO loop
  279. }
  280. deleteJournal
  281. }
  282. IF %use_wand = #FAlSE
  283. WAIT 9s
  284. ;WAIT 1s
  285. IGNOREITEM %item_temp
  286. GOTO loop
  287. RETURN
  288.  
  289.  
  290. ;---------------------------------
  291. ; Function subs
  292. ;---------------------------------
  293. SUB drop
  294. FINDITEM %item_temp C_ , %bag_scan
  295. if #findcnt < 1
  296. ignoreitem %item_temp
  297. EXEVENT DRAG #FINDID
  298. WAIT 1S
  299. EXEVENT DROPC %bag_drop
  300. SCANJOURNAL #jindex
  301. IF ( weight IN #JOURNAL ) || ( cannot_hold IN #JOURNAL )
  302. {
  303. DISPLAY %bag_drop is FULL
  304. HALT
  305. }
  306. ;EXEVENT DROPC #backpackid
  307. RETURN
  308.  
  309.  
  310. sub new_bag
  311. SET #TARGCURS 1
  312. WHILE #TARGCURS = 1
  313. {
  314. WAIT 1s
  315. EVENT SYSMESSAGE Target bag to ID!
  316. }
  317. SET %bag_scan #LTARGETID
  318. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement