Sticky OTOMATİK EŞYA BİRLEŞTİRME - AUTO ITEMS TO SORT - PYTHON SCRIPT

      OTOMATİK EŞYA BİRLEŞTİRME - AUTO ITEMS TO SORT - PYTHON SCRIPT




      Show Spoiler
      Merhaba

      Çoğu sunucuda aktif olarak bulunan ve bir tuş ile açabileceğiz ekstra envanterdeki tüm eşyaları birleştirmeye yarayan bir Python Scriptini paylaşıyoruz.

      Bu Script @Fankii ile beraber yazılmıştır.

      BU kodları M2B0B KLASÖRÜ\Resources\Scripts\user_script_execute_ingame.py içerisine yazıp kaydetmeniz yeterli.

      Bir sorun yaşarsanız dosya olarak indirip kullanmayı deneyin.
      Eğer sorun devam ederse sunucu adını ve yaptığınız işlemleri yazınız.

      İsterseniz Python Scriptini aşağıdan indirebilirsiniz.








      Show Spoiler

      Hello
      Some servers have inventories other than the "I" inventory, and sometimes these items are not counted. You can do this with this script.

      Add this script to this location: M2B0B Folder\Resources\Scripts\user_script_execute_ingame.py
      you can open and paste it or change it as a file.

      If you have a problem, you can report the name of the P-server and your actions.
      You can download as a file below

      Script
      Show Spoiler

      Source Code

      1. #M2BOB-FORUM ZYNIX - FANKII
      2. #Çalıştıramazsanız özel mesaj atabilirsiniz.
      3. import item , player , chat , net , constInfo , thread , time
      4. MAX_SAYI = 1000 # SUNUCUDA IZIN VERİLEN MAXIMIM BİRLEŞTİRME SAYISI ( GENELDE 200)
      5. def Calistir():
      6. while 1:
      7. YUKSELTME = [] # SLOT
      8. BECERI = []
      9. TAS = []
      10. EFSUN = []
      11. SANDIK = []
      12. YUKSELTME2 = [] # ID
      13. BECERI2 = []
      14. TAS2 = []
      15. EFSUN2 = []
      16. SANDIK2 = []
      17. for envanter in range(6,11):
      18. for slot in range(225):
      19. ID = player.GetItemIndex(envanter,slot)
      20. if ID != 0:
      21. SAYI = player.GetItemCount(envanter,slot)
      22. if SAYI < MAX_SAYI:
      23. if envanter == 6:
      24. YUKSELTME.append(slot)
      25. YUKSELTME2.append(ID)
      26. if envanter == 7 :
      27. BECERI.append(slot)
      28. BECERI2.append(ID)
      29. if envanter == 8:
      30. TAS.append(slot)
      31. TAS2.append(ID)
      32. if envanter == 9:
      33. EFSUN.append(slot)
      34. EFSUN2.append(ID)
      35. if envanter == 10:
      36. SANDIK.append(slot)
      37. SANDIK2.append(ID)
      38. for birlestir in range(len(YUKSELTME)): # Yükseltme
      39. for birlestir2 in range(len(YUKSELTME)):
      40. try:
      41. if birlestir > birlestir2:
      42. continue
      43. elif int(YUKSELTME2[birlestir]) != int(YUKSELTME2[birlestir2]):
      44. continue
      45. elif int(YUKSELTME[birlestir]) == int(YUKSELTME[birlestir2]):
      46. #chat.AppendChat(3,str( YUKSELTME[birlestir] ) + " Aynı " + str( YUKSELTME[birlestir2] ))
      47. continue
      48. else:
      49. #chat.AppendChat(3,str(YUKSELTME[birlestir]) + " Bunlar Birlestirilecek" + str(YUKSELTME[birlestir2]) )
      50. net.SendItemMovePacket(6,int(YUKSELTME[birlestir2]),6, int(YUKSELTME[birlestir]), player.GetItemCount( MAX_SAYI ) )
      51. time.sleep(0.025)
      52. except:
      53. ZYNIX = 100
      54. for birlestir in range(len(BECERI)): # Beceri
      55. for birlestir2 in range(len(BECERI)):
      56. try:
      57. if birlestir > birlestir2:
      58. continue
      59. elif int(BECERI2[birlestir]) != int(BECERI2[birlestir2]):
      60. continue
      61. elif int(BECERI[birlestir]) == int(BECERI[birlestir2]):
      62. #chat.AppendChat(3,str( BECERI[birlestir] ) + " Aynı " + str( BECERI[birlestir2] ))
      63. continue
      64. else:
      65. #chat.AppendChat(3,str(BECERI[birlestir]) + " Bunlar Birlestirilecek" + str(BECERI[birlestir2]) )
      66. net.SendItemMovePacket(7,int(BECERI[birlestir2]),7, int(BECERI[birlestir]), player.GetItemCount( MAX_SAYI ) )
      67. time.sleep(0.025)
      68. except:
      69. ZYNIX = 100
      70. for birlestir in range(len(TAS)): # Taş
      71. for birlestir2 in range(len(TAS)):
      72. try:
      73. if birlestir > birlestir2:
      74. continue
      75. elif int(TAS2[birlestir]) != int(TAS2[birlestir2]):
      76. continue
      77. elif int(TAS[birlestir]) == int(TAS[birlestir2]):
      78. #chat.AppendChat(3,str( TAS[birlestir] ) + " Aynı " + str( TAS[birlestir2] ))
      79. continue
      80. else:
      81. #chat.AppendChat(3,str(TAS[birlestir]) + " Bunlar Birlestirilecek" + str(TAS[birlestir2]) )
      82. net.SendItemMovePacket(8,int(TAS[birlestir2]),8, int(TAS[birlestir]), player.GetItemCount( MAX_SAYI ) )
      83. time.sleep(0.025)
      84. except:
      85. ZYNIX = 100
      86. for birlestir in range(len(EFSUN)): # Efsun
      87. for birlestir2 in range(len(EFSUN)):
      88. try:
      89. if birlestir > birlestir2:
      90. continue
      91. elif int(EFSUN2[birlestir]) != int(EFSUN2[birlestir2]):
      92. continue
      93. elif int(EFSUN[birlestir]) == int(EFSUN[birlestir2]):
      94. #chat.AppendChat(3,str( EFSUN[birlestir] ) + " Aynı " + str( EFSUN[birlestir2] ))
      95. continue
      96. else:
      97. #chat.AppendChat(3,str(EFSUN[birlestir]) + " Bunlar Birlestirilecek" + str(EFSUN[birlestir2]) )
      98. net.SendItemMovePacket(9,int(EFSUN[birlestir2]),9, int(EFSUN[birlestir]), player.GetItemCount( MAX_SAYI ) )
      99. time.sleep(0.025)
      100. except:
      101. ZYNIX = 100
      102. for birlestir in range(len(SANDIK)): # Sandık
      103. for birlestir2 in range(len(SANDIK)):
      104. try:
      105. if birlestir > birlestir2:
      106. continue
      107. elif int(SANDIK2[birlestir]) != int(SANDIK2[birlestir2]):
      108. continue
      109. elif int(SANDIK[birlestir]) == int(SANDIK[birlestir2]):
      110. #chat.AppendChat(3,str( SANDIK[birlestir] ) + " Aynı " + str( SANDIK[birlestir2] ))
      111. continue
      112. else:
      113. #chat.AppendChat(3,str(SANDIK[birlestir]) + " Bunlar Birlestirilecek" + str(SANDIK[birlestir2]) )
      114. net.SendItemMovePacket(10,int(SANDIK[birlestir2]),10, int(SANDIK[birlestir]), player.GetItemCount( MAX_SAYI ) )
      115. time.sleep(0.025)
      116. except:
      117. ZYNIX = 100
      118. time.sleep(1)
      119. if not hasattr(constInfo, "started"):
      120. constInfo.started = 1
      121. chat.AppendChat(3,"Aktif")
      122. thread.start_new_thread(Calistir,())

      Files

      Post was edited 3 times, last by “Zynix” ().

      lorman wrote:

      Phebia2 için denedim hem kodu yazdım hem dosya olarak attım ama yine ayrı ayrı geliyo k envanterine eşyalar



      Yerden aldığında zaten ayrı ayrı gelecek ona yapılabilecek bir şey yok.
      Bu Scripti o ayrı eşyaları otomatik birleştirmesi için kullanabilirsin.

      Buna rağmen hala birleşmiyorsa dosyayı indirip doğru konuma atın ve metin2 clientini kapatıp açın.

      Camoga wrote:

      Selamlar, kod için teşekkürler öncelikle. Phebia2'de kullanıyorum. Kodu yapıştırdıktan sonra sürekli oyundan atıyor hata verip. Bilginiz var mı acaba ?



      Merhaba

      Sorun hala devam ediyor mu ?

      Dosyayı not defteri ile açıp time.sleep(2) olan bölümü time.sleep(10) olarak değiştirir misiniz ?
      Alt taraflarda olması lazım.

      Zynix wrote:

      Camoga wrote:

      Selamlar, kod için teşekkürler öncelikle. Phebia2'de kullanıyorum. Kodu yapıştırdıktan sonra sürekli oyundan atıyor hata verip. Bilginiz var mı acaba ?



      Merhaba

      Sorun hala devam ediyor mu ?

      Dosyayı not defteri ile açıp time.sleep(2) olan bölümü time.sleep(10) olarak değiştirir misiniz ?
      Alt taraflarda olması lazım.


      İyi geceler. Sorun düzeldi evet teşekkür ederim. Gelen bot kontrol kodunu devre dışı bırakmamız ya da o kodu algılayıp otomatik yazdıran script yapabilmeniz mümkün müdür ?

      Camoga wrote:

      Zynix wrote:

      Camoga wrote:

      Selamlar, kod için teşekkürler öncelikle. Phebia2'de kullanıyorum. Kodu yapıştırdıktan sonra sürekli oyundan atıyor hata verip. Bilginiz var mı acaba ?



      Merhaba

      Sorun hala devam ediyor mu ?

      Dosyayı not defteri ile açıp time.sleep(2) olan bölümü time.sleep(10) olarak değiştirir misiniz ?
      Alt taraflarda olması lazım.


      İyi geceler. Sorun düzeldi evet teşekkür ederim. Gelen bot kontrol kodunu devre dışı bırakmamız ya da o kodu algılayıp otomatik yazdıran script yapabilmeniz mümkün müdür ?


      Şuan için bunu scriptle yapmak imkansız çünkü o kodu okutmak için ekstra bir yazılıma gereksinim var. Merak etmeyin çok yakında güzel gelişmeler olacak bunun haberini verebilirim.