Advertisement
Guest User

uiminimap.py

a guest
Mar 19th, 2022
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.67 KB | None | 0 0
  1. import ui
  2. import uiScriptLocale
  3. import wndMgr
  4. import chr
  5. import player
  6. import miniMap
  7. import localeInfo
  8. import net
  9. import app
  10. import colorInfo
  11. import constInfo
  12. import background
  13. import time
  14. import snd
  15. import chat
  16. import bestproductiongame
  17. import background
  18. import time
  19. import re
  20. import os
  21. import serverInfo
  22. import uiToolTip
  23. import gameInfo
  24. import uiCommon
  25. import systemSetting
  26. import serverInfo
  27.  
  28. class MapTextToolTip(ui.Window):
  29. def __init__(self):
  30. ui.Window.__init__(self)
  31.  
  32. textLine = ui.TextLine()
  33. textLine.SetParent(self)
  34. textLine.SetHorizontalAlignCenter()
  35. textLine.SetOutline()
  36. textLine.SetHorizontalAlignRight()
  37. textLine.Show()
  38. self.textLine = textLine
  39.  
  40. def __del__(self):
  41. ui.Window.__del__(self)
  42.  
  43. def SetText(self, text):
  44. self.textLine.SetText(text)
  45.  
  46. def SetTooltipPosition(self, PosX, PosY):
  47. if localeInfo.IsARABIC():
  48. w, h = self.textLine.GetTextSize()
  49. self.textLine.SetPosition(PosX - w - 5, PosY)
  50. else:
  51. self.textLine.SetPosition(PosX - 5, PosY)
  52.  
  53. def SetTextColor(self, TextColor):
  54. self.textLine.SetPackedFontColor(TextColor)
  55.  
  56. def GetTextSize(self):
  57. return self.textLine.GetTextSize()
  58.  
  59. class AtlasWindow(ui.ScriptWindow):
  60.  
  61. class AtlasRenderer(ui.Window):
  62. def __init__(self):
  63. ui.Window.__init__(self)
  64. self.AddFlag("not_pick")
  65.  
  66. def OnUpdate(self):
  67. miniMap.UpdateAtlas()
  68.  
  69. def OnRender(self):
  70. (x, y) = self.GetGlobalPosition()
  71. fx = float(x)
  72. fy = float(y)
  73. miniMap.RenderAtlas(fx, fy)
  74.  
  75. def HideAtlas(self):
  76. miniMap.HideAtlas()
  77.  
  78. def ShowAtlas(self):
  79. miniMap.ShowAtlas()
  80.  
  81. def __init__(self):
  82. self.tooltipInfo = MapTextToolTip()
  83. self.tooltipInfo.Hide()
  84. self.infoGuildMark = ui.MarkBox()
  85. self.infoGuildMark.Hide()
  86. self.AtlasMainWindow = None
  87. self.mapName = ""
  88. self.board = 0
  89.  
  90. ui.ScriptWindow.__init__(self)
  91.  
  92. def __del__(self):
  93. ui.ScriptWindow.__del__(self)
  94.  
  95. def SetMapName(self, mapName):
  96. if 949==app.GetDefaultCodePage():
  97. try:
  98. self.board.SetTitleName(localeInfo.MINIMAP_ZONE_NAME_DICT[mapName])
  99. except:
  100. pass
  101.  
  102. def LoadWindow(self):
  103. try:
  104. pyScrLoader = ui.PythonScriptLoader()
  105. pyScrLoader.LoadScriptFile(self, "UIScript/AtlasWindow.py")
  106. except:
  107. import exception
  108. exception.Abort("AtlasWindow.LoadWindow.LoadScript")
  109.  
  110. try:
  111. self.board = self.GetChild("board")
  112.  
  113. except:
  114. import exception
  115. exception.Abort("AtlasWindow.LoadWindow.BindObject")
  116.  
  117. self.AtlasMainWindow = self.AtlasRenderer()
  118. self.board.SetCloseEvent(self.Hide)
  119. self.AtlasMainWindow.SetParent(self.board)
  120. self.AtlasMainWindow.SetPosition(7, 30)
  121. self.tooltipInfo.SetParent(self.board)
  122. self.infoGuildMark.SetParent(self.board)
  123. self.SetPosition(wndMgr.GetScreenWidth() - 136 - 256 - 10, 0)
  124. self.Hide()
  125.  
  126. miniMap.RegisterAtlasWindow(self)
  127.  
  128. # def Destroy(self):
  129. # miniMap.UnregisterAtlasWindow()
  130. # self.ClearDictionary()
  131. # self.AtlasMainWindow = None
  132. # self.tooltipAtlasClose = 0
  133. # self.tooltipInfo = None
  134. # self.infoGuildMark = None
  135. # self.board = None
  136.  
  137. def Destroy(self):
  138. miniMap.UnregisterAtlasWindow()
  139. self.ClearDictionary()
  140. self.AtlasMainWindow = None
  141. self.tooltipAtlasClose = 0
  142. self.tooltipInfo = None
  143. self.infoGuildMark = None
  144. self.board = None
  145.  
  146. import dbg
  147. references = vars(self)
  148. dbg.TraceError("STARTING WITH DUMPING AtlasWindow")
  149. for name, value in references.items():
  150. dbg.TraceError("AtlasWindowReference {}={}".format(name, value))
  151.  
  152. def OnUpdate(self):
  153.  
  154. if not self.tooltipInfo:
  155. return
  156.  
  157. if not self.infoGuildMark:
  158. return
  159.  
  160. self.infoGuildMark.Hide()
  161. self.tooltipInfo.Hide()
  162.  
  163. if FALSE == self.board.IsIn():
  164. return
  165.  
  166. (mouseX, mouseY) = wndMgr.GetMousePosition()
  167. (bFind, sName, iPosX, iPosY, dwTextColor, dwGuildID) = miniMap.GetAtlasInfo(mouseX, mouseY)
  168.  
  169. if FALSE == bFind:
  170. return
  171.  
  172. if "empty_guild_area" == sName:
  173. sName = localeInfo.GUILD_EMPTY_AREA
  174.  
  175. if localeInfo.IsARABIC() and sName[-1].isalnum():
  176. self.tooltipInfo.SetText("(%s)%d, %d" % (sName, iPosX, iPosY))
  177. else:
  178. self.tooltipInfo.SetText("%s(%d, %d)" % (sName, iPosX, iPosY))
  179.  
  180. (x, y) = self.GetGlobalPosition()
  181. self.tooltipInfo.SetTooltipPosition(mouseX - x, mouseY - y)
  182. self.tooltipInfo.SetTextColor(dwTextColor)
  183. self.tooltipInfo.Show()
  184. self.tooltipInfo.SetTop()
  185.  
  186. if 0 != dwGuildID:
  187. textWidth, textHeight = self.tooltipInfo.GetTextSize()
  188. self.infoGuildMark.SetIndex(dwGuildID)
  189. self.infoGuildMark.SetPosition(mouseX - x - textWidth - 18 - 5, mouseY - y)
  190. self.infoGuildMark.Show()
  191.  
  192. def Hide(self):
  193. if self.AtlasMainWindow:
  194. self.AtlasMainWindow.HideAtlas()
  195. self.AtlasMainWindow.Hide()
  196. ui.ScriptWindow.Hide(self)
  197.  
  198. def Show(self):
  199. if self.AtlasMainWindow:
  200. (bGet, iSizeX, iSizeY) = miniMap.GetAtlasSize()
  201. if bGet:
  202. self.SetSize(iSizeX + 15, iSizeY + 38)
  203.  
  204. if localeInfo.IsARABIC():
  205. self.board.SetPosition(iSizeX+15, 0)
  206.  
  207. self.board.SetSize(iSizeX + 15, iSizeY + 38)
  208. #self.AtlasMainWindow.SetSize(iSizeX, iSizeY)
  209. self.AtlasMainWindow.ShowAtlas()
  210. self.AtlasMainWindow.Show()
  211. ui.ScriptWindow.Show(self)
  212.  
  213. def SetCenterPositionAdjust(self, x, y):
  214. self.SetPosition((wndMgr.GetScreenWidth() - self.GetWidth()) / 2 + x, (wndMgr.GetScreenHeight() - self.GetHeight()) / 2 + y)
  215.  
  216. def OnPressEscapeKey(self):
  217. self.Hide()
  218. return TRUE
  219.  
  220. def __RegisterMiniMapColor(type, rgb):
  221. miniMap.RegisterColor(type, rgb[0], rgb[1], rgb[2])
  222.  
  223. class MiniMap(ui.ScriptWindow):
  224.  
  225. CANNOT_SEE_INFO_MAP_DICT = {
  226. "metin2_map_monkeydungeon" : FALSE,
  227. "metin2_map_monkeydungeon_02" : FALSE,
  228. "metin2_map_monkeydungeon_03" : FALSE,
  229. "metin2_map_devilsCatacomb" : FALSE,
  230. "metin2_map_wood_event1" : FALSE,
  231. "metin2_map_n_flame_dungeon_01" : FALSE,
  232. "metin2_map_n_snow_dungeon_01" : FALSE,
  233. }
  234.  
  235. def __init__(self):
  236. ui.ScriptWindow.__init__(self)
  237.  
  238. self.__Initialize()
  239.  
  240. miniMap.Create()
  241. miniMap.SetScale(2.0)
  242.  
  243. self.AtlasWindow = AtlasWindow()
  244. self.AtlasWindow.LoadWindow()
  245. self.AtlasWindow.Hide()
  246.  
  247. self.tooltipMiniMapOpen = MapTextToolTip()
  248. self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
  249. self.tooltipMiniMapOpen.Show()
  250. self.tooltipMiniMapClose = MapTextToolTip()
  251. self.tooltipMiniMapClose.SetText(localeInfo.UI_CLOSE)
  252. self.tooltipMiniMapClose.Show()
  253. self.tooltipScaleUp = MapTextToolTip()
  254. self.tooltipScaleUp.SetText(localeInfo.MINIMAP_INC_SCALE)
  255. self.tooltipScaleUp.Show()
  256. self.tooltipScaleDown = MapTextToolTip()
  257. self.tooltipScaleDown.SetText(localeInfo.MINIMAP_DEC_SCALE)
  258. self.tooltipScaleDown.Show()
  259. self.tooltipAnimesfer = MapTextToolTip()
  260. self.tooltipAnimesfer.SetText(localeInfo.ANIMESFER)
  261. self.tooltipAnimesfer.Show()
  262. self.tooltipCombatZone = MapTextToolTip()
  263. self.tooltipCombatZone.SetText(localeInfo.COMBAT_ZONE)
  264. self.tooltipCombatZone.Show()
  265. self.tooltipAtlasOpen = MapTextToolTip()
  266. self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
  267. self.tooltipAtlasOpen.Show()
  268. self.tooltipInfo = MapTextToolTip()
  269. self.tooltipInfo.Show()
  270.  
  271. if miniMap.IsAtlas():
  272. self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_SHOW_AREAMAP)
  273. else:
  274. self.tooltipAtlasOpen.SetText(localeInfo.MINIMAP_CAN_NOT_SHOW_AREAMAP)
  275.  
  276. self.tooltipInfo = MapTextToolTip()
  277. self.tooltipInfo.Show()
  278.  
  279. self.mapName = ""
  280.  
  281. self.isLoaded = 0
  282. self.canSeeInfo = TRUE
  283.  
  284. # AUTOBAN
  285. self.imprisonmentDuration = 0
  286. self.imprisonmentEndTime = 0
  287. self.imprisonmentEndTimeText = ""
  288. # END_OF_AUTOBAN
  289.  
  290. def __del__(self):
  291. miniMap.Destroy()
  292. ui.ScriptWindow.__del__(self)
  293.  
  294. def __Initialize(self):
  295. self.positionInfo = 0
  296. self.observerCount = 0
  297. if constInfo.MINIMAP_MAPNAME_ENABLE:
  298. self.MapNameInfo = ""
  299. if constInfo.MINIMAP_DATETIME_ENABLE:
  300. self.DateTimeInfo = 0
  301. self.OpenWindow = 0
  302. self.CloseWindow = 0
  303. self.ScaleUpButton = 0
  304. self.ScaleDownButton = 0
  305. self.AnimesferButton = 0
  306. self.MiniMapHideButton = 0
  307. self.MiniMapShowButton = 0
  308. self.AtlasShowButton = 0
  309.  
  310. if (app.WJ_COMBAT_ZONE):
  311. self.btnCombatZone = 0
  312.  
  313. self.tooltipMiniMapOpen = 0
  314. self.tooltipMiniMapClose = 0
  315. self.tooltipScaleUp = 0
  316. self.tooltipScaleDown = 0
  317. self.tooltipAtlasOpen = 0
  318. self.tooltipInfo = None
  319. self.serverInfo = None
  320.  
  321. if app.ENABLE_DEFENSE_WAVE:
  322. self.MastHp = 0
  323.  
  324. def SetMapName(self, mapName):
  325. self.mapName=mapName
  326. self.AtlasWindow.SetMapName(mapName)
  327.  
  328. if app.TOURNAMENT_PVP_SYSTEM:
  329. if player.IsTournamentMap():
  330. self.canSeeInfo = FALSE
  331. self.HideMiniMap()
  332. ui.ScriptWindow.Hide(self)
  333.  
  334. if self.CANNOT_SEE_INFO_MAP_DICT.has_key(mapName):
  335. self.canSeeInfo = FALSE
  336. self.HideMiniMap()
  337. self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP_CANNOT_SEE)
  338. else:
  339. self.canSeeInfo = TRUE
  340. self.ShowMiniMap()
  341. self.tooltipMiniMapOpen.SetText(localeInfo.MINIMAP)
  342.  
  343. # AUTOBAN
  344. def SetImprisonmentDuration(self, duration):
  345. self.imprisonmentDuration = duration
  346. self.imprisonmentEndTime = app.GetGlobalTimeStamp() + duration
  347.  
  348. self.__UpdateImprisonmentDurationText()
  349.  
  350. def __UpdateImprisonmentDurationText(self):
  351. restTime = max(self.imprisonmentEndTime - app.GetGlobalTimeStamp(), 0)
  352.  
  353. imprisonmentEndTimeText = localeInfo.SecondToDHM(restTime)
  354. if imprisonmentEndTimeText != self.imprisonmentEndTimeText:
  355. self.imprisonmentEndTimeText = imprisonmentEndTimeText
  356. self.serverInfo.SetText("%s: %s" % (uiScriptLocale.AUTOBAN_QUIZ_REST_TIME, self.imprisonmentEndTimeText))
  357. # END_OF_AUTOBAN
  358.  
  359. def Show(self):
  360. self.__LoadWindow()
  361.  
  362. ui.ScriptWindow.Show(self)
  363.  
  364. def __LoadWindow(self):
  365. if self.isLoaded == 1:
  366. return
  367.  
  368. self.isLoaded = 1
  369.  
  370. try:
  371. pyScrLoader = ui.PythonScriptLoader()
  372. if localeInfo.IsARABIC():
  373. pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "Minimap.py")
  374. else:
  375. pyScrLoader.LoadScriptFile(self, "UIScript/MiniMap.py")
  376. except:
  377. import exception
  378. exception.Abort("MiniMap.LoadWindow.LoadScript")
  379.  
  380. try:
  381. self.OpenWindow = self.GetChild("OpenWindow")
  382. self.MiniMapWindow = self.GetChild("MiniMapWindow")
  383. self.ScaleUpButton = self.GetChild("ScaleUpButton")
  384. self.ScaleDownButton = self.GetChild("ScaleDownButton")
  385. self.AnimesferButton = self.GetChild("AnimesferButton")
  386. self.MiniMapHideButton = self.GetChild("MiniMapHideButton")
  387. self.AtlasShowButton = self.GetChild("AtlasShowButton")
  388. self.CloseWindow = self.GetChild("CloseWindow")
  389. self.MiniMapShowButton = self.GetChild("MiniMapShowButton")
  390. self.positionInfo = self.GetChild("PositionInfo")
  391. self.observerCount = self.GetChild("ObserverCount")
  392. self.serverInfo = self.GetChild("ServerInfo")
  393. if app.ENABLE_DEFENSE_WAVE:
  394. self.MastHp = self.GetChild("MastHp")
  395. self.MastWindow = self.GetChild("MastWindow")
  396. self.MastHp.OnMouseOverIn = ui.__mem_func__(self.MastHp.ShowToolTip)
  397. self.MastHp.OnMouseOverOut = ui.__mem_func__(self.MastHp.HideToolTip)
  398. self.MastHp.SetShowToolTipEvent(self.MastHp.OnMouseOverIn)
  399. self.MastHp.SetHideToolTipEvent(self.MastHp.OnMouseOverOut)
  400. if (app.WJ_COMBAT_ZONE):
  401. self.btnCombatZone = self.GetChild("BattleButton")
  402. self.wndMds = self.GetChild("Mds")
  403. if constInfo.MINIMAP_MAPNAME_ENABLE:
  404. self.MapNameInfo = self.GetChild("MapNameInfo")
  405. if constInfo.MINIMAP_DATETIME_ENABLE:
  406. self.DateTimeInfo = self.GetChild("DateTimeInfo")
  407. except:
  408. import exception
  409. exception.Abort("MiniMap.LoadWindow.Bind")
  410.  
  411.  
  412. self.GetChild("Mds").SetFontName("Tahoma:10.8")
  413.  
  414. if constInfo.MINIMAP_MAPNAME_ENABLE==0:
  415. self.MapNameInfo.hide()
  416.  
  417. if constInfo.MINIMAP_POSITIONINFO_ENABLE==0:
  418. self.positionInfo.Hide()
  419.  
  420. if app.ENABLE_DEFENSE_WAVE:
  421. self.MastHp.SetPercentage(5000000, 5000000)
  422. self.MastWindow.Hide()
  423.  
  424.  
  425. self.serverInfo.SetText(net.GetServerInfo())
  426. self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp))
  427. self.ScaleDownButton.SetEvent(ui.__mem_func__(self.ScaleDown))
  428. self.MiniMapHideButton.SetEvent(ui.__mem_func__(self.HideMiniMap))
  429. self.MiniMapShowButton.SetEvent(ui.__mem_func__(self.ShowMiniMap))
  430. self.wndCostume = None
  431. if (app.WJ_COMBAT_ZONE):
  432. self.btnCombatZone.SetEvent(ui.__mem_func__(self.OpenCombatZoneWindow))
  433. self.btnCombatZone.Down()
  434.  
  435. if miniMap.IsAtlas():
  436. self.AtlasShowButton.SetEvent(ui.__mem_func__(self.ShowAtlas))
  437.  
  438. (ButtonPosX, ButtonPosY) = self.MiniMapShowButton.GetGlobalPosition()
  439. self.tooltipMiniMapOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
  440.  
  441. (ButtonPosX, ButtonPosY) = self.MiniMapHideButton.GetGlobalPosition()
  442. self.tooltipMiniMapClose.SetTooltipPosition(ButtonPosX, ButtonPosY)
  443.  
  444. (ButtonPosX, ButtonPosY) = self.ScaleUpButton.GetGlobalPosition()
  445. self.tooltipScaleUp.SetTooltipPosition(ButtonPosX, ButtonPosY)
  446.  
  447. (ButtonPosX, ButtonPosY) = self.ScaleDownButton.GetGlobalPosition()
  448. self.tooltipScaleDown.SetTooltipPosition(ButtonPosX, ButtonPosY)
  449.  
  450. (ButtonPosX, ButtonPosY) = self.AnimesferButton.GetGlobalPosition()
  451. self.tooltipAnimesfer.SetTooltipPosition(ButtonPosX, ButtonPosY)
  452.  
  453. (ButtonPosX, ButtonPosY) = self.btnCombatZone.GetGlobalPosition()
  454. self.tooltipCombatZone.SetTooltipPosition(ButtonPosX, ButtonPosY)
  455.  
  456. (ButtonPosX, ButtonPosY) = self.AtlasShowButton.GetGlobalPosition()
  457. self.tooltipAtlasOpen.SetTooltipPosition(ButtonPosX, ButtonPosY)
  458.  
  459. self.ShowMiniMap()
  460.  
  461. def Destroy(self):
  462. self.HideMiniMap()
  463.  
  464. self.wndMds = 0
  465. self.wndMdsSlot = 0
  466.  
  467. self.AtlasWindow.Destroy()
  468. self.AtlasWindow = None
  469.  
  470. self.ClearDictionary()
  471.  
  472. self.__Initialize()
  473.  
  474. def UpdateObserverCount(self, observerCount):
  475. if observerCount>0:
  476. self.observerCount.Show()
  477. elif observerCount<=0:
  478. self.observerCount.Hide()
  479.  
  480. self.observerCount.SetText(localeInfo.MINIMAP_OBSERVER_COUNT % observerCount)
  481.  
  482. if constInfo.MINIMAP_MAPNAME_ENABLE:
  483. def UpdateMapName(self, MapName):
  484. self.MapNameInfo.SetText("|cfff64e3f|h" + MapName)
  485.  
  486. if constInfo.MINIMAP_DATETIME_ENABLE:
  487. def UpdateDateTime(self, dateTime):
  488. self.DateTimeInfo.SetText("|cff00ffea|h" + dateTime)
  489.  
  490. def OnUpdate(self):
  491. (x, y, z) = player.GetMainCharacterPosition()
  492. miniMap.Update(x, y)
  493. import constInfo
  494. self.wndMds.SetText(str(constInfo.pe))
  495.  
  496. self.positionInfo.SetText("|cff00ccff(%.0f, %.0f)" % (x/100, y/100))
  497.  
  498. if self.tooltipInfo:
  499. if TRUE == self.MiniMapWindow.IsIn():
  500. (mouseX, mouseY) = wndMgr.GetMousePosition()
  501. (bFind, sName, iPosX, iPosY, dwTextColor) = miniMap.GetInfo(mouseX, mouseY)
  502. if bFind == 0:
  503. self.tooltipInfo.Hide()
  504. elif not self.canSeeInfo:
  505. self.tooltipInfo.SetText("%s(%s)" % (sName, localeInfo.UI_POS_UNKNOWN))
  506. self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
  507. self.tooltipInfo.SetTextColor(dwTextColor)
  508. self.tooltipInfo.Show()
  509. else:
  510. if localeInfo.IsARABIC() and sName[-1].isalnum():
  511. self.tooltipInfo.SetText("(%s)%d, %d" % (sName, iPosX, iPosY))
  512. else:
  513. self.tooltipInfo.SetText("%s(%d, %d)" % (sName, iPosX, iPosY))
  514. self.tooltipInfo.SetTooltipPosition(mouseX - 5, mouseY)
  515. self.tooltipInfo.SetTextColor(dwTextColor)
  516. self.tooltipInfo.Show()
  517. else:
  518. self.tooltipInfo.Hide()
  519.  
  520. # AUTOBAN
  521. if self.imprisonmentDuration:
  522. self.__UpdateImprisonmentDurationText()
  523. # END_OF_AUTOBAN
  524.  
  525. if TRUE == self.MiniMapShowButton.IsIn():
  526. self.tooltipMiniMapOpen.Show()
  527. else:
  528. self.tooltipMiniMapOpen.Hide()
  529.  
  530. if TRUE == self.MiniMapHideButton.IsIn():
  531. self.tooltipMiniMapClose.Show()
  532. else:
  533. self.tooltipMiniMapClose.Hide()
  534.  
  535. if TRUE == self.ScaleUpButton.IsIn():
  536. self.tooltipScaleUp.Show()
  537. else:
  538. self.tooltipScaleUp.Hide()
  539.  
  540. if TRUE == self.ScaleDownButton.IsIn():
  541. self.tooltipScaleDown.Show()
  542. else:
  543. self.tooltipScaleDown.Hide()
  544.  
  545. if TRUE == self.AnimesferButton.IsIn():
  546. self.tooltipAnimesfer.Show()
  547. else:
  548. self.tooltipAnimesfer.Hide()
  549.  
  550. if TRUE == self.btnCombatZone.IsIn():
  551. self.tooltipCombatZone.Show()
  552. else:
  553. self.tooltipCombatZone.Hide()
  554.  
  555. if TRUE == self.AtlasShowButton.IsIn():
  556. self.tooltipAtlasOpen.Show()
  557. else:
  558. self.tooltipAtlasOpen.Hide()
  559.  
  560. def OnRender(self):
  561. (x, y) = self.GetGlobalPosition()
  562. fx = float(x)
  563. fy = float(y)
  564. miniMap.Render(fx + 4.0, fy + 5.0)
  565.  
  566. def Close(self):
  567. self.HideMiniMap()
  568.  
  569. def HideMiniMap(self):
  570. miniMap.Hide()
  571. self.OpenWindow.Hide()
  572. self.CloseWindow.Show()
  573.  
  574. def ShowMiniMap(self):
  575. if not self.canSeeInfo:
  576. return
  577.  
  578. miniMap.Show()
  579. self.OpenWindow.Show()
  580. self.CloseWindow.Hide()
  581.  
  582. def isShowMiniMap(self):
  583. return miniMap.isShow()
  584.  
  585. if (app.WJ_COMBAT_ZONE):
  586. def OnAskCombatZoneQuestionDialog(self):
  587. import uiCommon
  588. self.combatZoneLeaveQuestionDialog = uiCommon.QuestionDialog2()
  589. self.combatZoneLeaveQuestionDialog.SetText1(uiScriptLocale.EXIT_BATTLE_FIELD_COLLECTED_POINTS % (player.GetCombatZonePoints()))
  590. self.combatZoneLeaveQuestionDialog.SetText2(uiScriptLocale.EXIT_BATTLE_FIELD)
  591. self.combatZoneLeaveQuestionDialog.SetWidth(320)
  592. self.combatZoneLeaveQuestionDialog.SetAcceptEvent(lambda arg = TRUE: self.OnToggleCombatZoneQuestionDialog(arg))
  593. self.combatZoneLeaveQuestionDialog.SetCancelEvent(lambda arg = FALSE: self.OnToggleCombatZoneQuestionDialog(arg))
  594. self.combatZoneLeaveQuestionDialog.Open()
  595.  
  596. def OnToggleCombatZoneQuestionDialog(self, answer):
  597. if not self.combatZoneLeaveQuestionDialog:
  598. return
  599.  
  600. self.combatZoneLeaveQuestionDialog.Close()
  601. self.combatZoneLeaveQuestionDialog = None
  602.  
  603. if not answer:
  604. return
  605.  
  606. net.SendCombatZoneRequestActionPacket(net.COMBAT_ZONE_ACTION_LEAVE, net.COMBAT_ZONE_EMPTY_DATA)
  607. return TRUE
  608.  
  609. def OpenCombatZoneWindow(self):
  610. if app.WJ_SECURITY_SYSTEM and player.IsSecurityActivate():
  611. return
  612. if player.IsCombatZoneMap():
  613. self.OnAskCombatZoneQuestionDialog()
  614. else:
  615. net.SendCombatZoneRequestActionPacket(net.COMBAT_ZONE_ACTION_OPEN_RANKING, net.COMBAT_ZONE_EMPTY_DATA)
  616.  
  617. def ScaleUp(self):
  618. miniMap.ScaleUp()
  619.  
  620. def __IsSpecialMap(self):
  621. Blocked_MAPS = [
  622. "season1/metin2_map_oxevent",
  623. "season2/metin2_map_guild_inside01",
  624. "season2/metin2_map_empirewar01",
  625. "season2/metin2_map_empirewar02",
  626. "season2/metin2_map_empirewar03",
  627. "metin2_map_dragon_timeattack_01",
  628. "metin2_map_dragon_timeattack_02",
  629. "metin2_map_dragon_timeattack_03",
  630. "metin2_map_skipia_dungeon_boss",
  631. "metin2_map_skipia_dungeon_boss2",
  632. "metin2_map_devilsCatacomb",
  633. "metin2_map_deviltower1",
  634. "metin2_map_t1",
  635. "metin2_map_t2",
  636. "metin2_map_t3",
  637. "metin2_map_t4",
  638. "metin2_map_t5",
  639. "metin2_map_wedding_01",
  640. "metin2_map_ring",
  641. "metin2_map_gemi",
  642. "gm_guild_build",
  643. "metin2_map_duel"
  644. ]
  645.  
  646. if str(background.GetCurrentMapName()) in Blocked_MAPS:
  647. return TRUE
  648.  
  649. return FALSE
  650.  
  651. def ScaleDown(self):
  652. miniMap.ScaleDown()
  653.  
  654. def ShowAtlas(self):
  655. if not miniMap.IsAtlas():
  656. return
  657. if not self.AtlasWindow.IsShow():
  658. self.AtlasWindow.Show()
  659. else:
  660. self.AtlasWindow.Hide()
  661.  
  662. def ToggleAtlasWindow(self):
  663. if not miniMap.IsAtlas():
  664. return
  665. if self.AtlasWindow.IsShow():
  666. self.AtlasWindow.Hide()
  667. else:
  668. self.AtlasWindow.Show()
  669.  
  670. if app.ENABLE_DEFENSE_WAVE:
  671. def SetMastHP(self, hp):
  672. self.MastHp.SetPercentage(hp, 5000000)
  673. self.MastHp.SetToolTipText("HP: %d /5000000" % hp)
  674.  
  675. def SetMastWindow(self, i):
  676. if i:
  677. self.MastWindow.Show()
  678. else:
  679. self.MastWindow.Hide()
  680.  
  681. def UpdateChannelInfo(self, channel):
  682. if constInfo.SERVER_TYPE == 1:
  683. srvName = serverInfo.SERVER_1
  684. elif constInfo.SERVER_TYPE == 2:
  685. srvName = serverInfo.SERVER_2
  686. else:
  687. srvName = serverInfo.SERVER_1
  688. if channel == 99:
  689. serverInfoStr = srvName + ' - Ortak Kanal'
  690. else:
  691. serverInfoStr = srvName + ' - ' + str(channel) + '. Kanal'
  692. self.serverInfo.SetText(serverInfoStr)
  693. net.SetServerInfo(serverInfoStr)
  694.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement