; Nazwa: Gornik_Menu_Auto_v-2.2.45.txt ; Autor: Janusz [Fris] ;--------------------------------------- ;============ OPIS ================== ; UWAGA !! ; W przypadku innych wersji systemu niz Windows XP ; trzeba uruchamiac EasyUO jako administrator ; ; Skrypt Testowany na systemach Windows XP SP3 oraz Windows 7 SP1 ; ------------------------------------------- ; Zeby nie bylo problemow ze skryptem musisz stac obok magazyniera ; ktory stoi przy wejsciu do kopalni Mistas lub Minoc, ; a obok ciebie musi stac juczna lama/kon lub golem ; Wybierasz miasto z listy i rudy jakie maja byc wywalane ; Jesli pozycja w kopalni jest ustawiona na 1 po wcisnieciu start ; postac z juczniakiem pojdzie do kopalni i zacznie kopac od pierwszego miejsca ; ---- ; Skrypt dziala tylko na jednego juczniaka !! ; Jesli plecak juczniaka sie zapelni postac wroci do magazyniera ; uprzednio przetapiajac rude z wyjatkiem royalu, przezuci rude i sztaby ; do magazynu i jesli ktoregos rodzaju sztabek jest wiecej niz 2000 ; wypisze na nie kwit wiec trzeba miec pare k zlota w plecaku. ; Kwity przezuci do plecaka w magazynie wiec do zmiennej %ID_Plecaka_Na_Kwity trzba wpisac id tego plecaka ; Jak to zrobic? Otwierasz plecak na kwity i w zmiennej #CONTID masz literki ktore trzeba przepisac lub skopiowac ; za tekstem/zmienna %ID_Plecaka_Na_Kwity tak jak jest to nizej. ; Nastepnie postac wroci w miejsce ostatniego kopania i tak w kolko. ; ---- ; Skrypt mozna takze odpalic w kopalni ale trzeba wiedziec ktora czesc kopalni nalezy do jakiej pozycji ; wiec na poczatku nie zalecam tego robic. Gdy juz zapamietasz gdzie jest dana pozycja w kopalni wtedy mozna sie tym bawic. ; -- Przyciski: ; Przetop - jesli stoisz przy piecu przetopi rude z wyjatkiem royalu ; Magazyn - przezuci sztabki i rude do magazynu i jesli ktoregos rodzaju sztabek lub rudy jest wiecej ; niz 2000 wypisza na nie kwit ; Wszystko - zanacza wszystkie rudy do wywalenie oprocz royala ; Nic - odznacza zaznaczone rudy ; Do magazynu i logout - przerywa kopanie idzie przetopic rude,Gornik_Menu_Auto_v-2.2.21.txt ; potem do magazynu przezuca rude, jesli masz golema to go wylaczy i wylacza gre. ;-------------------------------- ; Bledy ; ;-------------------------------- ; Dodac ; ;-------------------------------- set %plecak_kilofy TZBUZJE ; plecak na zepsute kilofy set %Backpack_x 774 ; TU wpisz polozenie x plecaka postaci set %Backpack_y 219 ; TU wpisz polozenie y plecaka postaci set %path C:\Gornik-id_juczniaka.txt ; Plik w ktorym zostanie zapisane id juczniaka set %ID_Plecaka_Na_Kwity EGBGRJE ;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 set %wyzucaj_mapki 0 ;1 - wyzuca postrzepione mapy, 0 - nie wyrzuca set %SciezkaDoDzwieku D:\Moje dokumenty\UO\UO\euox\well_done.wav set %SciezkaDoDzwieku2 D:\Moje dokumenty\UO\UO\euox\death4.wav set %KwityDoPlecakaMagazyn 1 ;1 - wrzuca kwity do plecaka na kwity 0 - nie wrzuca 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 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 set %JestCoWywalac 0 ;tego nie ruszac set %OpoznienieWyrzucaniaRudy 5 ;5 = 0,5 sekundy set %Pozycja 1 ;pozycja startowa; lepiej zostawic tak jak jest set %PSWWM 0 ;tego nie ruszac set %zapis_do_pliku 0 set %logout 1 ;1 - gra sie wylaczy po wypakowaniu rudy; 0 - gra sie nie wylaczy set %SprawdzajZloto 0 ;1 - sprawdza czy postac ma zloto; 0 - nie sprawdza set %PierwszyRazWKopalni 1 ;jesli 1 to znaczy ze %Pozycja > 1 na starcie wiec powejsciu pierwszy raz do kopalni postac pojdzie w podane miejsce set %FoundGridCount 1 ;tego nie ruszac set %JestCoWywalac 0 ;tego nie ruszac set *STOP 0 set *WAIT 1 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 ;-- Jesli Skrypt dziala dobrze to nie zmieniaj ponizszych wartosci -- set %RedColor 1080 ;czerwony set %BlueColor 88 ;niebieski set %YellowColor 53 ;zolty set %Click_Przerwij_X 187 set %Click_Przerwij_Y 165 set %click_X_UstawieniaZamknij 473 set %click_Y_UstawieniaZamknij 73 set %click_X_Ustawienia 134 set %click_Y_Ustawienia 287 set %WydobycieRazKolorNie 7551256 set %WydobycieRazKolorTak 3242752 set %Click_ZamknijPJ_X ( 200 + #CLILEFT ) set %Click_ZamknijPJ_Y ( 180 + #CLITOP ) set %Click_PrzeniesPJ_X ( 73 + #CLILEFT ) set %Click_PrzeniesPJ_Y ( 87 + #CLITOP ) set %Skrzynia_Magazyn_X ( 623 + #CLILEFT ) set %Skrzynia_Magazyn_Y ( 348 + #CLITOP ) set %Plecak_Juczniaka_X ( 597 + #CLILEFT ) set %Plecak_Juczniaka_Y ( 394 + #CLITOP ) set %Click_Pojemnik_X ( 127 + #CLILEFT ) set %Click_Pojemnik_Y ( 251 + #CLITOP ) set %Plecak_Postaci_X ( 602 + #CLILEFT ) set %Plecak_Postaci_Y ( 590 + #CLITOP ) set %Zamknij_Magazyn_X ( 744 + #CLILEFT ) set %Zamknij_Magazyn_Y ( 416 + #CLITOP ) ;------------------------------- set #sysmsgcol %YellowColor event sysmessage Musisz stac obok magazyniera przy kopalni minoc lub mistas. set %nrmok 1 set #lpc 200 menu clear menu window color btnface menu window size 215 285 menu window title Gornik 2.2.45 ;=================== miasta ===================== menu font size 8 menu text mtmiasto 5 1 Wybierz miasto: menu text mtskil 110 1 Wybierz skil: ;menu text mtbron 10 280 Wybierz bron ktora sie poslugujesz: menu font size 9 menu font bgcolor white menu combo create mcmiasto 5 17 80 menu combo add mcmiasto Minoc menu combo add mcmiasto Mistas ;menu combo add mcmiasto Karak Hirin menu combo select mcmiasto 1 ;=================== skil ======================= menu combo create mcskil 110 17 100 menu combo add mcskil Zaden menu combo add mcskil Ukrywanie menu combo add mcskil Wykrywanie menu combo select mcskil 1 ;=================== bron ======================= ;menu combo create mcBron 10 300 200 ;menu combo add mcBron Zadena ;menu combo add mcBron Wakizashi ;menu combo add mcBron Tasak ;menu combo select mcBron 1 ;=================== miejsce kopania ================ menu font size 8 menu font bgcolor btnface menu text mtomk 10 155 Numer kratki: menu edit mekopanie 180 150 30 %nrmok ; numer miejsca ostatniego koapania menu text mtpoz 10 175 Pozycja w kopalni: menu edit mepozycja 180 174 30 %Pozycja ; numer miejsca w kopalni menu font size 9 ;=================== przyciski ================= menu font color black menu font style b menu button mbwszystko 10 200 75 20 Wszystko menu button mbnic 95 200 30 20 Nic menu button mbpiec 135 200 75 20 Przetop menu button mbstart 10 225 60 24 Start menu button mbstop 75 225 60 24 Stop menu button mbMagazyn 140 225 70 24 Magazyn menu button mbKoniec 10 255 200 24 Do magazynu i logout ;=================== rudy ====================== menu font style menu font size 8 menu check mczelazo 10 67 90 15 #false zelazo menu check mcsrebro 10 87 90 15 #false srebro menu check mczloto 10 107 90 15 #false zloto menu check mcblack 10 127 90 15 #false black ;------------------------------------------------------ menu check mcagapit 80 67 90 15 #false agapit menu check mcvaloryt 80 87 90 15 #false valoryt menu check mcveryt 80 107 90 15 #false veryt ;85 67 90 15 menu check mcmyth 80 127 90 15 #false myth ;------------------------------------------------------ menu check mcblood 145 67 60 15 #false blood menu check mcazuryt 145 87 60 15 #false azuryt ;------------------------------------------------------ menu check mcgrafit 145 107 50 15 #false grafit menu check mcmapki 145 127 55 15 #false mapki ;=================== info o rudach ================== menu shape msopis_rud 5 46 205 17 3 7 1 blue 2 blue menu text mtopis_rudy 6 47 Zaznacz rude do wyrzucenia: menu shape msrudy 5 63 205 85 3 7 1 black 2 black menu font size 9 menu show menu hideEUO ;==================================================== set #lpc 10 set #menubutton n/a ;=================== petla =========================== repeat if #menubutton = CLOSED ;wcisnieto przycisk X { menu hide set #menubutton N/A halt } if #menubutton = mbMagazyn ;wcisnieto przycisk X { set #menubutton N/A gosub domagazynu } if #menubutton = mbstart { event macro 1 0 za mna set #sysmsgcol %YellowColor set %TuWcisnietoStart_X #charposx set %TuWcisnietoStart_Y #charposy set %JakisKontener #backpackid set #menubutton n/a menu delete mbstart menu delete mbinfo menu font bgcolor btnface ;gosub WydobywajTylkoRaz tak if #RESULT <> BrakPiksela { menu get mcskil set %skill #menures - 1 menu get mcmiasto if #menures = 1 { set %swich 2 set %miasto minoc } if #menures = 2 { set %swich 2 set %miasto mistas } gosub Pozycje gosub UstawKwadratySzukania menu getnum mekopanie set %FoundGridCount #menures ;pobiera nr pozycji kopania z menu menu getnum mepozycja set %Pozycja #menures ; pozycja w kopalni ;menu get mcBron ;if #menures = 1 ; set %Bron N/A ;if #menures = 2 ; set %Bron VAP ;if #menures = 3 ; set %Bron HFR ;if N/A in %Bron ; set %MamWalke 0 ; 0 - nie uzywa broni ;else ; set %MamWalke 1 ; 1 - uzywa broni ;set *BRON %Bron gosub Wskaz_juczniaka if #RESULT = ZmiennejNiema gosub Wskaz_juczniaka move %TuWcisnietoStart_X %TuWcisnietoStart_Y 0 20s gosub Przygotowania gosub start if #RESULT = Przygotowanie { gosub Przygotowania gosub start } } else { set #sysmsgcol %RedColor event sysmessage Cos zaslania okno ustawien. Usun przeszkoda bo makro nie ruszy. gosub RysujPrzyciskStart } } if #menubutton = mbpiec { set #menubutton n/a gosub przetapianie } if #menubutton = mbstop { menu button mbstart 10 225 60 24 Start set #menubutton n/a } if #menubutton = mbwszystko { gosub wszystko mczelazo mcsrebro mczloto mcblack mcagapit mcvaloryt mcveryt mcmyth mcblood mcazuryt mcgrafit mcmapki set #menubutton n/a } if #menubutton = mbnic { gosub nic mczelazo mcsrebro mczloto mcblack mcagapit mcvaloryt mcveryt mcmyth mcblood mcazuryt mcgrafit mcmapki set #menubutton n/a } if #menubutton = mbKoniec { gosub DoMagazynuiLogout } until #false ;================= pola wyboru ======================= sub menucheck set %WyzucajCos 0 set #lpc 200 menu get mczelazo if #menures = #true { set %mc1 zelazo set %JestCoWywalac 1 } menu get mcsrebro if #menures = #true { set %mc2 srebro set %JestCoWywalac 1 } menu get mczloto if #menures = #true { set %mc3 zloto set %JestCoWywalac 1 } menu get mcblack if #menures = #true { set %mc4 black set %JestCoWywalac 1 } menu get mcagapit if #menures = #true { set %mc5 agapit set %JestCoWywalac 1 } menu get mcvaloryt if #menures = #true { set %mc6 valoryt set %JestCoWywalac 1 } menu get mcveryt if #menures = #true { set %mc7 veryt set %JestCoWywalac 1 } menu get mcmyth if #menures = #true { set %mc8 myth set %JestCoWywalac 1 } menu get mcblood if #menures = #true { set %mc9 blood set %JestCoWywalac 1 } menu get mcazuryt if #menures = #true { set %mc10 azuryt set %JestCoWywalac 1 } menu get mcgrafit if #menures = #true { set %mc11 grafit set %JestCoWywalac 1 } menu get mcmapki if #menures = #true { set %mc12 mapki set %JestCoWywalac 1 } set #lpc 10 set %pominlame 0 return ;-------------------------------------------------------------- sub IdzDoPozycji ; ( gdzie jest, gdzie ma isc ) set %Obecna %1 set %Cel %2 if %Obecna = 0 && %Cel < 14 { gosub DrogaDoKopalni if %Cel = 1 { move %pozycja_x_1 %pozycja_y_1 0 30s } if %Cel = 2 { move %pozycja_x_1 %pozycja_y_1 0 30s move 802 919 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 3 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 4 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 5 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 6 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 7 || %Cel = 8 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move 826 909 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } if %Cel = 9 { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move 826 909 0 30s move %pozycja_x_ . %Cel %pozycja_y_ . %Cel 0 30s } ;for %a 1 %Cel ; { ; move %pozycja_x_ . %a %pozycja_y_ . %a 0 30s ; } } if %Obecna > 0 ;&& %Obecna < 14 { for %i %Obecna %Cel ; %Licznik { set #sysmsgcol %YellowColor event sysmessage Ide do Pozycji: %i move %pozycja_x_ . %i %pozycja_y_ . %i 0 30s event macro 1 0 podejdzcie wait 5 } } if %Obecna = 0 && %Cel > 13 { gosub DrogaDoKopalni for %j %IloscPozycji %Cel { move %pozycja_x_ . %j %pozycja_y_ . %j 0 30s } } set %Cel 5 ; reczna odleglosc set %Max_odleglosc %Max_odleglosc_ . %Cel gosub Skaner gosub Podejdz %_x . %FoundGridCount %_y . %FoundGridCount return ;-------------------------------------------------------------- sub Przygotowania gosub menucheck menu getnum mcskil set %skil #menures ;pause if %Pozycja > %IloscPozycji { set %Pozycja 1 } set %JestemNaMiejscu 0 gosub CzyJesteWKopalni set %ObecnaPozycjaWkopalni #RESULT gosub IdzDoPozycji %ObecnaPozycjaWkopalni %Pozycja menu Set mepozycja %Pozycja menu Set mekopanie %FoundGridCount call %path ; profilaktycznie finditem bo_wn_yab G_2 ;szuka jucznego konia, jucznej lamy i golema for #findindex 1 #findcnt { if #findid <> %Id_juczniaka1 { set %jukiBrak 1 ;event macro 1 0 podejdzcie ;wait 1s } else ;jesli znalazl swojego juczniaka wyskocz { set %jukiBrak 0 } if #findindex = #findcnt && %jukiBrak = 1 { event macro 1 0 podejdzcie wait 1s } } if %JestCoWywalac = 1 { set #lobjectid %Id_juczniaka1 set #NEXTCPOSX %Plecak_Juczniaka_X set #NEXTCPOSY %Plecak_Juczniaka_Y event macro 17 } if %JestGolem = 1 event macro 1 0 Puszka chron mnie. wait 5 event macro 1 0 podejdzcie return ;---------------------------------------------------------------- sub start repeat set *KOPIE 1 set %NoweMiejsce 0 set #lpc 100 scanjournal 1 if _Trzasnal in #journal { wait 15s } gosub kilof if #RESULT = KilofaBrak { set #sysmsgcol %RedColor event sysmessage Nie ma kilofa szukam lopaty. gosub lopata if #RESULT = LopatyBrak { set #sysmsgcol %RedColor event sysmessage Nie ma lopaty ani kilofa. set #menubutton n/a menu font style b menu button mbstart 10 225 60 24 Start return } } set #ltargetx #charposx set #ltargety #charposy set #ltargetkind %swich set #sysmsgcol %YellowColor event sysmessage Zaczynam kopac w miejscu nr: %FoundGridCount menu Set mepozycja %Pozycja menu Set mekopanie %FoundGridCount set %jindex #jindex set %czascel #SCNT2 + 10 event macro 22 set %Skip 0 set %NextPlace 0 repeat if %czascel < #SCNT2 && #targcurs = 1 { event macro 22 set %czascel #SCNT2 + 10 } scanjournal 1 if _za_daleko in #journal { set %NextPlace 1 set %Skip 1 break } if %czascel < #SCNT2 && #targcurs = 0 { event macro 17 set %czascel #SCNT2 + 10 } if Wlozyl in #journal || W_tym_miejscu in #journal || _zaszkodzilo in #journal || Oddalil in #journal { set %Skip 1 break } until Zaczynasz in #sysmsg if %Skip = 0 { gosub wyzuc_rude } gosub PetlaKopania if #RESULT = KoniecKopania return if #RESULT = Przygotowanie return Przygotowanie until #false return ;======================== Petla kopania =========================== sub PetlaKopania set %chpx #charposx set %chpy #charposy repeat gosub buttonstop kopie if #RESULT = KoniecKopania return KoniecKopania if %NextPlace = 1 { gosub ruda_wykopana return } set %time1 #SCNT + 10 set #lpc 100 if #menubutton = mbKoniec { gosub DoMagazynuiLogout PetlaKopania if #RESULT = PetlaPrzyciskow return KoniecKopania if #RESULT = gotostart return } if *ZYWIOL = 1 { repeat until *ZYWIOL = 0 return } if #RESULT = KilofaBrak { if *STOP = 1 { set *WAIT 0 repeat until *STOP = 0 } return KoniecKopania } if *STOP = 1 { ;click %Click_Przerwij_X %Click_Przerwij_Y wait 6s set *WAIT 0 repeat until *STOP = 0 return } finditem wn_bo_yab G_2 if #findkind = -1 { event macro 1 0 podejdzcie wait 1s } if %chpx <> #charposx && %chpy <> #charposy gosub ucieczka if #RESULT = WrocDoStart return set %ji #jindex - %jindex gosub kilof_rozpada_sie if #RESULT = start || #RESULT = gotostart return if #RESULT = PetlaPrzyciskow return KoniecKopania for %i 1 %ji { set #lpc 200 ;0 gosub buttonstop kopie if #RESULT = KoniecKopania return KoniecKopania scanjournal %i if #ENEMYID <> N/A ;pause if _Trzasnal in #journal { wait 15s return } if rozpada in #journal ;jakosci_kilof in #journal { ;pause ; sprawdzam czy dziala finditem NPF C_ , #charid if #FINDKIND = -1 ;pause ; brak kilofow Exevent Drag #findid #findstack wait 1 Exevent Dropc %plecak_kilofy wait 1 finditem NPF C_ if #FINDKIND = -1 event sysmessage UWAGA!! BRAK KILOFOW set #lobjectid #findid event macro 17 0 event sysmessage kilof podmieniony } if Wlozyl in #journal || Oddalil in #journal || _zaszkodzilo in #journal { return ;gosub start } if W_tym_miejscu in #journal || Nie_widzisz in #journal || Tu_nic_nie_wykopiesz in #journal || That_is_out in #journal || Sotisz_za_daleko in #journal { if *STOP = 1 { set *WAIT 0 repeat until *STOP = 0 } if #RESULT = WrocDoPetlaPrzyciskow return KoniecKopania gosub ruda_wykopana if #RESULT = PetlaPrzyciskow return KoniecKopania if #RESULT = start || #RESULT = gotostart return if #RESULT = Przygotowanie return Przygotowanie } if Nie_masz_miejsca_w_plecaku in #journal { gosub koniec ;kopanie if #RESULT = PetlaPrzyciskow return KoniecKopania if #RESULT = gotostart return ;gotostart return } if _uzytecznej_rudy in #journal || Prawie_cos_wykopal in #journal || _Wlozyl in #journal { return } } until #false return ;------------------------------------------------------- sub ruda_wykopana set %FoundGridCount %FoundGridCount + 1 gosub WyborSkila gosub zapis if %licznikSkanera = %FoundGridCount { ;ustaw numer nastepnej pozycji set %Pozycja ( %Pozycja + 1 ) if %Pozycja > %IloscPozycji ; przekopano ostania pozycje { set *KOPIE 0 if mistas in %miasto { gosub koniec if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow if #RESULT = Przygotowanie return Przygotowanie if #RESULT = gotostart return gotostart } set %Pozycja 1 ; idz do pozycji 1 } ;idz do nastepnej pozycji move %pozycja_x_ . %Pozycja %pozycja_y_ . %Pozycja 0 30s ;event macro 1 0 podejdzcie ;wait 5 ;ustaw max odleglosc szukania set %Max_odleglosc %Max_odleglosc_ . %Pozycja ;szukaj podlogi, utworz tablice lokalizacji kratek kopania gosub Skaner ;ustaw pozycjie na pierwsza kratke set %FoundGridCount 1 } gosub Podejdz %_x . %FoundGridCount %_y . %FoundGridCount event macro 1 0 Puszka chron mnie return start ;============== koniec loop1 =========================== sub wyzuc_rude gosub zapis if #contid notin %Id_juczniaka1 && %JestCoWywalac = 1 { set %xp %Plecak_Juczniaka_X + 100 set %yp %Plecak_Juczniaka_Y + 40 ;click %xp %yp if #contid notin %Id_juczniaka1 { set #LOBJECTID %Id_juczniaka1 set %TimeJuki #scnt2 + 20 set %ErrorTime #scnt2 + 60 event macro 17 repeat if %ErrorTime < #scnt2 { return } if %TimeJuki < #scnt2 || #contid = #backpackid { set %TimeJuki #scnt2 + 20 event macro 17 } finditem wn_bo_yab G_2 if #findkind = -1 { event macro 1 0 podejdzcie return } until #contid in %PlecakJuczniaka contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y } } ignoreitem reset finditem dwj_enk C_ , %PlecakJuczniaka for #FINDINDEX 1 #FiNDCNT { event Property #findid wait 2 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 { if #findstack = 0 exevent dtag #findid 1 else exevent drag #findid #findstack wait %OpoznienieWyrzucaniaRudy exevent dropg #charposx #charposy #charposz wait %OpoznienieWyrzucaniaRudy } } finditem bo_wn_yab G_2 ;szuka jucznego konia, jucznej lamy i golema for #findindex 1 #findcnt { if #findid <> %Id_juczniaka1 { set %jukiBrak 1 ;event macro 1 0 podejdzcie ;wait 1s } else ;jesli znalazl swojego juczniaka wyskocz { set %jukiBrak 0 } if #findindex = #findcnt && %jukiBrak = 1 { event macro 1 0 podejdzcie wait 1s } } if %mc12 = mapki { finditem RVH C_ , %PlecakJuczniaka for #FINDINDEX 1 #FiNDCNT { exevent drag #findid 1 wait %OpoznienieWyrzucaniaRudy exevent dropg #charposx #charposy #charposz wait %OpoznienieWyrzucaniaRudy } } ignoreitem reset return ;--------------------------------------------- sub zapis scanjournal 1 if #sysmsg = Zapisywanie_Stanu_Swiata. || #journal = Zapisywanie_Stanu_Swiata. { set %time #SCNT + 14 repeat scanjournal 1 until Koniec_Zapisywania in #journal } return ;--------------------------------------------- sub WyborSkila if %skill = 1 event macro 13 21 if %skill = 2 event macro 13 14 return ;WrocDoStart ;--------------------------------------------- sub umiejetnosc gosub buttonstop event macro %1 %2 goto start return ;--------------------------------------------- sub Wskaz_juczniaka ;pause set %ZmiennaIstnieje 0 if %zapis_do_pliku = 0 call %path if N/A in %Id_juczniaka1 set %zapis_do_pliku 1 ; jesli nie ma pliku; nastapi utworzenie nowego i zapis do niego if N/A notin %Id_juczniaka1 ;&& %zapis_do_pliku = 0 { ;jesli plik jest i zmienne sa ustawione poprawnie set %zapis_do_pliku 0 event macro 1 0 podejdzcie set %ZamknijPJ_X ( %Plecak_Juczniaka_X + 70 ) set %ZamknijPJ_Y ( %Plecak_Juczniaka_Y + 70 ) wait 1s click %ZamknijPJ_X %ZamknijPJ_Y r f ;move %TuWcisnietoStart_X %TuWcisnietoStart_Y 0 20s set %ZmiennaIstnieje 1 } if %ZmiennaIstnieje = 0 { gosub WybierzPojemnik repeat scanjournal 1 if Wybierz_pojemnik in #journal || Stoisz_za_daleko in #journal gosub WybierzPojemnik until #TargCurs = 0 && Ten_pojemnik_zostal_juz_dodany in #journal set %Id_juczniaka1 #ltargetid set *GOLEM %Id_juczniaka1 set #NEXTCPOSX %Plecak_Juczniaka_X set #NEXTCPOSY %Plecak_Juczniaka_Y set %Plecak_Jucz_X #NEXTCPOSX + 70 set %Plecak_Jucz_Y #NEXTCPOSY + 70 set #lobjectid %Id_juczniaka1 set %TimeOJ1 #scnt2 + 45 set %TimeOJ2 #scnt2 + 20 event macro 17 wait 5 repeat if %TimeOJ1 < #scnt2 { break } if %TimeOJ2 < #scnt2 { set #lobjectid %Id_juczniaka1 event macro 17 set %TimeOJ2 #scnt2 + 20 } until %Plecak_Juczniaka_X = #contposx && %Plecak_Juczniaka_Y = #contposy set %PlecakJuczniaka #contid set %zapis_do_pliku 1 } if %ZmiennaIstnieje = 1 { set %zapis_do_pliku 0 set #NEXTCPOSX %Plecak_Juczniaka_X set #NEXTCPOSY %Plecak_Juczniaka_Y set %Plecak_Jucz_X #NEXTCPOSX + 70 set %Plecak_Jucz_Y #NEXTCPOSY + 70 set #lobjectid %Id_juczniaka1 set %TimeOJ #scnt2 + 10 set %czas_otwarcia_juki #scnt2 + 30 event macro 17 repeat if %TimeOJ < #scnt2 { set #lobjectid %Id_juczniaka1 event macro 17 set %TimeOJ #scnt2 + 10 } if %czas_otwarcia_juki < #scnt2 { set %zapis_do_pliku 1 set %Id_juczniaka1 N/A return ZmiennejNiema } until %Plecak_Juczniaka_X = #contposx && %Plecak_Juczniaka_Y = #contposy ;click %Plecak_Jucz_X %Plecak_Jucz_Y set %PlecakJuczniaka #contid } if %zapis_do_pliku = 1 { set #sysmsgcol %YellowColor event sysmessage UWAGA!! NASTAPI ZAPIS DANYCH JUKI. WYSKOCZY OKIENKO. wait 2s execute cmd.exe /c "del %path && echo s , et , #spc , % , Id_juczniaka1 , #spc , %Id_juczniaka1 >> %path && echo exi , t >> %path " set %zapis_do_pliku 0 } if #LOBJECTTYPE = YAB set %JestGolem 1 return ;--------------------------------------------- sub przetapianie set #lpc 10 if N/A in %Id_juczniaka1 gosub Wskaz_juczniaka if #RESULT = ZmiennejNiema gosub Wskaz_juczniaka ;event macro 1 0 podejdzcie ;wait 1s finditem bo_wn_yab G_1 ;szuka jucznego konia, jucznej lamy i golema for #findindex 1 #findcnt { if #findid <> %Id_juczniaka1 { set %jukiBrak 1 ;event macro 1 0 podejdzcie ;wait 1s } else ;jesli znalazl swojego juczniaka wyskocz { set %jukiBrak 0 } if #findindex = #findcnt && %jukiBrak = 1 { event macro 1 0 podejdzcie wait 1s } } ignoreitem reset set %czasPJ #scnt2 + 40 ;czas plecaka juczniaka set #LOBJECTID %Id_juczniaka1 event macro 17 repeat if %czasPJ < #scnt { set #LOBJECTID %Id_juczniaka1 event macro 17 } finditem wn_bo_yab G_2 if #findkind = -1 { event macro 1 0 podejdzcie wait 1s } until #contid = %PlecakJuczniaka wait 3 contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y ;wait 5 ignoreitem reset ;innaruda: finditem * C_ , %PlecakJuczniaka for #findindex 1 #findcnt { if #CONTID <> %PlecakJuczniaka ;jesli plecak juczniaka nie jest otwarty { set #LOBJECTID %Id_juczniaka1 set %Time_juki #scnt2 + 40 event macro 17 repeat if %Time_juki < #scnt { event macro 1 0 podejdzcie wait 1s set #LOBJECTID %Id_juczniaka1 event macro 17 } until #CONTID = %PlecakJuczniaka wait 3 contpos %Plecak_Juczniaka_X %Plecak_Juczniaka_Y } if #FINDCOL = 1209 || #FINDCOL = 1118 || #FINDCOL = 1637 || #FINDCOL = 1720 || #FINDCOL = 1546 || #FINDCOL = 1420 || #FINDCOL = 1548 || #FINDCOL = 1541 || #FINDCOL = 2130 || #FINDCOL = 1107 { ignoreitem #findid continue } if #findtype = dwj { set %time_przetop #scnt2 + 20 set #LOBJECTID #FINDID event macro 17 repeat if %time_przetop < #scnt continue until Rozpocz in #sysmsg ; #journal set %jindex #jindex repeat gosub SprawdzGumpa until %WyjdzZPetli = 1 ;Przetopil in #sysmsg || Zniszczyl in #sysmsg set %WyjdzZPetli 0 set #lpc 10 } } event sysmessaga RUDA PRZETOPIONA return ;------------------------------------------------ sub buttonstop if #menubutton = mbstop { set #menubutton n/a menu font color black menu font style b menu button mbstart 10 225 60 24 Start menu font color black if kopie in %1 { ;click %Click_Przerwij_X %Click_Przerwij_Y set #sysmsgcol %YellowColor ;event sysmessage Czekam 6s, az postac przestanie kopac. ;wait 6s gosub wyzuc_rude click %ZamknijPJ_X %ZamknijPJ_Y r f set #menubutton n/a } return KoniecKopania } return ;------------------------------------------------ sub kilof ignoreitem reset finditem * C_ , #charid for #findindex 1 #findcnt { if #findtype = npf { set %moj_kilof #findid set #lobjectid #findid event macro 17 0 set %TimeCelownik #scnt2 + 20 repeat if %TimeCelownik < #scnt2 { set %TimeCelownik #scnt2 + 20 set #lobjectid #findid event macro 17 0 } until #targcurs = 1 return } } return KilofaBrak ;------------------------------------------------ sub lopata ignoreitem reset finditem TWF C_ , #backpackid for #findindex 1 #findcnt { if #findtype = TWF { set #lobjectid #findid event macro 17 0 set %TimeCelownik #scnt2 + 20 repeat if %TimeCelownik < #scnt2 { set %TimeCelownik #scnt2 + 20 set #lobjectid #findid event macro 17 0 } until #targcurs = 0 return } } return LopatyBrak ;------------------------------------------------ sub WybierzPojemnik set #sysmsgcol %YellowColor event sysmessage Poczekaj na celownik i wyceluj w juczniaka. set %TimePojemnik #scnt2 + 20 event macro 1 0 .pojemnik repeat if %TimePojemnik < #scnt2 { set %TimePojemnik #scnt2 + 20 event macro 1 0 .pojemnik } until #ContSize = 250_180 && generic_gump in #CONTNAME set %Pojemnik_X #CONTPOSX + 28 set %Pojemnik_Y #CONTPOSY + 150 wait 2 click %Pojemnik_X %Pojemnik_Y mc return ;----------------------------------------------- sub ucieczka set #menubutton n/a gosub RysujPrzyciskStart event sysmessage Oddaliles sie. Wcisnij Start by kopac dalej lub Stop by zakonczyc kopanie. repeat if #menubutton = mbstop return KoniecKopania until #menubutton = mbstart set #menubutton n/a menu delete mbstart return WrocDoPetlaPrzyciskow ;----------------------------------------------- sub koniec ;wchodzi tu gdy juczniak pelny set #menubutton n/a gosub wyzuc_rude set %Last_x %_x . %FoundGridCount set %Last_y %_y . %FoundGridCount set %OstatniaPozycja %Pozycja gosub DrogaDoMagazynu if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow if %Wyloguj = 1 return gosub DrogaDoKopalni if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow if mistas in %miasto { if %Pozycja > 9 { set %Pozycja 1 set %FoundGridCount 1 return Przygotowanie ;goto menucheck } } if %Pozycja = 14 || %Pozycja > 14 { for %j %IloscPozycji %Pozycja { set #sysmsgcol %YellowColor event sysmessage Pozycja: %j move %pozycja_x_ . %j %pozycja_y_ . %j 0 30s if %j = %Pozycja { menu set mepozycja %Pozycja move %Last_x %Last_y 0 30s return gotostart ;goto na_miejscu } } } if %Pozycja = 1 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s } if %Pozycja = 2 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move 802 919 0 30s move %pozycja_x_2 %pozycja_y_2 0 30s } if %Pozycja = 3 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_3 %pozycja_y_3 0 30s } if %Pozycja = 4 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_4 %pozycja_y_4 0 30s } if %Pozycja = 5 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s } if %Pozycja = 6 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move %pozycja_x_6 %pozycja_y_6 0 30s } if %Pozycja = 7 && mistas in %miasto || %Cel = 8 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move 826 909 0 30s move %pozycja_x_7 %pozycja_y_7 0 30s } if %Pozycja = 8 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move 826 909 0 30s move %pozycja_x_8 %pozycja_y_8 0 30s } if %Pozycja = 9 && mistas in %miasto { move %pozycja_x_1 %pozycja_y_1 0 30s move %pozycja_x_5 %pozycja_y_5 0 30s move %pozycja_x_6 %pozycja_y_6 0 30s move 825 909 0 30 move %pozycja_x_9 %pozycja_y_9 0 30s } if minoc in %Pozycja { for %i 1 %Pozycja { set #sysmsgcol %YellowColor event sysmessage Pozycja: %i ;move %pozycja_x_ . %Pozycja %pozycja_y_ . %Pozycja 0 30s move %pozycja_x_ . %i %pozycja_y_ . %i 0 30s event macro 1 0 podejdzcie wait 5 if %i = %Pozycja break } } ;na_miejscu: menu set mepozycja %Pozycja move %Last_x %Last_y 0 30s ;goto start return ;gotostart ;----------------------------------------------- sub wszystko #lpc 10 for %i 1 %0 menu Set % . %i #true return ;----------------------------------------------- sub nic #lpc 10 for %i 1 %0 menu Set % . %i #false return ;---------------------------------------------------------- sub domagazynu ;otwiera magazyn set %TuWcisnietoStart_X #charposx set %TuWcisnietoStart_Y #charposy if N/A in %Id_juczniaka1 gosub Wskaz_juczniaka if #RESULT = ZmiennejNiema gosub Wskaz_juczniaka move %TuWcisnietoStart_X %TuWcisnietoStart_Y 0 20s repeat finditem * G_5 ;szuka wszystkiego wait 2 event Property #findid ignoreitem #findid until Magazynier in #property ignoreitem reset move #findx #findy 1 30s event macro 1 0 Podejdzcie. wait 5 set #NEXTCPOSX %Skrzynia_Magazyn_X set #NEXTCPOSY %Skrzynia_Magazyn_Y event macro 1 0 Magazynier otworz moja skrzynie if #contid <> %PlecakJuczniaka { set #LOBJECTID %Id_juczniaka1 event macro 17 set %czas #SCNT2 + 20 repeat if %czas < #SCNT2 { set #LOBJECTID %Id_juczniaka1 event macro 17 } finditem wn_bo_yab G_2 if #findkind = -1 { event macro 1 0 podejdzcie wait 2s set %czas #SCNT2 + 20 } until #contid = %PlecakJuczniaka wait 3 contpos %Click_PrzeniesPJ_X %Click_PrzeniesPJ_Y wait 3 set %Jucznia_Nr1_contx #CONTPOSX + 100 set %Jucznia_Nr1_conty #CONTPOSY + 100 } if #contid = %PlecakJuczniaka { if #CONTPOSX <> %Click_PrzeniesPJ_X && #CONTPOSY <> %Click_PrzeniesPJ_Y { contpos %Click_PrzeniesPJ_X %Click_PrzeniesPJ_Y wait 3 } } ;pause gosub PrzeliczSztaby juka repeat wait 5 until #CONTSIZE = 180_240 wait 3 set %SkrzyniaMagazyn #CONTID contpos %Skrzynia_Magazyn_X %Skrzynia_Magazyn_Y wait 3 set %Magazyn_contx #CONTPOSX + 100 set %Magazyn_conty #CONTPOSY + 100 set #sysmsgcol %YellowColor event sysmessage Przeliczam rude gosub PrzeliczSztaby magazyn set #lpc 100 for %a 1 11 { set %SztabyNazwaJuka %RudaNazwaJuka_ . %a set %SztabyIloscJuka %RudaIloscJuka_ . %a set %SztabyNazwaMagazyn %RudaNazwaMagazyn_ . %a set %SztabyIloscMagazyn %RudaIloscMagazyn_ . %a if %SztabyNazwaJuka = %SztabyNazwaMagazyn { set %SumaSztab ( %SztabyIloscJuka + %SztabyIloscMagazyn ) ;event sysmessage SumaSztab %SumaSztab if %SumaSztab > 2000 { set %DoUzupelnienia ( 2010 - %SztabyIloscMagazyn ) event sysmessage Uzupelniam sztaby do 2000 sztuk. gosub PrzeniesPrzedmiot %RudaIdJuka_ . %a %DoUzupelnienia %SkrzyniaMagazyn ;wait 1s set #sysmsgcol %YellowColor event sysmessage Wypisuje kwit. gosub Sztaby_do_kwitow gosub NakarmJuczniaki } } } ;przezucanie rudy royal set #sysmsgcol %YellowColor event sysmessage Przenosze reszte sztab do magazynu. finditem dwj C_ , %PlecakJuczniaka for #findindex 1 #findcnt { gosub PrzeniesPrzedmiot #findid #findstack %SkrzyniaMagazyn } ignoreitem reset ;set %czas #scnt + 5 finditem enk C_ , %PlecakJuczniaka for #findindex 1 #findcnt { gosub PrzeniesPrzedmiot #findid #findstack %SkrzyniaMagazyn } ignoreitem reset finditem SZF_VZF_RVF_RVH C_ , %PlecakJuczniaka for #findindex 1 #findcnt { gosub PrzeniesPrzedmiot #findid #findstack #backpackid } gosub PrzenoszenieKwitow click %Click_ZamknijPJ_X %Click_ZamknijPJ_Y mc r wait 5 click %Zamknij_Magazyn_X %Zamknij_Magazyn_Y r gosub buttonstop if #RESULT = KoniecKopania { set #sysmsgcol %YellowColor event sysmessage Po wcisnieciu start, skrypt ruszy od tego miejsca. repeat until #menubutton = mbstart set #menubutton N/A return PetlaPrzyciskow } ;gosub NakarmJuczniaka return ;-------------------------------------------------------- sub Sztaby_do_kwitow ;--- tworzenie wiazki 2000 sztab finditem enk_dwj C_ , %SkrzyniaMagazyn set %StartX_kupki 0 set %StartY_kupki 150 set %X_kupki %StartX_kupki + 10 set %Y_kupki 150 for #findindex 1 #findcnt { if #findstack > 2000 { set %Wielokrotnosc2k ( #findstack / 2000 ) set #sysmsgcol %YellowColor event sysmessage Kupek po 2k: %Wielokrotnosc2k set %ID_starej_kupki #findid for %c 1 %Wielokrotnosc2k { set %X_kupki %X_kupki + 20 ;event sysmessage Pozycja sztabek: %X_kupki %Y_kupki exevent drag #findid 2000 wait 5 if dwj in #findtype exevent dropc %SkrzyniaMagazyn 200 150 else exevent dropc %SkrzyniaMagazyn %X_kupki %Y_kupki wait 5 finditem enk_dwj C_ , %SkrzyniaMagazyn } } ;ignoreitem #findid } ;---- wypisywanie kwitu wait 5 ;pause ignoreitem reset finditem ENK_DWJ C_ , %SkrzyniaMagazyn for #findindex 1 #findcnt { if #findstack = 2000 { set %jindex #jindex event macro 1 0 wypisz kwit repeat until #targcurs = 1 wait 3 set %x #findx + 15 set %y #findy + 15 click %x %y mc wait 15 event macro 1 0 tak wait 1s set %ji #jindex - %jindex for %i 1 %ji { scanjournal %i if _nie_masz_takie_kwoty_ in #journal { set #sysmsgcol %RedColor event sysmessage BRAK ZLOTA NA KWITY return } } ignoreitem #findid continue } ;ignoreitem #findid } return ;--------------------------------------------- sub PrzenoszenieKwitow ;---- przenoszenie kwitu finditem TVH C_ , #backpackid for #findindex 1 #findcnt { exevent drag #findid 1 wait 3 if %KwityDoPlecakaMagazyn = 1 { set #lobjectid %ID_Plecaka_Na_Kwity event macro 17 wait 5 exevent dropc %ID_Plecaka_Na_Kwity wait 3 continue } else exevent dropc %SkrzyniaMagazyn 10 200 } finditem TVH C_ , %ID_Plecaka_Na_Kwity set #sysmsgcol %YellowColor event sysmessage Kwitow: #findcnt click %Magazyn_contx %Magazyn_conty r return ;--------------------------------------------- sub PrzeliczSztaby set #lpc 2000 set %NazwyRud_1 zelazo set %NazwyRud_2 srebro set %NazwyRud_3 zloto set %NazwyRud_4 black set %NazwyRud_5 agapit set %NazwyRud_6 valoryt set %NazwyRud_7 veryt set %NazwyRud_8 myth set %NazwyRud_9 blood set %NazwyRud_10 azuryt set %NazwyRud_11 royal if juka in %1 { finditem dwj_enk C_ , %PlecakJuczniaka } if magazyn in %1 { finditem dwj_enk C_ , %SkrzyniaMagazyn } for #findindex 1 #findcnt { event Property #findid wait 2 for %i 1 11 { set %RudaRodzaj %NazwyRud_ . %i if %RudaRodzaj in #property { if juka in %1 { set %RudaNazwaJuka_ . %i %RudaRodzaj set %RudaIloscJuka_ . %i #findstack set %RudaIdJuka_ . %i #findid ;event sysmessage N: %RudaNazwaJuka_ . %i Cnt: %RudaIloscJuka_ . %i } if magazyn in %1 { set %RudaNazwaMagazyn_ . %i %RudaRodzaj set %RudaIloscMagazyn_ . %i #findstack ;event sysmessage N: %RudaNazwaMagazyn_ . %i Cnt: %RudaIloscMagazyn_ . %i } } } } set #lpc 10 return ;--------------------------------------------- sub PrzeniesPrzedmiot ;( ID przedmiotu, ilosc, gdzie przezucic ) exevent drag %1 %2 wait 5 exevent dropc %3 wait 5 return ;--------------------------------------------- sub SprawdzGumpa set #lpc 2000 scanjournal 1 ;%i set %dziennik #journal ;event sysmessage dziennik %dziennik str Pos %dziennik ) set %Pozycja_nawiasu #StrRes set %end %Pozycja_nawiasu - 2 str Mid %dziennik 2 %end set %Tyle_z_Tylu #StrRes str Pos %Tyle_z_Tylu z set %z_end #StrRes - 2 str Mid %Tyle_z_Tylu 1 %z_end set %Pierwsza_wartosc #StrRes ;event sysmessage Pierwsza_wartosc %Pierwsza_wartosc str Pos %Tyle_z_Tylu _ set %__start #StrRes + 3 str Len %Tyle_z_Tylu set %Dlugosc #StrRes str Mid %Tyle_z_Tylu %__start %Dlugosc set %Druga_wartosc #StrRes if %Pierwsza_wartosc = %Druga_wartosc { scanjournal 1 if #JCOLOR = 40 { ;click %Click_Przerwij_X %Click_Przerwij_Y wait 6s } set %WyjdzZPetli 1 } else return ;} return ;--------------------------------------------- sub RysujPrzyciskStart menu font size 9 menu font style b menu button mbstart 10 225 60 24 Start return ;--------------------------------------------- sub DrogaDoKopalni if minoc in %miasto { if #CHARPOSX > 2588 && #CHARPOSX < 2597 && #CHARPOSY > 531 && #CHARPOSY < 543 ;treser { finditem bo_wn_yab G_3 if #findkind = -1 { menu hide Display ok $Nie masz juczniakow lub stoja za daleko. $Gdy juz bedziesz je mial odpal skrypt jeszcze raz. halt } gosub buttonstop event macro 1 0 za mna move 2593 529 1 20s gosub buttonstop move 2593 518 1 20s event macro 1 0 podejdzcie gosub buttonstop wait 1s move 2589 514 1 20s move 2585 514 0 20s set %PSWWM 1 ; Postac Stala We Wlasciwym Miejscu } ;jesli stoje przy magazynierze Minoc if #CHARPOSX > 2581 && #CHARPOSX < 2591 && #CHARPOSY > 506 && #CHARPOSY < 515 ;treser { finditem bo_wn_yab G_3 if #findkind = -1 { menu hide Display ok $Nie masz juczniakow lub stoja za daleko. $Gdy juz bedziesz je mial odpal skrypt jeszcze raz. halt } gosub buttonstop event macro 1 0 za mna move 2585 514 0 20s set %PSWWM 1 ; Postac Stala We Wlasciwym Miejscu } if %PSWWM = 1 { set %PSWWM 0 move 2580 514 0 20s gosub buttonstop move 2574 508 1 20s event macro 1 0 podejdzcie gosub buttonstop move 2575 499 0 20s } } if mistas in %miasto { ;jesli stoje przy magazynierze Mistas przed kopalnia if #CHARPOSX > 793 && #CHARPOSX < 802 && #CHARPOSY > 943 && #CHARPOSY < 953 { finditem bo_wn_yab G_3 wait 2 if #findkind = -1 { menu hide Display ok $Nie masz juczniakow lub stoja za daleko. $Gdy juz bedziesz je mial odpal skrypt jeszcze raz. return PetlaPrzyciskow } gosub buttonstop event macro 1 0 za mna move 798 949 0 20s set %PSWWM 1 ; Postac Stala We Wlasciwym Miejscu } if %PSWWM = 1 { set %PSWWM 0 move 802 948 0 20s gosub buttonstop move 802 939 1 20s event macro 1 0 podejdzcie gosub buttonstop move 803 934 0 20s } } return ;-------------------------------------------------- sub DrogaDoMagazynu event macro 1 0 za mna set %PominPetle 0 if %Pozycja = 14 || %Pozycja > 14 { for %k %Pozycja %IloscPozycji { move %pozycja_x_ . %k %pozycja_y_ . %k 0 30s event macro 1 0 podejdzcie wait 1s gosub SprawdzSapanie } ;goto przedsionek set %PominPetle 1 } if %PominPetle = 0 { if mistas in %miasto && %Pozycja = 2 { move 797 918 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 803 918 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 806 921 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie set %Polozenie 1 } if mistas in %miasto && %Pozycja = 3 { set %Polozenie 1 } if mistas in %miasto && %Pozycja = 4 { move 815 921 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie set %Polozenie 1 } if mistas in %miasto && %Pozycja = 5 { set %Polozenie 1 } if mistas in %miasto && %Pozycja = 6 { move 823 909 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 812 920 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie set %Polozenie 1 } if mistas in %miasto && %Pozycja = 7 || mistas in %miasto && %Pozycja = 8 { move 827 914 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 827 909 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 822 909 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 811 920 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie set %Polozenie 1 } if mistas in %miasto && %Pozycja = 9 { move 828 900 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 828 906 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 823 911 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 819 912 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie move 811 920 0 30s ;event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie set %Polozenie 1 } ;else ;{ ; set %Polozenie %Pozycja ;} for %j %Polozenie 1 { move %pozycja_x_ . %j %pozycja_y_ . %j 0 30s event macro 1 0 podejdzcie ;wait 1s gosub SprawdzSapanie } } ;przedsionek: if minoc in %miasto { ;przedsionek kopalni move 2575 499 0 20s ;WyjscieZKopalni: move 2575 501 0 20s move 2575 509 0 20s move 2585 519 0 20s move 2582 518 0 20s gosub przetapianie move 2585 511 0 20s } if mistas in %miasto { ;przedsionek kopalni move 803 934 0 20s ;WyjscieZKopalni: move 803 940 0 20s move 803 948 0 20s move 799 949 0 20s gosub przetapianie move 797 949 0 20s } set #sysmsgcol %YellowColor event sysmessage WCISNIJ SOTP JESLI CHCESZ ZATRZYMAC SKRYPT event sysmessage SKRYPT ZATRZYMA SIE PO WYPISANIU KWITU gosub domagazynu gosub moje_sprawdzanie if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow return ;--------------------------------------------------- sub SprawdzSapanie scanjournal 1 if _*sapie* in #journal || _*trzeszczy* in #journal { wait 2s event macro 1 0 odpocznijcie wait 8s event macro 1 0 Za mna } return ;--------------------------------------------------- sub Skaner set #sysmsgcol %YellowColor event sysmessage Trwa skanowanie... set #lpc 4000 set %licznikSkanera 1 tile init set %x_poczatek ( #charposx + %Max_odleglosc ) set %y_poczatek ( #charposy + %Max_odleglosc ) set %x_koniec ( #charposx - %Max_odleglosc ) set %y_koniec ( #charposy - %Max_odleglosc ) for %x %x_poczatek %x_koniec { for %y %y_poczatek %y_koniec { if %x > 802 && %x < 819 && %y > 908 && %y < 913 || %y > 921 && %y < 934 && %x > 798 && %x < 802 { continue } tile Cnt %x %y #CHARPOSZ for %i 1 #tilecnt { tile Get %x %y %i if Impassable in #tileflags continue ;if cave_floor in #tilename && ( Background in #tileflags || #tileflags = %null ) { set %_x . %licznikSkanera %x set %_y . %licznikSkanera %y set %licznikSkanera ( %licznikSkanera + 1 ) } } } } set #lpc 10 return ;--------------------------------------------- sub Pozycje set #lpc 2000 if minoc in %miasto { set %pozycja_x_1 2584 set %pozycja_y_1 494 set %Max_odleglosc_1 6 set %pozycja_x_2 2596 set %pozycja_y_2 486 set %Max_odleglosc_2 6 set %pozycja_x_3 2586 set %pozycja_y_3 476 set %Max_odleglosc_3 4 set %pozycja_x_4 2591 set %pozycja_y_4 466 set %Max_odleglosc_4 4 ;------------------------------- set %pozycja_x_5 2599 set %pozycja_y_5 462 set %Max_odleglosc_5 3 set %pozycja_x_6 2603 set %pozycja_y_6 467 set %Max_odleglosc_6 4 set %pozycja_x_7 2609 set %pozycja_y_7 461 set %Max_odleglosc_7 4 set %pozycja_x_8 2604 set %pozycja_y_8 456 set %Max_odleglosc_8 4 set %pozycja_x_9 2592 set %pozycja_y_9 457 set %Max_odleglosc_9 4 set %pozycja_x_10 2594 set %pozycja_y_10 448 set %Max_odleglosc_10 3 set %pozycja_x_11 2587 set %pozycja_y_11 444 set %Max_odleglosc_11 3 set %pozycja_x_12 2582 set %pozycja_y_12 456 set %Max_odleglosc_12 4 set %pozycja_x_13 2577 set %pozycja_y_13 447 set %Max_odleglosc_13 4 set %pozycja_x_14 2573 set %pozycja_y_14 436 set %Max_odleglosc_14 6 set %pozycja_x_15 2570 set %pozycja_y_15 450 set %Max_odleglosc_15 3 set %pozycja_x_16 2567 set %pozycja_y_16 459 set %Max_odleglosc_16 5 set %pozycja_x_17 2564 set %pozycja_y_17 468 set %Max_odleglosc_17 4 set %pozycja_x_18 2574 set %pozycja_y_18 468 set %Max_odleglosc_18 4 set %pozycja_x_19 2571 set %pozycja_y_19 482 set %Max_odleglosc_19 8 set %pozycja_x_20 2573 set %pozycja_y_20 494 set %Max_odleglosc_20 3 set %IloscPozycji 20 } if mistas in %miasto { set %pozycja_x_1 809 set %pozycja_y_1 926 set %Max_odleglosc_1 4 set %pozycja_x_2 798 set %pozycja_y_2 917 set %Max_odleglosc_2 8 set %pozycja_x_3 805 set %pozycja_y_3 921 set %Max_odleglosc_3 1 set %pozycja_x_4 820 set %pozycja_y_4 925 set %Max_odleglosc_4 6 ;------------------------------- set %pozycja_x_5 814 set %pozycja_y_5 917 set %Max_odleglosc_5 3 set %pozycja_x_6 822 set %pozycja_y_6 909 set %Max_odleglosc_6 4 set %pozycja_x_7 834 set %pozycja_y_7 916 set %Max_odleglosc_7 7 set %pozycja_x_8 827 set %pozycja_y_8 911 set %Max_odleglosc_8 1 set %pozycja_x_9 828 set %pozycja_y_9 900 set %Max_odleglosc_9 8 set %IloscPozycji 9 } set #lpc 10 return ;--------------------------------------------- sub CzyJesteWKopalni for %i 1 %IloscPozycji { ;event sysmessage %i set %X_W %pozycja_x_W_ . %i set %X_M %pozycja_x_M_ . %i set %Y_W %pozycja_y_W_ . %i set %Y_M %pozycja_y_M_ . %i ;event sysmessage X_W: %X_W X_M: %X_M Y_W: %Y_W Y_M: %Y_M if #CHARPOSX > %X_W && #CHARPOSX < %X_M && #CHARPOSY > %Y_W && #CHARPOSY < %Y_M { if N/A in %_x1 ;jesli skrypt zostal wlaczony juz w kopalni to ta zmienna bedzie pusta czyli trzeba odpalic skaner { return %i } else { return %i } } } return 0 ;--------------------------------------------- sub Podejdz set %x %1 set %y %2 ;podejdz: event pathfind %x %y #charposz ;event sysmessage %x %y set %timePodejdz #scnt + 8 repeat if %timePodejdz < #scnt { ;szukaj_strazy: finditem HS_IS G_1 event Property #findid if #charid in #findid { ignoreitem #findid ;set %timePodejdz #scnt - 12 continue ;goto szukaj_strazy } if Straznik in #property || Obronca in #property { set #sysmsgcol %YellowColor ;event sysmessage #property move %pozycja_x_ . %Pozycja %pozycja_y_ . %Pozycja 0 30s set %FoundGridCount %FoundGridCount + 1 set %x %_x . %FoundGridCount set %y %_y . %FoundGridCount event pathfind %x %y #charposz set %timePodejdz #scnt + 8 continue ;goto podejdz } ignoreitem reset return } scanjournal 1 if Can't_get_there in #journal { return ;goto podejdz } until %x = #CHARPOSX && %y = #CHARPOSY return ;--------------------------------------------- sub kilof_rozpada_sie finditem NPF C_ , #charid if #findkind = -1 { ;kilof_do_reki2: finditem NPF C_ , #backpackid if #findkind = -1 { set %logout 1 gosub DoMagazynuiLogout if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow if #RESULT = gotostart return gotostart } else { set #lobjectid #findid set %kilof #findid event macro 17 set %TimeKilofDoReki #scnt2 + 20 repeat if %TimeKilofDoReki < #scnt2 { set #lobjectid %kilof event macro 17 set %TimeKilofDoReki #scnt2 + 20 } finditem NPF C_ , #charid until #findkind <> -1 } else { return start } } return ;--------------------------------------------- sub UstawKwadratySzukania for %i 1 %IloscPozycji { ;zmienna %Max_odleglosc_ + 1 set %Dystans ( %Max_odleglosc_ . %i + 1 ) ;%pozycja_x_W_1 - x jest wieksze W jak Wieksze set %pozycja_x_W_ . %i ( %pozycja_x_ . %i - %Dystans ) ;%pozycja_x_M_1 - x jest mniejszy M jak Mniejsze set %pozycja_x_M_ . %i ( %pozycja_x_ . %i + %Dystans ) ;%pozycja_y_W_1 - y jest wieksze W jak Wieksze set %pozycja_y_W_ . %i ( %pozycja_y_ . %i - %Dystans ) ;%pozycja_y_M_1 - y jest mniejszy M jak Mniejsze set %pozycja_y_M_ . %i ( %pozycja_y_ . %i + %Dystans ) ;event sysmessage %pozycja_y_M_ . %i } return ;----------------------------------------------- sub DoMagazynuiLogout set #menubutton n/a if PetlaKopania in %1 { gosub RysujPrzyciskStart ;click %Click_Przerwij_X %Click_Przerwij_Y set #sysmsgcol %YellowColor event sysmessage Czekam 6s, az postac przestanie kopac. wait 7s } if %logout = 1 set %Wyloguj 1 else set %Wyloguj 0 gosub koniec if #RESULT = PetlaPrzyciskow return PetlaPrzyciskow if #RESULT = gotostart return gotostart if %JestGolem = 1 { event macro 1 0 golem wylacz sie wait 2s } if %Wyloguj = 1 { event macro 20 0 ;klika w logout wait 1s if YesNo_gump in #contname { set %Quit_X #CONTPOSX + 121 set %Quit_Y #CONTPOSY + 86 click %Quit_X %Quit_Y } } return ;--------------------------------------------------- sub WydobywajTylkoRaz ;( nie - 50 powtorzen lub tak - po 1 sztuce ) event macro 1 0 .ustawienia set %TimeUstaw #scnt2 + 20 repeat if %TimeUstaw < #scnt2 { event macro 1 0 .ustawienia set %TimeUstaw #scnt2 + 20 } until 500_470 in #CONTSIZE wait 1s if nie in %1 ; sprawdza czy bedzie kul do 50 powtorzen { set %WydobywajRaz 0 ;bedzie kul do 50 powtorzen savepix %click_X_Ustawienia %click_Y_Ustawienia 1 wait 2 if #pixcol = %WydobycieRazKolorNie { click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij return } if #pixcol = %WydobycieRazKolorTak { click %click_X_Ustawienia %click_Y_Ustawienia repeat until 500_470 in #CONTSIZE wait 1s savepix %click_X_Ustawienia %click_Y_Ustawienia 1 wait 2 if #pixcol = %WydobycieRazKolorNie { click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij return } } } if tak in %1 ; sprawdza czy bedzie kul do 50 powtorzen { set %WydobywajRaz 1 ;bedzie kul po 1 sztuce savepix %click_X_Ustawienia %click_Y_Ustawienia 1 wait 2 if #pixcol = %WydobycieRazKolorTak { click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij return } if #pixcol = %WydobycieRazKolorNie { ;event sysmessage #pixcol = %WydobycieRazKolorNie click %click_X_Ustawienia %click_Y_Ustawienia repeat until 500_470 in #CONTSIZE wait 1s savepix %click_X_Ustawienia %click_Y_Ustawienia 1 wait 2 ;event sysmessage #pixcol = %WydobycieRazKolorTak if #pixcol = %WydobycieRazKolorTak { click %click_X_UstawieniaZamknij %click_Y_UstawieniaZamknij return } } } return BrakPiksela ;----------------------------------------------------- sub NakarmJuczniaki for %i 1 1 { finditem %Id_juczniaka . %i G_1 if #findkind = -1 { event macro 1 0 podejdzcie wait 1s finditem %Id_juczniaka . %i G_1 } set %JukaID . %i #FINDID set %JukaX . %i #FINDX set %JukaY . %i #FINDY set %JukaZ . %i #FINDZ if #findtype = yab ;jesli golem nakarm sztabkami { set %Food ENK_ZPE finditem %Food C_ if #findkind = -1 { set %Food FWI_QQD_TWI_UWI_UQE return } else { for #findindex 1 #findcnt { if #findtype = ENK { event Property #findid wait 2 if zelazo in #property && #findstack > 20 { exevent drag #findid 20 wait 5 exevent dropc #backpackid wait 5 } } } } } else { set %Food FWI_QQD_TWI_UWI_UQE } } for %j 1 1 { finditem %Food C_ , #backpackid if #findkind = -1 { set #sysmsgcol %RedColor event sysmessage Nie masz pokarmu dla juczniakow. return } else { set %Szczesliwe 0 set #sysmsgcol %YellowColor event sysmessage juczniak nr. %j repeat wait 5 finditem %Food C_ , #backpackid if #findkind = -1 { set #sysmsgcol %RedColor event sysmessage Nie masz pokarmu dla juczniakow. return } exevent drag #findid #findstack wait 5 set %jindex #jindex exevent dropc %JukaID . %j wait 5 set %break 0 repeat set %ji #jindex - %jindex for %i 1 %ji { scanjournal %i if szczesliwe in #journal || twe_zwierze in #journal || prawie_pelny in #journal || pelny in #journal { set %Szczesliwe 1 set %break 1 break } if Yum! in #journal || chrup in #journal { set %break 1 break } } if %break = 1 { set %break 0 break } until #false if %Szczesliwe = 1 break ignoreitem #findid until #false } } finditem ENK C_ , #backpackid if #findkind <> -1 { exevent drag #findid #findstack wait 5 exevent dropc %SkrzyniaMagazyn wait 5 } return sub moje_sprawdzanie event macro 1 0 .glod scanjournal 1 if Czujesz_sie_w_pelni_sil in #journal return event sysmessage jem finditem SLI C_ set #lobjectid #findid event macro 17 wait 5 finditem JGI C_ set #lobjectid #findid event macro 17 wait 5 finditem MGG C_ set #lobjectid #findid event macro 17 wait 5 return ;na Polnoc Y maleje ;na Zachod X maleje ;straznicy z minoc: ;SMGEG_ANGEG_BKERD_WJERD_XJERD_ZDDK ;straznicy z mistas ;MMB_GQG_HHH