134 lines
5.8 KiB
Python
134 lines
5.8 KiB
Python
from net.swordie.ms.enums import InvType
|
|
|
|
selection = sm.sendNext("#fs14##bGame Manager:#n\r\n#fs12#\r\n#kHello There! I am the game manager. Below you can find game settings that you can adjust to make your gameplay as best as possible for your needs.\r\n#k#L0#- Ignore an Item#l\r\n#L1#- Get mob drops by name#l\r\n#L2#- Check drops from mobs on current map#l\r\n#L3#- Search what monsters drop an item#l\r\n#L4#- Check Map Ownership#l\r\n#L6#- Disable Remote Skills#l"
|
|
+ "\r\n#L7# Select damage skins.#l" + "\r\n#L5#- Sell items#l")
|
|
temp = ""
|
|
if selection == 0:
|
|
ignoredDrops = set(chr.getIgnoredDrops())
|
|
for i in ignoredDrops:
|
|
temp += "#L"+str(i)+"##z"+str(i)+"##l\r\n"
|
|
ignoredDropsShow = ''.join(temp)
|
|
selection = sm.sendNext("Your ignored items:\r\n"+ignoredDropsShow+ "\r\n\r\nClick on an item to remove it from the ignore list.\r\n#L90#Add an item to ignore.#l")
|
|
|
|
if selection != 90:
|
|
if chr.existsInIgnoredDrops(selection):
|
|
chr.removeIgnoredDrop(selection)
|
|
chr.chatMessage("Removed from ignore list.")
|
|
|
|
if selection == 90:
|
|
toSearch = sm.sendAskText("Enter an item name or part of it:", "", 3, 100)
|
|
searchResults = sm.searchItems(toSearch)
|
|
if not searchResults:
|
|
sm.sendSayOkay("No items were found.")
|
|
sm.dispose()
|
|
if len(searchResults) > 150:
|
|
sm.sendNext("Too many results. Please be more specific in your search.")
|
|
sm.dispose()
|
|
somestr=""
|
|
for key, value in searchResults.items():
|
|
somestr += "#L"+str(key)+"##z"+str(key)+"##l\r\n"
|
|
|
|
selectedItem = sm.sendNext(somestr)
|
|
if chr.existsInIgnoredDrops(selectedItem) == False:
|
|
chr.addIgnoredDrop(selectedItem)
|
|
chr.chatMessage("Added an item to ignore list")
|
|
else:
|
|
chr.chatMessage("You already have this item in your ignore list.")
|
|
sm.dispose()
|
|
|
|
elif selection == 1:
|
|
toSearch = sm.sendAskText("Enter a monster name or part of it:", "", 3, 50)
|
|
searchResults = sm.searchMobs(toSearch)
|
|
if not searchResults:
|
|
sm.sendSayOkay("No monsters were found.")
|
|
sm.dispose()
|
|
if len(searchResults) > 150:
|
|
sm.sendNext("Too many results. Please be more specific in your search.")
|
|
sm.dispose()
|
|
somestr=""
|
|
for key, value in searchResults.items():
|
|
somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n"
|
|
mobSelected = sm.sendNext(somestr)
|
|
sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected))
|
|
|
|
|
|
elif selection == 2:
|
|
searchResults = sm.searchMobsByField()
|
|
if not searchResults:
|
|
sm.sendSayOkay("No monsters were found.")
|
|
sm.dispose()
|
|
if len(searchResults) > 150:
|
|
sm.sendNext("Too many results.")
|
|
sm.dispose()
|
|
somestr=""
|
|
for key, value in searchResults.items():
|
|
somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n"
|
|
mobSelected = sm.sendNext(somestr)
|
|
sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected))
|
|
|
|
elif selection == 3:
|
|
toSearch = sm.sendAskText("Enter an item name or part of it:", "", 3, 100)
|
|
searchResults = sm.searchItems(toSearch)
|
|
if not searchResults:
|
|
sm.sendSayOkay("No items were found.")
|
|
sm.dispose()
|
|
if len(searchResults) > 150:
|
|
sm.sendNext("Too many results. Please be more specific in your search.")
|
|
sm.dispose()
|
|
somestr=""
|
|
for key, value in searchResults.items():
|
|
somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n"
|
|
itemSelected = sm.sendNext(somestr)
|
|
searchResults = sm.searchDrop(itemSelected)
|
|
if not searchResults:
|
|
sm.sendSayOkay("No monsters were found dropping this item.")
|
|
sm.dispose()
|
|
if len(searchResults) > 150:
|
|
sm.sendNext("Too many monsters are dropping this item. Are you searching for a global-drop item?")
|
|
sm.dispose()
|
|
somestr=""
|
|
for key, value in searchResults.items():
|
|
somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n"
|
|
mobSelected = sm.sendNext(somestr)
|
|
sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected))
|
|
|
|
elif selection == 4:
|
|
sm.sendSayOkay("The current map owner is #e"+chr.getField().getOwner().getName()+"#n."
|
|
"\r\n\r\nOther AFK Players:" + sm.getCharsNoOwner())
|
|
|
|
elif selection == 5:
|
|
selection = sm.sendNext("Sell:\r\n#L1#Equips#l\r\n#L2#Use#l\r\n#L4#Etc#l\r\n#L3#Setup#l\r\n#L5#Cash#l\r\n")
|
|
inventory = InvType.getInvTypeByVal(selection)
|
|
outPut = ""
|
|
itemsBagIndexes = eval(sm.getItemsByInventory(inventory))
|
|
itemsBagIndexes.sort()
|
|
itemsIds = []
|
|
for x in range(len(itemsBagIndexes)):
|
|
itemsIds.append(sm.getItemIDByBagIndex(itemsBagIndexes[x], inventory))
|
|
for x in range(len(itemsIds)):
|
|
outPut += "#L" + str(x) + "##i" + str(itemsIds[x]) + "##l\r\n"
|
|
choice = sm.sendNext(outPut)
|
|
startIndex = itemsBagIndexes[choice]
|
|
outPut = ""
|
|
j = choice
|
|
while j < (len(itemsIds)):
|
|
outPut += "#L" + str(itemsBagIndexes[j]) + "##i" + str(itemsIds[j]) + "##l\r\n"
|
|
j += 1
|
|
endIndex = sm.sendNext(outPut)
|
|
sm.sellMass(startIndex, endIndex, inventory)
|
|
|
|
elif selection == 6:
|
|
if chr.isRemoteEffects():
|
|
chr.setRemoteEffects(False)
|
|
else:
|
|
chr.setRemoteEffects(True)
|
|
chr.chatMessage("Remote Skills toggled " + str(chr.isRemoteEffects()))
|
|
|
|
elif selection == 7:
|
|
damageSkins = chr.getAccount().getDamageSkinsItemIds()
|
|
damageSkins.add(2431965)
|
|
outPut = ""
|
|
for x in range(len(damageSkins)):
|
|
outPut += "#L" + str(x) + "##i" + str(damageSkins[x]) + "##l\r\n"
|
|
choice = sm.sendNext(outPut)
|
|
chr.setDamageSkinAndBroadCast(damageSkins[choice]) |