Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Autor: [nGz]
- ;%Roslina moze miec wartosc jedna z nastepujacych: dynia, arbuz, marchewka, cebula, rzepa, salata, kapusta, kukurydza, len, chmiel, pszenica, bawelna, winogrona.
- ;%Skill 0-nic, 1-Anatomia, 2-Madrosc, 3-Wiedza o zwierzetach, 4-Ukrywanie, 5-Wiedza o broni, 6-Wykrywanie.
- ;%SkillPowtorzenia - okresla co ktora probe scinania ma robic skilla umyslowego (domyslnie 1 - co kazde scinanie).
- ;======================
- set %Roslina bawelna
- set %Skill 0
- set %SkillPowtorzenia 1
- ;======================
- set #sysmsgcol 0
- event sysmessage Stan na ktoryms rogu prostokata w ktorym ma szukac rosliny i wcisnij play w euo.
- pause
- set %Xe #charposx
- set %Ye #charposy
- event sysmessage Teraz stan na przeciwleglym rogu tego prostokata i wcisnij play.
- pause
- set %Xs #charposx
- set %Ys #charposy
- set #lpc 200
- if %Skill <> 0
- {
- set %LicznikPowtorzen %SkillPowtorzenia
- set %CelSkilla 0
- if %Skill = 1
- set %SkillName Anatomia
- if %Skill = 2
- set %SkillName Madrosc
- if %Skill = 3
- set %SkillName AnimalLore
- if %Skill = 4
- set %SkillName Ukrywanie
- if %Skill = 5
- set %SkillName ArmsLore
- if %Skill = 6
- set %SkillName Wykrywanie
- }
- set %null
- set %bok1 %Xs - %Xe abs
- set %bok2 %Ys - %Ye abs
- if %bok1 > %bok2
- {
- set %n_start %Ys
- set %n_end %Ye
- set %m_start %Xs
- set %m_end %Xe
- }
- else
- {
- set %n_start %Xs
- set %n_end %Xe
- set %m_start %Ys
- set %m_end %Ye
- }
- tile Init
- for %n %n_start %n_end
- {
- set %Row 0
- for %m %m_start %m_end
- {
- gosub ZapiszXY
- tile Cnt %x %y
- for %i 1 #tilecnt
- {
- tile Get %x %y %i
- if %Roslina in #tilename && ( Background in #tileflags || #tileflags = %null )
- {
- set #lpc 10
- gosub Podejdz
- if #result
- gosub Scinaj
- else
- {
- set #sysmsgcol 1080
- event sysmessage Nie udalo mi sie dostac do rosliny.
- set #sysmsgcol 0
- event sysmessage Szukam nastepnej.
- }
- set #lpc 200
- if %Row = 0
- set %Row 1
- break
- }
- }
- }
- if %Row = 1
- {
- set %temp %m_start
- set %m_start %m_end
- set %m_end %temp
- }
- }
- set #sysmsgcol 0
- event sysmessage Koniec.
- halt
- sub ZapiszXY
- if %bok1 > %bok2
- {
- set %x %m
- set %y %n
- }
- else
- {
- set %x %n
- set %y %m
- }
- return
- sub Podejdz
- Idz:
- set %JIndex #jindex
- event pathfind %x %y #tilez
- set %Timer #scnt2 + 15
- repeat
- if %Timer < #scnt2
- goto Idz
- scanjournal 1
- until ( #journal = Pathfinding! || #journal = Can't_get_there ) && #jindex <> %JIndex
- if #journal = Can't_get_there
- return #false
- set %Timer 0
- set %Char_x_old -1
- set %Char_y_old -1
- repeat
- if %Timer < #scnt2
- {
- if %Char_x_old = #charposx && %Char_y_old = #charposy
- goto Idz
- set %Char_x_old #charposx
- set %Char_y_old #charposy
- set %Timer #scnt2 + 40
- }
- until #charposx = %x && #charposy = %y
- return #true
- sub Scinaj
- PetlaScinania:
- if %LicznikPowtorzen = %SkillPowtorzenia && %Skill <> 0
- gosub %SkillName
- if %Skill <> 0
- set %LicznikPowtorzen %LicznikPowtorzen - 1
- if %LicznikPowtorzen <= 0 && %Skill <> 0
- set %LicznikPowtorzen %SkillPowtorzenia
- Sierp:
- finditem fuo C_ , #charid
- if #findkind = -1
- {
- set #sysmsgcol 1080
- event sysmessage Brak sierpa w lapie.
- halt
- }
- set #lobjectid #findid
- event macro 17
- set %Timer #scnt2 + 5
- repeat
- if %Timer < #scnt2
- goto Sierp
- until #targcurs = 1
- Celownik:
- gosub UstawXYrosliny
- event macro 22
- set %Timer #scnt2 + 5
- repeat
- if %Timer < #scnt2
- goto Celownik
- until #targcurs = 0
- set %TimerScinania #scnt2 + 110
- repeat
- scanjournal 1
- if Stoisz_za_daleko in #journal
- {
- gosub Podejdz
- if #result
- goto Sierp
- else
- return
- }
- if Z_tej_rosliny_juz_nic_wiecej_nie_wytniesz in #journal || Tego_nie_mozesz_obciac in #journal || Musisz_wskazac_miejsce in #journal
- return
- until %TimerScinania < #scnt2 || Udalo_Ci_sie_obciac_roslin in #journal || Your_skill_in_Rolnictwo_ in #journal || Oddaliles_sie. in #journal || Oddalilas_sie. in #journal
- goto PetlaScinania
- sub UstawXYrosliny
- set #ltargetx %x
- set #ltargety %y
- set #ltargetz #tilez
- set #ltargetkind 3
- set #ltargettile #tiletype
- return
- sub Anatomia
- if %CelSkilla = 0
- gosub WskazCel
- set %SkroconaNazwa ana
- gosub ObsluzCelownikSkilla
- return
- sub Madrosc
- if %CelSkilla = 0
- gosub WskazCel
- set %SkroconaNazwa mad
- gosub ObsluzCelownikSkilla
- return
- sub AnimalLore
- if %CelSkilla = 0
- gosub WskazCel
- set %SkroconaNazwa wie
- gosub ObsluzCelownikSkilla
- 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
- 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
- }
- if To_stworzenie_ in #journal
- {
- set %TimerAL #scnt2 + 8
- repeat
- until %TimerAL < #scnt2
- }
- return
- sub Ukrywanie
- SkillUkrywanie:
- event macro 1 0 .um ukr
- set %Timer #scnt2 + 3
- repeat
- if %Timer < #scnt2
- goto SkillUkrywanie
- scanjournal 1
- if Zapisywanie_Stanu_Swiata in #journal
- wait 120
- until ukryl in #journal || nie_udalo_Ci_sie_ukryc in #journal || Wrog_Cie_juz in #journal || Nie_uda_Ci_sie_schowac_wierzchowca in #journal || Your_skill_in_Ukr in #journal || Your_skill_in_Hid in #journal
- return
- sub ArmsLore
- if %CelSkilla = 0
- {
- finditem fuo C_ , #charid
- if #findkind = -1
- {
- set #sysmsgcol 1080
- event sysmessage Brak sierpa w lapie.
- halt
- }
- set %CelSkilla #findid
- }
- set %SkroconaNazwa bro
- gosub ObsluzCelownikSkilla
- return
- sub Wykrywanie
- SkillWykrywanie:
- event macro 1 0 .um wyk
- set %Timer_2 #scnt2 + 3
- repeat
- if %Timer_2 < #scnt2
- goto SkillWykrywanie
- 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 ObsluzCelownikSkilla
- UzyjSkilla:
- event macro 1 0 .um %SkroconaNazwa
- set %TimerSK #scnt2 + 3
- repeat
- if %TimerSK < #scnt2
- goto UzyjSkilla
- scanjournal 1
- if Zapisywanie_Stanu_Swiata in #journal
- wait 120
- until #targcurs = 1
- CelownikSkilla:
- set #ltargetkind 1
- set #ltargetid %CelSkilla
- event macro 22
- set %TimerSK #scnt2 + 2
- repeat
- if %TimerSK < #scnt2
- goto CelownikSkilla
- until #targcurs = 0
- return
- sub WskazCel
- set #targcurs 1
- set #sysmsgcol 1152
- WskazCelSkilla:
- event sysmessage Wskaz cel dla skilla: %SkillName , #dot
- set %TimerWC #scnt2 + 100
- repeat
- if %TimerWC < #scnt2
- goto WskazCelSkilla
- onhotkey ESC
- goto WcisnietoESC
- until #targcurs = 0
- onhotkey ESC
- {
- WcisnietoESC:
- set #sysmsgcol 1080
- event sysmessage Nie wskazales celu.
- halt
- }
- set %CelSkilla #ltargetid
- if #ltargetkind = 0
- {
- set #sysmsgcol 1080
- event sysmessage Zle wskazany cel.
- halt
- }
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement