Advertisement
Guest User

Zielarstwo_Menu-v2.9.txt

a guest
Oct 16th, 2015
330
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.43 KB | None | 0 0
  1. ; Makro: Zielarstwo_Menu-v2.9.txt
  2. ; Autor: Janusz [Frisky]
  3. ;======================================
  4. ;--- OPIS
  5. ; Skrypt zbiera wybrany rodzaj ziolek lub wszystkie lacznie
  6. ; z grzybkami i truflami
  7. ;-- Opis przyciskow:
  8. ; Start - uruchamia zebiranie do okolapostaci
  9. ; Sadzenie - sadzi szczepki ktore sa w plecaku postaci
  10. ; jesli chcesz sadzic tylko jeden rodzaj rosliny trzymaj w lecaku
  11. ; tylko jeden rodzaj szczepek.
  12. ; Stop - przerywa zrywanie, sadzenie, obcinanie i przezucanie
  13. ; Obcinaj - obcina wszystkie krzaczki w plecaku
  14. ; Przezucaj - przezuca szczepki i zolka do plecakow o podanym id
  15. ; Jak sprawdzic id plecaka? Otworz go i po prawej stronie w EasyUO w galezi
  16. ; Container Info przepisz lub skopiuj zawartosc do zmiennej %ID_Plecaka_Na_Ziola
  17. ; tak jak jest to nizej to smao ze zmienna %ID_Plecaka_Na_Szczepki
  18.  
  19. ;UWAGA!! Tu wpisz id plecakow !! Mozna podac to samo id, wtedy wszystkie ziola/szczepki/krzaczki
  20. ; wyladuja w tym samym plecaku
  21. set %ID_Plecaka_Na_Ziola OGTVYPD ;Tu wpisz ID plecaka na obciete ziola
  22. set %ID_Plecaka_Na_Szczepki OGTVYPD ;Tu wpisz ID plecaka na szczepki
  23. set %ID_Plecaka_Na_Krzaczki OGTVYPD ;Tu wpisz ID plecaka na nie obciete ziola
  24. set %Bank 1 ; 1 - po wcisnieciu przerzucaj krzyknie do bankiera o skrzynie
  25. ; 0 - po wcisnieciu przerzucaj krzyknie do magazyniera o skrzynie
  26. ;======================================
  27. set %Szczepki CBF_GJJ_OIJ_CJJ_UIJ
  28. set %TypyKrzaczkow VIJ_LIJ_HJJ_ZIJ
  29. set %Click_Przerwij_X 187
  30. set %Click_Przerwij_Y 165
  31. set #lpc 2000
  32. menu hideEUO
  33. menu clear
  34. menu window color btnface
  35. menu window size 210 165
  36. menu window title Zielarstwo 2.9
  37. ;=================== Rodzaj setu =====================
  38. menu font size 8
  39. menu text mtmiasto 10 1 Co zbieramc.
  40. menu font size 10
  41. menu font bgcolor white
  42. menu combo create mcprodukt 10 20 190
  43. menu combo add mcprodukt Wszystko
  44. menu combo add mcprodukt Czosnek
  45. menu combo add mcprodukt Mandragora
  46. menu combo add mcprodukt Wilcze jagody
  47. menu combo add mcprodukt Zenszen
  48. menu combo add mcprodukt Krwawy mech
  49. menu combo add mcprodukt Grzybki
  50. ;menu combo add mcprodukt Trufle
  51. menu combo select mcprodukt 1
  52. ;------------------- Pole szukania ----------------
  53. menu font bgcolor btnface
  54. menu font size 8
  55. menu text mtmiasto 10 56 Pole szukania.
  56. menu Edit mePoleSz 100 52 25 14
  57. ;------------------ Wywalaj szczepki -----------
  58. ;menu text mtmiasto 135 60 Wywal
  59. menu check mcWywalSzczepki 10 110 150 20 #false Wyrzucac Szczepki ?
  60. ;-----------------------------------------------
  61. menu font bgcolor btnface
  62. menu font size 9
  63. ;=================== przyciski =================
  64. menu font color green
  65. menu font style b
  66. menu font bgcolor btnface
  67. menu button mbstart 10 135 60 24 Start
  68. menu font color black
  69. menu button mbsadz 75 135 60 24 Sadzenie
  70. menu button mbstop 140 135 60 24 Stop
  71. menu button mbobcinaj 10 80 90 24 Obcinaj
  72. menu button mbprzezucaj 110 80 90 24 Przerzucaj
  73. menu show
  74. ;===============================================
  75. set #lpc 10
  76. set #menubutton N/A
  77. repeat
  78. if #menubutton = mbsadz
  79. {
  80. set #menubutton N/A
  81. gosub ChodzenieDoSadzenia
  82. }
  83. if #menubutton = mbstart
  84. {
  85. set #menubutton N/A
  86. menu delete mbstart
  87.  
  88. menu get mcprodukt
  89. set %nr_produktu #menures
  90. ignoreitem reset
  91. if %nr_produktu = 1
  92. set %Rodzaj_rosliny XIJ_NIJ_TIJ_FJJ_KBF
  93. if %nr_produktu = 2
  94. set %Rodzaj_rosliny XIJ
  95. if %nr_produktu = 3
  96. set %Rodzaj_rosliny NIJ
  97. if %nr_produktu = 4
  98. set %Rodzaj_rosliny TIJ
  99. if %nr_produktu = 5
  100. set %Rodzaj_rosliny FJJ
  101. if %nr_produktu = 6
  102. set %Rodzaj_rosliny TIJ
  103. if %nr_produktu = 7
  104. set %Rodzaj_rosliny KBF
  105. menu get mePoleSz
  106. set %Max_odleglosc #menures
  107. menu get mcWywalSzczepki
  108. set %WywalanieSzczepek #menures
  109. gosub SkanujTeren
  110. gosub MainLoop
  111. }
  112. if #menubutton = mbobcinaj
  113. {
  114. set #menubutton N/A
  115. gosub Obcinaj
  116. }
  117. if #menubutton = mbprzezucaj
  118. {
  119. set #menubutton N/A
  120. gosub Przezucaj
  121. }
  122. if #menubutton = CLOSED ;wcisnieto przycisk X
  123. {
  124. menu hide
  125. set #menubutton N/A
  126. halt
  127. }
  128. until #false
  129. ;-------------------------------------------------
  130. sub SkanujTeren ; jedziem
  131. event sysmessage Szukam krzaczkow.
  132. finditem %Rodzaj_rosliny G_ , %Max_odleglosc
  133. set #lpc 2000
  134. for #findindex 1 #findcnt
  135. {
  136. wait 3
  137. set %_x . #findindex #findx ;tworzenie tablicy
  138. set %_y . #findindex #findy ;tworzenie tablicy
  139. set %_z . #findindex #findz ;tworzenie tablicy
  140. set %krzak_id_ . #findindex #findid
  141. ignoreitem #findid
  142. }
  143. set #lpc 10
  144. set %IloscKrzaczkow #findcnt
  145. event sysmessage Znaleziono #findcnt krzaczkow.
  146. return
  147. ;-------------------------------------------------
  148. sub MainLoop ;parametr: ilosc znalezionych krzaczkw
  149. for %j 1 %IloscKrzaczkow
  150. {
  151. gosub Podejdz_do_rosliny %_x . %j %_y . %j %_z . %j
  152. if #RESULT = PetlaPrzyciskow
  153. return
  154. gosub Zrywaj_rosliny %krzak_id_ . %j
  155. if #RESULT = WcisnietoStop
  156. return
  157. ignoreitem %krzak_id_ . %j
  158. gosub WywalSzczepki
  159. }
  160. event sysmessage KONIEC. Wszystkie rosliny oberwane.
  161. gosub Rysuj_przycisk_start
  162. ignoreitem reset
  163. return
  164. ;--------------------------------------------------
  165. sub Podejdz_do_rosliny
  166. set %krzaczek_x %1
  167. set %krzaczek_y %2
  168. set %krzaczek_z %3
  169. move %krzaczek_x %krzaczek_y 0 5s
  170. if #menubutton = mbstop
  171. {
  172. set #menubutton N/A
  173. gosub Rysuj_przycisk_start
  174. return PetlaPrzyciskow
  175. }
  176. if #CHARPOSX <> %krzaczek_x && #CHARPOSY <> %krzaczek_y
  177. {
  178. set %czas #scnt + 6
  179. event pathfind %krzaczek_x %krzaczek_y %krzaczek_z
  180. repeat
  181. if #menubutton = mbstop
  182. {
  183. set #menubutton N/A
  184. gosub Rysuj_przycisk_start
  185. return PetlaPrzyciskow
  186. }
  187. if %czas < #scnt
  188. {
  189. set %czas #scnt + 6
  190. event pathfind %krzaczek_x %krzaczek_y %krzaczek_z
  191. }
  192. scanjournal 1
  193. if _Can't_get_there in #journal || stoisz_za_daleko in #journal || _That_is_too in #journal
  194. {
  195. move %krzaczek_x %krzaczek_y 0 5s
  196. return
  197. }
  198. until #CHARPOSX = %krzaczek_x && #CHARPOSY = %krzaczek_y
  199. }
  200. return
  201. ;--------------------------------------------------
  202. sub Zrywaj_rosliny
  203. set %krzak_id %1
  204. set #LTARGETKIND 2
  205. set #LOBJECTID %krzak_id
  206. event macro 17
  207. set %czas #scnt + 9
  208. wait 1s
  209. scanjournal 1
  210. if _I_can't_see_that. in #journal || _That_is_too in #journal
  211. {
  212. ignoreitem %krzak_id
  213. return
  214. }
  215. repeat
  216. scanjournal 1
  217. if %czas < #scnt
  218. {
  219. set #LTARGETKIND 2
  220. set #LOBJECTID %krzak_id
  221. event macro 17
  222. set %czas #scnt + 9
  223. wait 1s
  224. }
  225. if Z_tej_rosliny in #journal || stoisz_za_daleko in #journal
  226. return
  227. until Zaczynasz in #journal
  228.  
  229. set %SprawdzPierwszyRaz 1
  230. set %Licznik 0
  231. set %JIndexStart #jindex
  232. repeat
  233. if %JIndexStart = #jindex
  234. {
  235. wait 1s
  236. }
  237. else
  238. {
  239. if %SprawdzPierwszyRaz = 1
  240. {
  241. set %Licznik #jindex
  242. set %SprawdzPierwszyRaz 0
  243. scanjournal %Licznik
  244. }
  245. else
  246. {
  247. set %Licznik ( %Licznik - 1 )
  248. if %JIndexStart = %Licznik
  249. set %Licznik #jindex
  250. scanjournal %Licznik
  251. }
  252. }
  253. if #menubutton = mbstop
  254. {
  255. click %Click_Przerwij_X %Click_Przerwij_Y
  256. gosub Rysuj_przycisk_start
  257. return WcisnietoStop
  258. }
  259. if Z_tej_rosliny in #journal || _I_can't_see_that. in #journal || _That_is_too in #journal
  260. break
  261. until #false
  262. ignoreitem %krzak_id
  263. return
  264. ;--------------------------------------------------
  265. sub Obcinaj
  266. gosub nozyczki
  267. if #RESULT = NozyczekBrak
  268. return
  269. finditem %TypyKrzaczkow C_ , #backpackid
  270. set %WyjdzZPetli 0
  271. for #findindex 1 #findcnt
  272. {
  273. set #lobjectid #findid
  274. event macro 17
  275. set %TimeObcinania #scnt2 + 20
  276. repeat
  277. if %TimeObcinania < #scnt2
  278. {
  279. set #lobjectid #findid
  280. event macro 17
  281. set %TimeObcinania #scnt2 + 20
  282. }
  283. until Rozpocz in #sysmsg
  284. repeat
  285. wait 2s
  286. gosub SprawdzGumpa
  287. until %WyjdzZPetli = 1
  288. set %WyjdzZPetli 0
  289. }
  290. return
  291. ;--------------------------------------------
  292. sub SprawdzGumpa
  293. set #lpc 2000
  294. set %dziennik #SYSMSG
  295. ;event sysmessage dziennik %dziennik
  296. str Pos %dziennik )
  297. set %Pozycja_nawiasu #StrRes
  298. set %end %Pozycja_nawiasu - 2
  299. str Mid %dziennik 2 %end
  300. set %Tyle_z_Tylu #StrRes
  301. str Pos %Tyle_z_Tylu z
  302. set %z_end #StrRes - 2
  303. str Mid %Tyle_z_Tylu 1 %z_end
  304. set %Pierwsza_wartosc #StrRes
  305. ;event sysmessage Pierwsza_wartosc %Pierwsza_wartosc
  306. str Pos %Tyle_z_Tylu _
  307. set %__start #StrRes + 3
  308. str Len %Tyle_z_Tylu
  309. set %Dlugosc #StrRes
  310. str Mid %Tyle_z_Tylu %__start %Dlugosc
  311. set %Druga_wartosc #StrRes
  312. ;event sysmessage Wartosci: %Pierwsza_wartosc z %Druga_wartosc
  313. if %Pierwsza_wartosc > %Druga_wartosc
  314. {
  315. click %Click_Przerwij_X %Click_Przerwij_Y
  316. set %WyjdzZPetli 1
  317. wait 6s
  318. set #lpc 10
  319. return
  320. }
  321. if %Pierwsza_wartosc = %Druga_wartosc
  322. {
  323. scanjournal 1
  324. if #JCOLOR = 40
  325. {
  326. click %Click_Przerwij_X %Click_Przerwij_Y
  327. wait 6s
  328. }
  329. set %WyjdzZPetli 1
  330. }
  331. else
  332. {
  333. set #lpc 10
  334. return
  335. }
  336. set #lpc 10
  337. return
  338. ;---------------------------------------------
  339. sub Przezucaj
  340. if 180_240 notin #CONTSIZE
  341. {
  342. if %Bank = 1
  343. {
  344. event macro 1 0 Bankier daj moja skrzynie.
  345. }
  346. else
  347. {
  348. event macro 1 0 Magazynier daj moja skrzynie.
  349. }
  350. set %timer #scnt + 10
  351. repeat
  352. if #menubutton = mbstop
  353. {
  354. set #menubutton N/A
  355. event sysmessage Przezucanie przerwane.
  356. return
  357. }
  358. if %timer < #scnt
  359. {
  360. event sysmessage Nie znaleziono otwartej skrzyni bankowej.
  361. return
  362. }
  363. until 180_240 in #CONTSIZE
  364. }
  365. set #lobjectid %ID_Plecaka_Na_Ziola
  366. event macro 17
  367. set %time #scnt2 + 20
  368. repeat
  369. if #menubutton = mbstop
  370. {
  371. set #menubutton N/A
  372. event sysmessage Przezucanie przerwane.
  373. return
  374. }
  375. if %time < #scnt2
  376. {
  377. set #lobjectid %ID_Plecaka_Na_Ziola
  378. event macro 17
  379. set %time #scnt2 + 20
  380. }
  381. until #CONTID = %ID_Plecaka_Na_Ziola
  382. ;przezucanie ziol
  383. finditem KZF_JUF_JZF_MZF_PZF_WZF_XWS C_ , #backpackid
  384. if #findkind <> -1
  385. {
  386. for #findindex 1 #findcnt
  387. {
  388. if #findstack = 0
  389. exevent drag #findid 1
  390. else
  391. exevent drag #findid #findstack
  392. wait 5
  393. exevent dropc %ID_Plecaka_Na_Ziola
  394. wait 5
  395. }
  396. }
  397. set %timeBrakPlecaka #scnt2 + 50
  398. set #lobjectid %ID_Plecaka_Na_Szczepki
  399. event macro 17
  400. set %time #scnt2 + 20
  401. repeat
  402. if #menubutton = mbstop
  403. {
  404. set #menubutton N/A
  405. event sysmessage Przezucanie przerwane.
  406. return
  407. }
  408. if %time < #scnt2
  409. {
  410. set #lobjectid %ID_Plecaka_Na_Szczepki
  411. event macro 17
  412. set %time #scnt2 + 20
  413. }
  414. if %timeBrakPlecaka < #scnt2
  415. {
  416. event sysmessage Nie ma plecaka na szczepki.
  417. return
  418. }
  419. until #CONTID = %ID_Plecaka_Na_Szczepki
  420. ;przezucanie szczepek
  421. finditem %Szczepki C_ , #backpackid
  422. if #findkind <> -1
  423. {
  424. for #findindex 1 #findcnt
  425. {
  426. if #findstack = 0
  427. exevent drag #findid 1
  428. else
  429. exevent drag #findid #findstack
  430. wait 5
  431. exevent dropc %ID_Plecaka_Na_Szczepki
  432. wait 5
  433. }
  434. }
  435. set %timeBrakPlecaka #scnt2 + 50
  436. set #lobjectid %ID_Plecaka_Na_Krzaczki
  437. event macro 17
  438. set %time #scnt2 + 20
  439. repeat
  440. if #menubutton = mbstop
  441. {
  442. set #menubutton N/A
  443. event sysmessage Przerzucanie przerwane.
  444. return
  445. }
  446. if %time < #scnt2
  447. {
  448. set #lobjectid %ID_Plecaka_Na_Krzaczki
  449. event macro 17
  450. set %time #scnt2 + 20
  451. }
  452. if %timeBrakPlecaka < #scnt2
  453. {
  454. event sysmessage Nie ma plecaka na szczepki.
  455. return
  456. }
  457. until #CONTID = %ID_Plecaka_Na_Krzaczki
  458. ;przezucanie szczepek
  459. finditem %TypyKrzaczkow C_ , #backpackid
  460. if #findkind <> -1
  461. {
  462. for #findindex 1 #findcnt
  463. {
  464. if #findstack = 0
  465. exevent drag #findid 1
  466. else
  467. exevent drag #findid #findstack
  468. wait 5
  469. exevent dropc %ID_Plecaka_Na_Krzaczki
  470. wait 5
  471. }
  472. }
  473. event sysmessage Przedmioty przezucone.
  474. return
  475. ;---------------------------------------------
  476. sub WywalSzczepki
  477. if %WywalanieSzczepek = #false
  478. return
  479. finditem %Szczepki C_ , #backpackid
  480. if #findkind = -1
  481. {
  482. return
  483. }
  484. for #findindex 1 #findcnt
  485. {
  486. finditem %Szczepki C_ , #backpackid
  487. if #findstack = 0
  488. exevent drag #findid 1
  489. else
  490. exevent drag #findid #findstack
  491. wait 5
  492. exevent dropg #CHARPOSX #CHARPOSY #CHARPOSZ
  493. wait 5
  494. }
  495. return
  496. ;-----------------------------------------------
  497. sub Rysuj_przycisk_start
  498. set #menubutton N/A
  499. menu font color green
  500. menu font style b
  501. menu font bgcolor btnface
  502. menu button mbstart 10 135 60 24 Start
  503. return
  504. ;-----------------------------------------------
  505. sub ChodzenieDoSadzenia
  506. set %Start_X #CHARPOSX
  507. set %Start_Y #CHARPOSY
  508. for %i 1 5
  509. {
  510. for %j 1 8
  511. {
  512. set %krok_x %Start_X
  513. set %krok_y %Start_Y + %j
  514. move %krok_x %krok_y 0 20s
  515. gosub Sadzenie
  516. if #RESULT = KoniecSadzenia
  517. {
  518. event sysmessage Sadzenie przerwane.
  519. return
  520. }
  521. }
  522. set %Start_X %Start_X + 1
  523. }
  524. event sysmessage KONIEC SADZENIA.
  525. return
  526. ;-------------------------------------------
  527. sub Sadzenie
  528. finditem OIJ_GJJ_CJJ_UIJ C
  529. if #findkind = -1
  530. {
  531. event sysmessage Nie masz szczepek.
  532. return
  533. }
  534. set #lobjectid #findid
  535. event macro 17
  536. set %TimeCel #scnt2 + 20
  537. repeat
  538. if %TimeCel < #scnt2
  539. {
  540. set #lobjectid #findid
  541. event macro 17
  542. set %TimeCel #scnt2 + 20
  543. }
  544. until #targcurs = 1
  545.  
  546. set #LTARGETX #CHARPOSX
  547. set #LTARGETY #CHARPOSY
  548. set #LTARGETZ #CHARPOSZ
  549. set #LTARGETKIND 2
  550. event macro 22
  551. set %TimeSadzenia #scnt2 + 20
  552. set %Time2 #scnt + 10
  553. repeat
  554. if %TimeSadzenia < #scnt2
  555. {
  556. event macro 22
  557. set %TimeSadzenia #scnt2 + 20
  558. }
  559. scanjournal 1
  560. until Probujesz in #journal
  561.  
  562. repeat
  563. set %SprawdzPierwszyRaz 1
  564. set %Licznik 0
  565. set %JIndexStart #jindex
  566. repeat
  567. if %JIndexStart = #jindex
  568. {
  569. wait 1s
  570. }
  571. else
  572. {
  573. if %SprawdzPierwszyRaz = 1
  574. {
  575. set %Licznik #jindex
  576. set %SprawdzPierwszyRaz 0
  577. scanjournal %Licznik
  578. }
  579. else
  580. {
  581. set %Licznik ( %Licznik - 1 )
  582. if %JIndexStart = %Licznik
  583. set %Licznik #jindex
  584. scanjournal %Licznik
  585. }
  586. }
  587. if #menubutton = mbstop
  588. {
  589. click %Click_Przerwij_X %Click_Przerwij_Y
  590. gosub Rysuj_przycisk_start
  591. return KoniecSadzenia
  592. }
  593. until Udalo in #journal
  594. return
  595. ;-------------------------------------------
  596. sub nozyczki
  597. finditem KAG C
  598. for #findindex 1 #findcnt
  599. {
  600. if #findtype = KAG
  601. {
  602. set %nozyczkiID #findid
  603. }
  604. }
  605. if N/A in %nozyczkiID
  606. {
  607. event sysmessage NIE MASZ NOZYCZEK W PLECAKU. SKRYPT ZATRZYMANY.
  608. return NozyczekBrak
  609. }
  610. return
  611. ;Roslinki do zbierania:
  612. ; XIJ - czosnek
  613. ; NIJ - mandragora OIJ - szczepka
  614. ; TIJ - wilcze jagody
  615. ; FJJ - zenszen
  616. ; TIJ - krwawy mech
  617. ; KBF - grzybki
  618. ;Roslinki do wywalenia:
  619. ; CBF - szczepki grzybkow
  620. ; GJJ - szczepki wilczych jagod
  621. ; OIJ - szczepki mandragory
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement