;Autor: [nGz]
;Wersja: 1.2
;Alchemia z menu.
;Ponizsze zmienne mozna edytowac dla wlasnych potrzeb, okreslaja one jak ma byc ustawione menu zaraz po wlaczeniu skryptu.
;%StartMikstura - okresla, ktora mikstura ma byc wybrana na liscie (domyslnie 1, zakres 1-50).
;%StartKociol - okresla, czy pole "Kociol" ma byc zaznaczone (domyslnie #false, #true - zaznaczone, #false - odznaczone).
;%StartIlosc - okresla, jaka wartosc ma byc wpisana w pole "Ilosc" (domyslnie 0, zakres 0-x).
;%StartLiczExpy - okresla, czy pole "Uwzglednij wyjatki w liczeniu" ma byc zaznaczone (domyslnie #false, #true - zaznaczone, #false - odznaczone).
;%StartSkill - okresla, ktory skill ma byc wybrany na liscie "Skill" (domyslnie 1, 1 - Zaden, 2 - Anatomia, 3 - Wiedza o Zwierzetach, 4 - Identyfikacja, 5 - Wiedza o Broni, 6 - Wykrywanie, 7 - Madrosc, 8 - Ukrywanie, 9 - Rozmowa z duchami).
;%SkillPowtorzenia - okresla jak czesto skrypt ma wykonywac skill(co ktore uzycie Alchemii) (domyslnie 1 [czyli po kazdym uzyciu Alchemii], zakres 1-x). Zmienna ta nie wystepuje w menu poniewaz jest ona malo wazna i raczej rzadko kiedy jest potrzeba zmieniania jej.
;========================
set %StartMikstura 1 ;[1-50]
set %StartKociol #false ;[#true, #false]
set %StartIlosc 0 ;[0-x]
set %StartLiczExpy #false ;[#true, #false]
set %StartSkill 1 ;[1-9]
set %SkillPowtorzenia 1 ;[1-x]
;========================
set #lpc 200
set %LicznikPowtorzen %SkillPowtorzenia
set %MenuSizeX 260
set %MenuSizeY 340
menu hide
menu clear
menu window color btnface
menu window size %MenuSizeX %MenuSizeY
menu window title Menu Alchemii by [nGz] v1.2
menu font name verdana
menu font size 8
menu font color black
menu font bgcolor white
menu font style
;================== Mikstury ====================
set %ComboMiksturyWidth %MenuSizeX - 20
menu combo create mikstury 10 10 %ComboMiksturyWidth
menu combo add mikstury Mikstury:
menu combo add mikstury ----------------------------------
menu combo add mikstury To co ostatnio
menu combo add mikstury Leczenie:
menu combo add mikstury - #spc , slaba mikstura leczenia
menu combo add mikstury - #spc , mikstura leczenia
menu combo add mikstury - #spc , mocna mikstura leczenia
menu combo add mikstury Trucizny:
menu combo add mikstury - #spc , slaba trujaca mikstura
menu combo add mikstury - #spc , trujaca mikstura
menu combo add mikstury - #spc , mocna trujaca mikstura
menu combo add mikstury - #spc , zabojcza trujaca mikstura
menu combo add mikstury Uzdrowienia:
menu combo add mikstury - #spc , slaba mikstura uzdrowienia
menu combo add mikstury - #spc , mikstura uzdrowienia
menu combo add mikstury - #spc , mocna mikstura uzdrowienia
menu combo add mikstury Zrecznosci:
menu combo add mikstury - #spc , slaba mikstura zrecznosci
menu combo add mikstury - #spc , mikstura zrecznosci
menu combo add mikstury - #spc , mocna mikstura zrecznosci
menu combo add mikstury Sily:
menu combo add mikstury - #spc , slaba mikstura sily
menu combo add mikstury - #spc , mikstura sily
menu combo add mikstury - #spc , mocna mikstura sily
menu combo add mikstury Wybuchowe:
menu combo add mikstury - #spc , slaba wybuchajaca mikstura
menu combo add mikstury - #spc , wybuchajaca mikstura
menu combo add mikstury - #spc , mocna wybuchajaca mikstura
menu combo add mikstury Odswiezania:
menu combo add mikstury - #spc , odswiezajaca mikstura
menu combo add mikstury - #spc , mocna odswiezajaca mikstura
menu combo add mikstury Oslabienia:
menu combo add mikstury - #spc , slaba mikstura oslabienia
menu combo add mikstury - #spc , mikstura oslabienia
menu combo add mikstury - #spc , mocna mikstura oslabienia
menu combo add mikstury Inne:
menu combo add mikstury - #spc , mikstura jasnosci
menu combo add mikstury - #spc , elixir czystej krwi
menu combo add mikstury - #spc , mikstura oslepienia
menu combo add mikstury - #spc , mikstura ochrony przed trucizna
menu combo add mikstury - #spc , mikstura many
menu combo add mikstury - #spc , mikstura przemiany
menu combo add mikstury - #spc , mikstura na wyleczenie wilkolactwa
menu combo add mikstury Eliksiry:
menu combo add mikstury - #spc , slaby eliksir zycia
menu combo add mikstury - #spc , eliksir zycia
menu combo add mikstury - #spc , slaby eliksir many
menu combo add mikstury - #spc , eliksir many
menu combo add mikstury - #spc , slaby eliksir wytrzymalosci
menu combo add mikstury - #spc , eliksir wytrzymalosci
menu combo select mikstury %StartMikstura
;================== Skille ====================
set %SkillTxtX 10
set %SkillTxtY 165
set %SkillComboX %SkillTxtX + 36
set %SkillComboY %SkillTxtY - 3
menu combo create cskill %SkillComboX %SkillComboY 150
menu combo add cskill Zaden
menu combo add cskill Anatomia
menu combo add cskill Wiedza o Zwierzetach
menu combo add cskill Identyfikacja
menu combo add cskill Wiedza o Broni
menu combo add cskill Wykrywanie
menu combo add cskill Madrosc
menu combo add cskill Ukrywanie
menu combo add cskill Rozmowa z duchami
menu combo select cskill %StartSkill
;================== Ilosc ======================
set %Prostokat1X 4
set %Prostokat1Y 59
set %TxtIloscX %Prostokat1X + 6
set %TxtIloscY %Prostokat1Y + 6
set %LiczbaMiksowEditX %TxtIloscX + 36
set %LiczbaMiksowEditY %TxtIloscY - 3
set %ZeroInfTxtX %LiczbaMiksowEditX + 46
set %ChLiczExpyY %Prostokat1Y + 29
set %Kreska1X %Prostokat1X + 1
set %Kreska1Y %Prostokat1Y + 26
set %Kreska2Y %Prostokat1Y + 56
set %UwagaTxtX %Prostokat1X + 3
set %Uwaga1TxtY %Kreska2Y + 1
set %Uwaga2TxtY %Uwaga1TxtY + 12
set %Uwaga3TxtY %Uwaga2TxtY + 12
menu edit liczbamiksow %LiczbaMiksowEditX %LiczbaMiksowEditY 41 %StartIlosc
menu font bgcolor btnface
menu text txtilosc %TxtIloscX %TxtIloscY Ilosc:
menu shape prostokat1 %Prostokat1X %Prostokat1Y 252 97 3 7 1 black 2 black
menu shape kreska1 %Kreska1X %Kreska1Y 250 1 3 7 1 black 2 black
menu shape kreska2 %Kreska1X %Kreska2Y 250 1 3 7 1 black 2 black
menu font size 7
menu check liczexpy %TxtIloscX %ChLiczExpyY 245 25 %StartLiczExpy Uwzglednij wyjatki w liczeniu (przy uzywaniu mozdzierza)
menu text zeroinf %ZeroInfTxtX %TxtIloscY (0 = nieskonczonosc)
menu text uwaga1 %UwagaTxtX %Uwaga1TxtY Uwaga: w przypadku uzywania mozdzierza "Ilosc"
menu text uwaga2 %UwagaTxtX %Uwaga2TxtY oznacza ilosc roztartych mikstur. Natomiast w
menu text uwaga3 %UwagaTxtX %Uwaga3TxtY przypadku kotla oznacza ona ilosc udanych prob.
menu font size 8
;==============================================
menu check kociol 10 38 60 15 %StartKociol Kociol
menu text txtskill %SkillTxtX %SkillTxtY Skill:
;=================== Status ===================
set %Prostokat2X 14
set %Prostokat2Y 194
set %ProstokatStatusW 232
set %ProstokatStatusH 85
set %ProstokatStanH 28
set %Prostokat3Y %Prostokat2Y + %ProstokatStatusH - 1
set %StatusTxtX ( %ProstokatStatusW / 2 ) + %Prostokat2X - 21
set %StatusTxtY %Prostokat2Y - 7
set %Prostokat4X %StatusTxtX - 1
set %Prostokat4Y %StatusTxtY - 1
set %SMiksyTxtX %Prostokat2X + 13
set %SMiksyTxtY %Prostokat2Y + 7
set %SNarzedzieTxtX %Prostokat2X + 5
set %SNarzedzieTxtY %Prostokat2Y + 22
set %SNarzedzieNazwaOKX %SNarzedzieTxtX + 86
set %SNarzedzieNazwaBladX %SNarzedzieTxtX + 98
set %SNarzedzieNazwaY %SNarzedzieTxtY + 1
set %SIloscTxtX %Prostokat2X + 34
set %SIloscTxtY %Prostokat2Y + 37
set %SIloscStatusMiksCntX %SIloscTxtX + 117
set %SIloscStatusNieskY %SIloscTxtY + 1
set %SLiczExpyTxtX %Prostokat2X + 8
set %SLiczExpyTxtY %Prostokat2Y + 52
set %SSkillTxtX %Prostokat2X + 37
set %SSkillTxtY %Prostokat2Y + 67
set %SSkillStatusY %SSkillTxtY + 1
set %SAllStatusX %SMiksyTxtX + 58
set %SStanTxtX %Prostokat2X + 32
set %SStanTxtY %Prostokat3Y + %ProstokatStanH / 2 - 7
set %SStan2lvlTxtY1 %SStanTxtY - 6
set %SStan2lvlTxtY2 %SStanTxtY + 6
menu shape prostokat2 %Prostokat2X %Prostokat2Y %ProstokatStatusW %ProstokatStatusH 3 7 1 blue 7 $F0F0E9
menu shape prostokat3 %Prostokat2X %Prostokat3Y %ProstokatStatusW %ProstokatStanH 3 7 1 blue 7 $C0F0C0
menu shape prostokat4 %Prostokat4X %Prostokat4Y 43 15 3 7 1 blue 7 $F0F0E9
menu font transparent #true
menu font style b
menu text txtstatus %StatusTxtX %StatusTxtY Status
menu text txtstan %SStanTxtX %SStanTxtY Stan:
menu font style
menu font bgcolor btnface
menu text txtsmiksy %SMiksyTxtX %SMiksyTxtY Mikstura:
menu text txtsnarzedzie %SNarzedzieTxtX %SNarzedzieTxtY Narzedzie:
menu text txtsilosc %SIloscTxtX %SIloscTxtY Ilosc:
menu text txtsliczexpy %SLiczExpyTxtX %SLiczExpyTxtY Licz Expy:
menu text txtsskill %SSkillTxtX %SSkillTxtY Skill:
;==============================================
set %AnulujBtnX %MenuSizeX - 74
set %AnulujStopBtnY %MenuSizeY - 29
menu button anuluj %AnulujBtnX %AnulujStopBtnY 70 25 Anuluj
menu font style b
gosub ButtonStart
menu show
menu hideEuo
gosub StatusStan Oczekuje
;==============================================
PetlaGlowna:
set #lpc 10
set #menubutton N/A
repeat
if #menubutton <> N/A
goto #menubutton
until #false
Start:
set #lpc 200
gosub ClearStatus
gosub StatusStan Inicjalizacja
gosub NrMikstury
if ! %NrMikstury && %NrMikstury <> last
{
gosub BladMikstura
gosub StatusStan Oczekuje
goto PetlaGlowna
}
gosub OKMikstura
gosub FindNarzedzie
if #findkind = -1
{
gosub BladNarzedzie
gosub StatusStan Oczekuje
goto PetlaGlowna
}
gosub OKNarzedzie
gosub PobierzIlosc
gosub StatusIlosc
if %Ilosc = Blad
{
gosub StatusStan Oczekuje
goto PetlaGlowna
}
gosub StatusLiczExpy
gosub PobierzSkill
gosub StatusSkill
if %SkillName = Blad
{
gosub StatusStan Oczekuje
goto PetlaGlowna
}
gosub ButtonStop
gosub UstawCelSkilla
if #menubutton = Stop
goto Stop
if %CelSkilla = _Blad
{
gosub ButtonStart
gosub StatusStan Oczekuje
goto PetlaGlowna
}
gosub UstawXYmikstury
set #lpc 10
gosub Alchemia
if #menubutton = Stop || #menubutton = CLOSED || #menubutton = Anuluj
goto #menubutton
gosub ButtonStart
goto PetlaGlowna
Stop:
gosub ClearStatus
gosub ButtonStart
gosub StatusStan Oczekuje
goto PetlaGlowna
;======================= Alchemia =========================
sub Alchemia
set %RezultatS N/A
set #menubutton N/A
set %JIndexAlch N/A
PetlaAlchemii:
if #menubutton <> N/A
return
if %SkillName <> Zaden
{
if %LicznikPowtorzen = %SkillPowtorzenia
{
gosub StatusStan UseSkill
gosub %SkillName
}
set %LicznikPowtorzen %LicznikPowtorzen - 1
if %LicznikPowtorzen <= 0
set %LicznikPowtorzen %SkillPowtorzenia
}
if #menubutton <> N/A
return
gosub StatusStan ChooseMix
set %CntUseNarzedzie 0
set %CntPonownychKlikow 0
FindNarzedzie:
set %CntUseNarzedzie %CntUseNarzedzie + 1
if %CntUseNarzedzie > 40
{
gosub StatusStan BladUseNarzedzie
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
if %nazwaNarzedzia = (kociol)
finditem %TypNarzedzia G_1
else
finditem %TypNarzedzia C
if #findkind = -1
{
gosub BladNarzedzie
gosub StatusStan Oczekuje
return
}
set #lobjectid #findid
event macro 17
set %Timer #scnt2 + 4
repeat
if %Timer < #scnt2
goto FindNarzedzie
if #menubutton <> N/A
{
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
scanjournal 1
if Twa_wiedza_o_alchemii_jest_za_mala_by_wiedziec_jak_to_uzyc in #journal
{
gosub StatusStan Alch_malo_kociol
return
}
if Zapisywanie_Stanu_Swiata in #journal
gosub WaitForSaveEnd %Timer Timer
until #contname = generic_gump && #contsize = 540_420
if %JIndexAlch = N/A
set %JIndexAlch #jindex
;wait 1
set %CntUseNarzedzie 0
set %CntKlikow 0
Kliki:
set %CntKlikow %CntKlikow + 1
if %CntKlikow > 3
{
set %CntPonownychKlikow %CntPonownychKlikow + 1
if %CntPonownychKlikow > 5
{
gosub StatusStan BladChooseMix
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
goto FindNarzedzie
}
if #menubutton <> N/A
{
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
click %x1 %y1
if %NrMikstury <> last
{
set %Timer #scnt2 + 30
repeat
if %Timer < #scnt2
goto Kliki
if #menubutton <> N/A
{
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
until #contname = generic_gump && #contsize = 540_420
;wait 1
click %x2 %y2
}
set %Timer #scnt2 + 20
repeat
if %Timer < #scnt2
goto Kliki
if #menubutton <> N/A
{
if #contname = generic_gump && #contsize = 540_420 && #contposx > -248 && #contposx < 251 && #contposy > -190 && #contposy < 187
click 285 225 r
return
}
until #contname <> generic_gump || #contsize <> 540_420
if %NrMikstury <> last
{
set %NrMikstury last
gosub UstawXYmikstury
}
gosub StatusStan WaitingForMixEnd
if %nazwaNarzedzia = (kociol)
set %Timer #scnt2 + 185
else
set %Timer #scnt2 + 125
repeat
if #menubutton <> N/A
return
until #jindex <> %JIndexAlch || %Timer < #scnt2
repeat
if #menubutton <> N/A
return
scanjournal 1
if ( _zenszen in #journal || _wilcze_jagody in #journal || _czosnek in #journal || _krwawy_mech in #journal || _mandragora in #journal || _siarka in #journal || _czarne_perly in #journal || _obsydian in #journal || _pajecze_sieci in #journal || _rubiny in #journal || _otoczak in #journal || _zyzna_gleba in #journal ) && #jcolor = 40 || Nie_masz_pustych_butelek in #journal || Masz_za_malo_butelek in #journal
{
gosub Brak_SkladnikowButelek
if %i <> 13
return
scanjournal 1
}
if Zapisywanie_Stanu_Swiata in #journal
gosub WaitForSaveEnd %Timer Timer
until %Timer < #scnt2 || Oddalil in #journal || s_miksture_i_wlozyl in #journal || Nie_udalo_Ci_sie_rozetrzec_skladnikow in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal || _mikstur_w_kotle in #journal || Your_skill_in_Alch in #journal
set %JIndexAlch #jindex
if Oddalil in #journal
goto FindNarzedzie
if Your_skill_in_Alch in #journal
{
for %i 1 3
{
scanjournal %i
if s_miksture_i_wlozyl in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal || _mikstur_w_kotle in #journal
break
}
if %i = 4
scanjournal 1
}
if s_miksture_i_wlozyl in #journal || s_wyjatkowej_jakosci_miksture_i_wlozyl in #journal && %LiczExpy || _mikstur_w_kotle in #journal
{
if %Ilosc <> Nieskonczonosc
{
set %Ilosc %Ilosc - 1
gosub StatusIlosc
if %Ilosc = 0
{
gosub StatusStan Skonczono
return
}
}
if %Ilosc = Nieskonczonosc
{
set %MiksCnt %MiksCnt + 1
gosub StatusSetMiksCnt
}
}
goto PetlaAlchemii
;==================================================================
sub WaitForSaveEnd
set %TimerSave #scnt2 + 1000
repeat
scanjournal 1
until Zapisywanie_Stanu_Swiata notin #journal && ( You_see:_ notin #journal || #jcolor <> 995 ) || %TimerSave < #scnt2
set % , %2 %1 + 1005 - ( %TimerSave - #scnt2 )
return
sub Brak_SkladnikowButelek
set %JournalMem #journal
set %i 0
if Nie_masz_pustych_butelek notin #journal && Masz_za_malo_butelek notin #journal
{
for %i 1 12
{
scanjournal %i
if #journal = Potrzebujesz: && #jcolor = 40
break
}
}
if %i <> 13
gosub StatusStan %JournalMem
return
;==================================================================
sub UstawXYmikstury
if %NrMikstury = last
{
set %x1 510
set %y1 60
return
}
if %NrMikstury >= 1 && %NrMikstury <= 3
set %x1 118
if %NrMikstury >= 4 && %NrMikstury <= 7
set %x1 218
if %NrMikstury >= 8 && %NrMikstury <= 10
set %x1 338
if %NrMikstury >= 11 && %NrMikstury <= 13
set %x1 448
if %NrMikstury >= 14 && %NrMikstury <= 16
set %x1 513
if %NrMikstury >= 17 && %NrMikstury <= 19
set %x1 143
if %NrMikstury >= 20 && %NrMikstury <= 21
set %x1 263
if %NrMikstury >= 22 && %NrMikstury <= 24
set %x1 368
if %NrMikstury >= 25 && %NrMikstury <= 31
set %x1 428
if %NrMikstury >= 32 && %NrMikstury <= 37
set %x1 513
if %NrMikstury >= 1 && %NrMikstury <= 16
set %y1 114
if %NrMikstury >= 17 && %NrMikstury <= 37
set %y1 385
if %NrMikstury = 1 || %NrMikstury = 8 || %NrMikstury = 11 || %NrMikstury = 14 || %NrMikstury = 17 || %NrMikstury = 22 2
set %x2 314
set %y2 210
if %NrMikstury = 2 || %NrMikstury = 6 || %NrMikstury = 9 || %NrMikstury = 12 || %NrMikstury = 15 || %NrMikstury = 18 || %NrMikstury = 23 2
set %x2 184
set %y2 300
if %NrMikstury = 3 || %NrMikstury = 7 || %NrMikstury = 10 || %NrMikstury = 13 || %NrMikstury = 16 || %NrMikstury = 19 || %NrMikstury = 24 2
set %x2 394
set %y2 300
if %NrMikstury = 4 2
set %x2 184
set %y2 210
if %NrMikstury = 5 2
set %x2 394
set %y2 210
if %NrMikstury = 20 2
set %x2 184
set %y2 250
if %NrMikstury = 21 2
set %x2 394
set %y2 250
if %NrMikstury = 25 2 ;jasnosci
set %x2 114
set %y2 210
if %NrMikstury = 26 2
set %x2 284
set %y2 195
if %NrMikstury = 27 2
set %x2 444
set %y2 210
if %NrMikstury = 28 2
set %x2 284
set %y2 265
if %NrMikstury = 29 2
set %x2 114
set %y2 300
if %NrMikstury = 30 2
set %x2 444
set %y2 300
if %NrMikstury = 31 2
set %x2 284
set %y2 330
if %NrMikstury = 32 2
set %x2 154
set %y2 210
if %NrMikstury = 33 2
set %x2 154
set %y2 305
if %NrMikstury = 34 2
set %x2 294
set %y2 210
if %NrMikstury = 35 2
set %x2 294
set %y2 305
if %NrMikstury = 36 2
set %x2 434
set %y2 210
if %NrMikstury = 37 2
set %x2 434
set %y2 305
return
;========================== Skille ============================
sub Anatomia
set %SkroconaNazwa ana
gosub UzyjSkillaZTargetem
if #targcurs = 1
key ESC
return
sub AnimalLore
set %SkroconaNazwa wie
gosub UzyjSkillaZTargetem
set %TimerAL #scnt2 + 30
repeat
scanjournal 1
until _na_oswojenie_tego_zwierza in #journal || Nie_masz_szans_by_je_oswoic in #journal || To_stworzenie_ in #journal || Nie_udalo_Ci_sie_ocenic_tego_zwierzecia in #journal || Nie_wiesz_jak_to_ocenic in #journal || Stoisz_za_daleko in #journal || %TimerAL < #scnt2 || %RezultatS = Blad_Cel || #menubutton <> N/A
if %RezultatS <> Blad_Cel && #menubutton = N/A
{
if _na_oswojenie_tego_zwierza in #journal || Nie_masz_szans_by_je_oswoic in #journal
{
set %TimerAL #scnt2 + 9
repeat
scanjournal 1
until To_stworzenie_ in #journal || %TimerAL < #scnt2 || #menubutton <> N/A
}
if To_stworzenie_ in #journal
{
set %TimerAL #scnt2 + 8
repeat
until %TimerAL < #scnt2 || #menubutton <> N/A
}
}
if #targcurs = 1
key ESC
return
sub Ident
set %SkroconaNazwa ide
gosub UzyjSkillaZTargetem
if #targcurs = 1
key ESC
return
sub ArmsLore
set %SkroconaNazwa bro
gosub UzyjSkillaZTargetem
if #targcurs = 1
key ESC
return
sub Wykrywanie
set %JIndexSkill #jindex
WykrywanieLoop:
event macro 1 0 .um wyk
set %TimerSkilla #scnt2 + 10
repeat
if %TimerSkilla < #scnt2
goto WykrywanieLoop
if #menubutton <> N/A
return
until #jindex <> %JIndexSkill
set %TimerSkilla #scnt2 + 4
repeat
if %TimerSkilla < #scnt2
goto WykrywanieLoop
if #menubutton <> N/A
return
scanjournal 1
if Zapisywanie_Stanu_Swiata in #journal
wait 120
until Nie_znalazl in #journal || :_Znalazl in #journal || Your_skill_in_Wyk in #journal || Your_skill_in_Det in #journal
return
sub Madrosc
set %SkroconaNazwa mad
gosub UzyjSkillaZTargetem
if #targcurs = 1
key ESC
return
sub Ukrywanie
if H in #charstatus
set %BylUkryty #true
else
set %BylUkryty #false
set %JIndexSkill #jindex
UkrywanieLoop:
event macro 1 0 .um ukr
set %TimerSkilla #scnt2 + 10
repeat
if %TimerSkilla < #scnt2
goto UkrywanieLoop
if #menubutton <> N/A
return
until #jindex <> %JIndexSkill
set %TimerSkilla #scnt2 + 4
repeat
if %TimerSkilla < #scnt2
goto UkrywanieLoop
if #menubutton <> N/A
return
if H notin #charstatus
set %BylUkryty #false
scanjournal 1
if Zapisywanie_Stanu_Swiata in #journal
wait 120
until ( H in #charstatus && ! %BylUkryty ) || ukryl in #journal || nie_udalo_Ci_sie_ukryc in #journal || Nie_uda_Ci_sie_schowac_wierzchowca in #journal || Wrog_Cie_juz in #journal || Your_skill_in_Ukr in #journal || Your_skill_in_Hid in #journal
return
sub SpiritSpeak
set %JIndexSkill #jindex
SpiritSLoop:
event macro 1 0 .um roz
set %TimerSkilla #scnt2 + 10
repeat
if %TimerSkilla < #scnt2
goto SpiritSLoop
if #menubutton <> N/A
return
until #jindex <> %JIndexSkill
set %TimerSkilla #scnt2 + 4
repeat
if %TimerSkilla < #scnt2
goto SpiritSLoop
if #menubutton <> N/A
return
scanjournal 1
if Zapisywanie_Stanu_Swiata in #journal
wait 120
until _z_drugim_swiatem. in #journal || Your_skill_in_Roz in #journal || Your_skill_in_Spi in #journal
return
sub UzyjSkillaZTargetem
UzyjSkilla:
gosub SprawdzCel
if %RezultatS = Blad_Cel || #menubutton <> N/A
return
event macro 1 0 .um %SkroconaNazwa
set %TimerSkilla #scnt2 + 4
repeat
if %TimerSkilla < #scnt2
goto UzyjSkilla
scanjournal 1
if Zapisywanie_Stanu_Swiata in #journal
wait 120
if #menubutton <> N/A
return
until #targcurs = 1
CelownikSkilla:
set #ltargetid %CelSkilla
set #ltargetkind 1
gosub SprawdzCel
if %RezultatS = Blad_Cel || #menubutton <> N/A
return
event macro 22
set %TimerSkilla #scnt2 + 2
repeat
if %TimerSkilla < #scnt2
goto CelownikSkilla
if #menubutton <> N/A
return
until #targcurs = 0
return
sub SprawdzCel
finditem %CelSkilla
if #findkind = -1 && %RezultatS <> Blad_Cel
{
gosub StatusCelSkilla Blad
set %RezultatS Blad_Cel
}
if #findkind <> -1 && %RezultatS = Blad_Cel
{
gosub StatusCelSkilla OK
set %RezultatS OK
}
return
;============================================================
sub ButtonStart
menu font color black
menu delete stop
menu button start 4 %AnulujStopBtnY 70 25 START
return
sub ButtonStop
menu font color black
menu delete start
menu button stop 4 %AnulujStopBtnY 70 25 STOP
return
sub OKMikstura
menu font color green
menu delete statusMikstura
menu text statusMikstura %SAllStatusX %SMiksyTxtY OK
return
sub BladMikstura
menu font color red
menu delete statusMikstura
menu text statusMikstura %SAllStatusX %SMiksyTxtY Blad
return
sub OKNarzedzie
menu font color green
menu delete statusNarzedzie
menu text statusNarzedzie %SAllStatusX %SNarzedzieTxtY OK
menu font style
menu font size 7
menu text statusNarzedzie %SNarzedzieNazwaOKX %SNarzedzieNazwaY %nazwaNarzedzia
menu font size 8
menu font style b
return
sub BladNarzedzie
menu font color red
menu delete statusNarzedzie
menu text statusNarzedzie %SAllStatusX %SNarzedzieTxtY Blad
menu font style
menu font size 7
menu text statusNarzedzie %SNarzedzieNazwaBladX %SNarzedzieNazwaY %nazwaNarzedzia
menu font size 8
menu font style b
return
sub StatusIlosc
if %Ilosc = Blad
menu font color red
else
menu font color green
menu delete statusIlosc
if %Ilosc = Nieskonczonosc
{
menu font size 7
menu text statusIlosc %SAllStatusX %SIloscStatusNieskY %Ilosc
gosub StatusSetMiksCnt
;menu font size 8
}
else
menu text statusIlosc %SAllStatusX %SIloscTxtY %Ilosc
if %Ilosc <> Blad && %Ilosc <> Nieskonczonosc
menu set liczbamiksow %Ilosc
return
sub StatusSetMiksCnt
menu font color green
menu font size 7
menu delete statusIloscMiksCnt
menu text statusIloscMiksCnt %SIloscStatusMiksCntX %SIloscStatusNieskY ( , %MiksCnt , )
menu font size 8
return
sub StatusLiczExpy
menu get liczexpy
set %LiczExpy #menures
menu font color blue
menu delete statusLiczExpy
if #menures
menu text statusLiczExpy %SAllStatusX %SLiczExpyTxtY Tak
else
menu text statusLiczExpy %SAllStatusX %SLiczExpyTxtY Nie
return
sub StatusSkill
if %SkillName = Blad
menu font color red
else
{
menu font color green
menu font size 7
}
menu delete statusSkill
menu text statusSkill %SAllStatusX %SSkillStatusY %SkillName
if %SkillName <> Blad
menu font size 8
return
sub StatusCelSkilla
menu font size 7
menu delete statusCelSkilla
if %1 = Wybierz
{
menu font color blue
menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (Wybierz Cel)
}
if %1 = Blad
{
menu font color red
menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (Blad)
}
if %1 = OK
{
menu font color green
menu text statusCelSkilla %SCelSkillaX %SSkillStatusY (OK)
}
menu font size 8
return
sub StatusStan
menu delete statusStan
if %1 = ChooseMix
{
menu font color $806000
menu text statusStan %SAllStatusX %SStanTxtY Wybieram miksture
return
}
if %1 = WaitingForMixEnd
{
menu font size 7
menu font color $006000
menu text statusStan %SAllStatusX %SStanTxtY Czekam az zrobi miksture
menu font size 8
return
}
if %1 = UseSkill
{
menu font color $00C000
menu text statusStan %SAllStatusX %SStanTxtY Skill ( , %SkillName , )
return
}
if %1 = Inicjalizacja
{
menu font color $C000D0
menu text statusStan %SAllStatusX %SStanTxtY %1
return
}
if %1 = Oczekuje
{
menu font color $F09000
menu text statusStan %SAllStatusX %SStanTxtY %1
return
}
if %1 = Skonczono
{
menu font color $F00000
menu text statusStan %SAllStatusX %SStanTxtY %1
return
}
if _zenszen in %1 || _wilcze_jagody in %1 || _czosnek in %1 || _krwawy_mech in %1 || _mandragora in %1 || _siarka in %1 || _czarne_perly in %1 || _obsydian in %1 || _pajecze_sieci in %1 || _rubiny in %1 || _otoczak in %1 || _zyzna_gleba in %1
{
menu font color red
menu text statusStan %SAllStatusX %SStanTxtY Brak skladnikow
return
}
if Nie_masz_pustych_butelek in %1
{
menu font color red
menu text statusStan %SAllStatusX %SStanTxtY Brak butelek
return
}
if Masz_za_malo_butelek in %1
{
menu font color red
menu text statusStan %SAllStatusX %SStanTxtY Za malo butelek
return
}
if %1 = BladChooseMix
{
menu font size 7
menu font color red
menu text statusStan %SAllStatusX %SStanTxtY Nie moge wybrac mikstury
menu font size 8
return
}
if %1 = BladUseNarzedzie
{
menu font size 7
menu font color red
menu text statusStan %SAllStatusX %SStan2lvlTxtY1 Nie moge uzyc narzedzia
menu text statusStan %SAllStatusX %SStan2lvlTxtY2 %nazwaNarzedzia
menu font size 8
return
}
if %1 = Alch_malo_kociol
{
menu font size 7
menu font color red
menu text statusStan %SAllStatusX %SStanTxtY Za malo alchemii na kociol
menu font size 8
}
return
;===============================================================
sub NrMikstury
menu get mikstury
if #menures < 3 || #menures = 4 || #menures = 8 || #menures = 13 || #menures = 17 || #menures = 21 || #menures = 25 || #menures = 29 || #menures = 32 || #menures = 36 || #menures = 44 || #menures > 50
set %NrMikstury 0
else
{
if #menures = 3
set %NrMikstury last
if #menures > 4 && #menures < 8
set %NrMikstury #menures - 4
if #menures > 8 && #menures < 13
set %NrMikstury #menures - 5
if #menures > 13 && #menures < 17
set %NrMikstury #menures - 6
if #menures > 17 && #menures < 21
set %NrMikstury #menures - 7
if #menures > 21 && #menures < 25
set %NrMikstury #menures - 8
if #menures > 25 && #menures < 29
set %NrMikstury #menures - 9
if #menures > 29 && #menures < 32
set %NrMikstury #menures - 10
if #menures > 32 && #menures < 36
set %NrMikstury #menures - 11
if #menures > 36 && #menures < 44
set %NrMikstury #menures - 12
if #menures > 44 && #menures < 51
set %NrMikstury #menures - 13
}
return
sub FindNarzedzie
menu get kociol
if #menures
{
set %TypNarzedzia tmd_umd
finditem %TypNarzedzia G_1
set %nazwaNarzedzia (kociol)
}
else
{
set %TypNarzedzia rqf
finditem %TypNarzedzia C
set %nazwaNarzedzia (mozdzierz)
}
return
sub PobierzIlosc
menu get liczbamiksow
if #menures > 0
set %Ilosc #menures
else
{
if #menures = 0
{
set %Ilosc Nieskonczonosc
set %MiksCnt 0
}
else
set %Ilosc Blad
}
return
sub PobierzSkill
menu get cskill
if #menures < 1 || #menures > 9
set %SkillName Blad
else
{
if #menures = 1
set %SkillName Zaden
if #menures = 2
{
set %SkillName Anatomia
set %SCelSkillaX %SAllStatusX + 53
}
if #menures = 3
{
set %SkillName AnimalLore
set %SCelSkillaX %SAllStatusX + 61
}
if #menures = 4
{
set %SkillName Ident
set %SCelSkillaX %SAllStatusX + 33
}
if #menures = 5
{
set %SkillName ArmsLore
set %SCelSkillaX %SAllStatusX + 52
}
if #menures = 6
set %SkillName Wykrywanie
if #menures = 7
{
set %SkillName Madrosc
set %SCelSkillaX %SAllStatusX + 44
}
if #menures = 8
set %SkillName Ukrywanie
if #menures = 9
set %SkillName SpiritSpeak
}
return
sub UstawCelSkilla
set #menubutton N/A
set %CelSkilla 0
if %SkillName in Zaden_Ident_Wykrywanie_Ukrywanie_SpiritSpeak
{
if %SkillName = Ident
{
finditem %TypNarzedzia
if #findkind = -1
{
set %CelSkilla _Blad
gosub StatusCelSkilla Blad
}
else
{
set %CelSkilla #findid
gosub StatusCelSkilla OK
}
}
return
}
wait 10
gosub StatusCelSkilla Wybierz
if #targcurs = 1
key ESC
set #targcurs 1
set #sysmsgcol 1152
event sysmessage Wskaz Cel skilla: %SkillName
PetlaUstawCelSkilla:
repeat
onhotkey ESC
goto Wcisnieto_ESC
if #menubutton <> N/A
{
set #targcurs 0
set #sysmsgcol 1080
event sysmessage Anulowano.
if #menubutton = Stop
return
if #menubutton = CLOSED || #menubutton = Anuluj
goto #menubutton
}
until #targcurs = 0
onhotkey ESC
{
Wcisnieto_ESC:
if #targcurs = 1
goto PetlaUstawCelSkilla
set %CelSkilla _Blad
gosub StatusCelSkilla Blad
set #sysmsgcol 1080
event sysmessage Nie wskazales celu.
return
}
set %CelSkilla #ltargetid
gosub StatusCelSkilla OK
return
sub ClearStatus
menu delete statusMikstura
menu delete statusNarzedzie
menu delete statusIlosc
menu delete statusIloscMiksCnt
menu delete statusLiczExpy
menu delete statusSkill
menu delete statusCelSkilla
return
Anuluj:
menu hide
Closed:
halt
Darmowy hosting zapewnia PRV.PL