Guest User

Untitled

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