В коллекцию положу вам маршрут с "рандомной" клеткой. Это Санд. Не доделан, но кому-нибудь будет интересен для изучения и дописывания.
40b1c96caf450e99a092cd85766f117e : UseObjects(); AttackMobs(); Walk("m1");
8bafcd0fe7618b645ce1f01905b97e3f : UseObjects(); AttackMobs(); Walk("rl");
b729e6e93d4715f2d3bb148f3acef9a0 : UseObjects(); AttackMobs(); Walk("m1");
0e06cecccec3cccf1c708f1b2771b00d : UseObjects(); AttackMobs(); Walk("rr");
fe76f57978f331f5f4f8722b1ca6b651 : UseObjects(); AttackMobs(); Walk("m1");
cdf654c9e949b8caffccf890c453a838 : UseObjects(); AttackMobs(); Walk("m1");
3014df4906b5f0d76c874bf0e68c4b9c : UseObjects(); AttackMobs(); Walk("m1");
6709f145abcdacfec375e9ccd453e7f1 : UseObjects(); AttackMobs(); Walk("m1");
db4ac55b7bb3d1db418b0d4cc4a299a6 : UseObjects(); AttackMobs(); Walk("m1");
751eae25f8be3e0974794cf1d54eada4 : UseObjects(); AttackMobs(); Walk("m1");
dc769cbc073687561cec951d3a2805ad : UseObjects(); AttackMobs(); Walk("rr");
f24ec5ca01b5fc9beee166c1b56a1dec : UseObjects(); AttackMobs(); Walk("m1");
2199143fe686f65968bd93e24975646c : UseObjects(); AttackMobs(); Walk("rl");
59e3296e7944ed9735139876d19e51b6 : UseObjects(); AttackMobs(); Walk("m1");
6509aa0b2fe8b57c21cde97668ed7adb : UseObjects(); AttackMobs(); Walk("m1");
4c9a69741f9cee812205a9ea524ca69a : UseObjects(); AttackMobs(); Walk("rl");
9996a638853f5a27849642e259c40b12 : UseObjects(); AttackMobs(); Walk("m1");
97913cb0d85f8df35b3cb57e3824602f : UseObjects(); AttackMobs(); Walk("m1");
19183a72a2ce0a2b09f1f47d26cb14de : UseObjects(); AttackMobs(); Walk("rl");
8a1a73e3298a48c939bbf3443ce7737f : UseObjects(); AttackMobs(); Walk("m1");
d14b3262c761319da230163fd0cf6818 : UseObjects(); AttackMobs(); Walk("m7");
a6fcaceb121a5b714cf3c1278d7f182b : UseObjects(); AttackMobs(); Walk("rr");
f57912798abd4dcfca178da42bb4008c : UseObjects(); AttackMobs(); Walk("m1");
b0b09c67e37df0928809731ab8251ee0 : UseObjects(); AttackMobs(); Walk("m7");
d9a397ea0d882f867397e479e9dfb926 : UseObjects(); AttackMobs(); Walk("rl");
f286db4d72c01c3effcdf8f31d1b136b : UseObjects(); AttackMobs(); Walk("m7");
e1ef6e5a78aa074b2582bfd1e43949fd : UseObjects(); AttackMobs(); Walk("m1");
6207f44d9a13720c2d722d7007b72949 : UseObjects(); AttackMobs(); Walk("rr");
93bd2411e81f86182ed97f2126822e0d : UseObjects(); AttackMobs(); Walk("m7");
bddb3ad7c06b9b037d427d7f11406c4a : UseObjects(); AttackMobs(); Walk("rl");
9daba7207cdb579b72a7f4258e9cc7c8 : UseObjects(); AttackMobs(); Walk("rl");
a20eeb9bb4d15a5e36a1736fb9bc1258 : UseObjects(); AttackMobs(); Walk("m3");
eadae28dc4875655116dd938012e7ddd : UseObjects(); AttackMobs(); Walk("m3");
96359a18357ba35dcbc19eb4c806d2ff : UseObjects(); AttackMobs(); Walk("m3");
32e491b8e6600c992743f724958f4d81 : UseObjects(); AttackMobs(); Walk("m3");
70dce23448ce11c800edb74662679b80 : UseObjects(); AttackMobs(); Walk("m1");
5d8ceee3a033c979beebb8eda520a89e : UseObjects(); AttackMobs(); Walk("m1");
40d78e42d7e51a86bdd4b6011b76eeb8 : UseObjects(); AttackMobs(); Walk("rl");
8488bf7c6dafac71a4a316efefa8ac16 : UseObjects(); AttackMobs(); Walk("m1");
f9f9bf8aff2767a00d48bf79e47a6ec7 : UseObjects(); AttackMobs(); Walk("m1");
5c797628c6acea07a53a95eb5bc57032 : UseObjects(); AttackMobs(); Walk("m1");
6284deaa71f8278259fad1b942ca078a : UseObjects(); AttackMobs(); Walk("rr");
4e4ffad808f8a5e53441168492229af4 : UseObjects(); AttackMobs(); Walk("m1");
ba98facf58a48f3a5cabb05aee8664f8 : UseObjects(); AttackMobs(); Walk("rr");
9902c1b6db92a7716e273c3143a7838a : UseObjects(); AttackMobs(); Walk("m7");
6ce9f21b823d566e3a8ccf6092053d8c : UseObjects(); AttackMobs(); Walk("m1");
6041c9d63d9dc0008bbb508a4acd2798 : UseObjects(); AttackMobs(); Walk("rl");
cdc67bab9ee9aef9d96d6b1d148f97bd : UseObjects(); AttackMobs(); Walk("m3");
c19bae98011fef02cfb70f3aca6f0daf : UseObjects(); AttackMobs(); Walk("m3");
bdcdd91d5ce060d0a5be372ce2bc5e48 : UseObjects(); AttackMobs(); Walk("m1");
8c9a34541d25c15d7ea2df8ad121eef2 : UseObjects(); AttackMobs(); Walk("rr");
436791856a176e3c262a3769f123513d : UseObjects(); AttackMobs(); Walk("m1");
e5234f919c55cb911491347d70798ff7 : UseObjects(); AttackMobs(); Walk("rl");
600d1a15dc59b9cd1ab9acd7d04354d2 : UseObjects(); AttackMobs(); Walk("m1");
77196f20bfe5ab17d2b215f71663d955 : UseObjects(); AttackMobs(); Walk("m1");
00116b65307507cfbdddc5fb12febae1 : UseObjects(); AttackMobs(); Walk("rl");
b37c183230ef25309d90a86dd6e3ba6e : UseObjects(); AttackMobs(); Walk("m1");
580a916a86ec30e2d923d13c9d27cf87 : UseObjects(); AttackMobs(); Walk("m1");
5afd53218b6f726f85f9696c6ff3a7d1 : UseObjects(); AttackMobs(); Walk("rl");
2e357f4d715c7bc2d94e52bd4df98d03 : UseObjects(); AttackMobs(); Walk("m1");
78b35edb4b45e8607d0816a06e534e06 : UseObjects(); AttackMobs(); Walk("m1");
1143d40d5074937607cb74587ca091b2 : UseObjects(); AttackMobs(); Walk("m7");
4aa729211cda7a154eb22bf963431ff5 : UseObjects(); AttackMobs(); Walk("m1");
d5e6b6e36f76bfe9d4c5f1c8d969e683 : UseObjects(); AttackMobs(); Walk("m1");
80101f6729c015771cbe333f8fa256da : UseObjects(); AttackMobs(); Walk("rr");
d749cc567eb91819bd877fc3e42db503 : UseObjects(); AttackMobs(); Walk("m1");
e5243c2420084928f26897fb2c723962 : UseObjects(); AttackMobs(); Walk("m1");
bd979cfa5acf06245b86a9dbd0c11e80 : UseObjects(); AttackMobs(); Walk("m1");
f8ead7a2b73350e83e09f3a5e76fb22c : UseObjects(); AttackMobs(); Walk("m1");
c3050440fcdf5118ed498aaa1e693db4 : UseObjects(); AttackMobs(); Walk("rl");
f473f8cebdea1c33ac2b1c106fa1f823 : UseObjects(); AttackMobs(); Walk("m7");
823f060c57293b584b3acadcbf57bbdc : UseObjects(); AttackMobs(); Walk("m7");
ca5654d5effef83c097f5ebbce39398e : UseObjects(); AttackMobs(); Walk("m7");
f2dd0fadc3f91758f622dc92cbda6c01 : Walk("rl");
c8f2963d5ea534e3138abd4cc20e055b : UseObjects(); AttackMobs(); Walk("rl");
d5bbd3411abfec8494ca83e18d92d6d4 : UseObjects(); AttackMobs(); Walk("m1");
213c4c7407649560d7261cf6613122f6 : UseObjects(); AttackMobs(); Walk("m1");
8ab3d68e10204f9a192513e0b998e425 : AttackMobs(); Walk("m1");
5cad1921185d7465abae8d5e82e55973 : UseObjects(); AttackMobs(); Walk("rl");
f055997dc95f93a9db2a3287c401ca16 : UseObjects(); AttackMobs(); Walk("m7");
4a74b236db0684446c661b30d98cf94f : UseObjects(); AttackMobs(); Walk("m7");
afa19e2ebbde19cb26ebe0196d11ee46 : UseObjects(); AttackMobs(); Walk("m7");
2fecb71ae3d90156312ee01c8cf260ca : UseObjects(); AttackMobs(); Walk("m1");
0cea0ca2ca4c650b10c5618396ade676 : UseObjects(); AttackMobs(); Walk("m1");
c8fae7dc7accefe3cef5e45dd1d059f6 : UseObjects(); AttackMobs(); Walk("rr");
f61973960efcb9a7ee4b8c0bf7944f2b : UseObjects(); AttackMobs(); Walk("m7");
fce950a494bb2e9c69d4bc09f4374e19 : UseObjects(); AttackMobs(); Walk("m1");
74b82b2797c88d16c9557fb5579cc781 : UseObjects(); AttackMobs(); Walk("rl");
3459556dbf8f092b2dba556ffedbe9fb : UseObjects(); AttackMobs(); Walk("m3");
ef469c126e9a8f23e4ea00e29b24faec : UseObjects(); AttackMobs(); Walk("rr");
8d0b4e3f4a5d171fa304775b8b871300 : UseObjects(); AttackMobs(); Walk("m7");
4f377cb1c186b3f6501b812646706b9c : UseObjects(); AttackMobs(); Walk("m7");
c5c9b25986064cc5616c9c55a27b2b5a : UseObjects(); AttackMobs(); Walk("rl");
0e1f83f20b8e25630c355d58f943c89a : UseObjects(); AttackMobs(); Walk("m5");
bd813e2d915bb5b2733661081f62291c : UseObjects(); AttackMobs(); Walk("m1");
47c71247a956d41fdaad62df254065b5 : UseObjects(); AttackMobs(); Walk("m1");
546b058eae6b8f6f0a82e9d3e7e0bab2 : UseObjects(); AttackMobs(); Walk("rl");
30e4c5ace25336baeaa74c7689128d8a : UseObjects(); AttackMobs(); Walk("m1");
3cdbee62cfd40f1168c5abd4d721a1da : UseObjects(); AttackMobs(); Walk("rl");
2e6e45dafbe04f6bce1dd8f0ac29cd35 : UseObjects(); AttackMobs(); Walk("rl");
3cae41a430e4f6a6acfaf2543fa9dac0 : UseObjects(); AttackMobs(); Walk("m1");
49620fd9b64e30859a7177782edb97da : UseObjects(); AttackMobs(); Walk("m1");
437fc2d468f3a2ff0386d0392b796e3c : UseObjects(); AttackMobs(); Walk("m1");
aec269c62379bc9bb2b05f63de850020 : UseObjects(); AttackMobs(); Walk("rl");
8e5101bd77a45d444b5b1a60b30464d3 : UseObjects(); AttackMobs(); Walk("m1");
7d0d8412eb5a6b0fb5c0f7783e7a831f : UseObjects(); AttackMobs(); Walk("m1");
0e70dc6cae0122e8a5ad892ccf6dc7c1 : UseObjects(); AttackMobs(); Walk("rl");
88db5bccad30153b19319967cf156a11 : UseObjects(); AttackMobs(); Walk("m1");
2c1418b471473fce3f00cd927d4a048e : UseObjects(); AttackMobs(); Walk("m1");
d455d04faa10579fae63bb8993cb6ad6 : UseObjects(); AttackMobs(); Walk("rl");
4a2756dc871cbfb440665b3755ea3674 : UseObjects(); AttackMobs(); Walk("m7");
eb690801dc9f3f843f51c867be5c9300 : UseObjects(); AttackMobs(); Walk("m1");
2a1e266444407e1b9f906e7a7524056c : UseObjects(); AttackMobs(); Walk("m1");
73be4d3349b22ff62ae987413e67d8c9 : UseObjects(); AttackMobs(); if(tkHP >= maxHP) Walk("rl");
964173c6e03af0c0c16aa261f31eaeca : UseObjects(); AttackMobs(); Walk("m1");
afd44695828a1876b1f46f92d9477ab8 : UseObjects(); AttackMobs(); Walk("m7");
9b08437774a7443f330c5554de1b48a7 : UseObjects(); AttackMobs(); Walk("rl");
d76adeab06c71d34d6f5ddc688cf18a5 : UseObjects(); AttackMobs(); Walk("m1");
e3f65198d7d7e44d18394df1611c4845 : UseObjects(); AttackMobs(); Walk("rl");
1479d2a157e3e1b02383ca51cc9df31d : UseObjects(); AttackMobs(); Walk("m1");
91e2439faf685867fbf4dbff5670ff58 : UseObjects(); AttackMobs(); Walk("rr");
65e8b7a6fee298861d08996bf1386521 : UseObjects(); AttackMobs(); Walk("rr");
6cc6e7ed86b772dc8180c7e3af07e40c : UseObjects(); AttackMobs(); Walk("m1");
f696373881c5df3a42d9a1b791d9158e : UseObjects(); AttackMobs(); Walk("m1");
7f14e4f885f9c91f6e432bd26761b853 : UseObjects(); AttackMobs(); Walk("rl");
8fa95117d02d6c1f8fbdb9b08d969476 : UseObjects(); AttackMobs(); if(tkHP >= maxHP) Walk("m1");
4ddc6a16cab955449a94316e0acf8d58 : UseObjects(); AttackMobs(); Walk("rl");
aa5bfe913274f03153cf2450b145a333 : UseObjects(); AttackMobs(); Walk("m1");
87e17f59d5b7d41ab5dd4d8c7eb64682 : UseObjects(); AttackMobs(); Walk("m1");
ec094435e0b2935d9300ba1bb08ae170 : UseObjects(); AttackMobs(); Walk("rr");
c3f3c8f26a0c7143f92840ce42907ab0 : UseObjects(); AttackMobs(); Walk("m1");
c0948c8e36709563a33d52d8c16c7f4d : UseObjects(); AttackMobs(); Walk("rr");
e3aa452b7582cf4d45b5d97b851d4661 : UseObjects(); AttackMobs(); Walk("m1");
0af1ec96420299ec62fdbd36d0244797 : UseObjects(); AttackMobs(); Walk("m1");
8b09eaa90a8c30e30c0a729d57ede0b5 : UseObjects(); AttackMobs(); Walk("rl");
5448db5d860de5fecb3040079894c359 : UseObjects(); AttackMobs(); Walk("m7");
b663ae115da477f94f427ae3c7f23588 : UseObjects(); AttackMobs(); Walk("m1");
72b39115db0829082b008497c0bfdd5e : AttackMobs(); Walk("rr");
ae463bf7a60969f202c56e9483d1c350 : AttackMobs(); Walk("m7");
1d9cf76210fe627c082b72654086cc6e : UseObjects(); AttackMobs(); Walk("m1");
03e59634584f559c41ca62cbeff17454 : UseObjects(); AttackMobs(); Walk("m1");
ed630167b76311a6b8b0e2383036a8b3 : UseObjects(); AttackMobs(); Walk("m1");
d025c40178fa6158528657dd2871caf3 : UseObjects(); AttackMobs(); Walk("m1");
cf63b2c0f761c14279260540525e2581 : UseObjects(); AttackMobs(); Walk("m1");
35f04ac8ddc83e5b37b7b50e74ec2b68 : UseObjects(); AttackMobs(); Walk("rl");
ff0b9a15b7c1e41940f6f00fa9577d94 : UseObjects(); AttackMobs(); Walk("m1");
121b3712fa964ccd60469341382b145a : UseObjects(); AttackMobs(); Walk("m1");
870d8225726f0b8e28f36a14d6ded142 : UseObjects(); AttackMobs(); Walk("m1");
a4e09d4f58320c84fd085d542e6675ce : UseObjects(); AttackMobs(); Walk("rl");
edb9494a37f77f7771ae70d5ce7d44c4 : UseObjects(); AttackMobs(); Walk("m1");
e1dd43f7af3a66b07aaf1d6e1cded5e8 : UseObjects(); AttackMobs(); Walk("m1");
598463e0462ce30ec35d3d6179a65243 : UseObjects(); AttackMobs(); Walk("rl");
92b8c630c1ecabfe0b0d0780968a2d5f : UseObjects(); AttackMobs(); Walk("rl");
ee5ba34fe33e2902dc6513b945fe9174 : UseObjects(); AttackMobs(); Walk("rl");
5a7e5f5bcbb8bf3a32520c649f103c97 : UseObjects(); AttackMobs(); Walk("m1");
2955db2585aa02c555ace1db71e1a35c : UseObjects(); AttackMobs(); Walk("rl");
52b5ee9796eca12e7fb4b20f837f2b69 : UseObjects(); AttackMobs(); Walk("m1");
07ebd0ec8f7b0583b1f1e90dc553ea77 : UseObjects(); AttackMobs(); if(tkHP >= maxHP) Walk("m1");
859b4b6d955000390dd1551dd99eda87 : UseObjects(); AttackMobs(); Walk("m1");
7a1dff6aee91ee67f0911b1e700f356c : UseObjects(); AttackMobs(); Walk("rl");
b335860b76bd650e84d913ffdf93f254 : UseObjects(); AttackMobs(); Walk("m1");
a119598a68cf9f1f63cb09d0dce189ce : UseObjects(); AttackMobs(); Walk("m1");
c176a07f37413242ee8bd66cab6e5c47 : UseObjects(); AttackMobs(); Walk("rl");
322d29a8373b1d4cd38872e85d45534f : UseObjects(); AttackMobs(); Walk("m1");
ceb9d4cfb2efdae299e48e0c8d5ee2af : UseObjects(); AttackMobs(); Walk("rl");
4b16471f9c686a4f0c90a11b64aeeced : UseObjects(); AttackMobs(); Walk("m1");
5b97cd691f67948a07fa593e247868f9 : UseObjects(); AttackMobs(); Walk("m1");
45b9ba29fd601b2c9de8d2109ca3989e : UseObjects(); AttackMobs(); Walk("m1");
8efd80a6540defee130d6469d0369972 : UseObjects(); AttackMobs(); Walk("m1");
63d5d6c2a402a7fe03d91ad12abe589b : UseObjects(); AttackMobs(); Walk("rl");
857187641f7f11e5ecb7c4b45a722b88 : UseObjects(); AttackMobs(); Walk("m1");
e1828eca24287893333fa23db4634c9f : UseObjects(); AttackMobs(); Walk("rl");
4f8d32900bf3847e0df6adf38f540b7e : UseObjects(); AttackMobs(); Walk("m1");
c5abb0266f35330e03e386e3c82d1b13 : UseObjects(); AttackMobs(); Walk("rl");
c1e3a996b3e2b6200dd622a2bf0d5ee8 : UseObjects(); AttackMobs(); Walk("m1");
e0f665f1cd640f665bafd9e9e5ede3b8 : UseObjects(); AttackMobs(); Walk("m3");
e727dcefa334f75d5e2708f97e238392 : UseObjects(); AttackMobs(); Walk("m1");
b63dd49f48845bc4742f620b1b7e846e : UseObjects(); AttackMobs(); Walk("m1");
4e6fe92333e890c2854105d6dac5c2fe : UseObjects(); AttackMobs(); Walk("m7");
9eed1fa9a1aff167619ec019e7c6676e : UseObjects(); AttackMobs(); Walk("rl");
4c1844935bef71461e2553a4c2afc878 : UseObjects(); AttackMobs(); Walk("m1");
1d56617ba43e46d8e557b209b350017e : UseObjects(); AttackMobs(); Walk("m1");
929e6c07c99827e9599d0a1034f8e6f0 : UseObjects(); AttackMobs(); Walk("m1");
4dff55b85263e59b3db3e152569188e4 : UseObjects(); AttackMobs(); Walk("m1");
ace4edfff551de29bc09cffb2bcf757d : UseObjects(); AttackMobs(); Walk("rl");
03891b64e949f3fb0faf546a84d48bf6 : UseObjects(); AttackMobs(); Walk("m1");
44c11e78159b73290463b71decab0ce0 : UseObjects(); AttackMobs(); Walk("m1");
5d5dbb4663c8b8a35d0b0ba48dc5f543 : UseObjects(); AttackMobs(); Walk("m1");
890b1931ad53631fcd0e46d1d6e887d4 : UseObjects(); AttackMobs(); Walk("m1");
ca0b55a2c927177f96d40958e81051f8 : UseObjects(); AttackMobs(); Walk("m1");
bd88e20edef859012a7df1aac94e0fea : UseObjects(); AttackMobs(); Walk("rl");
5978c9afd0b7460f03d7f707f30d50b7 : UseObjects(); AttackMobs(); Walk("m1");
5d159809e81f70645561a721c353b1a4 : UseObjects(); AttackMobs(); Walk("m1");
180d98a1041765dc3f272e6b194dc090 : UseObjects(); AttackMobs(); Walk("m1");
918323614eefec989e19653e7e23c5b6 : UseObjects(); AttackMobs(); Walk("m1");
0dd29cb3687c447bd0eecfc2e34658f3 : UseObjects(); AttackMobs(); Walk("rl");
75211f4fd1e7696be476b79ca313b10d : UseObjects(); AttackMobs(); Walk("m1");
4fcc9107b1ee9dbe4d059280041e2ec2 : UseObjects(); AttackMobs(); Walk("rl");
5b4bbd08539b66a65c3ed7dbb4f277ff : UseObjects(); AttackMobs(); Walk("m7");
07bc481c9ecec6cae3bf1cb4239d5908 : UseObjects(); AttackMobs(); Walk("m1");
a8e0116196ad05fc9f0a04192a35a9fa : UseObjects(); AttackMobs(); Walk("rl");
605a09a80f64645f7e0e76d2f206ced8 : UseObjects(); AttackMobs(); Walk("m1");
14339c0ead657b71e56250a35e88a7fd : UseObjects(); AttackMobs(); Walk("m1");
da379b6cf0b70a72cb91388ef5d561cd : UseObjects(); AttackMobs(); Walk("rl");
5bd6c780c6de0a711f5c33b178dec5de : UseObjects(); AttackMobs(); Walk("m3");
0e1f315e8149240dbbdd952b5c022fa7 : UseObjects(); AttackMobs(); Walk("m1");
750620c73c7428b4c2d9bd316afe707c : UseObjects(); AttackMobs(); Walk("rl");
4922965fa945b6b920885359f15e024d : UseObjects(); AttackMobs(); Walk("rl");
33fbcff28db0d91cb09eb6eafd92a39c : UseObjects(); AttackMobs(); Walk("m1");
e486e9119f85932bfcb4ce9b1202a1ec : UseObjects(); AttackMobs(); Walk("rl");
726414b05025bd8496c7f0a3ce46dbce : UseObjects(); AttackMobs(); Walk("m1");
9b0c787076d46b4a0d09f041ecd98471 : UseObjects(); AttackMobs(); Walk("m1");
5742ada70e8a98d7bfaae1d383cd1350 : UseObjects(); AttackMobs(); Walk("m1");
c6a105d1fecbe43ecef9af2b8996b188 : UseObjects(); AttackMobs(); Walk("rl");
5efacf1acb22bd4feff0a0de09ca824c : UseObjects(); AttackMobs(); Walk("m7");
f04fd3b96ed33e8127e86b65945dfc1a : AttackMobs(); Walk("m1");
fcfb6801039f0e9c7f8ad0d4ba5562ce : AttackMobs(); Walk("m1");
55471d78ccbfa7f015a859c11ee38b7d : AttackMobs(); Exit();
b383aea83f26192913a0fe55280ceedb : UseObjects(); AttackMobs(); Walk("m1");
396f8bdf3367059cd8eba11b4515e030 : UseObjects(); AttackMobs(); Walk("m1");
3a52412a894b9d55ec102b0a871b0afa : UseObjects(); AttackMobs(); Walk("m1");
bda677d4c8deaf92bd697bf8b0783562 : UseObjects(); AttackMobs(); Walk("rl");
e4b89de4e147dccff07fd236a2c0ef07 : UseObjects(); AttackMobs(); Walk("m3");
22a77d37e6b07e8a8a0dc61974966447 : UseObjects(); AttackMobs(); Walk("rl");
b74c663f868ef5ffce7ed6671ee2037a : UseObjects(); AttackMobs(); Walk("rl");
40af6dd9578f3a2c257123ee278f83d7 : UseObjects(); AttackMobs(); Walk("rl");
71be705b1eefb038394cac3d2a31759d : UseObjects(); AttackMobs(); Walk("m1");
ab08fef43cd52f996ea1b15299ad334f : UseObjects(); AttackMobs(); Walk("m1");
d4f8ec5c7968ab3386f8d18f69ae5a33 : UseObjects(); AttackMobs(); Walk("m7");
6101a2514c7b2e8e87d26729255f0abc : UseObjects(); AttackMobs(); Walk("m1");
4553b4158a7ba4256a9740d1a33094f8 : AttackMobs(); Walk("rr");
ceb263de0e196dc78378a9f10f4a1f6d : AttackMobs(); Walk("rl");
92a94df55163dd1682e404584223fc4d : AttackMobs(); Walk("m1");
b0ed1ec7145630bfbe3e3e3800a5c9bc : AttackMobs(); Walk("m1");
9e2188bd7ed3fa70a0034c5c74e3cb95 : AttackMobs(); Walk("m1");
86892562b953fe6db523fa058f6e09c2 : AttackMobs(); Walk("rl");
5551a1fed21033cea86416b1c007da1c : AttackMobs(); Walk("m1");
00d850f33ff180d6de6e740db18b446a : AttackMobs(); Walk("m1");
11503b9dea319e76c0a77f4bfb0722f8 : UseObjects(); AttackMobs(); Walk("m1");
3cacd2b5b3a7382e96d272ffc70f6f48 : AttackMobs(); Walk("rl");
ac7f4179010cd4d2ff8af79171a8842a : AttackMobs(); Walk("rl");
60e4a3dc9cf020f555c5899d3292bef3 : AttackMobs(); Walk("m1");
5f464dc0e388c6eed7c7c564f83685a3 : AttackMobs(); Walk("m1");
2bd3ff4dfb1c211b868728575b5e7e49 : AttackMobs(); Walk("m1");
a60eb1d31172e8a3d656254c89b229d0 : AttackMobs(); Walk("rr");
b140e5f902d3ec741ec7d5cc6796be79 : AttackMobs(); Walk("m1");
3b7df101090fd898fb9785972bcef44a : AttackMobs(); Walk("m1");
dff19c00619748ec7d9a5f4db78ca088 : AttackMobs(); Walk("m1");
85bd17fdbb84e5984cc7e51fea33322c : AttackMobs(); Walk("rr");
ce75644afe8bbb29b502a5791549336e : AttackMobs(); Walk("m1");
28e569e121d43201e11295279e0b6abf : AttackMobs(); Walk("m1");
1f50a2aaa3e7c96f9c8280f0de20814f : AttackMobs(); Walk("m1");
a52530d3edde83cd8f81d671a9482a7f : AttackMobs(); Walk("rr");
dfd0abf605dc47f3376e1b75c2af6410 : AttackMobs(); Walk("m1");
814d7050945e3fd996aba522389612de : AttackMobs(); Walk("m1");
42fd502c10d9cc0cc9662a12ffa252e8 : AttackMobs(); Walk("m1");
5986e7495354942d5ba97c7e1ee55b22 : AttackMobs(); Walk("rl");
a1bfc8cf121e7a83023d7386bec04862 : AttackMobs(); Walk("m1");
c9cc83491c208f430a3c6dee3f23d6ba : AttackMobs(); Walk("m1");
801e017fd5cf68a79e4f25a1fd6fed4f : AttackMobs(); Walk("m1");
9cce3a9f17466bbd5f3f3b88bd0ad52c : AttackMobs(); Walk("rl");
93d5dea24cd0004642811c7c9bc5ed12 : AttackMobs(); Walk("m1");
eca0007ad3658f2806ec12891e77f71f : AttackMobs(); if(hyppo_rnd>0.5) Walk("m1"); else Walk("rl"); // стоим перед дверью Краппта
4afe99f53e3ebe44c2c1465617cf28be : AttackMobs(); Walk("m1");
f8de6feac51ded0dc1767d460fecd10d : UseObjects(); AttackMobs(); Walk("m7");
72b2174e299a33cd67d8e924e7d55959 : UseObjects(); AttackMobs(); Walk("rr");
ffb1dbb1f54d7940fb2bda29659aeb8a : UseObjects(); AttackMobs(); Walk("m1");
8b4e8d7db4aaa82a5418608b7691c87c : UseObjects(); AttackMobs(); Walk("m1");
ca78df01816c499c80e7597567ea9b7a : UseObjects(); AttackMobs(); Walk("rl");
c996d3a36c62a8899538d78ea8019ccd : UseObjects(); AttackMobs(); Walk("rl");
908c79ac9a10ef7fb0eafa46c5459a58 : UseObjects(); AttackMobs(); Walk("m7");
6b007fc227fcc48c4930f6cb199c2b75 : AttackMobs(); Walk("m1");
d162258ff72855f15884471ded9041f7 : AttackMobs(); Walk("rl");
889baaf384a21d57cf03541f20627c8a : AttackMobs(); Walk("m1");
5dc8e536735f12221d1adfc7c5dd20a6 : AttackMobs(); Walk("m1");
149caa4c99fe94480b06e7b00b7a3909 : AttackMobs(); Walk("rr");
27151174d7828a61bea28bbd635d750a : AttackMobs(); Walk("m1");
7cee72d8f4d29d5c995e8c8c97b81078 : AttackMobs(); Walk("m1");
42dbf6c2e805a7a07beb03252c665390 : AttackMobs(); Walk("m1");
70f26546da3f7c96dbf3e448d522f628 : AttackMobs(); Walk("rr");
7cf20cf5879f20a0bbcd3a4458e464ce : AttackMobs(); Walk("m1");
d90438eb3e643253ae07fc7c0217db60 : AttackMobs(); Walk("m1");
2f74d6bf0840efbfa746aad797fa86f2 : AttackMobs(); Walk("m1");
331d978e14f025922df0917a568b479e : AttackMobs(); Walk("rl");
7976f1a8fd827c820a160f2446bac70e : AttackMobs(); Walk("m1");
6aeec6927109ff92bfc21fb8037b228c : AttackMobs(); Walk("m1");
cffaae6d1bb2bbd3b65648a8f7cebd3f : AttackMobs(); Walk("m1");
452926519ded4e3c1296ea4c11d1f756 : AttackMobs(); Walk("rr");
041d66eaa8eca9710e2fe9d6b96cb419 : AttackMobs(); Walk("m1");
efad51d09b30d229c160c9d5531c2956 : AttackMobs(); Walk("m1");
1fda626399f7134bb70ac5e39ce790e7 : AttackMobs(); Walk("m1");
cd3c3f9646a6939ad40ee0802e46cb8f : AttackMobs(); Walk("rl");
6b6f7170647ea054904e620fb59876cb : AttackMobs(); if(hyppo_rnd>0.5) Walk("rl"); else Walk("m1"); // у центрального хранилища
294b8caa30d3b2a25134c60b0af7368c : AttackMobs(); Walk("m1");
df3f60a7600a92c20d414df17723f50b : AttackMobs(); Walk("m1");
07d0e33d3355b619aa4b9ae6bc3d2e2c : AttackMobs(); Walk("rr");
a8bee26ae533c63052a150ccbd045aba : AttackMobs(); Walk("m1");
8ede14a8c9ade62ecbc5cf44cb05d937 : AttackMobs(); Walk("m1");
4e2a02a21bfe8635812b7d0d50a1e47e : AttackMobs(); Walk("rl");
477fef88edfc68542ab2b2eb26aac966 : UseObjects(); AttackMobs(); Walk("rl");
ba5cc6d27a34d52d2fcf722d8e2469f6 : UseObjects(); AttackMobs(); Walk("m1");
5ad0ffc3432c8800ebd959b7542abf5c : UseObjects(); AttackMobs(); Walk("rr");
3a4ca79a049c7bb6fdc5d6d85314dbca : UseObjects(); AttackMobs(); Walk("m1");
67c03a618a914c674b6fc7c311adc84c : UseObjects(); AttackMobs(); Walk("m1");
891466c13a592272c8e06b2889668a96 : UseObjects(); AttackMobs(); Walk("rr");
cab539a2acf8f1b70fcdac4dbf6987fd : UseObjects(); AttackMobs(); Walk("rl");
a668f43d24e2fa77df348877a52f080f : UseObjects(); AttackMobs(); Walk("m1");
d9ffde1bbf122c9cf18949284735186e : UseObjects(); AttackMobs(); Walk("rl");
14d0c6f02abd0b418626ba934626a89d : UseObjects(); AttackMobs(); Walk("m1");
080f29f6c686c3a8a4798a4e0453d3bf : AttackMobs(); Walk("rr");
a88b049b1611d445268bbd47b65ba862 : UseObjects(); AttackMobs(); Walk("m1");
f2825253c83c96ca3938a902e5bd3aa4 : UseObjects(); AttackMobs(); Walk("rl");
5d12c25157fffc8c29930a2b2e61e48e : UseObjects(); AttackMobs(); Walk("m3");
7eba3c8ced6943b3d02f336d4ec46082 : UseObjects(); AttackMobs(); Walk("rr");
c1afce55c5320aa92e8ce137c7c25eb4 : UseObjects(); AttackMobs(); Walk("m1");
95b17eb398600326a824511cd95de5b6 : UseObjects(); AttackMobs(); hyppo_rnd = Math.random(); Walk("m1"); external.AddToChat("hyppo_rnd "+ hyppo_rnd);
55e5cdf5f2461d46f5531ea4816ef522 : AttackMobs(); if(hyppo_rnd>0.66) Walk("m1"); else if(hyppo_rnd<0.33) Walk("rr"); else Walk("rl");
59c20f931227ce0d924304a18811b04a : UseObjects(); AttackMobs(); Walk("rr");
f1c8153062b0a476fc11b08affd453ac : AttackMobs(); Walk("rr");
cd355aec7ef6c6c639785b6221ab3576 : AttackMobs(); Walk("m7");
33dbb427c8214a7cb94e7d75f3667e04 : AttackMobs(); Walk("m1");
b0ed1ec7145630bfbe3e3e3800a5c9bc : AttackMobs(); Walk("m1");
f2862f440b6438b1d50c61933b878f9c : AttackMobs(); Walk("m1");
443348ba10bc3b2e87921a584e77b6ef : AttackMobs(); Walk("rl");
1b9300214537544e1ba8b67b08fa8ea9 : AttackMobs(); if(hyppo_rnd>0.5) external.AddToChat("Считаю что надо будет зайти к Краппту. Rnd:"+ hyppo_rnd); else external.AddToChat("Считаю что надо будет зайти в центральное хранилище, а к Краппту не пойдём. Rnd:"+ hyppo_rnd);
56cf3cce244da71838637e598e74c613 : AttackMobs(); Walk("rr");
eea061b8503f85e4da9d9bb849e4906d : AttackMobs(); Walk("m7");
17e1d96f00b0d8ea0f399d58b3657d49 : AttackMobs(); Walk("m1");
efe0564780d9b4a33dd6168415b0c043 : AttackMobs(); Walk("rl");
3e11c2891b21caefdccde8f59566da9a : AttackMobs(); if(hyppo_rnd>0.5) Walk("rl"); else Walk("m1"); // у центрального хранилища
6ce38078c888834f430fe2a1b084449f : UseObjects(); AttackMobs(); Walk("m1");
d69f52fa16adfbfb7b12140fca944650 : AttackMobs(); Walk("rl");
2a458ae4da68df695ddf756d517e3acc : AttackMobs(); Walk("rl");
cdf918b2e77e5904d04fbe35e07ce744 : AttackMobs(); Walk("m1");
5ef58f145d33739ed2f332a0fbcfcc57 : AttackMobs(); Walk("m1");
430c3c1cc1631da44df3e9ca72f7873c : AttackMobs(); Walk("m1");
432997628e3bdac288e5b77f27a18dc3 : AttackMobs(); Walk("rr");
9abf42c2c219d9a68dede996dce0e221 : AttackMobs(); Walk("m1");
4aae4a3550799f8b27f3a068f250ba4c : AttackMobs(); Walk("m1");
7b8419f102a6a686aad2d22e1b26ade3 : AttackMobs(); Walk("rl");
c12b71a7f6932dc4c9eb5646888462c8 : AttackMobs(); Walk("m1");
253747a450efb054a0b91e87104ace9a : AttackMobs(); Walk("m1");
959779d53169e122715b06694375a757 : AttackMobs(); Walk("m1");
502b9472ad4bf18b9f6e1547dc08a1b0 : AttackMobs(); Walk("rr");
23e7d9a0825a7f8ca9b292b51190e83f : AttackMobs(); hyppo_rnd = Math.random(); Walk("m7");
В приведённом маршруте задаётся переменная "hyppo_rnd", дробное, в диапазоне от 0 до 1.
23e7d9a0825a7f8ca9b292b51190e83f : AttackMobs(); hyppo_rnd = Math.random(); Walk("m7");
Соответственно потом, по ходу движения, перс идёт в зависимости от выпавшего значения. К примеру, если значение больше 0,5 то перс повернёт налево, а если равно или меньше то пойдёт прямо:
3e11c2891b21caefdccde8f59566da9a : AttackMobs(); if(hyppo_rnd>0.5) Walk("rl"); else Walk("m1");
Обратите внимание что обязательно переменную задать один раз, в начале разветвлений дорог, а не всякий раз когда понадобится рандом. Тогда можно добиться стабильности маршрутов.
Также для контроля вот такие клетки созданы:
1b9300214537544e1ba8b67b08fa8ea9 : AttackMobs(); if(hyppo_rnd>0.5) external.AddToChat("Считаю что надо будет зайти к Краппту. Rnd:"+ hyppo_rnd); else external.AddToChat("Считаю что надо будет зайти в центральное хранилище, а к Краппту не пойдём. Rnd:"+ hyppo_rnd);
А вот "тройная" клетка, прямо как в сказке у камня: "налево пойдёшь — коня потеряешь" Налево перс идёт если переменная выпала в диапазоне от 0,33 до 0,66.
55e5cdf5f2461d46f5531ea4816ef522 : AttackMobs(); if(hyppo_rnd>0.66) Walk("m1"); else if(hyppo_rnd<0.33) Walk("rr"); else Walk("rl");
Остаётся проблема перезагрузки бота. Если бот потеряет значение переменной "hyppo_rnd". На этот случай неплохо бы выстроить резервный маршрут, самый простой и безопасный, не требующий лишних ключей. Пока не занимался этим. Да и вообще давно в Санде не был
Преимущества всей этой свистопляски:
1. Внешне перс становится более беспалевным. Ходит по разным маршрутам, а не по одному и тому же. Это видно будет в логах боёв.
2. Если прикрутить ещё и плагин диалогов Сана, то можно чередовать производство завтраков, литьё металлиума, скрутку запчастей с котлов.
3. Получается выполнение разных заданий в течении суток: велика вероятность что куда надо бот зайдёт за сутки.
4. Один файл на несколько маршрутов это дополнительный плюс к стабильности работы.
Надеюсь кому-нибудь эта идея пригодится.
(Please
log in or
register to see this URL)