Advertisement
SoNiice

M2Bob - LevelUp Script

Jul 8th, 2018
713
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.99 KB | None | 0 0
  1. import chat, chr, event, game, net, player, time, thread, quest
  2.  
  3. USE_YOUNG_HEROES_WEAPON = True
  4. OPEN_LEVEL_CHESTS = True
  5. USE_POTIONS_OF_WISDOM = True
  6. USE_EQUIPMENT = True
  7.  
  8. YOUNG_HEROES_QUEST_NAME = "Waffen für Junghelden" # quest name
  9.  
  10. WARRIOR_WEAPON = 1 # 0 = sword, 1 = blade
  11. NINJA_WEAPON = 1 # 0 = sword, 1 = dagger, 2 = bow
  12. SURA_WEAPON = 0 # 0 = sword
  13. SHAMAN_WEAPON = 1 # 0 = bell, 1 = fan
  14. WOLFMAN_WEAPON = 0 # 0 = claw
  15.  
  16. YOUNG_HEROES_WEAPON_IDS = [
  17.     [ # warrior
  18.         [21900, 21910, 21920, 21930, 21940, 21950, 21960, 21970], # sword
  19.         [21903, 21913, 21923, 21933, 21943, 21953, 21963, 21973] # blade
  20.     ],
  21.     [ # ninja
  22.         [21900, 21910, 21920, 21930, 21940, 21950, 21960, 21970], # sword
  23.         [21901, 21911, 21921, 21931, 21941, 21951, 21961, 21971], # dagger
  24.         [21902, 21912, 21922, 21932, 21942, 21952, 21962, 21972] # bow
  25.     ],
  26.     [ # sura
  27.         [21900, 21910, 21920, 21930, 21940, 21950, 21960, 21970] # sword
  28.     ],
  29.     [ # shaman
  30.         [21904, 21914, 21924, 21934, 21944, 21954, 21964, 21974], # bell
  31.         [21905, 21915, 21925, 21935, 21945, 21955, 21965, 21975] # fan
  32.     ],
  33.     [ # wolfman
  34.         [21906, 21916, 21926, 21936, 21946, 21956, 21966, 21976] # claw
  35.     ]
  36. ]
  37.  
  38. POTION_OF_WISDOM_IDS = [
  39.     71153, # one hour
  40.     71155, # three hours
  41.     71181, # three hours
  42.     38058 # three hours
  43. ]
  44.  
  45. SLOTS = player.INVENTORY_PAGE_COUNT * player.INVENTORY_PAGE_SIZE
  46. RACE = chr.GetRace()
  47.  
  48. YOUNG_HEROES_QUEST_ID = 0
  49.  
  50. ANTIFLAG = 0
  51.  
  52. BODY_DEF = 0
  53. HEAD_DEF = 0
  54. SHIELD_DEF = 0
  55.  
  56. CHEST_ID = 0
  57. WEAPON_ID = 0
  58. LEVEL = 0
  59.  
  60. def CheckWeapon():
  61.     global LEVEL, WEAPON_ID, YOUNG_HEROES_QUEST_ID
  62.  
  63.     if not USE_YOUNG_HEROES_WEAPON:
  64.         return
  65.        
  66.     for i in xrange(quest.GetQuestCount()):
  67.         if quest.GetQuestData(i)[0].find(YOUNG_HEROES_QUEST_NAME) == -1:
  68.             continue
  69.  
  70.         YOUNG_HEROES_QUEST_ID = quest.GetQuestIndex(i)
  71.  
  72.     while 1:
  73.         if YOUNG_HEROES_QUEST_ID != 0:
  74.             game.GameWindow.OpenQuestWindow = 0
  75.             event.QuestButtonClick(YOUNG_HEROES_QUEST_ID)
  76.             event.SelectAnswer(1, 252)
  77.  
  78.         LEVEL = player.GetStatus(player.LEVEL)
  79.  
  80.         if RACE == 0 or RACE == 4:
  81.             if YOUNG_HEROES_QUEST_ID != 0:
  82.                 event.SelectAnswer(1, WARRIOR_WEAPON)
  83.  
  84.             WEAPON_ID = YOUNG_HEROES_WEAPON_IDS[0][WARRIOR_WEAPON][int(LEVEL / 10)]
  85.         elif RACE == 1 or RACE == 5:
  86.             if YOUNG_HEROES_QUEST_ID != 0:
  87.                 event.SelectAnswer(1, SURA_WEAPON)
  88.  
  89.             WEAPON_ID = YOUNG_HEROES_WEAPON_IDS[1][NINJA_WEAPON][int(LEVEL / 10)]
  90.         elif RACE == 2 or RACE == 6:
  91.             if YOUNG_HEROES_QUEST_ID != 0:
  92.                 event.SelectAnswer(1, SURA_WEAPON)
  93.  
  94.             WEAPON_ID = YOUNG_HEROES_WEAPON_IDS[2][SURA_WEAPON][int(LEVEL / 10)]
  95.         elif RACE == 3 or RACE == 7:
  96.             if YOUNG_HEROES_QUEST_ID != 0:
  97.                 event.SelectAnswer(1, SHAMAN_WEAPON)
  98.  
  99.             WEAPON_ID = YOUNG_HEROES_WEAPON_IDS[3][SHAMAN_WEAPON][int(LEVEL / 10)]
  100.         elif RACE == 8:
  101.             if YOUNG_HEROES_QUEST_ID != 0:
  102.                 event.SelectAnswer(1, WOLFMAN_WEAPON)
  103.  
  104.             WEAPON_ID = YOUNG_HEROES_WEAPON_IDS[4][WOLFMAN_WEAPON][int(LEVEL / 10)]
  105.  
  106.         if WEAPON_ID == 0:
  107.             return
  108.  
  109.         for slot in xrange(SLOTS):
  110.             if player.GetItemIndex(slot) != WEAPON_ID:
  111.                 continue
  112.  
  113.             net.SendItemUsePacket(slot)
  114.  
  115.         time.sleep(5)
  116.  
  117. def CheckChest():
  118.     global CHEST_ID, LEVEL
  119.  
  120.     if not OPEN_LEVEL_CHESTS:
  121.         return
  122.  
  123.     while 1:
  124.         LEVEL = player.GetStatus(player.LEVEL)
  125.  
  126.         if (LEVEL >= 10 and LEVEL < 20):
  127.             CHEST_ID = 50188
  128.         elif (LEVEL >= 20 and LEVEL < 30):
  129.             CHEST_ID = 50189
  130.         elif (LEVEL >= 30 and LEVEL < 40):
  131.             CHEST_ID = 50190
  132.         elif (LEVEL >= 40 and LEVEL < 50):
  133.             CHEST_ID = 50191
  134.         elif (LEVEL >= 50 and LEVEL < 60):
  135.             CHEST_ID = 50192
  136.         elif (LEVEL >= 60 and LEVEL < 70):
  137.             CHEST_ID = 50193
  138.         elif (LEVEL >= 70 and LEVEL < 80):
  139.             CHEST_ID = 50194
  140.         elif (LEVEL >= 80 and LEVEL < 90):
  141.             CHEST_ID = 50195
  142.         elif (LEVEL >= 90):
  143.             CHEST_ID = 50196
  144.  
  145.         if CHEST_ID == 0:
  146.             return
  147.  
  148.         for slot in xrange(SLOTS):
  149.             if player.GetItemIndex(slot) != CHEST_ID:
  150.                 continue
  151.  
  152.             net.SendItemUsePacket(slot)
  153.  
  154.         time.sleep(5)
  155.  
  156. def CheckPotions():
  157.     if not USE_POTIONS_OF_WISDOM:
  158.         return
  159.  
  160.     while 1:
  161.         for potion in POTION_OF_WISDOM_IDS:
  162.             for slot in xrange(SLOTS):
  163.                 if player.GetItemIndex(slot) != potion:
  164.                     continue
  165.  
  166.                 net.SendItemUsePacket(slot)
  167.  
  168.         time.sleep(5)
  169.  
  170. def CheckEquipment():
  171.     global ANTIFLAG, BODY_DEF, HEAD_DEF, LEVEL, SHIELD_DEF
  172.  
  173.     if not USE_EQUIPMENT:
  174.         return
  175.  
  176.     while 1:
  177.         if RACE == 0 or RACE == 4:
  178.             ANTIFLAG = item.ITEM_ANTIFLAG_WARRIOR
  179.         elif RACE == 1 or RACE == 5:
  180.             ANTIFLAG = item.ITEM_ANTIFLAG_NINJA
  181.         elif RACE == 2 or RACE == 6:
  182.             ANTIFLAG = item.ITEM_ANTIFLAG_SURA
  183.         elif RACE == 3 or RACE == 7:
  184.             ANTIFLAG = item.ITEM_ANTIFLAG_SHAMAN
  185.         elif RACE == 8:
  186.             ANTIFLAG = item.ITEM_ANTIFLAG_WOLFMAN
  187.  
  188.         LEVEL = player.GetStatus(player.LEVEL)
  189.  
  190.         item.SelectItem(player.GetItemIndex(2, 0))
  191.         BODY_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  192.         item.SelectItem(player.GetItemIndex(2, 1))
  193.         HEAD_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  194.         item.SelectItem(player.GetItemIndex(2, 10))
  195.         SHIELD_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  196.  
  197.         for slot in xrange(SLOTS):
  198.             item.SelectItem(player.GetItemIndex(slot))
  199.  
  200.             if item.IsAntiFlag(ANTIFLAG) != 0 or item.GetLimit(0)[1] > LEVEL:
  201.                 continue
  202.  
  203.             if item.GetItemType() == 2 and item.GetItemSubType() == 0:
  204.                 if item.GetValue(1) + (item.GetValue(5) * 2) <= BODY_DEF:
  205.                     continue
  206.  
  207.                 BODY_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  208.             elif item.GetItemType() == 2 and item.GetItemSubType() == 1:
  209.                 if item.GetValue(1) + (item.GetValue(5) * 2) <= HEAD_DEF:
  210.                     continue
  211.  
  212.                 HEAD_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  213.             elif item.GetItemType() == 2 and item.GetItemSubType() == 2:
  214.                 if item.GetValue(1) + (item.GetValue(5) * 2) <= SHIELD_DEF:
  215.                     continue
  216.  
  217.                 SHIELD_DEF = item.GetValue(1) + (item.GetValue(5) * 2)
  218.             else:
  219.                 continue
  220.  
  221.             net.SendItemUsePacket(slot)
  222.  
  223.         time.sleep(5)
  224.  
  225. thread.start_new_thread(CheckWeapon, ())
  226. thread.start_new_thread(CheckChest, ())
  227. thread.start_new_thread(CheckPotions, ())
  228. thread.start_new_thread(CheckEquipment, ())
  229. chat.AppendChat(7, "LevelUp Script by SoNiice : )")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement