Koxamans

Untitled

Mar 9th, 2022
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.03 KB | None | 0 0
  1. ; Nazwa: Gornik_Menu_v-2.1.12.txt
  2. ; Autor: Janusz [Fris]
  3. ;============ OPIS ==================
  4. ; UWAGA !!
  5. ; W przypadku innych wersji systemu niz Windows XP
  6. ; trzeba uruchamiac EasyUO jako administrator
  7. ;
  8. ; Skrypt Testowany na systemach Windows XP SP3 oraz Windows 7 SP1
  9. ;
  10. ;-------------------- dodac ----------------------
  11. ;dodać w menu opcje, na wyrzucanie rudy dopiero przy zapelnieniu plecaka?
  12. ;I wtedy przy komunikacie 'masz pelny plecak' wyrzucana na ziemie bylaby kazda niepotrzebna ruda.
  13. ;Makro kontynuowało by kopanie w ostatnim miejscu.
  14. ;Jesli gracz nie zaznaczylby opcji "Oprozniaj tylko pelny plecak", skrypt dzialalby jak teraz
  15. ;-------------------------------------------------
  16. ; Wybierasz miasto z listy i rudy jakie maja byc wywalane
  17. ; ----
  18. ; Skrypt dziala tylko na jednego juczniaka !!
  19. ; Kwity przezuci do plecaka w magazynie wiec do zmiennej %ID_Plecaka_Na_Kwity trzba wpisac id tego plecaka
  20. ; Jak to zrobic? Otwierasz plecak na kwity i w zmiennej #CONTID masz literki ktore trzeba przepisac lub skopiowac
  21. ; za tekstem/zmienna %ID_Plecaka_Na_Kwity tak jak jest to nizej.
  22. ; ----
  23. ; Jesli twoja postac ma wyuczona jakas walke to: z listy rozwijanej na dole wybierz bron ktorej uzywasz
  24. ; Jesli masz walke to w momencie gdy zywiolak ziemi lub szlam pojawi sie obok ciebie postac sama
  25. ; podbiegnie do niego wyciagnie bron i krzyknie do straznika, gdy zywiol padnie postac wroci
  26. ; w miejsce gdzie ostatnio kopala zalozy ponownie kilof i bedzie dalej kopac.
  27. ; --
  28. ; W przypadku gdy nie masz walki postac podbiegnie do straznika krzyknie do niego i po chwili wroci na miejsce kopania.
  29. ; Jesli zywiol cie zrani, a masz w plecaku bandaze i potrafisz sie leczyc postac sie uzdrowi.
  30. ; Jesli nie potrafisz sie uzdrwiac to nie trzymaj bandazy w plecaku.
  31. ; -- Przyciski:
  32. ; Przetop - jesli stoisz przy piecu przetopi rude z wyjatkiem royalu
  33. ; Magazyn - przezuci sztabki i rude do magazynu i jesli ktoregos rodzaju sztabek lub rudy jest wiecej
  34. ; niz 2000 wypisza na nie kwit
  35. ; Wszystko - zanacza wszystkie rudy do wywalenie oprocz royala
  36. ; Nic - odznacza zaznaczone rudy
  37. ; Jesli z listy Miasta wybierzesz Dzika kopalnia wtedy skrypt umozliwia przezucanie rudy lub sztab do
  38. ; bezpiecznej skrzyni w domku robi to przycisk Magazyn.
  39.  
  40. ; == KOPANIE PIASKU ==
  41. ;Kopie rude w kopalni lub piasek na plazy.
  42. ;Do kopania piasku trzeba miec lopate w plecaku postaci, a postac musi miec puste rece.
  43. ;Bo inaczej dostaniek komunikat ze tu nic nie wykopiesz.
  44. ;--------------------------------
  45. ;set %path C:\Gornik-id_juczniaka.txt ; Plik w ktorym zostanie zapisane id juczniaka, sciezka do pliku nie moze zawierac spacji
  46. set %USTAWIENIA 1 ;JESLI WPISZESZ 1 TO MAKTO BEDZIE DZIALAC TAK JAKBYS ZAZNACZYL W .USTAIENIA "WYDOBYWAJ TYLKO RAZ". ZERO NATOMIAST POWODUJE WYDOBYWANIE WIELE RAZY CZY OPCJA "WYDOBYWAJ TYLKO RAZ" ODZNACZONA
  47. set %vampir 1 ; 0 - czlowiek, 1 - wampir
  48. set %ID_Plecaka_Na_Kwity MOTXDSD ;Tu wpisz id plecaka na kwity w magazynie. Skad wziac to id: Otworz plecak na kwity rozwin galaz zmiennych Container Info i wklej zamiast mojego id to co jest w #CONTID
  49. set %Id_juczniaka1 0
  50. set %wyzucaj_mapki 0 ;1 - wyzuca postrzepione mapy, 0 - nie wyrzuca
  51. set %SciezkaDoDzwieku D:\sciezka_do_dzwieku1.wav
  52. set %SciezkaDoDzwieku2 D:\sciezka_do_dzwieku2.wav
  53. set %KwityDoPlecakaMagazyn 1 ;1 - wrzuca kwity do plecaka na kwity 0 - nie wrzuca
  54. set %sztab_na_raz 200 ; tu wpisz ile sztab na raz ma byc przezucane: to jest po to by ci sie gnaty nie polamaly jesli bedziesz mial lagi
  55. set %stack_naraz 0 ;0 - przezuca w malych ilosciach zdefiniowanych w zmiennej %sztab_na_raz 1 - przezuca cala kupke na raz a bynajmniej powinien ja nie testowalem :p
  56. set %JestCoWywalac 0 ;tego nie ruszac
  57. set %OpoznienieWyrzucaniaRudy 5
  58. set %zapis_do_pliku 0
  59. set %Wydobycie nie ; to ustawia sie w menu wiec tu nie zmieniac
  60. set %ToSamoMiejsce nie ; nie zmieniac
  61. set %BiegnijZaZywiolem 0 ;1 - jesli masz bron i umiesz walczyc to postac bedzie biegla za wyziolem jesli ten bedzie uciekal; 0 - nie biegnie za zywiolem
  62. ;-- Jesli Skrypt dziala dobrze to nie zmieniaj ponizszych wartosci --
  63. set %Click_Przerwij_X 187
  64. set %Click_Przerwij_Y 165
  65. set %click_X_UstawieniaZamknij 473
  66. set %click_Y_UstawieniaZamknij 73
  67. set %click_X_Ustawienia 134
  68. set %click_Y_Ustawienia 287
  69. set %WydobycieRazKolorNie 7551256
  70. set %WydobycieRazKolorTak 3242752
  71. set %Click_ZamknijPJ_X ( 200 + #CLILEFT )
  72. set %Click_ZamknijPJ_Y ( 180 + #CLITOP )
  73. set %Click_PrzeniesPJ_X ( 73 + #CLILEFT )
  74. set %Click_PrzeniesPJ_Y ( 87 + #CLITOP )
  75. set %Skrzynia_Magazyn_X ( 623 + #CLILEFT )
  76. set %Skrzynia_Magazyn_Y ( 348 + #CLITOP )
  77. set %Plecak_Juczniaka_X ( 597 + #CLILEFT )
  78. set %Plecak_Juczniaka_Y ( 394 + #CLITOP )
  79. set %Click_Pojemnik_X ( 127 + #CLILEFT )
  80. set %Click_Pojemnik_Y ( 251 + #CLITOP )
  81. set %Plecak_Postaci_X ( 602 + #CLILEFT )
  82. set %Plecak_Postaci_Y ( 590 + #CLITOP )
  83. set %Zamknij_Magazyn_X ( 744 + #CLILEFT )
  84. set %Zamknij_Magazyn_Y ( 416 + #CLITOP )
  85. set %ID_Straznikow MMB_GQG_HHH_SMGEG_ANGEG_BKERD_WJERD_XJERD_ZDDK
  86.  
  87. ;-------------------------------
  88. set %nrmok 1
  89. set #lpc 2000
  90. menu clear
  91. menu window color btnface
  92. menu window size 220 280
  93. menu window title Gornik 2.1.12
  94. ;=================== miasta =====================
  95. menu font size 8
  96. menu text mtmiasto 5 1 Wybierz miasto:
  97. menu text mtskil 110 1 Wybierz skil:
  98. menu text mtbron 10 235 Wybierz bron ktora sie poslugujesz:
  99. menu font size 9
  100. menu font bgcolor white
  101. menu combo create mcmiasto 10 17 95
  102. menu combo add mcmiasto Minoc
  103. menu combo add mcmiasto Mistas
  104. menu combo add mcmiasto Karak Hirin
  105. menu combo add mcmiasto Dzika Kopalnia
  106. menu combo select mcmiasto 1
  107. ;=================== skil =======================
  108. menu combo create mcskil 110 17 100
  109. menu combo add mcskil Zaden
  110. menu combo add mcskil Ukrywanie
  111. menu combo add mcskil Wykrywanie
  112. menu combo select mcskil 1
  113. ;=================== bron =======================
  114. menu combo create mcBron 10 250 200
  115. menu combo add mcBron Zadena
  116. menu combo add mcBron Wakizashi
  117. menu combo add mcBron Tasak
  118. menu combo add mcBron Halka
  119. menu combo add mcBron Wojenny_Topor
  120. menu combo select mcBron 1
  121. ;=================== miejsce kopania ================
  122. menu font size 9
  123. menu font bgcolor btnface
  124. menu text mtomk 5 155 Nr. miejsca:
  125. menu edit mekopanie 80 152 30 %nrmok ; numer miejsca w kopalni
  126. ;=================== wydobywaj raz ================
  127. menu check mcWydobywajRaz 115 155 120 15 #false Wydobywaj raz
  128. ;=================== przyciski =================
  129. menu font color black
  130. menu font style b
  131. menu button mbwszystko 10 180 75 20 Wszystko
  132. menu button mbnic 95 180 30 20 Nic
  133. menu button mbpiec 135 180 75 20 Przetop
  134.  
  135. menu button mbstart 10 205 60 24 Start
  136. menu button mbstop 75 205 60 24 Stop
  137. menu button mbMagazyn 140 205 70 24 Magazyn
  138. ;=================== rudy ======================
  139. menu font style
  140. menu font size 8
  141. menu check mczelazo 10 67 90 15 #false zelazo
  142. menu check mcsrebro 10 87 90 15 #false srebro
  143. menu check mczloto 10 107 90 15 #false zloto
  144. menu check mcblack 10 127 90 15 #false black
  145. ;------------------------------------------------------
  146. menu check mcagapit 80 67 90 15 #false agapit
  147. menu check mcvaloryt 80 87 90 15 #false valoryt
  148. menu check mcveryt 80 107 90 15 #false veryt ;85 67 90 15
  149. menu check mcmyth 80 127 90 15 #false myth
  150. ;------------------------------------------------------
  151. menu check mcblood 145 67 60 15 #false blood
  152. menu check mcazuryt 145 87 60 15 #false azuryt
  153. ;------------------------------------------------------
  154. menu check mcgrafit 145 107 50 15 #false grafit
  155. menu check mcmapki 145 127 55 15 #false mapki
  156. ;=================== info o rudach ==================
  157. menu shape msopis_rud 5 46 205 17 3 7 1 blue 2 blue
  158. menu text mtopis_rudy 6 47 Zaznacz rude do wyrzucenia:
  159. menu shape msrudy 5 63 205 85 3 7 1 black 2 black
  160. menu font size 9
  161. menu show
  162. menu hideEUO
  163. ;====================================================
  164. set #lpc 100
  165. set #menubutton n/a
  166. ;=================== petla ===========================
  167. repeat
  168. if #menubutton = CLOSED ;wcisnieto przycisk X
  169. {
  170. menu hide
  171. set #menubutton N/A
  172. halt
  173. }
  174. if #menubutton = mbMagazyn ;wcisnieto przycisk X
  175. {
  176. set #menubutton N/A
  177. gosub domagazynu
  178. }
  179. if #menubutton = mbstart
  180. {
  181. set %TuWcisnietoStart_X #charposx
  182. set %TuWcisnietoStart_Y #charposy
  183. set %JakisKontener #backpackid
  184. set #menubutton n/a
  185. menu delete mbstart
  186. menu delete mbinfo
  187. menu font bgcolor btnface
  188. menu get mcskil
  189. set %skill #menures - 1
  190. menu get mcmiasto
  191. if #menures = 1
  192. set %swich 2
  193. if #menures = 2
  194. set %swich 2
  195. if #menures = 3
  196. {
  197. set %swich 3
  198. set #LTARGETTILE 1339
  199. }
  200. if #menures = 4
  201. {
  202. set %swich 2
  203. set %SkrzyniaWDomku_TYP IIF ; jesli chcesz rude do magazyniera oddac uzun typ
  204. }
  205. menu getnum mekopanie
  206. set %kop #menures ;pobiera nr pozycji kopania z menu
  207. set *STOP 0
  208. menu get mcBron
  209. if #menures = 1
  210. set %Bron N/A
  211. if #menures = 2
  212. set %Bron VAP
  213. if #menures = 3
  214. set %Bron HFR
  215. if #menures = 4
  216. set %Bron YTH
  217. if #menures = 5
  218. set %Bron JOH
  219. gosub menucheck
  220. set %ToSamoMiejsce nie
  221. gosub Wskaz_juczniaka
  222. if #RESULT = ZmiennejNiema
  223. gosub Wskaz_juczniaka
  224. move %TuWcisnietoStart_X %TuWcisnietoStart_Y 0 20s
  225. menu get mcWydobywajRaz
  226. if #menures = #true
  227. {
  228. set %Wydobycie tak
  229. }
  230. else
  231. {
  232. set %Wydobycie nie
  233. }
  234. gosub WydobywajTylkoRaz %Wydobycie
  235. if #RESULT = BrakPiksela
  236. {
  237. if %USTAWIENIA = 1
  238. {
  239. set %WydobywajRaz 1
  240. }
  241. else
  242. {
  243. set %WydobywajRaz 0
  244. }
  245. click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij
  246. ;Display ok Nie widze okna ustawien. Moze cos je zaslania.
  247. ;halt
  248. }
  249. gosub Przygotowania
  250. gosub start
  251. }
  252. if #menubutton = mbpiec
  253. {
  254. set #menubutton n/a
  255. gosub przetapianie
  256. }
  257. if #menubutton = mbstop
  258. {
  259. menu button mbstart 10 205 60 24 Start
  260. set #menubutton n/a
  261. }
  262. if #menubutton = mbwszystko
  263. {
  264. gosub wszystko mczelazo mcsrebro mczloto mcblack mcagapit mcvaloryt mcveryt mcmyth mcblood mcazuryt mcgrafit mcmapki
  265. set #menubutton n/a
  266. }
  267. if #menubutton = mbnic
  268. {
  269. gosub nic mczelazo mcsrebro mczloto mcblack mcagapit mcvaloryt mcveryt mcmyth mcblood mcazuryt mcgrafit mcmapki
  270. set #menubutton n/a
  271. }
  272. until #false
  273. ;================= pola wyboru =======================
  274. sub menucheck
  275. set %WyzucajCos 0
  276. ;set #lpc 200
  277. menu get mczelazo
  278. if #menures = #true
  279. {
  280. set %mc1 zelazo
  281. set %JestCoWywalac 1
  282. }
  283. else
  284. {
  285. set %mc1
  286. }
  287.  
  288. menu get mcsrebro
  289. if #menures = #true
  290. {
  291. set %mc2 srebro
  292. set %JestCoWywalac 1
  293. }
  294. else
  295. {
  296. set %mc2
  297. }
  298.  
  299. menu get mczloto
  300. if #menures = #true
  301. {
  302. set %mc3 zloto
  303. set %JestCoWywalac 1
  304. }
  305. else
  306. {
  307. set %mc3
  308. }
  309.  
  310. menu get mcblack
  311. if #menures = #true
  312. {
  313. set %mc4 black
  314. set %JestCoWywalac 1
  315. }
  316. else
  317. {
  318. set %mc4
  319. }
  320.  
  321. menu get mcagapit
  322. if #menures = #true
  323. {
  324. set %mc5 agapit
  325. set %JestCoWywalac 1
  326. }
  327. else
  328. {
  329. set %mc5
  330. }
  331.  
  332. menu get mcvaloryt
  333. if #menures = #true
  334. {
  335. set %mc6 valoryt
  336. set %JestCoWywalac 1
  337. }
  338. else
  339. {
  340. set %mc6
  341. }
  342.  
  343. menu get mcveryt
  344. if #menures = #true
  345. {
  346. set %mc7 veryt
  347. set %JestCoWywalac 1
  348. }
  349. else
  350. {
  351. set %mc7
  352. }
  353.  
  354. menu get mcmyth
  355. if #menures = #true
  356. {
  357. set %mc8 myth
  358. set %JestCoWywalac 1
  359. }
  360. else
  361. {
  362. set %mc8
  363. }
  364.  
  365. menu get mcblood
  366. if #menures = #true
  367. {
  368. set %mc9 blood
  369. set %JestCoWywalac 1
  370. }
  371. else
  372. {
  373. set %mc9
  374. }
  375.  
  376. menu get mcazuryt
  377. if #menures = #true
  378. {
  379. set %mc10 azuryt
  380. set %JestCoWywalac 1
  381. }
  382. else
  383. {
  384. set %mc10
  385. }
  386.  
  387. menu get mcgrafit
  388. if #menures = #true
  389. {
  390. set %mc11 grafit
  391. set %JestCoWywalac 1
  392. }
  393. else
  394. {
  395. set %mc11
  396. }
  397.  
  398. menu get mcmapki
  399. if #menures = #true
  400. {
  401. set %mc12 mapki
  402. set %JestCoWywalac 1
  403. }
  404. else
  405. {
  406. set %mc12
  407. }
  408. set %pominlame 0
  409. return
  410. ;--------------------------------------------------------------
  411. sub Przygotowania
  412. menu getnum mekopanie
  413. set %kop #menures ;pobiera nr pozycji kopania z menu
  414. menu getnum mcskil
  415. set %skil #menures
  416. ;call %path
  417. if %kop = 1
  418. {
  419. finditem bo_wn_yab G_2 ;szuka jucznego konia, jucznej lamy i golema
  420. for %i 1 #findcnt
  421. {
  422. finditem bo_wn_yab G_2
  423. if #findid <> %Id_juczniaka1
  424. {
  425. ignoreitem #findid
  426. event macro 1 0 podejdzcie
  427. ;goto od_nastepnego_miejsca
  428. }
  429. else
  430. {
  431. break
  432. }
  433. }
  434. if %JestCoWywalac = 1
  435. {
  436. set #lobjectid %Id_juczniaka1
  437. set #NEXTCPOSX %Plecak_Juczniaka_X
  438. set #NEXTCPOSY %Plecak_Juczniaka_Y
  439. event macro 17
  440. }
  441. }
  442. if %JestGolem = 1
  443. event macro 1 0 Golem chron mnie.
  444. return
  445. ;-----------------------------------------------------------------------
  446. sub start
  447. repeat
  448. set %NoweMiejsce 0
  449. if nie in %ToSamoMiejsce
  450. {
  451. gosub miejsce
  452. }
  453. if %kilof = 0
  454. {
  455. wait 1s
  456. }
  457. gosub kilof
  458. if #RESULT = KilofaBrak
  459. {
  460. set #sysmsgcol 1080
  461. ;event sysmessage Nie ma kilofa szukam lopaty.
  462. gosub lopata
  463. if #RESULT = LopatyBrak
  464. {
  465. set #sysmsgcol 1080
  466. event sysmessage Nie ma lopaty ani kilofa.
  467. set #menubutton n/a
  468. menu font style b
  469. menu button mbstart 10 205 60 24 Start
  470. return
  471. }
  472. }
  473. set #ltargetkind %swich
  474. set #sysmsgcol 1264
  475. event sysmessage Zaczynam kopac w miejscu nr: %kop
  476. set %jindex #jindex
  477. set *JINDEX %jindex
  478. menu Set mekopanie %kop
  479. set %czascel #SCNT2 + 10
  480. event macro 22
  481. repeat
  482. if %czascel < #SCNT2 && #targcurs = 1
  483. {
  484. event macro 22
  485. set %czascel #SCNT2 + 10
  486. }
  487. scanjournal 1
  488. if Wlozyl in #journal || W_tym_miejscu in #journal || _zaszkodzilo in #journal
  489. break
  490. if #menubutton = mbstop || Musisz_miec_wolne_rece! in #journal
  491. {
  492. menu button mbstart 10 205 60 24 Start
  493. set #menubutton n/a
  494. return
  495. }
  496. until Zaczynasz in #sysmsg
  497. gosub PetlaKopania
  498. if #RESULT = KoniecKopania
  499. return
  500. until #false
  501. return
  502. ;======================== Petla kopania ===========================
  503. sub PetlaKopania
  504. set #lpc 100
  505. set %chpx #charposx
  506. set %chpy #charposy
  507. if %WydobywajRaz = 1 && %kilof = 1
  508. {
  509. gosub wyzuc_rude
  510. }
  511. set %czekamyNaRude #scnt + 20
  512. set %wlozyl 0
  513. repeat
  514. gosub buttonstop ;KoniecKopania
  515. if #RESULT = KoniecKopania
  516. return KoniecKopania
  517. set %time1 #SCNT + 10
  518. scanjournal 1
  519. if Nie_widzisz in #journal
  520. {
  521. if %kop >= 25
  522. {
  523. set %kop 1
  524. gosub koniec ;sprawdzic co to robi
  525. return KoniecKopania
  526. }
  527. set %kop %kop + 1
  528. return
  529. }
  530.  
  531. finditem ED_VE_AHB G_3 ;ED - zywiolak ziemi VE - szlam AHB - piaskowy wir???
  532. if #findtype = ED || #findtype = VE || #findtype = AHB ;#findkind <> -1
  533. gosub Zywiolak #findid
  534. if #RESULT = StraznikaBrak
  535. {
  536. set *WAIT 0
  537. repeat
  538. until *STOP = 0
  539. if %WydobywajRaz = 1
  540. {
  541. set %ToSamoMiejsce tak
  542. }
  543. return
  544. }
  545. if #RESULT = KilofaBrak
  546. {
  547. set *WAIT 0
  548. repeat
  549. until *STOP = 0
  550. return KoniecKopania
  551. }
  552. if *STOP = 1
  553. {
  554. if %WydobywajRaz = 0
  555. {
  556. click %Click_Przerwij_X %Click_Przerwij_Y
  557. }
  558. if %WydobywajRaz = 1
  559. {
  560. wait 5s
  561. set %ToSamoMiejsce tak
  562. }
  563. set *WAIT 0 ; skrypt glodu poczeka 6 sek.
  564. repeat
  565. until *STOP = 0
  566. return
  567. }
  568. if %czekamyNaRude < #scnt && %wlozyl = 0
  569. {
  570. ;cos sie zacielo wiec wyskok z petli
  571. event sysmessage Cos sie zacielo, olewam to i kopie dalej.
  572. return
  573. }
  574. set %ji #jindex - %jindex
  575. if %WydobywajRaz = 1 && %ji > 0
  576. {
  577. set *JI %ji
  578. for %i 1 %ji
  579. {
  580. set *i %i
  581. gosub buttonstop
  582. if #RESULT = KoniecKopania
  583. return KoniecKopania
  584. scanjournal %i
  585. if Wlozyl in #journal || Udalo in #journal
  586. {
  587. set %ToSamoMiejsce tak
  588. scanjournal 1
  589. if kilofem_w_reke in #journal
  590. wait 15s
  591. return
  592. }
  593. if W_tym_miejscu_nie_ma_juz_rudy. in #journal || Nie_widzisz_tego in #journal || Tu_nic_nie_wykopiesz in #journal || That_is_out in #journal || Nie_ma_juz_w_tym_miejscu in #journal
  594. {
  595. if *STOP = 1
  596. {
  597. set *WAIT 0
  598. repeat
  599. until *STOP = 0
  600. }
  601. set %kop %kop + 1
  602. set %licz %licz + 1
  603. if %licz > 1
  604. {
  605. set %licz 0
  606. gosub WyborSkila
  607. }
  608. if #RESULT = WrocDoPetlaPrzyciskow
  609. return KoniecKopania
  610. set %NoweMiejsce 1
  611. set %ToSamoMiejsce nie
  612. break
  613. }
  614. if Nie_masz_miejsca_w_plecaku in #journal
  615. {
  616. gosub koniec
  617. return KoniecKopania
  618. }
  619. }
  620. }
  621. if Wlozyl in #sysmsg && %WydobywajRaz = 0
  622. {
  623. set %wlozyl 1
  624. gosub wyzuc_rude
  625. }
  626. if %kop > 25
  627. {
  628. gosub koniec
  629. return KoniecKopania
  630. }
  631. if %chpx <> #charposx && %chpy <> #charposy
  632. gosub ucieczka
  633. if #RESULT = WrocDoStart
  634. return
  635. if #RESULT = WrocDoPetlaPrzyciskow
  636. return KoniecKopania
  637.  
  638. set %ji #jindex - %jindex
  639. if %WydobywajRaz = 0 && %ji > 0
  640. {
  641. for %i 1 %ji
  642. {
  643. ;set #lpc 200 ;0
  644. gosub buttonstop
  645. if #RESULT = KoniecKopania
  646. return KoniecKopania
  647. scanjournal %i
  648. if W_tym_miejscu in #journal || Nie_widzisz in #journal || Tu_nic_nie_wykopiesz in #journal || That_is_out in #journal || Nie_ma_juz_w_tym_miejscu in #journal || Nie_widzisz_tego in #journal
  649. {
  650. if *STOP = 1
  651. {
  652. set *WAIT 0
  653. repeat
  654. until *STOP = 0
  655. }
  656. set %kop %kop + 1
  657. set %licz %licz + 1
  658. if %licz > 1
  659. {
  660. set %licz 0
  661. gosub WyborSkila
  662. }
  663. if #RESULT = WrocDoPetlaPrzyciskow
  664. return KoniecKopania
  665. set %NoweMiejsce 1
  666. break
  667. }
  668. if Nie_masz_miejsca_w_plecaku in #journal
  669. {
  670. gosub koniec
  671. return KoniecKopania
  672. }
  673. }
  674. }
  675. if %NoweMiejsce = 1
  676. {
  677. ;event sysmessage nowe miejsce
  678. break
  679. }
  680. until #false
  681. return
  682. ;-----------------------------------------------------
  683. sub miejsce
  684. ;set #lpc 200
  685. if %kop = 1
  686. {
  687. set #ltargetx #charposx
  688. set #ltargety #charposy
  689. }
  690. if %kop = 2
  691. {
  692. set #ltargetx #charposx
  693. set #ltargety #charposy + 1
  694. }
  695. if %kop = 3
  696. {
  697. set #ltargetx #charposx - 1
  698. set #ltargety #charposy
  699. }
  700. if %kop = 4
  701. {
  702. set #ltargetx #charposx
  703. set #ltargety #charposy - 1
  704. }
  705. if %kop = 5
  706. {
  707. set #ltargetx #charposx + 1
  708. set #ltargety #charposy
  709. }
  710. if %kop = 6
  711. {
  712. set #ltargetx #charposx + 1
  713. set #ltargety #charposy + 1
  714. }
  715. if %kop = 7
  716. {
  717. set #ltargetx #charposx
  718. set #ltargety #charposy + 2
  719. }
  720. if %kop = 8
  721. {
  722. set #ltargetx #charposx - 1
  723. set #ltargety #charposy + 1
  724. }
  725. if %kop = 9
  726. {
  727. set #ltargetx #charposx - 2
  728. set #ltargety #charposy
  729. }
  730. if %kop = 10
  731. {
  732. set #ltargetx #charposx - 1
  733. set #ltargety #charposy - 1
  734. }
  735. if %kop = 11
  736. {
  737. set #ltargetx #charposx
  738. set #ltargety #charposy - 2
  739. }
  740. if %kop = 12
  741. {
  742. set #ltargetx #charposx + 1
  743. set #ltargety #charposy - 1
  744. }
  745. if %kop = 13
  746. {
  747. set #ltargetx #charposx + 2
  748. set #ltargety #charposy
  749. }
  750. if %kop = 14
  751. {
  752. set #ltargetx #charposx + 2
  753. set #ltargety #charposy + 1
  754. }
  755. if %kop = 15
  756. {
  757. set #ltargetx #charposx + 2
  758. set #ltargety #charposy + 2
  759. }
  760. if %kop = 16
  761. {
  762. set #ltargetx #charposx + 1
  763. set #ltargety #charposy + 2
  764. }
  765. if %kop = 17
  766. {
  767. set #ltargetx #charposx - 1
  768. set #ltargety #charposy + 2
  769. }
  770. if %kop = 18
  771. {
  772. set #ltargetx #charposx - 2
  773. set #ltargety #charposy + 2
  774. }
  775. if %kop = 19
  776. {
  777. set #ltargetx #charposx - 2
  778. set #ltargety #charposy + 1
  779. }
  780. if %kop = 20
  781. {
  782. set #ltargetx #charposx - 2
  783. set #ltargety #charposy - 1
  784. }
  785. if %kop = 21
  786. {
  787. set #ltargetx #charposx - 2
  788. set #ltargety #charposy - 2
  789. }
  790. if %kop = 22
  791. {
  792. set #ltargetx #charposx - 1
  793. set #ltargety #charposy - 2
  794. }
  795. if %kop = 23
  796. {
  797. set #ltargetx #charposx + 1
  798. set #ltargety #charposy - 2
  799. }
  800. if %kop = 24
  801. {
  802. set #ltargetx #charposx + 2
  803. set #ltargety #charposy - 2
  804. }
  805. if %kop = 25
  806. {
  807. set #ltargetx #charposx + 2
  808. set #ltargety #charposy - 1
  809. }
  810. return
  811. ;------------------------------------------------------
  812. sub wyzuc_rude
  813. if #contid <> %Id_juczniaka1
  814. {
  815. set #LOBJECTID %Id_juczniaka1
  816. set %TimeJuki #scnt2 + 20
  817. event macro 17
  818. repeat
  819. if %TimeJuki < #scnt2
  820. {
  821. set %TimeJuki #scnt2 + 20
  822. event macro 17
  823. }
  824. finditem wn_bo_yab G_2
  825. if #findkind = -1
  826. {
  827. event macro 1 0 podejdzcie
  828. return
  829. }
  830. until #contid = %PlecakJuczniaka
  831. wait 3
  832. contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y
  833. }
  834.  
  835. ignoreitem reset
  836. finditem dwj_enk C_ , %PlecakJuczniaka
  837. for #FINDINDEX 1 #FiNDCNT
  838. {
  839. event Property #findid
  840. if %mc1 in #Property || %mc2 in #Property || %mc3 in #Property || %mc4 in #Property || %mc5 in #Property || %mc6 in #Property || %mc7 in #Property || %mc8 in #Property || %mc9 in #Property || %mc10 in #Property || %mc11 in #Property
  841. {
  842. if #findstack = 0
  843. exevent dtag #findid 1
  844. else
  845. exevent drag #findid #findstack
  846. wait %OpoznienieWyrzucaniaRudy
  847. exevent dropg #charposx #charposy #charposz
  848. wait %OpoznienieWyrzucaniaRudy
  849. }
  850. }
  851. finditem bo_wn_yab G_2 ;szuka jucznego konia, jucznej lamy i golema
  852. for #FINDINDEX 1 #FiNDCNT
  853. {
  854. if #findid <> %Id_juczniaka1
  855. {
  856. ignoreitem #findid
  857. event macro 1 0 podejdzcie
  858. wait 8
  859. }
  860. else
  861. {
  862. break
  863. }
  864. }
  865. if %mc12 = mapki
  866. {
  867. finditem RVH C_ , %PlecakJuczniaka
  868. for #FINDINDEX 1 #FiNDCNT
  869. {
  870. exevent drag #findid 1
  871. wait %OpoznienieWyrzucaniaRudy
  872. exevent dropg #charposx #charposy #charposz
  873. wait %OpoznienieWyrzucaniaRudy
  874. }
  875. }
  876. ignoreitem reset
  877. return
  878. ;---------------------------------------------
  879. sub zapis
  880. scanjournal 1
  881. if #sysmsg = Zapisywanie_Stanu_Swiata. || #journal = Zapisywanie_Stanu_Swiata.
  882. {
  883. set %time #SCNT + 14
  884. repeat
  885. scanjournal 1
  886. until Koniec_Zapisywania in #journal
  887. }
  888. return
  889. ;---------------------------------------------
  890. sub WyborSkila
  891. if %skill = 1
  892. event macro 13 21
  893. if %skill = 2
  894. event macro 13 14
  895. return ;WrocDoStart
  896. ;---------------------------------------------
  897. sub Wskaz_juczniaka
  898. if %Id_juczniaka1 = 0
  899. {
  900. gosub WybierzPojemnik
  901. repeat
  902. scanjournal 1
  903. if Wybierz_pojemnik in #journal || Stoisz_za_daleko in #journal
  904. gosub WybierzPojemnik
  905. until #TargCurs = 0 && Ustawiono_pojemnik in #journal
  906. set %Id_juczniaka1 #ltargetid
  907. set *GOLEM %Id_juczniaka1
  908. set #NEXTCPOSX %Plecak_Juczniaka_X
  909. set #NEXTCPOSY %Plecak_Juczniaka_Y
  910. set %Plecak_Jucz_X #NEXTCPOSX + 70
  911. set %Plecak_Jucz_Y #NEXTCPOSY + 70
  912. set #lobjectid %Id_juczniaka1
  913. set %TimeOJ #scnt2 + 20
  914. set %TimeOJB #scnt2 + 40
  915. event macro 17
  916. repeat
  917. if %TimeOJ < #scnt2
  918. {
  919. set #lobjectid %Id_juczniaka1
  920. event macro 17
  921. set %TimeOJ #scnt2 + 20
  922. }
  923. if %TimeOJ < #scnt2
  924. {
  925. break
  926. }
  927. until %Plecak_Juczniaka_X = #contposx && %Plecak_Juczniaka_Y = #contposy
  928. set %PlecakJuczniaka #contid
  929. }
  930. if #LOBJECTTYPE = YAB
  931. set %JestGolem 1
  932. return
  933. ;---------------------------------------------
  934. sub przetapianie
  935. if %Id_juczniaka1 = 0
  936. gosub Wskaz_juczniaka
  937. if #RESULT = ZmiennejNiema
  938. gosub Wskaz_juczniaka
  939. finditem bo_wn_yab G_1 ;szuka jucznego konia, jucznej lamy i golema
  940. for #findindex 1 #findcnt
  941. {
  942. if #findid <> %Id_juczniaka1
  943. {
  944. ignoreitem #findid
  945. event macro 1 0 podejdzcie
  946. wait 1s
  947. }
  948. else ;jesli znalazl swojego juczniaka wyskocz
  949. {
  950. break
  951. }
  952. }
  953. ignoreitem reset
  954. set %czasPJ #scnt2 + 40 ;czas plecaka juczniaka
  955. set #LOBJECTID %Id_juczniaka1
  956. event macro 17
  957. repeat
  958. if %czasPJ < #scnt
  959. {
  960. set #LOBJECTID %Id_juczniaka1
  961. event macro 17
  962. }
  963. until #contid = %PlecakJuczniaka
  964. wait 3
  965. contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y
  966. wait 5
  967. ignoreitem reset
  968. innaruda:
  969. finditem * C_ , %PlecakJuczniaka
  970. for #findindex 1 #findcnt
  971. {
  972. if #CONTID <> %PlecakJuczniaka ;jesli plecak juczniaka nie jest otwarty
  973. {
  974. set #LOBJECTID %Id_juczniaka1
  975. set %Time_juki #scnt2 + 40
  976. event macro 17
  977. repeat
  978. if %Time_juki < #scnt
  979. {
  980. event macro 1 0 podejdzcie
  981. wait 1s
  982. set #LOBJECTID %Id_juczniaka1
  983. event macro 17
  984. }
  985. until #CONTID = %PlecakJuczniaka
  986. wait 3
  987. contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y
  988. }
  989. if #FINDCOL = 1209 ;royal
  990. {
  991. ignoreitem #findid
  992. continue
  993. }
  994. if #findtype = dwj
  995. {
  996. set %time_przetop #scnt2 + 20
  997. set #LOBJECTID #FINDID
  998. event macro 17
  999. repeat
  1000. if %time_przetop < #scnt
  1001. continue
  1002. until Rozpocz in #sysmsg ; #journal
  1003. set %jindex #jindex
  1004. repeat
  1005. gosub SprawdzGumpa
  1006. until %WyjdzZPetli = 1 ;Przetopil in #sysmsg || Zniszczyl in #sysmsg
  1007. set %WyjdzZPetli 0
  1008. }
  1009. }
  1010. event sysmessaga RUDA PRZETOPIONA
  1011. return
  1012. ;------------------------------------------------
  1013. sub kilof
  1014. ignoreitem reset
  1015. finditem npf C_ , #charid
  1016. if #findkind = -1
  1017. {
  1018. set %kilof 0
  1019. return KilofaBrak
  1020. }
  1021. set %kilof 1
  1022. for #findindex 1 #findcnt
  1023. {
  1024. set #lobjectid #findid
  1025. event macro 17
  1026. if #targcurs = 1
  1027. {
  1028. return
  1029. }
  1030. set %TimeCelownik #scnt2 + 10
  1031. repeat
  1032. if %TimeCelownik < #scnt2
  1033. {
  1034. set %TimeCelownik #scnt2 + 10
  1035. set #lobjectid #findid
  1036. event macro 17 0
  1037. }
  1038. until #targcurs = 1
  1039. return
  1040. }
  1041. return
  1042. ;------------------------------------------------
  1043. sub lopata
  1044. ignoreitem reset
  1045. finditem TWF C_ , #backpackid
  1046. if #findkind = -1
  1047. {
  1048. return LopatyBrak
  1049. }
  1050. for #findindex 1 #findcnt
  1051. {
  1052. set #lobjectid #findid
  1053. event macro 17 0
  1054. if #targcurs = 1
  1055. {
  1056. return
  1057. }
  1058. set %TimeCelownik #scnt2 + 20
  1059. repeat
  1060. if %TimeCelownik < #scnt2
  1061. {
  1062. set %TimeCelownik #scnt2 + 20
  1063. set #lobjectid #findid
  1064. event macro 17 0
  1065. }
  1066. until #targcurs = 0
  1067. return
  1068. }
  1069. return
  1070. ;------------------------------------------------
  1071. sub WybierzPojemnik
  1072. event sysmessage Poczekaj na celownik i wyceluj w juczniaka.
  1073. set %TimePojemnik #scnt2 + 20
  1074. event macro 1 0 .pojemnik
  1075. repeat
  1076. if %TimePojemnik < #scnt2
  1077. {
  1078. set %TimePojemnik #scnt2 + 20
  1079. event macro 1 0 .pojemnik
  1080. }
  1081. until #ContSize = 250_180 && generic_gump in #CONTNAME
  1082.  
  1083. set %Pojemnik_X #CONTPOSX + 28
  1084. set %Pojemnik_Y #CONTPOSY + 150
  1085. click %Pojemnik_X %Pojemnik_Y mc
  1086. return
  1087. ;------------------------------------------------
  1088. sub buttonstop
  1089. if #menubutton = mbstop
  1090. {
  1091. set #menubutton n/a
  1092. menu font color black
  1093. menu font style b
  1094. menu button mbstart 10 205 60 24 Start
  1095. menu font color black
  1096. click %Click_Przerwij_X %Click_Przerwij_Y
  1097. gosub wyzuc_rude
  1098. click %ZamknijPJ_X %ZamknijPJ_Y r f
  1099. set #menubutton n/a
  1100. return KoniecKopania
  1101. }
  1102. return
  1103. ;-----------------------------------------------
  1104. sub ucieczka
  1105. set #menubutton n/a
  1106. gosub RysujPrzyciskStart
  1107. event sysmessage Oddaliles sie od miejs w ktorym kopales.
  1108. event sysmessage Wroc na miejsce i wcisnij Start.
  1109. repeat
  1110. if #menubutton = mbstop
  1111. return WrocDoPetlaPrzyciskow
  1112. until #menubutton = mbstart
  1113. set #menubutton n/a
  1114. menu delete mbstart
  1115. return WrocDoStart
  1116. ;-----------------------------------------------
  1117. sub koniec
  1118. gosub wyzuc_rude
  1119. set #sysmsgcol 1080
  1120. event sysmessage Skonczono kopac
  1121. sound %SciezkaDoDzwieku
  1122. set #menubutton n/a
  1123. menu font style b
  1124. menu button mbstart 10 205 60 24 Start
  1125. set %nrmok 1
  1126. menu set mekopanie %nrmok
  1127. click %ZamknijPJ_X %ZamknijPJ_Y r f
  1128. return
  1129. ;-----------------------------------------------
  1130. sub wszystko
  1131. for %i 1 %0
  1132. {
  1133. menu Set % . %i #true
  1134. }
  1135. return
  1136. ;-----------------------------------------------
  1137. sub nic
  1138. for %i 1 %0
  1139. {
  1140. menu Set % . %i #false
  1141. }
  1142. return
  1143. ;-----------------------------------------------
  1144. sub zerowanie
  1145. for %i 1 %0
  1146. {
  1147. menu Set % . %i
  1148. }
  1149. for %i 1 20
  1150. {
  1151. set %s . %i
  1152. }
  1153. return
  1154. ;----------------------------------------------------------
  1155. sub domagazynu ;otwiera magazyn
  1156. set %TuWcisnietoStart_X #charposx
  1157. set %TuWcisnietoStart_Y #charposy
  1158. if %Id_juczniaka1 = 0
  1159. gosub Wskaz_juczniaka
  1160. if #RESULT = ZmiennejNiema
  1161. gosub Wskaz_juczniaka
  1162. move %TuWcisnietoStart_X %TuWcisnietoStart_Y 0 20s
  1163. if %SkrzyniaWDomku_TYP <> N/A
  1164. set %SkrzyniaDom 1
  1165. if %SkrzyniaDom <> 1
  1166. {
  1167. repeat
  1168. finditem * G_5 ;szuka wszystkiego
  1169. event Property #findid
  1170. ignoreitem #findid
  1171. until Magazynier in #property
  1172. ignoreitem reset
  1173. move #findx #findy 1 30s
  1174. event macro 1 0 Podejdzcie.
  1175. wait 5
  1176. szmag:
  1177. set #NEXTCPOSX %Skrzynia_Magazyn_X
  1178. set #NEXTCPOSY %Skrzynia_Magazyn_Y
  1179. event macro 1 0 Magazynier otworz moja skrzynie
  1180. }
  1181. SkrzyniaDom:
  1182. if %SkrzyniaWDomku_TYP <> N/A
  1183. {
  1184. event sysmessage Szukam skrzyni.
  1185. finditem %SkrzyniaWDomku_TYP G_2
  1186. for #findindex 1 #findcnt
  1187. {
  1188. if %SkrzyniaWDomku_TYP = #findtype
  1189. {
  1190. event pathfind #findx #findy #findz
  1191. wait 3s
  1192. }
  1193. }
  1194. set #lobjectid #findid
  1195. event macro 17
  1196. }
  1197. repeat
  1198. wait 5
  1199. until #CONTSIZE = 180_240
  1200. wait 3
  1201. set %SkrzyniaMagazyn #CONTID
  1202. contpos %Skrzynia_Magazyn_X %Skrzynia_Magazyn_Y
  1203. wait 3
  1204. set %Magazyn_contx #CONTPOSX + 100
  1205. set %Magazyn_conty #CONTPOSY + 100
  1206. if #contid <> %PlecakJuczniaka
  1207. {
  1208. set #LOBJECTID %Id_juczniaka1
  1209. event macro 17
  1210. set %czas #SCNT2 + 30
  1211. repeat
  1212. if %czas < #SCNT
  1213. {
  1214. set #LOBJECTID %Id_juczniaka1
  1215. event macro 17
  1216. }
  1217. until #contid = %PlecakJuczniaka
  1218. wait 3
  1219. contpos %Click_PrzeniesPJ_X %Click_PrzeniesPJ_Y
  1220. wait 3
  1221. set %Jucznia_Nr1_contx #CONTPOSX + 100
  1222. set %Jucznia_Nr1_conty #CONTPOSY + 100
  1223. }
  1224. ;przezucanie rudy royal
  1225. finditem dwj C_ , %PlecakJuczniaka
  1226. for #findindex 1 #findcnt
  1227. {
  1228. if #findtype = dwj
  1229. {
  1230. exevent drag #findid #findstack
  1231. wait %OpoznienieWyrzucaniaRudy
  1232. exevent dropc %SkrzyniaMagazyn
  1233. wait %OpoznienieWyrzucaniaRudy
  1234. ignoreitem #findid
  1235. }
  1236. }
  1237. ignoreitem reset
  1238. ignoreitem #backpackid
  1239. set %czas #scnt + 5
  1240. set %RudyNima 0
  1241. finditem enk C_ , %PlecakJuczniaka
  1242. repeat
  1243. event sysmessage Ilosc sztab w juczniaku: #findstack
  1244. if %stack_naraz = 1
  1245. {
  1246. gosub zapis_stanu_swiata
  1247. exevent drag #findid #findstack
  1248. wait %OpoznienieWyrzucaniaRudy
  1249. exevent dropc %SkrzyniaMagazyn
  1250. wait %OpoznienieWyrzucaniaRudy
  1251. continue
  1252. }
  1253. exevent drag #findid %sztab_na_raz ;#findstack
  1254. wait %OpoznienieWyrzucaniaRudy
  1255. exevent dropc %SkrzyniaMagazyn
  1256. wait %OpoznienieWyrzucaniaRudy
  1257. finditem enk C_ , %PlecakJuczniaka
  1258. if #findkind = -1
  1259. set %RudyNima 1
  1260. until %RudyNima = 1
  1261. ignoreitem reset
  1262. finditem SZF_VZF_RVF_RVH C_ , %PlecakJuczniaka
  1263. for #findindex 1 #findcnt
  1264. {
  1265. exevent drag #findid #findstack
  1266. wait %OpoznienieWyrzucaniaRudy
  1267. exevent dropc #backpackid
  1268. wait %OpoznienieWyrzucaniaRudy
  1269. }
  1270. click %Click_ZamknijPJ_X %Click_ZamknijPJ_Y mc r
  1271. wait 8
  1272. if %SkrzyniaWDomku_ID = N/A || N/A in %SkrzyniaWDomku_ID
  1273. gosub Sztaby_do_kwitow
  1274. gosub buttonstop
  1275. return
  1276. ;--------------------------------------------------------
  1277. sub Sztaby_do_kwitow
  1278. ;--- tworzenie wiazki 2000 sztab
  1279. finditem enk_dwj C_ , %SkrzyniaMagazyn
  1280. set %StartX_kupki 0
  1281. set %StartY_kupki 150
  1282. set %X_kupki %StartX_kupki + 10
  1283. set %Y_kupki 150
  1284. for #findindex 1 #findcnt
  1285. {
  1286. if #findstack > 2000
  1287. {
  1288. set %Wielokrotnosc2k ( #findstack / 2000 )
  1289. event sysmessage Kupek po 2k: %Wielokrotnosc2k
  1290. set %ID_starej_kupki #findid
  1291. for %c 1 %Wielokrotnosc2k
  1292. {
  1293. set %X_kupki %X_kupki + 20
  1294. exevent drag #findid 2000
  1295. wait 5
  1296. if dwj in #findtype
  1297. exevent dropc %SkrzyniaMagazyn 200 150
  1298. else
  1299. exevent dropc %SkrzyniaMagazyn %X_kupki %Y_kupki
  1300. wait 5
  1301. finditem enk_dwj C_ , %SkrzyniaMagazyn
  1302. }
  1303. }
  1304. }
  1305. ;---- wypisywanie kwitu
  1306. wait 5
  1307. ignoreitem reset
  1308. finditem ENK_DWJ C_ , %SkrzyniaMagazyn
  1309. for #findindex 1 #findcnt
  1310. {
  1311. if #findstack = 2000
  1312. {
  1313. event macro 1 0 wypisz kwit
  1314. repeat
  1315. until #targcurs = 1
  1316. wait 3
  1317. set %x #findx + 15
  1318. set %y #findy + 15
  1319. click %x %y mc
  1320. wait 15
  1321. event macro 1 0 tak
  1322. wait 1s
  1323. ignoreitem #findid
  1324. continue
  1325. }
  1326. }
  1327. ;---- przenoszenie kwitu
  1328. finditem TVH C_ , #backpackid
  1329. for #findindex 1 #findcnt
  1330. {
  1331. exevent drag #findid 1
  1332. wait 3
  1333. if %KwityDoPlecakaMagazyn = 1
  1334. {
  1335. set #lobjectid %ID_Plecaka_Na_Kwity
  1336. event macro 17
  1337. wait 5
  1338. exevent dropc %ID_Plecaka_Na_Kwity
  1339. wait 3
  1340. continue
  1341. }
  1342. else
  1343. exevent dropc %SkrzyniaMagazyn 10 200
  1344. }
  1345. finditem TVH C_ , %ID_Plecaka_Na_Kwity
  1346. event sysmessage Kwitow: #findcnt
  1347. return
  1348. ;---------------------------------------------
  1349. sub SprawdzGumpa
  1350. set #lpc 2000
  1351. scanjournal 1 ;%i
  1352. set %dziennik #journal
  1353. ;event sysmessage dziennik %dziennik
  1354. str Pos %dziennik )
  1355. set %Pozycja_nawiasu #StrRes
  1356. set %end %Pozycja_nawiasu - 2
  1357. str Mid %dziennik 2 %end
  1358. set %Tyle_z_Tylu #StrRes
  1359. str Pos %Tyle_z_Tylu z
  1360. set %z_end #StrRes - 2
  1361. str Mid %Tyle_z_Tylu 1 %z_end
  1362. set %Pierwsza_wartosc #StrRes
  1363. ;event sysmessage Pierwsza_wartosc %Pierwsza_wartosc
  1364. str Pos %Tyle_z_Tylu _
  1365. set %__start #StrRes + 3
  1366. str Len %Tyle_z_Tylu
  1367. set %Dlugosc #StrRes
  1368. str Mid %Tyle_z_Tylu %__start %Dlugosc
  1369. set %Druga_wartosc #StrRes
  1370. if %Pierwsza_wartosc = %Druga_wartosc
  1371. {
  1372. scanjournal 1
  1373. if #JCOLOR = 40
  1374. {
  1375. click %Click_Przerwij_X %Click_Przerwij_Y
  1376. wait 6s
  1377. }
  1378. set %WyjdzZPetli 1
  1379. }
  1380. else
  1381. {
  1382. set #lpc 100
  1383. return
  1384. }
  1385. }
  1386. set #lpc 100
  1387. return
  1388. ;---------------------------------------------
  1389. sub RysujPrzyciskStart
  1390. menu font size 9
  1391. menu font color black
  1392. menu font style b
  1393. menu button mbstart 10 205 60 24 Start
  1394. return
  1395. ;---------------------------------------------
  1396. sub Zywiolak
  1397. set %ID_Zywolu %1
  1398. set %M_Kopania_X #charposx
  1399. set %M_Kopania_Y #charposy
  1400. set %ZdejmijBron 0
  1401. if *STOP = 1
  1402. set *WAIT 1
  1403. wait 1s
  1404. if %Bron = N/A || N/A in %Bron ;nie ma broni wiec wola straz
  1405. {
  1406. finditem %ID_Straznikow G_5 ;szuka straznikow
  1407. if #findkind <> -1
  1408. {
  1409. event macro 1 0 STRAZ STRAZ pomocy!!!
  1410. set %czekamyNaRude #scnt + 20
  1411. set %wlozyl 0
  1412. return
  1413. }
  1414. click %Click_Przerwij_X %Click_Przerwij_Y
  1415. set %SzukajDrugiRaz 0
  1416. SzukajDrugiRaz:
  1417. set %Straznik_Cnt 0
  1418. ignoreitem #findid
  1419. set %i 1
  1420. finditem %ID_Straznikow G ;_15 ;szuka straznikow
  1421. for #findindex 1 #findcnt
  1422. {
  1423. if #findid = MMB || #findid = GQG || #findid = HHH || #findid = SMGEG || #findid = ANGEG || #findid = BKERD || #findid = WJERD || #findid = XJERD || #findid = ZDDK ;Straznik in #property || Obronca in #property
  1424. {
  1425. set %Straznik_ID_ . %i #findid
  1426. set %Straznik_X_ . %i #findx
  1427. set %Straznik_Y_ . %i #findy
  1428. set %Straznik_Dist_ . %i #finddist
  1429. set %Straznik_Cnt %i
  1430. ignoreitem #findid
  1431. set %i %i + 1
  1432. }
  1433. }
  1434. ignoreitem reset
  1435. if %Straznik_Cnt > 0
  1436. {
  1437. if N/A in %Straznik_Dist_2
  1438. {
  1439. set %Straznik_Dist_2 100
  1440. }
  1441. set %TimeStraznik #scnt + 10
  1442. if %Straznik_Dist_1 > %Straznik_Dist_2 ;jesi straznik 1 jest dalej od 2 biegnij do 2
  1443. {
  1444. event Pathfind %Straznik_X_2 %Straznik_Y_2 #charposz
  1445. repeat
  1446. if *STOP = 1
  1447. set *WAIT 1
  1448. if %TimeStraznik < #scnt
  1449. break
  1450. wait 1s
  1451. event Pathfind %Straznik_X_2 %Straznik_Y_2 #charposz
  1452. finditem %Straznik_ID_2 G_4
  1453. until %Straznik_ID_2 = #findid
  1454. }
  1455. if %Straznik_Dist_1 < %Straznik_Dist_2 ;jesli straznik 2 jest dalej niz 1 to biegnij do 1
  1456. {
  1457. event Pathfind %Straznik_X_1 %Straznik_Y_1 #charposz
  1458. repeat
  1459. if *STOP = 1
  1460. set *WAIT 1
  1461. if %TimeStraznik < #scnt
  1462. break
  1463. wait 1s
  1464. event Pathfind %Straznik_X_1 %Straznik_Y_1 #charposz
  1465. finditem %Straznik_ID_1 G_4
  1466. ;wait 2
  1467. until %Straznik_ID_1 = #findid
  1468. }
  1469. }
  1470. else
  1471. {
  1472. event macro 1 0 STRAZ STRAZ pomocy!!
  1473. set %czekamyNaRude #scnt + 20
  1474. set %wlozyl 0
  1475. return StraznikaBrak
  1476. }
  1477. ;set #lpc 200
  1478. event macro 1 0 STRAZ STRAZ pomocy!!
  1479. wait 1s
  1480. event Pathfind %M_Kopania_X %M_Kopania_Y #charposz ;wraca na miejsce kopania
  1481. repeat
  1482. if *STOP = 1
  1483. set *WAIT 1
  1484. wait 2s
  1485. event Pathfind %M_Kopania_X %M_Kopania_Y #findz
  1486. until %M_Kopania_X = #charposx && %M_Kopania_Y = #charposy
  1487. event macro 1 0 za mna
  1488. wait 5
  1489. event macro 1 0 podejdzcie
  1490. wait 2s
  1491. set %czekamyNaRude #scnt + 20
  1492. set %wlozyl 0
  1493. return StraznikaBrak
  1494. }
  1495. else ;postac ma bron w plecaku i potrafi sie nia bronic
  1496. {
  1497. click %Click_Przerwij_X %Click_Przerwij_Y
  1498. set %WrocNaMiejsceKopania 0
  1499. event Pathfind #findx #findy #charposz
  1500. wait 1s
  1501. if *STOP = 1
  1502. set *WAIT 1
  1503. finditem %Bron C_ , #backpackid ;szuka widel
  1504. set #lobjectid #findid
  1505. set %BronID #findid
  1506. event macro 17
  1507. event macro 1 0 Straznik zostaw sam to zabije.
  1508. set %TimeZalozBron #scnt2 + 20
  1509. repeat
  1510. if *STOP = 1
  1511. set *WAIT 1
  1512. if %TimeZalozKilof < #scnt2
  1513. {
  1514. set #lobjectid %BronID
  1515. event macro 17 0
  1516. set %TimeZalozBron #scnt2 + 20
  1517. }
  1518. finditem %Bron C_ , #charid
  1519. until %BronID = #findid
  1520. repeat
  1521. if *STOP = 1
  1522. set *WAIT 1
  1523. if #HITS < #MAXHITS
  1524. gosub Leczenie
  1525. finditem ED_VE G ;ED - zywiolak ziemi VE - szlam
  1526. if #finddist > 1 && %BiegnijZaZywiolem = 1
  1527. event Pathfind #findx #findy #findz
  1528. if %ID_Zywolu <> #findid
  1529. break
  1530. until #false
  1531. event macro 1 0 podejdzcie
  1532. move %M_Kopania_X %M_Kopania_Y 0 20s
  1533. event sysmessage Odpoczywam po walce
  1534. wait 6s
  1535. }
  1536. finditem TWF_NPF C_ , #backpackid
  1537. for #findindex 1 #findcnt
  1538. {
  1539. if #findtype = TWF
  1540. {
  1541. set %ZdejmijBron 1
  1542. break
  1543. }
  1544. if #findtype = NPF
  1545. {
  1546. set %ZdejmijBron 1
  1547. break
  1548. }
  1549. }
  1550. if *STOP = 1
  1551. set *WAIT 1
  1552. if %ZdejmijBron = 0
  1553. {
  1554. set #sysmsgcol 1080
  1555. event sysmessage Nie znalazlem lopaty ani kolofa.
  1556. event sysmessage Koniec kopania.
  1557. set %czekamyNaRude #scnt + 20
  1558. set %wlozyl 0
  1559. return KilofaBrak
  1560. }
  1561. if %ZdejmijBron = 1
  1562. {
  1563. finditem %Bron C_ , #charid
  1564. exevent drag #findid 1
  1565. wait 5
  1566. exevent dropc #backpackid
  1567. wait 5
  1568. event macro 1 0 podejdzcie
  1569. if *STOP = 1
  1570. set *WAIT 1
  1571. finditem NPF C_ , #backpackid
  1572. set #lobjectid #findid
  1573. event macro 17 0
  1574. set %TimeZalozKilof #scnt2 + 20
  1575. set %KilofID #findid
  1576. repeat
  1577. if %TimeZalozKilof < #scnt2
  1578. {
  1579. set #lobjectid %KilofID
  1580. event macro 17 0
  1581. set %TimeZalozKilof #scnt2 + 20
  1582. }
  1583. finditem NPF C_ , #charid
  1584. until %KilofID = #findid
  1585. wait 1s
  1586. set %czekamyNaRude #scnt + 20
  1587. set %wlozyl 0
  1588. return StraznikaBrak
  1589. }
  1590. set %czekamyNaRude #scnt + 20
  1591. set %wlozyl 0
  1592. return
  1593. ;--------------------------------------------
  1594. sub Leczenie
  1595. if #hits = #maxhits
  1596. return
  1597. if %vampir = 1
  1598. finditem AMF C_ , #backpackid ; zakrwawione bandaze
  1599. else
  1600. finditem zlf C_ , #backpackid ; czyste bandaze
  1601. for #findindex 1 #findcnt
  1602. {
  1603. if #findtype = AMF || #findtype = zlf
  1604. {
  1605. if #findstack < 10
  1606. event sysmessage Koncza Ci sie bandaze. Zostalo #findstack bandazy!!!
  1607. set #lobjectid #findid
  1608. event macro 17
  1609. set %cel_time #scnt2 + 20
  1610. repeat
  1611. if %cel_time < #scnt2
  1612. {
  1613. set #lobjectid #findid
  1614. event macro 17
  1615. set %cel_time #scnt2 + 20
  1616. }
  1617. until #targcurs = 1
  1618. set %cel_time #scnt2 + 20
  1619. event macro 23
  1620. repeat
  1621. if %cel_time < #scnt2
  1622. {
  1623. set %cel_time #scnt2 + 20
  1624. event macro 23
  1625. }
  1626. if Ta_osoba_jest_w_pelni in #sysmsg
  1627. return
  1628. until Zaczynasz in #sysmsg
  1629. set %licznik 0
  1630. set %czas #scnt2 + 9
  1631. set %jindex #jindex
  1632. ;set #lpc 200
  1633. set %czas_hp #scnt + 1
  1634. repeat
  1635. set #sysmsgcol 1088
  1636. if %czas < #scnt2
  1637. {
  1638. set %licznik %licznik + 1
  1639. if %licznik > 14 || #hits = #maxhits
  1640. {
  1641. return
  1642. }
  1643. set %czas #scnt2 + 9
  1644. }
  1645. set %ji #jindex - %jindex
  1646. for %i 1 %ji
  1647. {
  1648. scanjournal %i
  1649. if Wyleczyl in #journal || palec in #journal || Nie_udalo in #journal || przestal in #journal || Anulowano. in #journal || Ta_osoba in #journal
  1650. {
  1651. return
  1652. }
  1653. }
  1654. if #hits < 20 && #charghost = no && %czas_hp < #scnt
  1655. {
  1656. set #sysmsgcol 1080
  1657. event sysmessage MASZ #hits HP!!!
  1658. set %czas_hp #scnt + 1
  1659. }
  1660. until Wyleczyl in #sysmsg || palec in #sysmsg || Nie_udalo in #sysmsg || przestal in #sysmsg || Anulowano. in #sysmsg || Ta_osoba in #journal
  1661. return
  1662. }
  1663. }
  1664. set #sysmsgcol 1080
  1665. event sysmessage NIE MASZ BANDAZY !!!
  1666. return
  1667. ;-----------------------------------------------------------------------
  1668. sub WydobywajTylkoRaz ;( nie - 50 powtorzen lub tak - po 1 sztuce )
  1669. event macro 1 0 .ustawienia
  1670. set %TimeUstaw #scnt2 + 20
  1671. repeat
  1672. if %TimeUstaw < #scnt2
  1673. {
  1674. event macro 1 0 .ustawienia
  1675. set %TimeUstaw #scnt2 + 20
  1676. }
  1677. until 500_470 in #CONTSIZE || ( #CONTSIZEX = 500 && #CONTSIZEY = 470 )
  1678. wait 1s
  1679. if nie in %1 ; sprawdza czy bedzie kul do 50 powtorzen
  1680. {
  1681. set %WydobywajRaz 0 ;bedzie kul do 50 powtorzen
  1682. savepix %click_X_Ustawienia %click_Y_Ustawienia 1
  1683. if #pixcol = %WydobycieRazKolorNie
  1684. {
  1685. click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij
  1686. return
  1687. }
  1688. if #pixcol = %WydobycieRazKolorTak
  1689. {
  1690. click %click_X_Ustawienia %click_Y_Ustawienia
  1691. repeat
  1692. until 500_470 in #CONTSIZE || ( #CONTSIZEX = 500 && #CONTSIZEY = 470 )
  1693. wait 1s
  1694. savepix %click_X_Ustawienia %click_Y_Ustawienia 1
  1695. if #pixcol = %WydobycieRazKolorNie
  1696. {
  1697. click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij
  1698. return
  1699. }
  1700. }
  1701. }
  1702. if tak in %1 ; sprawdza czy bedzie kul do 50 powtorzen
  1703. {
  1704. set %WydobywajRaz 1 ;bedzie kul po 1 sztuce
  1705. savepix %click_X_Ustawienia %click_Y_Ustawienia 1
  1706. if #pixcol = %WydobycieRazKolorTak
  1707. {
  1708. click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij
  1709. return
  1710. }
  1711. if #pixcol = %WydobycieRazKolorNie
  1712. {
  1713. click %click_X_Ustawienia %click_Y_Ustawienia
  1714. repeat
  1715. until 500_470 in #CONTSIZE || ( #CONTSIZEX = 500 && #CONTSIZEY = 470 )
  1716. wait 1s
  1717. savepix %click_X_Ustawienia %click_Y_Ustawienia 1
  1718. if #pixcol = %WydobycieRazKolorTak
  1719. {
  1720. click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij
  1721. return
  1722. }
  1723. }
  1724. }
  1725. return BrakPiksela
  1726.  
Advertisement
Add Comment
Please, Sign In to add comment