devFunctions.py (4186B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\services\menuSvcExtras\devFunctions.py 2 import blue 3 import carbonui.const as uiconst 4 import carbon.common.lib.serverInfo as serverInfo 5 import sys 6 from eve.client.script.ui.util import uix, utilWindows 7 from eveexceptions import UserError 8 from eveservices.menu import GetMenuService 9 from eveservices.xmppchat import GetChatService 10 from player_messaging.client.ui_message import prompt_player, prompt_player_fsd_dialog 11 12 def SlashCmd(cmd): 13 try: 14 sm.RemoteSvc('slash').SlashCmd(cmd) 15 except RuntimeError: 16 prompt_player('This only works on items at your current location.', 'Oops!', options=uiconst.OK) 17 18 19 def SlashCmdTr(cmd): 20 SlashCmd(cmd) 21 GetMenuService().ClearAlignTargets() 22 23 24 def GagPopup(charID, channelID, numMinutes): 25 reason = 'Gagged for Spamming' 26 ret = utilWindows.NamePopup('Gag User', 'Enter Reason', reason) 27 if ret: 28 sm.GetService('chat').mute_player(charID, channelID, numMinutes * 60, ret) 29 30 31 def Ungag(charID, channelID): 32 sm.GetService('chat').unmute_player(charID, channelID) 33 34 35 def BanIskSpammer(charID): 36 if prompt_player_fsd_dialog('ConfirmBanIskSpammer', {'name': cfg.eveowners.Get(charID).name}, uiconst.YESNO) != uiconst.ID_YES: 37 return 38 SlashCmd('/baniskspammer %s' % charID) 39 40 41 def GagIskSpammer(charID): 42 if prompt_player_fsd_dialog('ConfirmGagIskSpammer', {'name': cfg.eveowners.Get(charID).name}, uiconst.YESNO) != uiconst.ID_YES: 43 return 44 SlashCmd('/gagiskspammer %s' % charID) 45 46 47 def ReportISKSpammer(charID, channelID): 48 if prompt_player_fsd_dialog('ConfirmReportISKSpammer', {'name': cfg.eveowners.Get(charID).name}, uiconst.YESNO) != uiconst.ID_YES: 49 return 50 if charID == session.charid: 51 raise UserError('ReportISKSpammerCannotReportYourself') 52 chat_svc = GetChatService() 53 if chat_svc.IsSpammer(charID): 54 return 55 spamEntries = chat_svc.GetSpamEntries(charID, channelID) 56 chat_svc.AddSpammer(charID) 57 chat_svc.ReloadChannel(channelID) 58 channel = chat_svc.channels.get(channelID, None) 59 if channel and channel.info: 60 channelID = channel.info.displayName 61 sm.RemoteSvc('userSvc').ReportISKSpammer(charID, channelID, spamEntries) 62 63 64 def SetDogmaAttribute(itemID, attrName, actualValue): 65 ret = uix.QtyPopup(None, None, actualValue, 'Set Dogma Attribute for <b>%s</b>' % attrName, 'Set Dogma Attribute', digits=5) 66 if ret: 67 cmd = '/dogma %s %s = %s' % (itemID, attrName, ret['qty']) 68 SlashCmd(cmd) 69 70 71 def SetKillCounter(ball): 72 currentValue = 0 73 ret = uix.QtyPopup(None, None, currentValue, 'Set Kill Counter', 'Set Kill Counter', digits=0) 74 if ret and ball is not None: 75 if hasattr(ball, 'model'): 76 if ball.model is not None: 77 if hasattr(ball.model, 'displayKillCounterValue'): 78 ball.model.displayKillCounterValue = int(ret['qty']) 79 80 81 def AttributeMenu(itemID, typeID): 82 d = sm.StartService('info').GetAttributeDictForType(typeID) 83 statemgr = sm.StartService('godma').GetStateManager() 84 a = statemgr.attributesByID 85 lst = [] 86 for attributeID, baseValue in d.iteritems(): 87 attrName = a[attributeID].name 88 try: 89 actualValue = statemgr.GetAttribute(itemID, attrName) 90 except: 91 sys.exc_clear() 92 actualValue = baseValue 93 94 lst.append(('%s - %s' % (attrName, actualValue), SetDogmaAttribute, (itemID, attrName, actualValue))) 95 96 lst.sort(lambda x, y: cmp(x[0], y[0])) 97 return lst 98 99 100 def GetFromESP(action): 101 espaddy = serverInfo.GetServerInfo().espUrl 102 blue.os.ShellExecute('http://%s/%s' % (espaddy, action)) 103 104 105 def NPCInfoMenu(item): 106 lst = [] 107 action = 'gd/type.py?action=Type&typeID=' + str(item.typeID) 108 lst.append(('Overview', GetFromESP, (action,))) 109 action = 'gd/type.py?action=TypeDogma&typeID=' + str(item.typeID) 110 lst.append(('Dogma Attributes', GetFromESP, (action,))) 111 action = 'gd/npc.py?action=GetNPCInfo&shipID=' + str(item.itemID) + '&solarSystemID=' + str(session.solarsystemid) 112 lst.append(('Info', GetFromESP, (action,))) 113 return lst