Advertisement
Guest User

Untitled

a guest
Oct 26th, 2015
358
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.46 KB | None | 0 0
  1. ; Makro: Zielarstwo_Menu-v2.9-1.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. if #findkind = -1
  271. {
  272. return
  273. }
  274. set %WyjdzZPetli 0
  275. for #findindex 1 #findcnt
  276. {
  277. set #lobjectid #findid
  278. event macro 17
  279. set %TimeObcinania #scnt2 + 20
  280. repeat
  281. if %TimeObcinania < #scnt2
  282. {
  283. set #lobjectid #findid
  284. event macro 17
  285. set %TimeObcinania #scnt2 + 20
  286. }
  287. until Rozpocz in #sysmsg
  288. set %jindex #jindex
  289. set #lpc 100
  290. repeat
  291. set %ji #jindex - %jindex
  292. for %i 1 %ji
  293. {
  294. scanjournal %i
  295. if Oddalil in #journal
  296. {
  297. set #lpc 20
  298. return
  299. }
  300. }
  301. if Udalo in #sysmsg
  302. {
  303. gosub SprawdzGumpa
  304. }
  305. until %WyjdzZPetli = 1
  306. set %WyjdzZPetli 0
  307. }
  308. set #lpc 20
  309. return
  310. ;--------------------------------------------
  311. sub SprawdzGumpa
  312. set #lpc 2000
  313. set %dziennik #SYSMSG
  314. ;event sysmessage dziennik %dziennik
  315. str Pos %dziennik )
  316. set %Pozycja_nawiasu #StrRes
  317. set %end %Pozycja_nawiasu - 2
  318. str Mid %dziennik 2 %end
  319. set %Tyle_z_Tylu #StrRes
  320. str Pos %Tyle_z_Tylu z
  321. set %z_end #StrRes - 2
  322. str Mid %Tyle_z_Tylu 1 %z_end
  323. set %Pierwsza_wartosc #StrRes
  324. ;event sysmessage Pierwsza_wartosc %Pierwsza_wartosc
  325. str Pos %Tyle_z_Tylu _
  326. set %__start #StrRes + 3
  327. str Len %Tyle_z_Tylu
  328. set %Dlugosc #StrRes
  329. str Mid %Tyle_z_Tylu %__start %Dlugosc
  330. set %Druga_wartosc #StrRes
  331. ;event sysmessage Wartosci: %Pierwsza_wartosc z %Druga_wartosc
  332. if %Pierwsza_wartosc > %Druga_wartosc
  333. {
  334. click %Click_Przerwij_X %Click_Przerwij_Y
  335. set %WyjdzZPetli 1
  336. wait 6s
  337. set #lpc 10
  338. return
  339. }
  340. if %Pierwsza_wartosc = %Druga_wartosc
  341. {
  342. scanjournal 1
  343. if #JCOLOR = 40
  344. {
  345. click %Click_Przerwij_X %Click_Przerwij_Y
  346. wait 6s
  347. }
  348. set %WyjdzZPetli 1
  349. }
  350. else
  351. {
  352. set #lpc 10
  353. return
  354. }
  355. set #lpc 10
  356. return
  357. ;---------------------------------------------
  358. sub Przezucaj
  359. if 180_240 notin #CONTSIZE
  360. {
  361. if %Bank = 1
  362. {
  363. event macro 1 0 Bankier daj moja skrzynie.
  364. }
  365. else
  366. {
  367. event macro 1 0 Magazynier daj moja skrzynie.
  368. }
  369. set %timer #scnt + 10
  370. repeat
  371. if #menubutton = mbstop
  372. {
  373. set #menubutton N/A
  374. event sysmessage Przezucanie przerwane.
  375. return
  376. }
  377. if %timer < #scnt
  378. {
  379. event sysmessage Nie znaleziono otwartej skrzyni bankowej.
  380. return
  381. }
  382. until 180_240 in #CONTSIZE
  383. }
  384. set #lobjectid %ID_Plecaka_Na_Ziola
  385. event macro 17
  386. set %time #scnt2 + 20
  387. repeat
  388. if #menubutton = mbstop
  389. {
  390. set #menubutton N/A
  391. event sysmessage Przezucanie przerwane.
  392. return
  393. }
  394. if %time < #scnt2
  395. {
  396. set #lobjectid %ID_Plecaka_Na_Ziola
  397. event macro 17
  398. set %time #scnt2 + 20
  399. }
  400. until #CONTID = %ID_Plecaka_Na_Ziola
  401. ;przezucanie ziol
  402. finditem KZF_JUF_JZF_MZF_PZF_WZF_XWS C_ , #backpackid
  403. if #findkind <> -1
  404. {
  405. for #findindex 1 #findcnt
  406. {
  407. if #findstack = 0
  408. exevent drag #findid 1
  409. else
  410. exevent drag #findid #findstack
  411. wait 5
  412. exevent dropc %ID_Plecaka_Na_Ziola
  413. wait 5
  414. }
  415. }
  416. set %timeBrakPlecaka #scnt2 + 50
  417. set #lobjectid %ID_Plecaka_Na_Szczepki
  418. event macro 17
  419. set %time #scnt2 + 20
  420. repeat
  421. if #menubutton = mbstop
  422. {
  423. set #menubutton N/A
  424. event sysmessage Przezucanie przerwane.
  425. return
  426. }
  427. if %time < #scnt2
  428. {
  429. set #lobjectid %ID_Plecaka_Na_Szczepki
  430. event macro 17
  431. set %time #scnt2 + 20
  432. }
  433. if %timeBrakPlecaka < #scnt2
  434. {
  435. event sysmessage Nie ma plecaka na szczepki.
  436. return
  437. }
  438. until #CONTID = %ID_Plecaka_Na_Szczepki
  439. ;przezucanie szczepek
  440. finditem %Szczepki C_ , #backpackid
  441. if #findkind <> -1
  442. {
  443. for #findindex 1 #findcnt
  444. {
  445. if #findstack = 0
  446. exevent drag #findid 1
  447. else
  448. exevent drag #findid #findstack
  449. wait 5
  450. exevent dropc %ID_Plecaka_Na_Szczepki
  451. wait 5
  452. }
  453. }
  454. set %timeBrakPlecaka #scnt2 + 50
  455. set #lobjectid %ID_Plecaka_Na_Krzaczki
  456. event macro 17
  457. set %time #scnt2 + 20
  458. repeat
  459. if #menubutton = mbstop
  460. {
  461. set #menubutton N/A
  462. event sysmessage Przerzucanie przerwane.
  463. return
  464. }
  465. if %time < #scnt2
  466. {
  467. set #lobjectid %ID_Plecaka_Na_Krzaczki
  468. event macro 17
  469. set %time #scnt2 + 20
  470. }
  471. if %timeBrakPlecaka < #scnt2
  472. {
  473. event sysmessage Nie ma plecaka na szczepki.
  474. return
  475. }
  476. until #CONTID = %ID_Plecaka_Na_Krzaczki
  477. ;przezucanie szczepek
  478. finditem %TypyKrzaczkow C_ , #backpackid
  479. if #findkind <> -1
  480. {
  481. for #findindex 1 #findcnt
  482. {
  483. if #findstack = 0
  484. exevent drag #findid 1
  485. else
  486. exevent drag #findid #findstack
  487. wait 5
  488. exevent dropc %ID_Plecaka_Na_Krzaczki
  489. wait 5
  490. }
  491. }
  492. event sysmessage Przedmioty przezucone.
  493. return
  494. ;---------------------------------------------
  495. sub WywalSzczepki
  496. if %WywalanieSzczepek = #false
  497. return
  498. finditem %Szczepki C_ , #backpackid
  499. if #findkind = -1
  500. {
  501. return
  502. }
  503. for #findindex 1 #findcnt
  504. {
  505. finditem %Szczepki C_ , #backpackid
  506. if #findstack = 0
  507. exevent drag #findid 1
  508. else
  509. exevent drag #findid #findstack
  510. wait 5
  511. exevent dropg #CHARPOSX #CHARPOSY #CHARPOSZ
  512. wait 5
  513. }
  514. return
  515. ;-----------------------------------------------
  516. sub Rysuj_przycisk_start
  517. set #menubutton N/A
  518. menu font color green
  519. menu font style b
  520. menu font bgcolor btnface
  521. menu button mbstart 10 135 60 24 Start
  522. return
  523. ;-----------------------------------------------
  524. sub ChodzenieDoSadzenia
  525. set %Start_X #CHARPOSX
  526. set %Start_Y #CHARPOSY
  527. for %i 1 5
  528. {
  529. for %j 1 8
  530. {
  531. set %krok_x %Start_X
  532. set %krok_y %Start_Y + %j
  533. move %krok_x %krok_y 0 20s
  534. gosub Sadzenie
  535. if #RESULT = KoniecSadzenia
  536. {
  537. event sysmessage Sadzenie przerwane.
  538. return
  539. }
  540. }
  541. set %Start_X %Start_X + 1
  542. }
  543. event sysmessage KONIEC SADZENIA.
  544. return
  545. ;-------------------------------------------
  546. sub Sadzenie
  547. finditem OIJ_GJJ_CJJ_UIJ C
  548. if #findkind = -1
  549. {
  550. event sysmessage Nie masz szczepek.
  551. return
  552. }
  553. set #lobjectid #findid
  554. event macro 17
  555. set %TimeCel #scnt2 + 20
  556. repeat
  557. if %TimeCel < #scnt2
  558. {
  559. set #lobjectid #findid
  560. event macro 17
  561. set %TimeCel #scnt2 + 20
  562. }
  563. until #targcurs = 1
  564.  
  565. set #LTARGETX #CHARPOSX
  566. set #LTARGETY #CHARPOSY
  567. set #LTARGETZ #CHARPOSZ
  568. set #LTARGETKIND 2
  569. event macro 22
  570. set %TimeSadzenia #scnt2 + 20
  571. set %Time2 #scnt + 10
  572. repeat
  573. if %TimeSadzenia < #scnt2
  574. {
  575. event macro 22
  576. set %TimeSadzenia #scnt2 + 20
  577. }
  578. scanjournal 1
  579. until Probujesz in #journal
  580. set %jindex #jindex
  581. set #lpc 100
  582. repeat
  583. set %ji #jindex - %jindex
  584. for %i 1 %ji
  585. {
  586. scanjournal %i
  587. if Udalo in #journal
  588. {
  589. break
  590. }
  591. if #menubutton = mbstop
  592. {
  593. click %Click_Przerwij_X %Click_Przerwij_Y
  594. gosub Rysuj_przycisk_start
  595. return KoniecSadzenia
  596. }
  597. }
  598. until #false
  599. set #lpc 20
  600. return
  601. ;-------------------------------------------
  602. sub nozyczki
  603. finditem KAG C
  604. for #findindex 1 #findcnt
  605. {
  606. if #findtype = KAG
  607. {
  608. set %nozyczkiID #findid
  609. }
  610. }
  611. if N/A in %nozyczkiID
  612. {
  613. event sysmessage NIE MASZ NOZYCZEK W PLECAKU. SKRYPT ZATRZYMANY.
  614. return NozyczekBrak
  615. }
  616. return
  617. ;Roslinki do zbierania:
  618. ; XIJ - czosnek
  619. ; NIJ - mandragora OIJ - szczepka
  620. ; TIJ - wilcze jagody
  621. ; FJJ - zenszen
  622. ; TIJ - krwawy mech
  623. ; KBF - grzybki
  624. ;Roslinki do wywalenia:
  625. ; CBF - szczepki grzybkow
  626. ; GJJ - szczepki wilczych jagod
  627. ; OIJ - szczepki mandragory
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement