Bu scriptin amacı M2Heat'e biraz daha kullanışlılık sağlamak, bineklerin süresinden daha az kullanarak metin kesmek ve metin keserken botu kapatıp bineğe binip yeniden botu açmak gibi bir angarya işle uğraşmayı engellemek için (çünkü hilede kısayol tuşları bulunmuyor ve bu işlem biraz zahmetli oluyor) bu scripti yaptım.

Scripti M2Heat'in bulunduğu klasördeki scripts klasörüne atmanız yeterlidir.
Çalışması için gerekli şartların sağlanması gerekiyor, bu şartlar şunlardır:


Scripti M2Heat'in bulunduğu klasördeki scripts klasörüne atmanız yeterlidir.
Çalışması için gerekli şartların sağlanması gerekiyor, bu şartlar şunlardır:
- Bot aktif olmalı.
- Attack Hack seçeneği aktif olmalı.
- Saldırılacak hedeflerin arasında stone olmalı.
- Ayarlanmış menzil içerisinde en az 1 metin taşı bulunmalı.
- Scriptin içerisinde çoğu binek mührünün VNUM değeri bulunuyor eğer yanlış bir VNUM varsa veya sizin bineğinizin VNUM değeri yoksa internetten bulup ekleyebilirsiniz.
- M2Heat sadece envanterden eşya kullanımını desteklediği için maalesef metin kesildikten sonra binekten hemen inmesi gibi bir şeyi scripte ekleyemiyorum.
Python:
import heat
import const
import runner
import bot_state_manager
all_seals = [31017, 38200, 38201, 41334, 41335, 41340, 53002, 53003, 53007, 53008, 53009, 53010, 53011, 53012, 53013, 53014, 53015, 53016, 53017, 53018, 53019, 53020, 53022, 53023, 53222, 53223, 53224, 53225, 53226, 53227, 53228, 53229, 53233, 53234, 53235, 53242, 53243, 53244, 53245, 53246, 53247, 53248, 53249, 53250, 53251, 53256, 53260, 53261, 53262, 53263, 53264, 53301, 53302, 71114, 71115, 71116, 71117, 71118, 71119, 71120, 71121, 71125, 71126, 71127, 71128, 71131, 71132, 71133, 71134, 71137, 71138, 71139, 71140, 71141, 71142, 71164, 71165, 71166, 71171, 71172, 71177, 71182, 71183, 71184, 71185, 71186, 71187, 71192, 71193, 71197, 71198, 71222, 71223, 71224, 71225, 71226, 71227, 71228, 71229, 71231, 71232, 71234, 71250, 71251, 52000, 52001, 52002, 52003, 52004, 52005, 52006, 52007, 52008, 52009, 52010, 52011, 52012, 52013, 52014, 52016, 52017, 52018, 52019, 52022, 52023, 52024, 52025, 52027, 52028, 52029, 52030, 52031, 52032, 52101, 52102, 52103, 52104, 52105, 52106, 52107, 52108, 52109, 52110, 52111, 52112, 52113, 52114, 52115, 52116, 52117, 52118, 52119, 52120, 52121, 52122, 52123, 52124, 52125, 52126, 52127, 52128, 52129, 52130, 52131, 52132, 52133, 52134, 52135, 52136, 52137, 52138, 52139, 52140, 52141, 52142, 52143, 52144, 52145, 52146, 52147, 52148, 52149, 52150, 52151, 52152, 52153, 52154, 52155, 52156, 52157, 52158, 52159, 52160, 52161, 52162, 52163, 52164, 52165, 52166, 52167, 52168, 52169, 52170, 52171, 52172, 52173, 52174, 52175, 52176, 52177, 52178, 52179, 52180, 52181, 52182, 52183, 52184, 52185, 52186, 52187, 52188, 52189, 52190, 52191, 52192, 52193, 52194, 52195, 52196, 52197, 52198, 52199, 52200, 52201, 52202, 52203, 52204, 52205, 52206, 52207, 52208, 52209, 52210, 52211, 52212, 52213, 52214, 52215, 52216, 52217, 52218, 52219, 52220, 61610, 61611, 56004, 56005, 56006, 56007, 56008, 56009, 56010, 56011, 56012, 56013, 56014, 56015, 56016, 56017, 56018, 56019, 56020, 56021, 56022, 56023, 56024, 56025, 56026, 56027, 56028, 56029, 56030, 56031, 56032, 56033, 56034, 56035, 56036, 56037, 71233, 53001, 40436, 40437, 40438, 40439, 40440, 40441, 40496, 40497, 56038, 56039, 56040, 56041, 56042, 56043, 56044, 56045, 56046, 56047, 56048, 56049, 56050, 56051, 56052, 56053, 56054, 56056, 56057, 56058, 56059, 56060, 56061, 56062, 56063, 56064, 56065, 56066, 56067, 56068, 56069, 56075, 56076, 56077, 56078, 56079, 40711]
bot_state = bot_state_manager.instance
def check_mount():
if heat.network.phase() != "Game":
return
seal = None
for slot in range(180):
index = heat.player.get_item_index(const.INVENTORY, slot)
if index == 0:
continue
if index in all_seals:
seal = slot
break
costume = None
for slot in range(10):
index = heat.player.get_item_index(const.COSTUME, slot)
if index == 0:
continue
if index in all_seals:
costume = slot
break
if not seal and not costume:
return
config = heat.config_profile_manager.current
botting = config.botting
distance = config.distance
attack_hack = config.attack_hack
attack_types = config.attack_types
if not (botting and attack_hack and attack_types >= 32):
return
stones = heat.mobs(const.MOBS_STONE, distance)
if len(stones) <= 0:
return
if not costume:
bot_state.request_stop()
if bot_state.is_stopped():
heat.network.item_use(seal)
if costume and bot_state.is_stopped():
bot_state.request_resume()
job = runner.instance.add(check_mount, interval=500)