Advertisement
Guest User

Rolnik_Menu_v-1.6

a guest
Nov 18th, 2015
299
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.44 KB | None | 0 0
  1. ;Nazwa: Rolnik_Menu_v-1.6.txt
  2. ;Autor: Janusz [Fris]
  3. ;======================================
  4. set %Max_waga ( #MAXWEIGHT * 2 ) - 40
  5. set %Click_Przerwij_X 187
  6. set %Click_Przerwij_Y 165
  7. set %RedColor 1080 ;czerwony
  8. set %BlueColor 88 ;niebieski
  9. set %YellowColor 53 ;zolty
  10. set #lpc 200
  11. menu hideEUO
  12. menu clear
  13. menu window color btnface
  14. menu window size 210 120
  15. menu window title Rolnik 1.6
  16. ;========================================
  17. menu font size 8
  18. menu text mtmiasto 10 1 Co zrywac.
  19. menu font size 10
  20. menu font bgcolor white
  21. menu combo create mcprodukt 10 20 190
  22. menu combo add mcprodukt Pszenica
  23. menu combo add mcprodukt Kukurydza
  24. menu combo add mcprodukt Marchewka
  25. menu combo add mcprodukt Cebula
  26. menu combo add mcprodukt Len
  27. menu combo add mcprodukt Bawelna
  28. menu combo add mcprodukt Dynia
  29. menu combo add mcprodukt Arbuz
  30. menu combo add mcprodukt Rzepa
  31. menu combo add mcprodukt Salata
  32. menu combo add mcprodukt Kapusta
  33. menu combo add mcprodukt Chmiel
  34. menu combo add mcprodukt --------- Owoce ---------
  35. menu combo add mcprodukt Jablka
  36. menu combo add mcprodukt Brzoskwinia
  37. menu combo add mcprodukt Cytryna
  38. menu combo add mcprodukt Gruszka
  39. menu combo add mcprodukt Cytrus
  40. menu combo add mcprodukt Banany
  41. menu combo add mcprodukt Kokosy
  42. menu combo select mcprodukt 1
  43. ;------------------- Pole szukania ----------------
  44. menu font bgcolor btnface
  45. menu font size 8
  46. menu text mtmiasto 10 56 Pole szukania.
  47. menu Edit mePoleSz 100 52 25 20
  48. menu font bgcolor btnface
  49. menu font size 9
  50. ;=================== przyciski =================
  51. menu font color green
  52. menu font style b
  53. menu font bgcolor btnface
  54. menu button mbstart 10 85 60 24 Start
  55. menu font color black
  56. menu button mbstop 140 85 60 24 Stop
  57. ;===============================================
  58. menu show
  59. set #lpc 10
  60. set #menubutton N/A
  61. repeat
  62. if #menubutton = mbstart
  63. {
  64. set #menubutton N/A
  65. menu delete mbstart
  66.  
  67. menu get mcprodukt
  68. set %nr_produktu #menures
  69. if %nr_produktu = 1
  70. set %Roslina pszenica
  71. if %nr_produktu = 2
  72. set %Roslina kukurydza
  73. if %nr_produktu = 3
  74. set %Roslina marchewka
  75. if %nr_produktu = 4
  76. set %Roslina cebula
  77. if %nr_produktu = 5
  78. set %Roslina len
  79. if %nr_produktu = 6
  80. set %Roslina bawelna
  81. if %nr_produktu = 7
  82. set %Roslina dynia
  83. if %nr_produktu = 8
  84. set %Roslina arbuz
  85. if %nr_produktu = 9
  86. set %Roslina rzepa
  87. if %nr_produktu = 10
  88. set %Roslina salata
  89. if %nr_produktu = 11
  90. set %Roslina kapusta
  91. if %nr_produktu = 12
  92. set %Roslina chmiel
  93. if %nr_produktu = 13
  94. {
  95. Display ok Wybierz warzywo lub owoc.
  96. gosub Rysuj_przycisk_start
  97. goto petla
  98. }
  99. if %nr_produktu = 14
  100. set %Roslina jablon
  101. if %nr_produktu = 15
  102. set %Roslina brzoskwinia
  103. if %nr_produktu = 16
  104. set %Roslina cytrynowe
  105. if %nr_produktu = 17
  106. set %Roslina grusza
  107. if %nr_produktu = 18
  108. set %Roslina cytrus
  109. if %nr_produktu = 19
  110. set %Roslina bananowiec
  111. if %nr_produktu = 20
  112. set %Roslina palma
  113. menu get mePoleSz
  114. set %Max_odleglosc #menures
  115. gosub SkanujTeren
  116. gosub MainLoop
  117. }
  118. if #menubutton = CLOSED ;wcisnieto przycisk X
  119. {
  120. menu hide
  121. set #menubutton N/A
  122. halt
  123. }
  124. petla:
  125. until #false
  126. ;============================================
  127. sub SkanujTeren
  128. set #lpc 4000
  129. set #sysmsgcol %YellowColor
  130. if %nr_produktu < 13
  131. {
  132. event sysmessage Szukam warzyw...
  133. }
  134. else
  135. {
  136. event sysmessage Szukam owocow...
  137. }
  138. tile Init
  139. set %x_poczatek #charposx - %Max_odleglosc
  140. set %y_poczatek #charposy - %Max_odleglosc
  141. set %x_koniec #charposx + %Max_odleglosc
  142. set %y_koniec #charposy + %Max_odleglosc
  143. set %licznik 0
  144. for %x %x_poczatek %x_koniec
  145. {
  146. for %y %y_poczatek %y_koniec
  147. {
  148. tile Cnt %x %y
  149. for %i 1 #tilecnt
  150. {
  151. tile Get %x %y %i
  152. if %Roslina in #tilename ;&& ( Background in #tileflags || #tileflags = %null )
  153. { ;ustawia tablice poletak z warzywami
  154. set %licznik %licznik + 1
  155. set %_x . %licznik %x ;tworzenie tablicy
  156. set %_y . %licznik %y ;tworzenie tablicy
  157. set %_z . %licznik #tilez ;tworzenie tablicy
  158. set %_tt . %licznik #tiletype
  159. break
  160. }
  161. }
  162. }
  163. }
  164. set #lpc 10
  165. return
  166. ;----------------------------------------------------------------
  167. sub MainLoop
  168. set #lpc 10
  169. set #sysmsgcol %YellowColor
  170. if %nr_produktu < 13
  171. {
  172. event sysmessage Znaleziono %licznik warzyw.
  173. }
  174. else
  175. {
  176. event sysmessage Znaleziono %licznik drzewek owocowych.
  177. }
  178. for %j 1 %licznik
  179. {
  180. gosub Podejdz_do_rosliny %_x . %j %_y . %j %_z . %j
  181. gosub Zrywaj_rosliny %_x . %j %_y . %j %_z . %j %_tt . %j
  182. if #RESULT = PetlaPrzyciskow
  183. {
  184. break
  185. }
  186. }
  187. set #sysmsgcol %YellowColor
  188. event sysmessage Wszystkie warzywa zerwane. KONIEC.
  189. gosub ZerujTablice
  190. gosub Rysuj_przycisk_start
  191. return
  192. ;--------------------------------------------------
  193. sub Podejdz_do_rosliny
  194. set %krzaczek_x %1
  195. set %krzaczek_y %2
  196. set %krzaczek_z %3
  197.  
  198. if %nr_produktu < 13
  199. {
  200. move %krzaczek_x %krzaczek_y 0 5s
  201. }
  202. else
  203. {
  204. move %krzaczek_x %krzaczek_y 1 5s
  205. }
  206. if #CHARPOSX <> %krzaczek_x && #CHARPOSY <> %krzaczek_y
  207. {
  208. set %czas #scnt + 6
  209. event pathfind %krzaczek_x %krzaczek_y %krzaczek_z
  210. repeat
  211. if %czas < #scnt
  212. {
  213. set %czas #scnt + 6
  214. event pathfind %krzaczek_x %krzaczek_y %krzaczek_z
  215. }
  216. gosub CzyJestemNaPozycji
  217. if #RESULT = NaMiejscu
  218. {
  219. set #lpc 10
  220. return
  221. }
  222. scanjournal 1
  223. if _Can't_get_there in #journal || stoisz_za_daleko in #journal || _That_is_too in #journal
  224. {
  225. if %nr_produktu < 13
  226. {
  227. move %krzaczek_x %krzaczek_y 0 5s
  228. }
  229. else
  230. {
  231. move %krzaczek_x %krzaczek_y 1 5s
  232. }
  233. return
  234. }
  235. until #CHARPOSX = %krzaczek_x && #CHARPOSY = %krzaczek_y
  236. }
  237. return
  238. ;--------------------------------------------------
  239. sub Zrywaj_rosliny
  240. set #ltargetx %1
  241. set #ltargety %2
  242. set #ltargetz %3
  243. set #ltargetkind 3
  244. set #ltargettile %4
  245. set %WyjdzZPetli 0
  246.  
  247. finditem fuo C_ , #charid
  248. if #findkind = -1
  249. {
  250. finditem fuo C_ , #backpackid
  251. if #findkind = -1
  252. {
  253. set #sysmsgcol %RedColor
  254. event sysmessage Nie masz Sierpu!!!
  255. gosub Rysuj_przycisk_start
  256. return PetlaPrzyciskow
  257. }
  258. else
  259. {
  260. set #lobjectid #findid
  261. event macro 17
  262. repeat
  263. finditem fuo C_ , #charid
  264. until #findkind <> -1
  265. }
  266. }
  267.  
  268. set #sysmsgcol %YellowColor
  269. if %nr_produktu < 13
  270. {
  271. event sysmessage Zaczynam scinac rosline...
  272. }
  273. else
  274. {
  275. event sysmessage Zaczynam obcinac drzewko...
  276. }
  277.  
  278. set %jindex #jindex
  279. set #lobjectid #findid
  280. event macro 17
  281. set %TimeSierp #scnt2 + 10
  282.  
  283. repeat
  284. if %TimeSierp < #scnt2
  285. {
  286. set #lobjectid #findid
  287. event macro 17
  288. set %TimeSierp #scnt2 + 10
  289. }
  290. until #targcurs = 1
  291.  
  292. event macro 22
  293. set %TimeCel #scnt2 + 50
  294.  
  295. repeat
  296. if %TimeCel < #scnt2
  297. {
  298. event macro 22
  299. set %TimeCel #scnt2 + 50
  300. }
  301. scanjournal 1
  302. if Nie_widzisz_tego in #journal
  303. {
  304. return PetlaPrzyciskow
  305. }
  306. until Scinasz_rosline in #journal
  307.  
  308. repeat
  309. set %ji #jindex - %jindex
  310. set #lpc 2000
  311. for %i 1 %ji
  312. {
  313. if %Max_waga < #WEIGHT || %Max_waga = #WEIGHT
  314. {
  315. click %Click_Przerwij_X %Click_Przerwij_Y
  316. Display ok $Osiagneles/as maksymalny udzwig. $Skrypt wylaczony.
  317. gosub ZerujTablice
  318. return PetlaPrzyciskow
  319. }
  320. if #menubutton = mbstop
  321. {
  322. set #menubutton N/A
  323. click %Click_Przerwij_X %Click_Przerwij_Y
  324. gosub ZerujTablice
  325. gosub Rysuj_przycisk_start
  326. set #sysmsgcol %RedColor
  327. event sysmessage Skrypt zatrzymany.
  328. return PetlaPrzyciskow
  329. }
  330. scanjournal %i
  331. if Nie_masz_miejsca_w_plecaku in #journal
  332. {
  333. click %Click_Przerwij_X %Click_Przerwij_Y
  334. Display ok $Juczniak/Plecak pelny. $Skrypt wylaczony.
  335. gosub ZerujTablice
  336. return PetlaPrzyciskow
  337. }
  338. if Z_tej_rosliny_juz_nic_wiecej_nie_wytniesz. in #journal || Tego_nie_mozesz_obciac in #journal || Prawie_cos_wycial in #journal
  339. {
  340. set %WyjdzZPetli 1
  341. break
  342. }
  343. }
  344. if %WyjdzZPetli = 1
  345. {
  346. set %WyjdzZPetli 0
  347. break
  348. }
  349. until #false
  350. set #lpc 10
  351. return
  352. ;--------------------------------------------------
  353. sub Rysuj_przycisk_start
  354. set #menubutton N/A
  355. menu font color green
  356. menu font style b
  357. menu font bgcolor btnface
  358. menu button mbstart 10 85 60 24 Start
  359. return
  360. ;--------------------------------------------------
  361. sub ZerujTablice
  362. set #lpc 4000
  363. for %j 1 %licznik
  364. {
  365. set %_x . %j
  366. set %_y . %j
  367. set %_z . %j
  368. set %_tt . %j
  369. }
  370. set #lpc 10
  371. return
  372. ;--------------------------------------------------
  373. sub CzyJestemNaPozycji
  374. if %krzaczek_x > #CHARPOSX && %krzaczek_y = #CHARPOSY ;drzewo na wschod
  375. {
  376. set %Cel_x %krzaczek_x - 1
  377. set %Cel_y %krzaczek_y
  378. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  379. {
  380. return NaMiejscu
  381. }
  382. }
  383. if %krzaczek_x > #CHARPOSX && %krzaczek_y < #CHARPOSY ;drzewo na polnocny wschod
  384. {
  385. set %Cel_x %krzaczek_x - 1
  386. set %Cel_y %krzaczek_y + 1
  387. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  388. {
  389. return NaMiejscu
  390. }
  391. }
  392. if %krzaczek_x > #CHARPOSX && %krzaczek_y > #CHARPOSY ;drzewo na poludniowy wschod
  393. {
  394. set %Cel_x %krzaczek_x - 1
  395. set %Cel_y %krzaczek_y - 1
  396. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  397. {
  398. return NaMiejscu
  399. }
  400. }
  401. if %krzaczek_x = #CHARPOSX && %krzaczek_y > #CHARPOSY ;drzewo poludnie
  402. {
  403. set %Cel_x %krzaczek_x
  404. set %Cel_y %krzaczek_y - 1
  405. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  406. {
  407. return NaMiejscu
  408. }
  409. }
  410. if %krzaczek_x < #CHARPOSX && %krzaczek_y > #CHARPOSY ;drzewo poludniowy zachod
  411. {
  412. set %Cel_x %krzaczek_x + 1
  413. set %Cel_y %krzaczek_y - 1
  414. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  415. {
  416. return NaMiejscu
  417. }
  418. }
  419. if %krzaczek_x < #CHARPOSX && %krzaczek_y = #CHARPOSY ;drzewo na zachod
  420. {
  421. set %Cel_x %krzaczek_x + 1
  422. set %Cel_y %krzaczek_y
  423. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  424. {
  425. return NaMiejscu
  426. }
  427. }
  428. if %krzaczek_x < #CHARPOSX && %krzaczek_y < #CHARPOSY ;drzewo na zachodni polnoc
  429. {
  430. set %Cel_x %krzaczek_x + 1
  431. set %Cel_y %krzaczek_y + 1
  432. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  433. {
  434. return NaMiejscu
  435. }
  436. }
  437. if %krzaczek_x = #CHARPOSX && %krzaczek_y < #CHARPOSY ;drzewo na polnoc
  438. {
  439. set %Cel_x %krzaczek_x
  440. set %Cel_y %krzaczek_y + 1
  441. if %Cel_x = #CHARPOSX && %Cel_y = #CHARPOSY
  442. {
  443. return NaMiejscu
  444. }
  445. }
  446. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement