Advertisement
Guest User

Untitled

a guest
Jul 26th, 2017
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.97 KB | None | 0 0
  1. ;Autor: [nGz]
  2. ;%Roslina moze miec wartosc jedna z nastepujacych: dynia, arbuz, marchewka, cebula, rzepa, salata, kapusta, kukurydza, len, chmiel, pszenica, bawelna, winogrona.
  3. ;%Skill 0-nic, 1-Anatomia, 2-Madrosc, 3-Wiedza o zwierzetach, 4-Ukrywanie, 5-Wiedza o broni, 6-Wykrywanie.
  4. ;%SkillPowtorzenia - okresla co ktora probe scinania ma robic skilla umyslowego (domyslnie 1 - co kazde scinanie).
  5.  
  6. ;======================
  7. set %Roslina bawelna
  8. set %Skill 0
  9. set %SkillPowtorzenia 1
  10. ;======================
  11.  
  12. set #sysmsgcol 0
  13. event sysmessage Stan na ktoryms rogu prostokata w ktorym ma szukac rosliny i wcisnij play w euo.
  14. pause
  15. set %Xe #charposx
  16. set %Ye #charposy
  17. event sysmessage Teraz stan na przeciwleglym rogu tego prostokata i wcisnij play.
  18. pause
  19. set %Xs #charposx
  20. set %Ys #charposy
  21. set #lpc 200
  22. if %Skill <> 0
  23. {
  24. set %LicznikPowtorzen %SkillPowtorzenia
  25. set %CelSkilla 0
  26. if %Skill = 1
  27. set %SkillName Anatomia
  28. if %Skill = 2
  29. set %SkillName Madrosc
  30. if %Skill = 3
  31. set %SkillName AnimalLore
  32. if %Skill = 4
  33. set %SkillName Ukrywanie
  34. if %Skill = 5
  35. set %SkillName ArmsLore
  36. if %Skill = 6
  37. set %SkillName Wykrywanie
  38. }
  39. set %null
  40. set %bok1 %Xs - %Xe abs
  41. set %bok2 %Ys - %Ye abs
  42. if %bok1 > %bok2
  43. {
  44. set %n_start %Ys
  45. set %n_end %Ye
  46. set %m_start %Xs
  47. set %m_end %Xe
  48. }
  49. else
  50. {
  51. set %n_start %Xs
  52. set %n_end %Xe
  53. set %m_start %Ys
  54. set %m_end %Ye
  55. }
  56. tile Init
  57. for %n %n_start %n_end
  58. {
  59. set %Row 0
  60. for %m %m_start %m_end
  61. {
  62. gosub ZapiszXY
  63. tile Cnt %x %y
  64. for %i 1 #tilecnt
  65. {
  66. tile Get %x %y %i
  67. if %Roslina in #tilename && ( Background in #tileflags || #tileflags = %null )
  68. {
  69. set #lpc 10
  70. gosub Podejdz
  71. if #result
  72. gosub Scinaj
  73. else
  74. {
  75. set #sysmsgcol 1080
  76. event sysmessage Nie udalo mi sie dostac do rosliny.
  77. set #sysmsgcol 0
  78. event sysmessage Szukam nastepnej.
  79. }
  80. set #lpc 200
  81. if %Row = 0
  82. set %Row 1
  83. break
  84. }
  85. }
  86. }
  87. if %Row = 1
  88. {
  89. set %temp %m_start
  90. set %m_start %m_end
  91. set %m_end %temp
  92. }
  93. }
  94. set #sysmsgcol 0
  95. event sysmessage Koniec.
  96. halt
  97.  
  98. sub ZapiszXY
  99. if %bok1 > %bok2
  100. {
  101. set %x %m
  102. set %y %n
  103. }
  104. else
  105. {
  106. set %x %n
  107. set %y %m
  108. }
  109. return
  110.  
  111. sub Podejdz
  112. Idz:
  113. set %JIndex #jindex
  114. event pathfind %x %y #tilez
  115. set %Timer #scnt2 + 15
  116. repeat
  117. if %Timer < #scnt2
  118. goto Idz
  119. scanjournal 1
  120. until ( #journal = Pathfinding! || #journal = Can't_get_there ) && #jindex <> %JIndex
  121. if #journal = Can't_get_there
  122. return #false
  123. set %Timer 0
  124. set %Char_x_old -1
  125. set %Char_y_old -1
  126. repeat
  127. if %Timer < #scnt2
  128. {
  129. if %Char_x_old = #charposx && %Char_y_old = #charposy
  130. goto Idz
  131. set %Char_x_old #charposx
  132. set %Char_y_old #charposy
  133. set %Timer #scnt2 + 40
  134. }
  135. until #charposx = %x && #charposy = %y
  136. return #true
  137.  
  138. sub Scinaj
  139. PetlaScinania:
  140. if %LicznikPowtorzen = %SkillPowtorzenia && %Skill <> 0
  141. gosub %SkillName
  142. if %Skill <> 0
  143. set %LicznikPowtorzen %LicznikPowtorzen - 1
  144. if %LicznikPowtorzen <= 0 && %Skill <> 0
  145. set %LicznikPowtorzen %SkillPowtorzenia
  146. Sierp:
  147. finditem fuo C_ , #charid
  148. if #findkind = -1
  149. {
  150. set #sysmsgcol 1080
  151. event sysmessage Brak sierpa w lapie.
  152. halt
  153. }
  154. set #lobjectid #findid
  155. event macro 17
  156. set %Timer #scnt2 + 5
  157. repeat
  158. if %Timer < #scnt2
  159. goto Sierp
  160. until #targcurs = 1
  161. Celownik:
  162. gosub UstawXYrosliny
  163. event macro 22
  164. set %Timer #scnt2 + 5
  165. repeat
  166. if %Timer < #scnt2
  167. goto Celownik
  168. until #targcurs = 0
  169. set %TimerScinania #scnt2 + 110
  170. repeat
  171. scanjournal 1
  172. if Stoisz_za_daleko in #journal
  173. {
  174. gosub Podejdz
  175. if #result
  176. goto Sierp
  177. else
  178. return
  179. }
  180. if Z_tej_rosliny_juz_nic_wiecej_nie_wytniesz in #journal || Tego_nie_mozesz_obciac in #journal || Musisz_wskazac_miejsce in #journal
  181. return
  182. until %TimerScinania < #scnt2 || Udalo_Ci_sie_obciac_roslin in #journal || Your_skill_in_Rolnictwo_ in #journal || Oddaliles_sie. in #journal || Oddalilas_sie. in #journal
  183. goto PetlaScinania
  184.  
  185. sub UstawXYrosliny
  186. set #ltargetx %x
  187. set #ltargety %y
  188. set #ltargetz #tilez
  189. set #ltargetkind 3
  190. set #ltargettile #tiletype
  191. return
  192.  
  193. sub Anatomia
  194. if %CelSkilla = 0
  195. gosub WskazCel
  196. set %SkroconaNazwa ana
  197. gosub ObsluzCelownikSkilla
  198. return
  199.  
  200. sub Madrosc
  201. if %CelSkilla = 0
  202. gosub WskazCel
  203. set %SkroconaNazwa mad
  204. gosub ObsluzCelownikSkilla
  205. return
  206.  
  207. sub AnimalLore
  208. if %CelSkilla = 0
  209. gosub WskazCel
  210. set %SkroconaNazwa wie
  211. gosub ObsluzCelownikSkilla
  212. set %TimerAL #scnt2 + 30
  213. repeat
  214. scanjournal 1
  215. 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
  216. if _na_oswojenie_tego_zwierza in #journal || Nie_masz_szans_by_je_oswoic in #journal
  217. {
  218. set %TimerAL #scnt2 + 9
  219. repeat
  220. scanjournal 1
  221. until To_stworzenie_ in #journal || %TimerAL < #scnt2
  222. }
  223. if To_stworzenie_ in #journal
  224. {
  225. set %TimerAL #scnt2 + 8
  226. repeat
  227. until %TimerAL < #scnt2
  228. }
  229. return
  230.  
  231. sub Ukrywanie
  232. SkillUkrywanie:
  233. event macro 1 0 .um ukr
  234. set %Timer #scnt2 + 3
  235. repeat
  236. if %Timer < #scnt2
  237. goto SkillUkrywanie
  238. scanjournal 1
  239. if Zapisywanie_Stanu_Swiata in #journal
  240. wait 120
  241. 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
  242. return
  243.  
  244. sub ArmsLore
  245. if %CelSkilla = 0
  246. {
  247. finditem fuo C_ , #charid
  248. if #findkind = -1
  249. {
  250. set #sysmsgcol 1080
  251. event sysmessage Brak sierpa w lapie.
  252. halt
  253. }
  254. set %CelSkilla #findid
  255. }
  256. set %SkroconaNazwa bro
  257. gosub ObsluzCelownikSkilla
  258. return
  259.  
  260. sub Wykrywanie
  261. SkillWykrywanie:
  262. event macro 1 0 .um wyk
  263. set %Timer_2 #scnt2 + 3
  264. repeat
  265. if %Timer_2 < #scnt2
  266. goto SkillWykrywanie
  267. scanjournal 1
  268. if Zapisywanie_Stanu_Swiata in #journal
  269. wait 120
  270. until Nie_znalazl in #journal || :_Znalazl in #journal || Your_skill_in_Wyk in #journal || Your_skill_in_Det in #journal
  271. return
  272.  
  273. sub ObsluzCelownikSkilla
  274. UzyjSkilla:
  275. event macro 1 0 .um %SkroconaNazwa
  276. set %TimerSK #scnt2 + 3
  277. repeat
  278. if %TimerSK < #scnt2
  279. goto UzyjSkilla
  280. scanjournal 1
  281. if Zapisywanie_Stanu_Swiata in #journal
  282. wait 120
  283. until #targcurs = 1
  284. CelownikSkilla:
  285. set #ltargetkind 1
  286. set #ltargetid %CelSkilla
  287. event macro 22
  288. set %TimerSK #scnt2 + 2
  289. repeat
  290. if %TimerSK < #scnt2
  291. goto CelownikSkilla
  292. until #targcurs = 0
  293. return
  294.  
  295. sub WskazCel
  296. set #targcurs 1
  297. set #sysmsgcol 1152
  298. WskazCelSkilla:
  299. event sysmessage Wskaz cel dla skilla: %SkillName , #dot
  300. set %TimerWC #scnt2 + 100
  301. repeat
  302. if %TimerWC < #scnt2
  303. goto WskazCelSkilla
  304. onhotkey ESC
  305. goto WcisnietoESC
  306. until #targcurs = 0
  307. onhotkey ESC
  308. {
  309. WcisnietoESC:
  310. set #sysmsgcol 1080
  311. event sysmessage Nie wskazales celu.
  312. halt
  313. }
  314. set %CelSkilla #ltargetid
  315. if #ltargetkind = 0
  316. {
  317. set #sysmsgcol 1080
  318. event sysmessage Zle wskazany cel.
  319. halt
  320. }
  321. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement