Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.33 KB | None | 0 0
  1. ; ———————————————————————
  2. ; ----- To do: -----
  3. ; ———————————————————————
  4. ; Update Nav, fix rndnav, add AaNav, NavSelect
  5. ; Add troop SleepTimer
  6. ; close menu loop , update HD bot
  7. ; make high/lowres buttons represent actual resolution values 1920x1080p
  8. ;
  9. ; ———————————————————————
  10. ; ----- on_init -----
  11. ; ———————————————————————
  12. ;
  13. #NoEnv
  14. #Warn
  15. SendMode Input
  16. #Persistent
  17. #SingleInstance Force
  18. #WinActivateForce
  19. #NoTrayIcon
  20. ;
  21. ; Set Coord Mode
  22. ;
  23. CoordMode, Mouse, Window
  24. CoordMode, Pixel, Window
  25. ;
  26. ; ———————————————————————
  27. ; ----- GUI -----
  28. ; ———————————————————————
  29. ;
  30. Gui, Font,, Verdana
  31. Gui, Font, cc2e0d5 s10 w500 q4
  32.  
  33. Gui, Add, Text, c7fbea7e x10 y0, HanniBot_r38a
  34. Gui, Add, Text, c00cc84 x152 y0, (Public_Release)
  35. Gui, Add, Text, cc2e0d5 x10 y18, Created by BotBear and Kuma
  36. Gui, Add, Text, cWhite x10 y33, ______________________________
  37. Gui, Add, Text, c7fbea7e x94 y51, Instructions:
  38. Gui, Add, Text, x40 y70, Press F4 to Reload the Bot
  39. Gui, Add, Text, x40 y88, Press F5 to Pause the Bot
  40. Gui, Add, Text, x40 y106, Press F6 to Quit the Bot
  41. Gui, Add, Text, cWhite x10 y122, ______________________________
  42. Gui, Add, Text, c7fbea7e x94 y140, Configuration:
  43.  
  44. Gui, Add, Text, x10 y167, BotMode:
  45. Gui, Add, DDL, vBotMode x100 y165, LowRes||HighRes
  46.  
  47. Gui, Add, Text, x10 y195, Commander:
  48. Gui, Add, DDL, vCommander x100 y193, Default||Arminius|Boudica|Caesar|Germanicus|Hannibal|Sulla
  49.  
  50. ;Gui, Add, Text, x10 y222, Troops:
  51. ;Gui, Add, DDL, vTroops x100 y220, Default||Cavalry|Elephant|Infantry|Archer
  52.  
  53. Gui, Add, Button, x100 y226 gLoadProgram, Activate and Hide ;y242
  54.  
  55. Gui, +AlwaysOnTop +ToolWindow
  56. Gui, Color, 222222 ;494949 (replace this color code if u want it fully transparent)
  57. Gui, Show, x800 y50, HanniBot_r38a
  58. WinSet, Transcolor, 494949, HanniBot_r38a
  59.  
  60. return
  61. ; ———————————————————————
  62. ; ----- Buttons -----
  63. ; ———————————————————————
  64. ;
  65. LoadProgram:
  66. {
  67. Gui, Submit
  68. sleep, 500
  69. GoSub, Program
  70. return
  71. }
  72.  
  73. F4::reload
  74. F5::pause
  75. F6::ExitApp
  76.  
  77. F8:: ; Leave Battle
  78. GoSub, EndBattle
  79. return
  80. ;
  81. ; ———————————————————————
  82. ; ----- Logic -----
  83. ; ———————————————————————
  84. ;
  85. Program:
  86. ;SetTimer, TimesUp, 3600000 ; =/= 1 hr ;remove the comment tag before compiling (if you want it timed for 1 hr)
  87.  
  88. if BotMode = LowRes ;BearBot
  89. loop {
  90. WinActivate, Total War: Arena
  91. sleep, 500
  92. GoSub, StartBattle
  93. Sleep, 500
  94. GoSub, AttackNav
  95. Sleep 500
  96. GoSub, CloseSummary
  97. Sleep, 500
  98. GoSub, EndBattle
  99. Sleep 1000
  100. return
  101. }
  102. if BotMode = HighRes ;KumaBot
  103. {
  104. loop
  105. {
  106. WinActivate, Total War: Arena
  107. sleep, 500
  108. GoSub, MenuLoop1
  109. sleep, 500
  110. GoSub, FocusUnits
  111. sleep, 500
  112. GoSub, UseAbility
  113. sleep, 500
  114. GoSub, AttackLoop
  115. sleep, 500
  116. GoSub, MenuLoop2
  117. sleep, 20000
  118. return
  119. }
  120. }
  121. ; ———————————————————————
  122. ; ----- Subroutines ----- (Both Versions & Experimental)
  123. ; ———————————————————————
  124. ;
  125. ; ———————————————————————
  126. ; -------- Timer -------
  127. ; ———————————————————————
  128. ; Timer for trial version
  129.  
  130. TimesUp:
  131. MsgBox, Your 60 minutes of testing are up! Closing in 3...2...1..
  132. Sleep, 3600
  133. ExitApp
  134. ;
  135. ; --------------------
  136. ; --- Chat Modules ---
  137. ; --------------------
  138. ;
  139. ;Chat_GG: ;chat module "GG" ~2s
  140. ;SendInput {Shift Down}Enter{Shift Up}
  141. ;sleep, 500
  142. ;SendInput {g}{g}
  143. ;sleep, 500
  144. ;SendInput {Enter}
  145. ;sleep, 1000
  146. ;
  147. ;Chat_GLHF: ;chat module "GL HF" ~2s
  148. ;SendInput {Shift Down}Enter{Shift Up}
  149. ;sleep, 400
  150. ;SendInput {g}{l}
  151. ;sleep, 400
  152. ;SendInput {space}
  153. ;sleep, 400
  154. ;SendInput {h}{f}
  155. ;sleep, 400
  156. ;SendInput {Enter}
  157. ;sleep, 400
  158. ;
  159. ;Chat_lol: ;chat module "lol" ~2s
  160. ;SendInput {Shift Down}Enter{Shift Up}
  161. ;sleep, 500
  162. ;SendInput {l}{o}{l}
  163. ;sleep, 500
  164. ;SendInput {Enter}
  165. ;sleep, 1000
  166. ;
  167. ; --------------------
  168. ; --- UnitSleep ---
  169. ; --------------------
  170. UnitSleep: ;setting a SleepTimer for Nav
  171. {
  172. if Troops = Default
  173. return
  174.  
  175. if Troops = Cavalry
  176. SleepTimer := 15000
  177. return
  178.  
  179. if Troops = Elephant
  180. SleepTimer := 30000
  181. return
  182.  
  183. if Troops = Infantry
  184. SleepTimer := 24000
  185. return
  186.  
  187. if Troops = Archer
  188. SleepTimer := 20000
  189. return
  190. }
  191. ; --------------------
  192. ; --- UseAbility ---
  193. ; --------------------
  194. UseAbility:
  195. {
  196. if Commander = Default
  197. return
  198.  
  199. if Commander = Arminius
  200. {
  201. SendInput {g}
  202. sleep, 500
  203. SendInput {h}
  204. sleep, 500
  205. if AttackCheck = 1
  206. {
  207. SendInput {f}
  208. sleep, 500
  209. }
  210. return
  211. }
  212.  
  213. if Commander = Boudica
  214. {
  215. SendInput {f}
  216. sleep, 500
  217. if AttackCheck = 1
  218. {
  219. SendInput {h}
  220. sleep, 500
  221. }
  222. return
  223. }
  224.  
  225. if Commander = Caesar
  226. {
  227. SendInput {g}
  228. sleep, 500
  229. if AttackCheck = 1
  230. {
  231. SendInput {f}
  232. sleep, 500
  233. }
  234. return
  235. }
  236.  
  237. if Commander = Germanicus
  238. {
  239. SendInput {f}
  240. sleep, 500
  241. if AttackCheck = 1
  242. {
  243. SendInput {h}
  244. sleep, 500
  245. }
  246. return
  247. }
  248.  
  249. if Commander = Hannibal
  250. {
  251. SendInput {f}
  252. sleep, 500
  253. if AttackCheck = 1
  254. {
  255. SendInput {g}
  256. sleep, 500
  257. SendInput {h}
  258. sleep, 500
  259. }
  260. return
  261. }
  262.  
  263. if Commander = Sulla
  264. {
  265. SendInput {g}
  266. sleep, 500
  267. if AttackCheck = 1
  268. {
  269. SendInput {h}
  270. sleep, 500
  271. }
  272. return
  273. }
  274. }
  275. ; ———————————————————————
  276. ; ----- Subroutines ----- (LowRes) >>>> BearMode
  277. ; ———————————————————————
  278. ;
  279. ; --------------------
  280. ; --- StartBattle ---
  281. ; --------------------
  282. StartBattle:
  283.  
  284. PixelSearch, aX, aY, 659, 22, 659, 22, 0xFFFFFF, *2, Fast RGB
  285.  
  286. if errorlevel = 0 ;if play button is active
  287. {
  288. Sleep, 500 ; prevents an error when looping
  289. MouseClick, left, 683,515 ; close levelup
  290. Sleep, 500
  291. MouseClick, left, 677,714 ; close button
  292. Sleep, 4000
  293. MouseClick, left, 673,21 ; play button
  294. Sleep, 100
  295. return
  296. }
  297. if errorlevel = 1 ;if play button is inactive
  298. {
  299. Sleep, 100
  300. MouseClick, left, 683,515 ; close levelup
  301. Sleep, 500
  302. MouseClick, left, 677,714 ; close button
  303. sleep, 800
  304. MouseClick, left, 128,14 ; squad
  305. sleep, 800
  306. MouseClick, left, 120,300 ; commander 1
  307. sleep, 1200
  308. MouseClick, left, 673,21 ; play button
  309. sleep, 1500
  310. MouseClick, left, 128,14 ; squad
  311. sleep, 800
  312. MouseClick, left, 80,500 ; commander 2
  313. sleep, 1200
  314. MouseClick, left, 673,21 ; play button
  315. Sleep, 800
  316. return
  317. }
  318. ; --------------------
  319. ; --- AttackNav ---
  320. ; --------------------
  321. AttackNav:
  322. {
  323. PixelSearch, nX, nY, 1352, 648, 1352, 648, 0xFFFFFF ; check if we are in battle
  324.  
  325. if errorlevel = 0 ;if we are in battle
  326. {
  327. ; check NavSelect for Navigation Pattern: (deprecated missing NavSelect variable)
  328. ;if NavSelect = 1
  329. {
  330. GoSub, UseAbility
  331. sleep, 500
  332. GoSub, DefaultNav ;~180s
  333. return
  334. }
  335. ;if NavSelect = 2
  336. ;{
  337. ;GoSub, UseAbility
  338. ;sleep, 500
  339. ;GoSub, SimpleNav ;~160s
  340. ;return
  341. ;}
  342. ;if NavSelect = 3
  343. ;{
  344. ;GoSub, UseAbility
  345. ;sleep, 500
  346. ;GoSub, CircleNav ;~120s
  347. ;return
  348. ;}
  349. ;if NavSelect = 4
  350. ;{
  351. ;GoSub, UseAbility
  352. ;sleep, 500
  353. ;GoSub, CoCircleNav ;~120s
  354. ;return
  355. ;}
  356. ;if NavSelect = 5
  357. ;{
  358. ;GoSub, UseAbility
  359. ;sleep, 500
  360. ;GoSub, CounterNav ;~120s
  361. ;return
  362. ;}
  363. }
  364. if errorlevel = 1 ;if not in battle skip and continue.
  365. sleep, 500 ; slight pause to prevent problems
  366. return
  367. }
  368. ; --------------------------
  369. ; - Behaviors (AttackNav) -
  370. ; --------------------------
  371. DefaultNav:
  372.  
  373. sleep, 200
  374. SendInput {1}
  375. Sleep, 200
  376. SendInput {1}
  377. Sleep, 2400
  378. SendInput {Ctrl Down}a{Ctrl Up}
  379. sleep, 100
  380. SendInput {z}
  381. MouseClick, right, 1160,600 ;D3
  382. Sleep, 24000
  383. SendInput {Ctrl Down}a{Ctrl Up}
  384. sleep, 100
  385. SendInput {z}
  386. MouseClick, right, 1212,625 ;E5
  387. Sleep, 24000
  388. SendInput {Ctrl Down}a{Ctrl Up}
  389. sleep, 100
  390. SendInput {z}
  391. MouseClick, right, 1265,600 ;D7
  392. Sleep, 24000
  393. SendInput {Ctrl Down}a{Ctrl Up}
  394. sleep, 100
  395. SendInput {z}
  396. MouseClick, right, 1265,675 ;G7
  397. sleep, 24000
  398. SendInput {Ctrl Down}a{Ctrl Up}
  399. sleep, 100
  400. SendInput {z}
  401. MouseClick, right, 1212,625 ;E5
  402. Sleep, 24000
  403. SendInput {Ctrl Down}a{Ctrl Up}
  404. sleep, 100
  405. SendInput {z}
  406. MouseClick, right, 1165,675 ;G3
  407. Sleep, 20000
  408. return
  409.  
  410. ; --------------------
  411.  
  412. SimpleNav:
  413.  
  414. sleep, 200
  415. SendInput {1}
  416. Sleep, 200
  417. SendInput {1}
  418. Sleep, 2400
  419. SendInput {Ctrl Down}a{Ctrl Up}
  420. sleep, 100
  421. SendInput {z}
  422. MouseClick, right, 1190,575 ;C4
  423. Sleep, 20000
  424. SendInput {Ctrl Down}a{Ctrl Up}
  425. sleep, 100
  426. SendInput {z}
  427. MouseClick, right, 1215,666 ;G5
  428. Sleep, 20000
  429. SendInput {Ctrl Down}a{Ctrl Up}
  430. sleep, 100
  431. SendInput {z}
  432. MouseClick, right, 1300,565 ;C8
  433. Sleep, 20000
  434. SendInput {Ctrl Down}a{Ctrl Up}
  435. sleep, 100
  436. SendInput {z}
  437. MouseClick, right, 1215,666 ;G5
  438. Sleep, 20000
  439. SendInput {Ctrl Down}a{Ctrl Up}
  440. sleep, 100
  441. SendInput {z}
  442. MouseClick, right, 1275,700 ;H7
  443. Sleep, 20000
  444. SendInput {Ctrl Down}a{Ctrl Up}
  445. sleep, 100
  446. SendInput {z}
  447. MouseClick, right, 1212,625 ;E5
  448. Sleep, 20000
  449. SendInput {Ctrl Down}a{Ctrl Up}
  450. sleep, 100
  451. SendInput {z}
  452. MouseClick, right, 1165,700 ;H3
  453. Sleep, 20000
  454. SendInput {Ctrl Down}a{Ctrl Up}
  455. sleep, 100
  456. SendInput {z}
  457. MouseClick, right, 1212,625 ;E5
  458. Sleep, 20000
  459. return
  460.  
  461. ; --------------------
  462.  
  463. CircleNav:
  464.  
  465. sleep, 200
  466. SendInput {1}
  467. Sleep, 200
  468. SendInput {1}
  469. Sleep, 2400
  470. SendInput {Ctrl Down}a{Ctrl Up}
  471. sleep, 100
  472. SendInput {z}
  473. MouseClick, right, 1140,555 ;B2
  474. Sleep, 30000
  475. SendInput {Ctrl Down}a{Ctrl Up}
  476. sleep, 100
  477. SendInput {z}
  478. MouseClick, right, 1290,550 ;B8
  479. Sleep, 30000
  480. SendInput {Ctrl Down}a{Ctrl Up}
  481. sleep, 100
  482. SendInput {z}
  483. MouseClick, right, 1300,725 ;i8
  484. Sleep, 30000
  485. SendInput {Ctrl Down}a{Ctrl Up}
  486. sleep, 100
  487. SendInput {z}
  488. MouseClick, right, 1140,725 ;i2
  489. Sleep, 30000
  490. return
  491. ; --------------------
  492.  
  493. CoCircleNav:
  494.  
  495. sleep, 200
  496. SendInput {1}
  497. Sleep, 200
  498. SendInput {1}
  499. Sleep, 2400
  500. SendInput {Ctrl Down}a{Ctrl Up}
  501. sleep, 100
  502. SendInput {z}
  503. MouseClick, right, 1140,725 ;i2
  504. Sleep, 30000
  505. SendInput {Ctrl Down}a{Ctrl Up}
  506. sleep, 100
  507. SendInput {z}
  508. MouseClick, right, 1300,725 ;i8
  509. Sleep, 30000
  510. SendInput {Ctrl Down}a{Ctrl Up}
  511. sleep, 100
  512. SendInput {z}
  513. MouseClick, right, 1290,550 ;B8
  514. Sleep, 30000
  515. SendInput {Ctrl Down}a{Ctrl Up}
  516. sleep, 100
  517. SendInput {z}
  518. MouseClick, right, 1140,555 ;B2
  519. Sleep, 30000
  520. return
  521.  
  522. ; --------------------
  523.  
  524. CounterNav:
  525.  
  526. sleep, 200
  527. SendInput {1}
  528. Sleep, 200
  529. SendInput {1}
  530. Sleep, 2400
  531. SendInput {Ctrl Down}a{Ctrl Up}
  532. sleep, 100
  533. SendInput {z}
  534. MouseClick, right, 1165,675 ;G3
  535. Sleep, 20000
  536. SendInput {Ctrl Down}a{Ctrl Up}
  537. sleep, 100
  538. SendInput {z}
  539. MouseClick, right, 1212,625 ;E5
  540. Sleep, 20000
  541. SendInput {Ctrl Down}a{Ctrl Up}
  542. sleep, 100
  543. SendInput {z}
  544. MouseClick, right, 1265,675 ;G7
  545. Sleep, 20000
  546. SendInput {Ctrl Down}a{Ctrl Up}
  547. sleep, 100
  548. SendInput {z}
  549. MouseClick, right, 1265,600 ;D7
  550. Sleep, 20000
  551. SendInput {Ctrl Down}a{Ctrl Up}
  552. sleep, 100
  553. SendInput {z}
  554. MouseClick, right, 1212,625 ;E5
  555. Sleep, 20000
  556. SendInput {Ctrl Down}a{Ctrl Up}
  557. sleep, 100
  558. SendInput {z}
  559. MouseClick, right, 1160,600 ;D3
  560. Sleep, 20000
  561. return
  562.  
  563. ; ----------------------------------------
  564. ; Experimental: (to be added)
  565. ;AaNav:
  566.  
  567. ;loop {
  568. ;PixelSearch, aaX, aaY, 680, 420, 680, 420, 0xff0000, *2, Fast RGB
  569. ;
  570. ;if errorlevel = 0 ;if found
  571. ;{
  572. ;MouseClick, Right, %aaX%, %aaY% ; click red pixel
  573. ;return
  574. ;} break
  575. ;if errorlevel = 1 ;if not found
  576. ;return
  577. ;} continue
  578. ; ----------------------------------------
  579. ;RandomNav:
  580.  
  581. ;loop 5 { ;do this x times.......
  582.  
  583. ;viewport_X_min := amount
  584. ;viewport_X_max := amount
  585. ;viewport_Y_min := amount
  586. ;viewport_X_max := amount
  587.  
  588. ;loop 2 {
  589. ;Random, NavX , %viewport_X_min%, %viewport_X_max% ; find a number between x1 and x2
  590. ;sleep, 200
  591. ;Random, NavY , %viewport_Y_min%, %viewport_Y_max% ; find a number between y1 and y2
  592. ;}
  593. ;SendInput {Ctrl Down}a{Ctrl Up}
  594. ;sleep, 200
  595. ;SendInput {z}
  596. ;sleep, 200
  597. ;MouseClick, Right, %NavX%,%NavY%
  598. ;sleep, %SleepTimer% ;
  599. ;return
  600. ;} ; ....we're doing this x times every x seconds at a random coordination on the minimap. if not possible, return
  601.  
  602. ; --------------------
  603. ; --- CloseSummary ---
  604. ; --------------------
  605.  
  606. CloseSummary:
  607.  
  608. PixelSearch, cX, cY, 680, 420, 680, 420, 0x242424, *2, Fast RGB
  609. {
  610.  
  611. if errorlevel = 0 ;if found
  612. {
  613. MouseClick, Left, 670,650 ; close summary
  614. return
  615. }
  616. if errorlevel = 1 ;if not found
  617. return
  618. }
  619. ; --------------------
  620. ; --- EndBattle ---
  621. ; --------------------
  622.  
  623. EndBattle:
  624. {
  625. Sleep, 500 ; prevents an error when looping
  626. PixelSearch, eX, eY, 673, 657, 673, 657, 0xBEC6D2, *2, Fast RGB
  627.  
  628. if errorlevel = 0 ;if our troops are dead:
  629. {
  630. Sleep, 500 ; prevents an error when looping
  631. SendInput {Escape}
  632. sleep, 600
  633. MouseClick, Left, 674, 437 ; LeaveBattle
  634. sleep, 600
  635. MouseClick, Left, 570, 488 ; LeaveBattleYes
  636. sleep, 8000
  637. return
  638. }
  639. if errorlevel = 1 ;if not skip and continue
  640. return
  641. }
  642.  
  643. ; ——————————————————————————————————————————
  644. ; ʕ•ᴥ•ʔ Subroutines Kumabot [HIGH RES] ʕ•ᴥ•ʔ
  645. ; ——————————————————————————————————————————
  646.  
  647. ; ʕ•ᴥ•ʔ Menu Loop 1 ʕ•ᴥ•ʔ
  648. ; ———————————————————————
  649. MenuLoop1:
  650. {
  651. Sleep, 500 ; prevents an error when looping
  652. MouseClick, Left, 1901, 51 ;click upper right to get out of summary
  653. sleep, 500
  654. MouseClick, Left, 989, 672 ;click close levelup button
  655. sleep, 500
  656. MouseClick, Left, 967, 21 ;click play button
  657. sleep, 500
  658. return
  659. }
  660.  
  661. ; ʕ•ᴥ•ʔ Focus Units ʕ•ᴥ•ʔ
  662. ; ———————————————————————
  663. FocusUnits:
  664. {
  665. Sleep, 500 ; prevents an error when looping
  666. SendInput {1} {1} ;focus camera on units
  667. SendInput {ctrl down}a{ctrl up} ;select all units
  668. return
  669. }
  670.  
  671. ; ʕ•ᴥ•ʔ AttackLoop ʕ•ᴥ•ʔ
  672. ; ——————————————————————
  673. AttackLoop:
  674. {
  675. Sleep, 500 ; prevents an error when looping
  676. PixelSearch, aX, aY, 1674, 868, 1903, 1057, 0xD20505, 0, Fast RGB ;searches for red in minimap
  677.  
  678. if errorlevel = 0 ;if found
  679. {
  680. Sleep, 500 ; prevents an error when looping
  681. SendInput {z} ;to activate attack move
  682. MouseClick, Right, %aX%, %aY% ;to right click found enemy red pixel
  683. return
  684. }
  685. if errorlevel = 1 ;if not found
  686. return
  687. }
  688.  
  689. ; ʕ•ᴥ•ʔ Menu Loop 2 ʕ•ᴥ•ʔ
  690. ; ———————————————————————
  691. MenuLoop2:
  692. {
  693. Sleep, 500 ; prevents an error when looping
  694. PixelSearch, aX, aY, 943, 959, 943, 959, 0xC8D2DE, 0, Fast RGB ;searches for gray color in the top part of the N in "Dead but Not Defeated"
  695.  
  696. if errorlevel = 0 ;if found
  697. {
  698. Sleep, 500 ;prevents an error when looping
  699. MouseClick, Left, 1905, 13 ;options
  700. sleep, 500
  701. MouseClick, Left, 949, 591 ;end battle
  702. sleep, 500
  703. MouseClick, Left, 873, 645 ;yes
  704. sleep, 10000
  705. MouseClick, Left, 918, 1031 ;switch commander
  706. sleep, 1000
  707. MouseClick, Left, 386, 341 ;1st commander
  708. sleep, 1000
  709. MouseClick, Left, 907, 31 ;click play
  710. sleep, 1000
  711. MouseClick, Left, 398, 543 ;2nd commander
  712. sleep, 1000
  713. MouseClick, Left, 907, 31 ;click play
  714. sleep, 1000
  715. MouseClick, Left, 401, 723 ;3rd commander
  716. sleep, 1000
  717. MouseClick, Left, 907, 31 ;click play
  718. sleep, 1000
  719. MouseClick, Left, 123,871 ;4th commander
  720. sleep, 1000
  721. MouseClick, Left, 907, 31 ;click play
  722. return
  723. }
  724. if errorlevel = 1 ;if not found
  725. return
  726. }
  727.  
  728. ; --------------------
  729. ; ------- end -------
  730. ; --------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement