201

(16 ответов, оставленных в Подземелье / Маршруты)

Побегав ботом некоторое время по метро, меня начала мучать мысля "пипец как я палюсь!"  cool

До вчера я "свято верил" в возможность реализации ряда моих "хотелок", которые помогли бы мне сделать игру Комботсом максимально похожей на игру руками. Такие планы были как для в общих черт поведения перса (количество походов в метро; периоды онлайна), так и в мелочах (выполнение двух перемещений в метро за одно обновление окна IE; сложные комбинации по последовательности применения приёмов).

Все мы знаем, что () - () рук ().

короче говоря! smile
Есть идея заменить класический линейный маршрут (когда чар каждый раз проходит одни и те же одинаковым количеством запросов на сервер БК) путешествием по метро с использованием разных маршрутов (скажем, проход 3 этажа грибницы по часовой стрелке или против) и/или разных способов (двигаемся по метро не "атаковать мобов - идти m1", о спиной/боком/спиралькой).

Например, в простейшем случае это может быть реализовано наличием нескольких фалов-маршрутов для прохождения 2 этажа ПТП:
1) делим () однофайловый маршрут по этажам (например, ()).
2) загрузку маршрута вместо

e268fb4940f0327edef0e26f1a235da0 : external.DungeonLoadPath("Бездна - 2 этаж");

делаем как

e268fb4940f0327edef0e26f1a235da0 : if (11*Math.floor(Math.random()) < 5) external.DungeonLoadPath("Бездна - 2 этаж ver.A"); else external.DungeonLoadPath("Бездна - 2 этаж ver.B");

3) наслаждаемся...

Для придания этому более случайного вида:
1) каждый этаж разбивается на точки;
2) пишется набор маршрутов для прохождения частей этажа (от точки к точке несколькими способами).
3) собираем маршрут при помощи external.DungeonLoadPath...

Ещё развиваем:
Создание некоторых случайных участков подчиняем рационализму:
1) с 1й клетки на первом этаже ПТП большинство делают "шаг вперёд" (а не "два поворота вправо+шаг спиной назад");
2) в катах идя верхом делать два круга по центру второго этажа (вокруг статуй) не обязательно;
...
Добавляем маловероятные ошибки (или привязываем их появление к ночному времени, когда человек вероятнее всего играет уставшим):
if (101*Math.floor(Math.random()) < 5) external.DungeonLoadPath(случайный шаг вперёд - прыжок в портал на 4м этаже ПТП для того, что б пройти один из коридоров ещё раз)...

Один я курю траву по пятницам? Делитесь, пожалуйста, соображениями о вышеизложенном smile

202

(17 ответов, оставленных в Подземелье / Маршруты)

ZhEkA_BK пишет:

Ну незнаю зачем время сокращать, я 9кой на боте этот маршрут за 2 часа 10 мин проходил, еще 50 мин втыкал. А про 10-11 я вообще молчу smile

Стараюсь привести работу бота к своему стилю игры руками - там-то и были быстрые походы...
Надеюсь, что такое подобие позволит моему персу прожить чудь дольше других ботоводов до общего бана wink

203

(451 ответов, оставленных в Проблемы / Баги / Неполадки)

pop-corn пишет:

а также случайно не стоит у тебя галочка драться с легкой травмой? если стоит - убери

вау) и я проверю такое

204

(17 ответов, оставленных в Подземелье / Маршруты)

ZhEkA_BK пишет:

Баклажаны- форумчане с фиолетовыми никами smile
Если про этот маршрут () , то да, он идентичный. Кстати написан не баклажаном, а мной, зелененьким  roll

Я вроде пробовал это маршрут самым первым, сразу как получил Комботс... Моё имхо: у моего маршрута и этого разные целевые предназначения. Мой - выбивание чего-либо в бездне. Твой - мм, не знаю smile выполнение собиралок что ли... да и писался, наверно, под БК2 (когда надо было только обшарить казармы, а не убить монстров).
Я создавал своё руководствуюсь чем-то таким
* уменьшить время пребывания в метро (из-за прохода меньшего числа клеток; пусть в ущерб собиралкам);
* настучать максимум монстров (даже пг для мизерного шанса дропа шкур - для приготовления бинтов...).

205

(17 ответов, оставленных в Подземелье / Маршруты)

кто эти баклажаны?) где маршрут?)

В продолжения темы () создал свой маршрут для прохода бездны. А именно - для сбора дропа со всех монстров (кроме кошмара и пары смотров), со всех казарм и сундуков (в т.ч. на 3м этаже, что отличает мой маршрут от ())...

Реализованы тремя файлами (по одному на этаж, с автозагрузкой друг друга). Так было мне удобнее их делать - каждый этаж по очереди - для работы с меньшим количеством строк "кода".

Бездна - 1 этаж.path

cf047870cbe361472645fbb3760ce855 : Walk("m1"); 
53b4313363724d62a225a8b0d09db662 : AttackMobs(); Walk("m1");
e51f7fc2f34b8fd9a6171981c2f483a0 : AttackMobs(); Walk("m1");
5bb1957c2919cfc8b5df80c3e465fb05 : Walk("rr");
c83c3d71f1b2cc0098765ae3bed58d57 : Walk("m3");
48b67e76b24027468094778cb4fc3ef8 : Walk("m3");
d3a0b002aabe47e73cb18e3982d98121 : Walk("m1");
aba85afc0b064b6208ec78b4cb1f4f80 : AttackMobs(); Walk("m1");
4343c2477cbcbc171337c5da45589214 : Walk("rl");
3bf3e9427600bbfae7a53eeee3f24039 : Walk("m1");
a9ad25da1cc65f781e610c9e57ef7429 : Walk("rl");
b74e88219bc836b762d5852ffd6081d4 : Walk("m3");
3b31d8aa1197b0e185403e6c7dc3c7da : AttackMobs(); Walk("m1");
457a162627878f43c76880ffc4b37f79 : Walk("rr");
cd9c0c4f52848096a24eb26ee798d11d : AttackMobs(); Walk("m1");
121f860d6e9cb5a211b1886016c4d916 : Walk("rr");
cd0c6af30ca5764d147b953508e6a13e : AttackMobs(); Walk("m1");
87a5d4991a1363512aaefb15092a32ff : Walk("m1");
3f2a4f554d464634b49f61fc2b82a04f : Walk("rr");
09fe2ca51f05d2a7c7f4ffd65e318b6c : Walk("m7");
721f6d242a0e087af74d44fbb03a15e1 : Walk("m1");
75fab88ce24309d3b1b150e1729d2636 : UseObjects(); Walk("rl");
543c1e1773a9622ab264d6c54b337645 : Walk("m7");
06058528096989b57efce6aaeb5a7a15 : Walk("rl");
2213bf9d1321380671443598f04a8a75 : AttackMobs(); Walk("m1");
cc43981df13d53609b2aa273c850e917 : UseObjects(); Walk("rl");
92fb8cde3ebc2a55d24656a79433b02c : Walk("m7");
eed0dda552ff4a1f0f82870bf99a65d7 : Walk("m1");
c3c4501c706e1f2b93f900bc64b659a9 : Walk("m1");
9649ee1fe79d56f2067a9ff825743517 : Walk("m3");
aaa9bb9e4a389812fe256fa1509ab9c3 : AttackMobs(); Walk("m1");
ea3588cdb63498e2f7a36bff4f49820f : AttackMobs(); Walk("m1");
73781f3e879beb46622c524367cc52e6 : UseObjects(); Walk("rl");
7437415dab3c7fee822a866bc912dfa8 : Walk("m3");
9f2424ee33e361383b6d0878e014f467 : AttackMobs(); Walk("rl");
b4541bd9910d2be38d5551c0acc1fee8 : Walk("m3");
7561ead7550fb26647ab006f510592db : UseObjects(); Walk("rl");
e20218e4f1e200ea32a1e78a6895afac : Walk("rl");
ac7a1d4dc3666f172d763dfd127dec52 : UseObjects();
ddbc5c3fea98efe6010a0e49f453cc0c : AttackMobs(); Walk("m1");
e61703c5cc002844776fa9acf45c7e4e : Walk("rr");
651201d0292d39958de665eca21a675f : Walk("rr");
a7f8e075e0724b965c4d75cb185dccf3 : Walk("m1");
7538e9c1546801c772a19f99f26bc69f : AttackMobs(); Walk("m1");
42b70c2a70ba5676f82e46518f51ac73 : Walk("m1");
d897cd4f5ab84cee1569d8ac9f3b2a19 : Walk("rr");
9cade1b1bf0c5e0a73d0e98c66f1247f : Walk("rr");
c035a65d9aebefcf89bb10663254066e : AttackMobs(); Walk("m1");
35dbdea2c4d47e2e0d84201ef598d415 : Walk("rr");
07117f4012a598409bd59f3a4a714ab2 : Walk("rr");
96775f0a6b540a984a5c1b66c6804847 : UseObjects(); Walk("m5");
8ffd5a50fd380b5501277be7f2751530 : Walk("rr");
676f3ddd7d40d518cf6c8a2e414164fc : Walk("rr");
fc231fd0f4f10be69acd4e9e98e45e7c : AttackMobs(); Walk("m1");
565cac66a05de695b7cb61add9a85754 : Walk("m7");
dde90217e90f279791e2d9b62f17c4ff : Walk("m7");
5b4a0a4dffa275852abc3d3e691c6cb6 : Walk("m7");
0e95335b9bc39de1741f71e5141adf6b : Walk("m5");
be44090eb09d4090f3f0d83feeca203e : Walk("m5");
b7d8323a68f4edb74c14043bc7db26cb : Walk("m5");
091bd0863b6b61f254247f02263b106c : Walk("rr");
e9deb54ace2aa113042307b6ff86e7f5 : Walk("rr");
2fb9a88c53637e2408513608b3f33c47 : Walk("m1");
f2acf99bf0a6ed3cb7c7652230cd29b3 : Walk("m1");
f9cc73af89534659e570286835fec61c : Walk("rl");
561b8e5d7f9d69d84b783722f54d8d97 : Walk("m3");
7b96a4f981351984be92500be61381bd : AttackMobs(); Walk("m1");
4bfe93912ab33ab6b34b0fb520976a27 : Walk("rr");
721011220de76406ccd12faf1ca27045 : Walk("rr");
7936b575ed78e2d1e6625420c7d3d508 : Walk("m1");
683bbd71e39b46f5a74a250d8a0a463f : Walk("m1");
255ffe4aa9e26acaac212510db307de9 : AttackMobs(); Walk("m1");
9d05760fe51d91ac0452302629fb451c : Walk("m3");
81ae1870f4c777c7ac3743f003222dee : Walk("rl");
282876cf7bb42ab1cb587257c5da2a8d : Walk("m1");
d82d6b6ad1b6b685299a4f5814f0e0e1 : Walk("m7");
55a111e0bc29b6085a2b5bc76bab1a60 : Walk("m7");
8433e7591cba21eb925d317bf3480595 : AttackMobs(); Walk("m1");
b8ec2235f04d4c7758a2b80997b07d2f : UseObjects();
e268fb4940f0327edef0e26f1a235da0 : external.DungeonLoadPath("Бездна - 2 этаж");

Бездна - 2 этаж.path

e268fb4940f0327edef0e26f1a235da0 : Walk("m1"); 
d15d7fe45dc45a9c606fc1ba37d20c34 : Walk("rr");
870b2ab6111a3129de97ab91c03898b1 : Walk("m1");
a01f298210ec2193bd1a77508b86a067 : Walk("m7");
6999a08b69e0f1b8c9fd3b4d8bca03fd : UseObjects(); AttackMobs(); Walk("m1");
8329aa9c1ee38f82876ee61d304e1c88 : UseObjects(); AttackMobs(); Walk("m1");
93e4ffec6f0f6003e2c0150bd322d85b : UseObjects(); AttackMobs(); Walk("rl");
8d778d6cbd85a4dd189f05e3771e7581 : UseObjects(); AttackMobs(); Walk("m7");
af623d433621b9f0ff83e59ef359c6bb : UseObjects(); AttackMobs(); Walk("m1");
00b8ef9a080cc7816ee91073adabdbbf : UseObjects(); AttackMobs(); Walk("rr");
ce5f68a68ef32c2b720391f8f5982128 : UseObjects(); AttackMobs(); Walk("m7");
7e67fa15ef7218b8455142ec640b07f7 : UseObjects(); AttackMobs(); Walk("m1");
775ce0c95154d5f168b95d3bf31be81d : UseObjects(); AttackMobs(); Walk("rl");
2a0b749bb54c3482968e7bec18c689c2 : UseObjects(); AttackMobs(); Walk("m7");
4a4e5eb0bd70b6bed73ecedc6a65f1b9 : UseObjects(); AttackMobs(); Walk("m1");
b9e90f07240f77a2ecc7b32a71a5b622 : UseObjects(); AttackMobs(); Walk("rr");
8c326b0ccc2daf0043bff14180e45925 : UseObjects(); AttackMobs(); Walk("m7");
743634638bcf6f459ac45272577ae7e2 : UseObjects(); AttackMobs(); Walk("m1");
87860d7cd7a714cfaa3076f221efcd70 : UseObjects(); AttackMobs(); Walk("m1");
c47e1d15d6bd142dae4360411e80b4c4 : UseObjects(); AttackMobs(); Walk("rr");
3970cc04a2c8a741a12db55cba0bf4a3 : UseObjects(); AttackMobs(); Walk("rr");
e20a4c9346a06ea0e58fa475fd3cdae5 : UseObjects(); AttackMobs(); Walk("m1");
143ef7081494ec0b6a574c7a503b81a5 : UseObjects(); AttackMobs(); Walk("rr");
f8cd338da1b2cbd0fe474dcff4895472 : UseObjects(); AttackMobs(); Walk("m7");
ddb5c66485719bb3ac0354d6be0b3019 : UseObjects(); AttackMobs(); Walk("m1");
6ba77e210c3bafc8b56ae8239223a0da : UseObjects(); AttackMobs(); Walk("m1");
a3ad18ba62aaf984306b4b5a365bcddb : UseObjects(); AttackMobs(); Walk("rr");
3317040f927632ae2ed3fa18f1c27fae : UseObjects(); AttackMobs(); Walk("m1");
3317040f927632ae2ed3fa18f1c27fae : UseObjects(); AttackMobs(); Walk("m1");
ad1f80d78c41e9a1a54a1f21e80a5595 : UseObjects(); AttackMobs(); Walk("rr");
681c71bd12e81e2f29ad185d8e423b04 : UseObjects(); AttackMobs(); Walk("m3");
4ca9f5ab38fc8d067189c7fb32b406af : UseObjects(); AttackMobs(); Walk("rr");
0cc0e63fd6c6bbc67a2d3386e2ba3837 : UseObjects(); AttackMobs(); Walk("m7");
361dfcdc628510886ae3dde66aecd259 : UseObjects(); AttackMobs(); Walk("m7");
d9a3fb1aca2cead2f7c5db9028421939 : UseObjects(); AttackMobs(); Walk("m7");
3091ddeb55145b578301e0ecfb3d8952 : UseObjects(); AttackMobs(); Walk("m1");
e00654f7744ddf5a58fcb9f738adf1f2 : UseObjects(); AttackMobs(); Walk("rl");
ec65a161c171e26d550c7909b043ef1a : UseObjects(); AttackMobs(); Walk("m3");
65bb27005de150d6b50f2de9017d6308 : UseObjects(); AttackMobs(); Walk("rr");
f99ef0beac3c9adfdb853427a8b600e3 : UseObjects(); AttackMobs(); Walk("rr");
a9d3e9e58a180a00f66d9a965344b8c5 : UseObjects(); AttackMobs(); Walk("m1");
c27a1c78e735b10bc11cc35473ed3cee : UseObjects(); AttackMobs(); Walk("rl");
4c50a24f0a6c572d7e4924768bffed86 : UseObjects(); AttackMobs(); Walk("m1");
2e91df72cb1d5629b2abfa236d8be245 : UseObjects(); AttackMobs(); Walk("rl");
efdede1fd1d11897f9900f0cbd47e530 : UseObjects(); AttackMobs(); Walk("m1");
ef4c41933343773741f91f5629f8dd07 : UseObjects(); AttackMobs(); Walk("m1");
911fd1642878d21f132a97054297013d : UseObjects(); AttackMobs(); Walk("rr");
3e0f9121b180bd7eca6f28202292baff : UseObjects(); AttackMobs(); Walk("m1");
13d99f8261ec77b8b659fa2fa4fcc302 : UseObjects(); AttackMobs(); Walk("rl");
42a9b9f19f6343b07e744129953271fa : UseObjects(); AttackMobs(); Walk("m3");
2cdcac9e4d96bf018d3c2ec24cd6f344 : UseObjects(); AttackMobs(); Walk("m1");
3e5a7f259529670d5daad60098db050f : UseObjects(); AttackMobs(); Walk("m1");
87a5b237ad2709efb431fc7eda18cfcb : UseObjects(); AttackMobs(); Walk("m1");
27bce9a7c98532b4d63bb024c614aaa7 : UseObjects(); AttackMobs(); Walk("rr");
daf5c3865ca96a9e2b821aa30c705be0 : UseObjects(); AttackMobs(); Walk("m1");
9238de9517f17713b9ff2e62dccbe57e : UseObjects(); AttackMobs(); Walk("rr");
6c74c891a4f4a1a42f7040466c1e0d91 : UseObjects(); AttackMobs(); Walk("m3");
9cf8eccf1fdd4f55d11acd828d1d42be : UseObjects(); AttackMobs(); Walk("m1");
67f4ee42007cfb8356dda4e77b93db8a : UseObjects(); AttackMobs(); Walk("rl");
62edefb378b9a66e2a50e5d6485df3f6 : UseObjects(); AttackMobs(); Walk("m3");
0f378dff55d09c59e7890220201b43ee : UseObjects(); AttackMobs(); Walk("m1");
b3bd9705be8c379a7153416dabe3a12c : UseObjects(); AttackMobs(); Walk("rr");
1937724dc534ebaa8a36ed4590b3e52a : UseObjects(); AttackMobs(); Walk("m3");
5d9dda576e94d48145ee16ff0f601430 : UseObjects(); AttackMobs(); Walk("m1");
ee355effcd6de6765f879f93960edcb5 : UseObjects(); AttackMobs(); Walk("rl");
88b97b1a503691e80c9b0c3ecb26dd53 : UseObjects(); AttackMobs(); Walk("m3");
1e72250690c0f0feda5138dabc2899c8 : UseObjects(); AttackMobs(); Walk("m1");
f1e8de82551d79739eee0d3dc4ac03a2 : UseObjects(); AttackMobs(); Walk("rr");
f8c040400b7ad5b43d2b9527b1e1e1ca : UseObjects(); AttackMobs(); Walk("m3");
be3f94b0d9ae853ff06313e589cb6c3b : UseObjects(); AttackMobs(); Walk("m1");
2c2f0a00ff60997a2f05e0ef11768d71 : UseObjects(); AttackMobs(); Walk("rl");
8c0c43fa1deec89959806a9c9f230985 : UseObjects(); AttackMobs(); Walk("m3");
c9e040f43edcbc022c3b6ef6d11259b4 : UseObjects(); AttackMobs(); Walk("m1");
0b5558fafb0d56c4d7d68da7c07180df : UseObjects(); AttackMobs(); Walk("rr");
63bb9ca0c68a7d368d35c7e59082f1cd : UseObjects(); AttackMobs(); Walk("m3");
32ad7e28c5648ca65418103d3c047ee2 : UseObjects(); AttackMobs(); Walk("m1");
a18ffd692c271b72a58676fc75d09ca2 : UseObjects(); AttackMobs(); Walk("m1");
215fd78fb394b831fdf86da2ef1c9bfe : UseObjects(); AttackMobs(); Walk("rl");
11ff516e49ee11f67d7fdc158661fd65 : UseObjects(); AttackMobs(); Walk("m1");
cb8056f73067c826e415ac10b7a4e667 : UseObjects(); AttackMobs(); Walk("rl");
ac8fedae904a5dce4378429df8ff9ac3 : UseObjects(); AttackMobs(); Walk("m7");
8c3fb0139c849b96917b477267738db3 : UseObjects(); AttackMobs(); Walk("m1");
77904175fa294f9308b35ddde0cbdfde : UseObjects(); AttackMobs(); Walk("rl");
efa9113aefd50b598a97245fe9b4f0c1 : UseObjects(); AttackMobs(); Walk("m1");
a590acf1d1618301deb985689525df3a : UseObjects(); AttackMobs(); Walk("m1");
f9190d04d309e815e25642233f15552b : UseObjects(); AttackMobs(); Walk("rr");
d96589464bc84cbfa1bf1a58617585bc : UseObjects(); AttackMobs(); Walk("m7");
0202b5668a5b376a79b174c0f50f9695 : UseObjects(); AttackMobs(); Walk("m1");
f3e1af536a6b729dbd6d8500026f4308 : UseObjects(); AttackMobs(); Walk("rl");
0f8af376bef7d1994a631cdce473fa2b : UseObjects(); AttackMobs(); Walk("rl");
5bc7d24a6fe1cd5c6bbe4376daea2de2 : Walk("m1");
9a50a8b2a030ac41fbb0225fd0976edd : UseObjects();
5f01df7a4533f6327c50be96bcb9f5eb : external.DungeonLoadPath("Бездна - 3 этаж");

Бездна - 3 этаж.path

5f01df7a4533f6327c50be96bcb9f5eb : AttackMobs(); Walk("m1"); 
75d2968826ad67b199bfb2ec66109bf1 : UseObjects(); AttackMobs(); if (dungeonMovementCount["75d2968826ad67b199bfb2ec66109bf1"] == 0) Walk("rr"); else Walk("m1");
5fd4289914ba6ab3059590e8a50effb9 : UseObjects(); AttackMobs(); Walk("m1");
29b3842e3cbc9d75b300e251dc0a20e8 : UseObjects(); AttackMobs(); Walk("m1");
96b1cb4be9bbee54236fbc1682b046a1 : Walk("rl");
4f94e7af933419b7d0141229d9d26ebc : Walk("rl");
d9abe762a6053185d3d6008f809e1147 : UseObjects(); AttackMobs(); Walk("m1");
215b1b515019d7b0a265b82c0e905d47 : UseObjects(); AttackMobs(); Walk("m1");
2ace6c65a5a07e51b5ad23b8af2dc1e4 : Walk("rr");
75d2968826ad67b199bfb2ec66109bf1 : AttackMobs();
a5d3a4b6a1470fccb80a89e421f95b79 : AttackMobs(); Walk("rl");
a2599b115c37b27978d93690537584e3 : AttackMobs(); Walk("m1");
cedf769ccef32d50299c3dafc93926d1 : AttackMobs(); Walk("rl");
4c4fdf3487ca1ecdcc5c88e5f3be9e91 : AttackMobs(); Walk("m3");
69ff718725d735d279a5627f53961ec3 : UseObjects(); AttackMobs(); Walk("m1");
56c3f97a92f7fd9cf4cd6c47e0eb25c5 : UseObjects(); AttackMobs(); Walk("m1");
bb17614b199bb1a6139c5c0d1e1b2cc8 : Walk("rr");
7f0bfbb52158ba673ad8ed7cc06b20cc : UseObjects(); AttackMobs(); Walk("m1");
08d7a6c31cc2cff74a507c29ca8d5686 : UseObjects(); AttackMobs(); Walk("m1");
03422ab63efc825ce85e8af39561768b : Walk("rr");
82ae55f6fa2d14dc79736465d5db884b : UseObjects(); AttackMobs(); Walk("m1");
41d42a12440b10d40167eac7c47d65df : UseObjects(); AttackMobs(); Walk("m1");
19b5702b8f2b1b52d25752bd39fcc747 : Walk("rr");
834c6c2a2375ac63303273a48aad4992 : UseObjects(); AttackMobs(); Walk("m1");
a650d3dd174190a585aeed42eb0cb304 : UseObjects(); AttackMobs(); Walk("m1");
e54e4bf3ed14f8e40fab8e02180ca355 : UseObjects(); AttackMobs(); Walk("m1");
27571cc500b4596bc9f4fc174307178a : UseObjects(); AttackMobs(); Walk("m1");
9c544736dd11df0b630267f2040c0e19 : Walk("m7");
e2194926f9cf978abd8340134a90f49f : AttackMobs(); Walk("m1");
8d5dc1afd2c494955407fcbda77df44c : UseObjects(); AttackMobs(); Walk("rl");
6c5f7e4ec213289aee5fb6ef1083ce8f : Walk("rl");
d9f16990f947653e563463ef26359c78 : UseObjects(); AttackMobs(); Walk("m1");
0273f722948ea6e3653331f47768cf45 : UseObjects(); AttackMobs(); Walk("m3");
2927bd8c46af0674ed1b82f7f4292a71 : UseObjects(); AttackMobs(); Walk("m1");
eed51fae39a7bdcdd53c88b90d2594f7 : UseObjects(); AttackMobs(); Walk("m1");
c31516ee82a0a02b12e6dcf38a889305 : UseObjects(); AttackMobs(); Walk("m1");
7346ce6596b91c116c1a08084fff8e3a : UseObjects(); AttackMobs(); Walk("m1");
d051aac0060721177a32d479ec189c67 : Walk("rr");
54a212e219f4c1081dc94f44566915c5 : UseObjects(); AttackMobs(); Walk("m1");
e6bbb7955422d81fe23313fb93e893f2 : UseObjects(); AttackMobs(); Walk("m1");
fb9381e663901717ee1b98f06e3a6809 : Walk("rr");
5d3eb2deb3fbd8fb851a1ba9a949a152 : UseObjects(); AttackMobs(); Walk("m1");
63bf29455f1844afe189c0eed6f72949 : UseObjects(); AttackMobs(); Walk("m1");
3c1766b69ac283a6c47d6196c8cc91b7 : Walk("rr");
1d3c60e38873e4223535b15592e5b2ae : UseObjects(); AttackMobs(); Walk("m1");
6ac556b50de7ee5ba1ec6aa106ba8654 : Walk("rr");
9a677b76f09d4b563ca3bc46da47cb6c : UseObjects(); AttackMobs(); Walk("m1");
b4bc34c485559e9792628f8a0fdac25c : Walk("rl");
0056157fab725bab25afc2da3e0ff58f : UseObjects(); AttackMobs(); Walk("m1");
7bad840ebb3867ac81cb1d39211bb154 : Walk("rl");
efd5277cb9da50a34c3a2422df745b2d : UseObjects(); AttackMobs(); Walk("m1");
05cb9775191ffcd5530fede538b95e5a : UseObjects(); AttackMobs(); Walk("m1");
edfcbf22a1b0b94fc562f9c39deb7796 : UseObjects(); AttackMobs(); Walk("m1");
812db6ace2e25b98ec68a4e456a4fccf : Walk("rl");
a238c8040ecbe632c20218932cd3881e : UseObjects(); AttackMobs(); Walk("m1");
d37ff35131452f956c0dc739cf0c8c21 : UseObjects(); AttackMobs(); if (dungeonMovementCount["d37ff35131452f956c0dc739cf0c8c21"] == 0) Walk("rr"); else Walk("m1");
0f48a9d62160172c2f798262600cc845 : UseObjects(); AttackMobs(); Walk("m1");
6ae32846d251c162aecad585b0312b63 : UseObjects(); AttackMobs(); Walk("m1");
7ae04d4098f6747146fe7927d052bfcc : Walk("rl");
653f974a639ecd8f91040dc7d2391668 : UseObjects(); AttackMobs(); Walk("m1");
c2418571198f8a3e2cb7419357807ec1 : UseObjects(); AttackMobs(); Walk("m1");
47d69048eb9534cf2d76ab5bd7f246e6 : Walk("rr");
4729a8010e289424fe2d1692d4e81348 : UseObjects(); AttackMobs(); Walk("m1");
9c9db30efb6955550a5f3e23656d8250 : Walk("rr");
3811372bb08aa60f8de5f553ffb637a6 : UseObjects(); AttackMobs(); Walk("m1");
6eaaf5f68c6113d3c9c13893e58032b1 : UseObjects(); AttackMobs(); Walk("m1");
9388725ae5d3a474334cb85a5ce0b633 : Walk("rr");
349f8e3dde3c8fdcc3503e1a79507315 : UseObjects(); AttackMobs(); Walk("m1");
d7e91493a3cfedbf2f794ab5bb446a81 : UseObjects(); AttackMobs(); Walk("m1");
cc127150f1d79ebd1c884774005dee1d : UseObjects(); AttackMobs(); Walk("m1");
bb51325f5c6840182c4a1144a750f66f : Walk("rr");
fdea1adb127d9f9201f4dd2050453343 : UseObjects(); AttackMobs(); Walk("m1");
626d810aeaf5334b47b8e7347bab1185 : UseObjects(); AttackMobs(); Walk("m1");
d7f72a558027ed022d7919a611c38709 : UseObjects(); AttackMobs(); Walk("m1");
a97a490da78a1e8f7bb193d79559637f : Walk("rr");
f4172621d399d51fb9d517e50207707e : UseObjects(); AttackMobs(); Walk("m1");
35c20f0a5e389352d2c1a92e85bffac9 : UseObjects(); AttackMobs(); Walk("m1");
3fa39d1da275625701c71e4cb72a2ffd : Walk("rr");
5056b11020c0edf6fe3481f68c73e833 : UseObjects(); AttackMobs(); Walk("m3");
55180782200add40ea44247157bca068 : UseObjects(); AttackMobs(); Walk("m3");
35c1a046e57e6e4a34e94be7325db01f : UseObjects(); AttackMobs(); Walk("m1");
1c1ff623bb342ca2149068e57f8cc9b4 : Walk("rr");
3bf44ed7c6366b26fd89113fb6426b51 : UseObjects(); AttackMobs(); Walk("m1");
7ae2f05f56ec58f9839cf26318bd6d1e : UseObjects(); AttackMobs(); Walk("m1");
0b6742c5309740c14e5fdc7b95ed26c1 : Walk("rl");
01206a8444c705877f363ba407f6d214 : UseObjects(); AttackMobs(); Walk("m1");
556f06bb9c219ada57d545bb54a8492b : Walk("rr");
ef8cb2131c30a2074dc46ed4810ba77a : UseObjects(); AttackMobs(); Walk("m1");
1e113b8cd83603f11364d97fb4f5f03b : UseObjects(); AttackMobs(); Walk("m1");
228b928829385b20e90fc2aee1511cef : Walk("rr");
26123316028c265c9797992eb1391c0f : UseObjects(); AttackMobs(); Walk("m1");
f11313e46cb3df0156ec90c7284e9dc8 : UseObjects(); AttackMobs(); Walk("m1");
50f0b20061e9c62b2482fb4ffe449a28 : Walk("rr");
f9b1955ae649d1ba754d76a0860840bd : UseObjects(); AttackMobs(); Walk("m1");
5a769b34e634c1dda781f6f2e47f0fab : UseObjects(); AttackMobs(); Walk("m1");
12a2b9c5d3d84cdaa2c3882fc45a356b : external.DungeonLoadPath("Бездна - 1 этаж"); Exit();

207

(3 ответов, оставленных в Помойка)

Получилось? smile

208

(10 ответов, оставленных в Качалка)

ZhEkA_BK пишет:

Такой екродубинщик рулит просто нереально. Ник не помню, но точно такой же по 5-7к набивал без хилок. Но играл человек с прямыми руками, за логом следил, разгадайки юзал.

Имхо, за счёт значительного мф. мощи профильного урона.

209

(18 ответов, оставленных в Общий)

anahronik пишет:

....Чтобы понять, как работает бот, можно посмотреть исходники яваскрипта от 8-х версий (с тех пор поменялось многое, но структура поведения примерно сохранилась)

Моя интуиция (на которой я сейчас сижу) подсказывает, что это есть риск увидеть новую волну банов.

Целью/направлением движения Комботса я бы выбрал изменение этого поведения: по-умолчанию бот не должен делать чего-либо такого, что не характерно обычному рациональному пользователю.

210

(10 ответов, оставленных в Качалка)

да и 30 силы для глухой защиты не видно

211

(93 ответов, оставленных в Общий)

Петро пишет:

occupat
комменты ставить можно, учить идентификаторы приёмов не надо, можно просто посмотреть онлайн в умених.

2. У UseObjects() сделать вохзможным ограничение по жизням, как пример:  UseObjects(33) - не клацать объекты если ХП меньше 33%. Т.к. хотя бы (или только) в Демонсе некоторые ловушки бьют несколько раз -1000, что равно смерти при любом раскладе.

коменты ставлю, но их не видно пока не откроешь код приёма...

2.  есть более приоритетная (имхо) проблема: клацанье по каждому объекту несколько раз - до слов "Ничего не произошло". Понятно зачем так сделано - так проще.
Но я считаю, что все персы, которые проходят, например, казармы в ангеле и клацают на каждую два раза являются первыми кандидатами на подозрение в ботоводстве - любой рациональный человек так делать не будет.

Так как не быть забаненым более важно, чем клацнуть и помереть в метро, то UseObjects должен быть параметризирован сам (или должны появится другие его аналоги) - для возможности управления количеством нажатий на объект: UseObjects(1) - не более одного нажатия на каждый видимый объект. Или UseObjects('ничего') - нажимать до получения ответ содержащего 'ничего' (Вы ничего не нашли) или до стандартной фразы про "ничего не произошло".

p.s. посмотри ()
if (tkHP >= 1000) UseObjects();

212

(93 ответов, оставленных в Общий)

Кнопку "Очистить" на вкладку приёмы - для сброса всех активных (настроенных) приёмов

213

(93 ответов, оставленных в Общий)

Хочу опцию автостарта бота (дабы можно было сделать так, что б при старте главная кнопка Старт/Стоп была в положении Стоп). Считаю палевом автоначало действия сразу-сразу при входе в БК (например, для перса, который бегает по метро, но не использует автозагрузку модуля метро - бот сразу начинает ломится в поединки).

---------

215

(3 ответов, оставленных в Подземелье / Маршруты)

Что делает маршрут - я описал. А "искать толк" - это уже не мои проблемы. От бота толку тоже особо нет.

216

(6 ответов, оставленных в Подземелье / Маршруты)

нет, у меня это только опечатка

217

(6 ответов, оставленных в Подземелье / Маршруты)

хм smile я словил только что нечто что-то похожее... попробую повторить smile

Предлагаю Вашему вниманию мой первый самодельный маршрут... Можно сказать, что осваивал науку о кораблестроении smile

Где: Бездна, 1 этаж
Что: убивание всех монстров, собирание всего их дропа, проход всех клеток этажа, обшаривание обоих сундуков и фонтана
Кем: для не слабых персонажей (по маршруту убиваем паука)
Фичи: маршрут не проходит через 5 клеток (2 сундука, спуск на 2й, алтарь, наковальня).

cf047870cbe361472645fbb3760ce855 : Walk("m1"); 
53b4313363724d62a225a8b0d09db662 : AttackMobs(); Walk("m1");
e51f7fc2f34b8fd9a6171981c2f483a0 : AttackMobs(); Walk("m1");
5bb1957c2919cfc8b5df80c3e465fb05 : Walk("rr");
c83c3d71f1b2cc0098765ae3bed58d57 : Walk("m3");
48b67e76b24027468094778cb4fc3ef8 : Walk("m3");
d3a0b002aabe47e73cb18e3982d98121 : Walk("m1");
aba85afc0b064b6208ec78b4cb1f4f80 : AttackMobs(); Walk("m1");
4343c2477cbcbc171337c5da45589214 : Walk("rl");
3bf3e9427600bbfae7a53eeee3f24039 : Walk("m1");
a9ad25da1cc65f781e610c9e57ef7429 : Walk("rl");
b74e88219bc836b762d5852ffd6081d4 : Walk("m3");
3b31d8aa1197b0e185403e6c7dc3c7da : AttackMobs(); Walk("m1");
457a162627878f43c76880ffc4b37f79 : Walk("rr");
cd9c0c4f52848096a24eb26ee798d11d : AttackMobs(); Walk("m1");
121f860d6e9cb5a211b1886016c4d916 : Walk("rr");
cd0c6af30ca5764d147b953508e6a13e : AttackMobs(); Walk("m1");
87a5d4991a1363512aaefb15092a32ff : Walk("m1");
3f2a4f554d464634b49f61fc2b82a04f : Walk("rr");
09fe2ca51f05d2a7c7f4ffd65e318b6c : Walk("m7");
721f6d242a0e087af74d44fbb03a15e1 : Walk("m1");
75fab88ce24309d3b1b150e1729d2636 : UseObjects(); Walk("rl");
543c1e1773a9622ab264d6c54b337645 : Walk("m7");
06058528096989b57efce6aaeb5a7a15 : Walk("rl");
2213bf9d1321380671443598f04a8a75 : AttackMobs(); Walk("m1");
cc43981df13d53609b2aa273c850e917 : UseObjects(); Walk("rl");
92fb8cde3ebc2a55d24656a79433b02c : Walk("m7");
eed0dda552ff4a1f0f82870bf99a65d7 : Walk("m1");
c3c4501c706e1f2b93f900bc64b659a9 : Walk("m1");
9649ee1fe79d56f2067a9ff825743517 : Walk("m3");
aaa9bb9e4a389812fe256fa1509ab9c3 : AttackMobs(); Walk("m1");
ea3588cdb63498e2f7a36bff4f49820f : AttackMobs(); Walk("m1");
73781f3e879beb46622c524367cc52e6 : UseObjects(); Walk("rl");
7437415dab3c7fee822a866bc912dfa8 : Walk("m3");
9f2424ee33e361383b6d0878e014f467 : AttackMobs(); Walk("rl");
b4541bd9910d2be38d5551c0acc1fee8 : Walk("m3");
7561ead7550fb26647ab006f510592db : UseObjects(); Walk("rl");
e20218e4f1e200ea32a1e78a6895afac : Walk("rl");
ac7a1d4dc3666f172d763dfd127dec52 : UseObjects();
ddbc5c3fea98efe6010a0e49f453cc0c : AttackMobs(); Walk("m1");
e61703c5cc002844776fa9acf45c7e4e : Walk("rr");
651201d0292d39958de665eca21a675f : Walk("rr");
a7f8e075e0724b965c4d75cb185dccf3 : Walk("m1");
7538e9c1546801c772a19f99f26bc69f : AttackMobs(); Walk("m1");
42b70c2a70ba5676f82e46518f51ac73 : Walk("m1");
d897cd4f5ab84cee1569d8ac9f3b2a19 : Walk("rr");
9cade1b1bf0c5e0a73d0e98c66f1247f : Walk("rr");
c035a65d9aebefcf89bb10663254066e : AttackMobs(); Walk("m1");
35dbdea2c4d47e2e0d84201ef598d415 : Walk("rr");
07117f4012a598409bd59f3a4a714ab2 : Walk("rr");
96775f0a6b540a984a5c1b66c6804847 : UseObjects(); Walk("m5");
8ffd5a50fd380b5501277be7f2751530 : Walk("rr");
676f3ddd7d40d518cf6c8a2e414164fc : Walk("rr");
fc231fd0f4f10be69acd4e9e98e45e7c : AttackMobs(); Walk("m1");
565cac66a05de695b7cb61add9a85754 : Walk("m7");
dde90217e90f279791e2d9b62f17c4ff : Walk("m7");
5b4a0a4dffa275852abc3d3e691c6cb6 : Walk("m7");
0e95335b9bc39de1741f71e5141adf6b : Walk("m5");
be44090eb09d4090f3f0d83feeca203e : Walk("m5");
b7d8323a68f4edb74c14043bc7db26cb : Walk("m5");
091bd0863b6b61f254247f02263b106c : Walk("rr");
e9deb54ace2aa113042307b6ff86e7f5 : Walk("rr");
2fb9a88c53637e2408513608b3f33c47 : Walk("m1");
f2acf99bf0a6ed3cb7c7652230cd29b3 : Walk("m1");
f9cc73af89534659e570286835fec61c : Walk("rl");
561b8e5d7f9d69d84b783722f54d8d97 : Walk("m3");
7b96a4f981351984be92500be61381bd : AttackMobs(); Walk("m1");
4bfe93912ab33ab6b34b0fb520976a27 : Walk("rr");
721011220de76406ccd12faf1ca27045 : Walk("rr");
7936b575ed78e2d1e6625420c7d3d508 : Walk("m1");
683bbd71e39b46f5a74a250d8a0a463f : Walk("m1");
255ffe4aa9e26acaac212510db307de9 : AttackMobs(); Walk("m1");
9d05760fe51d91ac0452302629fb451c : Walk("m3");
81ae1870f4c777c7ac3743f003222dee : Walk("rl");
282876cf7bb42ab1cb587257c5da2a8d : Walk("m1");
d82d6b6ad1b6b685299a4f5814f0e0e1 : Walk("m7");
55a111e0bc29b6085a2b5bc76bab1a60 : Walk("m7");
8433e7591cba21eb925d317bf3480595 : AttackMobs(); Walk("m1");
b8ec2235f04d4c7758a2b80997b07d2f : UseObjects();

