[M2Heat] Otomatik Binek Script

JDH

Seçkin Üye
Katılım
29 Kas 2016
Mesajlar
484
Çözümler
9
Tepki puanı
65
Ödüller
7
9 HİZMET YILI
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.


:kullan:

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ı.
Bu şartlar sağlandıktan sonra zaten bot metine saldıracaktır bu sırada bu script devreye girip botu durduracak envanterden bineği kullanacak ve botu devam ettirecektir. Eğer envanterde binek yoksa zaten kullanmanın bir anlamı yok ama kullanırsanız da hiçbir şey olmayacaktır sadece sürekli envanterinizde binek olup olmadığını denetleyecek ve eğer yeni bir binek alırsanız normal bir şekilde çalışmaya başlayacak.

:not:
  • 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.

:indir:

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)
 
Üye
Katılım
14 Tem 2024
Mesajlar
6
Tepki puanı
0
Yaş
36
1 HİZMET YILI
simple script in Python for managing a fleet of vehicles. This script allows you to add, remove, and view vehicles. It uses a basic command-line interface for demonstration purposes.
 
Onaylı Üye
Katılım
19 Tem 2024
Mesajlar
56
Tepki puanı
0
Yaş
24
1 HİZMET YILI
can you give me another way for the question to understand ?
 
Üye
Katılım
21 Ocak 2017
Mesajlar
31
Tepki puanı
0
Ödüller
8
Yaş
25
9 HİZMET YILI
Kullanım bilgilendirme olsa güzel olurdu yine de elinize sağlık.
 
Üye
Katılım
5 Kas 2020
Mesajlar
7
Tepki puanı
1
Ödüller
3
Yaş
40
5 HİZMET YILI
itiraf ediıyorum 50 mesaja ualşmaya çalışıyorum
 
Onaylı Üye
Katılım
10 Ocak 2021
Mesajlar
49
Tepki puanı
1
Ödüller
5
Yaş
27
5 HİZMET YILI
Kullanım bilgilendirme biraz daha iyi olsa güzel olurdu eline saglık
 
Üst