; 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
Paste Hosted With By Wklejamy.pl