219

(6 ответов, оставленных в Подземелье / Маршруты)

Сегодня столкнулся с таким же вопросом smile
"Спектральный анализ показал" (с) камеди
Это не баг, а не документированная фича (я предпоалагю, что работает именно так):
- "код" (хеш) клетки зависит от конкретной точки на карте и от направления взгляда персонажа (т.е. разные коды будет иметь одна и та же клетка, когда с неё персонаж смотрит на сервер или на юг);
- при выполнении маршрута бот определяет код клетки и находит первое (по порядку с начала файла) вхождение этого кода в маршрут;
- выполняет действие из найденной на предыдущем шаге строки.

Т.е.
* человек руками может заходить в коридор-тупик делая три шага прямо и сразу выходить из него делая три шага назад;
* бот это же сможет сделать при использовании условий вида

if (dungeonMovementCount["e268fb4940f0327edef0e26f1a235da0"] == 0)

.

Я для себя эту "особенность" пока обошел иначе:
- захожу с коридор-тупик смотря прямо в конец коридора (шагая вперёд);
- поворачиваю в конце, скажем, налево;
- выхожу из этого коридора-тупика уже смотря в стену (шалая влево).
Таким образом у меня вход получается по клеткам с одними кодами, а выход - по клеткам с другими кодами (хотя на карте это те же точки).

220

(7 ответов, оставленных в Помойка)

Мир меняеться и мы вместе с ним.

221

(7 ответов, оставленных в Помойка)

Проект Комботса не похож на акционерное общество с котировками на NYSE smile Так же Администрация проекта Комботс не вызывает у меня ассоциаций с благотворительно организацией....
  Я предполагаю, что в текущих/важных/срочных целях у Администрации может не быть увеличения клиетской базы, но в среднесрочных и долгосрочных планах эта цель обязательно занимает одно из самых приоритетных мест.
  Если у Зерга лично приоритет, например, на разработку и поддержу програмного кода (не пользовательскую), то достижением других целей необходимо озадачить соответствующие свободные ресурсы, например, того же близкого Зергу комьюнити. (Исходя из того, что вопрос должен быть решен без увеличения затрат, в т.ч. на ту же оплату персонала).



Позиция клиента-нуба "это бот, а не клиент для игры" говорит о том, что это в 99% случаев уже клиент (использующий/видивший Комботс). Т.е. с него уже получена стоимость инсталяции.

Согласен с тем, что на сегоднящнем рынке, который представляет Комботс, удержание клиента совсем не приоритетно. Получить дополнительные деньги с клиента-нуба (чем уже получено за первую инсталяцию) будет, скорее всего, не просто.

Например, меня лично от дальнейших инсталяций удерживает не полное покрытие моих потребностей соответствующими автоматизированными (или упрощенными для пользователя) функциями в Комботсе.

То есть в самом простом варианте: как только в Комботсе появится используемый мною функционал того же автокомбатса я буду заинтересован заменить для себя все инсталяции автокомбатса на Комботс - видя дополнительные преимущества последнего.


Ушел спать smile мысли о качественном и количественном увеличении клиентской базы отложу на потом...

222

(7 ответов, оставленных в Помойка)

Это отлично!

А что, новички и увеличение клиентской базы интересует только Зерга? Как им быть? Не все они телепаты  big_smile

fear-14 пишет:

он же бот) Нафиг ему быстрее проходить пещеру? Есть пещеры где ты больше 3 часов просидишь?

хотя бы для того, что б больше времени из Х часов онлайна в сутки портарить на кач

224

(7 ответов, оставленных в Помойка)

Предлагаю решить узкий вопрос: в средней (и, вероятно, долгосрочной) перспективе мотивировать пользователей продолжать оставлять предлоения по работе продукта (бота, кастомер-сервиса в виде форма и т.д.).

Мотивировать не реальными/виртуальными $, не скидками, не доп. сервисами...
Мотивировать просто показывая, что их потраченные ресурсы на предложение замечены, ценны и важны проекту.

Другим языкол: взять любого друга Админа или просто опытного пользователя (общающегося с Зергом) и предложить ему вместо флуда (который сейчас виден) отвечать-коментить каждое конкретное предложение.

Технически это может выглядеть:
- предложение коментится заметным шрифтом путём редактирования поста "предлагателя";
- как каждое предложение - отдельная тема, в которой постится ответ.

Коменты сами по себе могут быть осмысленные или из простой серии "Спасибо, предложение интересное. Будет передано на рассмотрение Администрации.".

Если на это нет ресурсов, то, ясен пень, даже не начинать smile

Передумав через месяц это делать можно просто закрыть раздел со словами "Спасибо, набрали достаточно... будем анализировать их.".

225

(5 ответов, оставленных в Общий)

()