Facebook
From Soft Zebra, 3 Years ago, written in Python.
Embed
Download Paste or View Raw
Hits: 71
  1. import ui, wndMgr, grp, chat, net
  2.  
  3.  
  4. class TeleportMap(ui.Bar):
  5.         def __init__(self):
  6.                 ui.Bar.__init__(self, "TOP_MOST")
  7.  
  8.                 self.warpButtons = []
  9.  
  10.                 self.bgColor = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
  11.  
  12.                 self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
  13.                 self.SetColor(self.bgColor)
  14.  
  15.                 self.mapBG = ui.ExpandedImageBox()
  16.                 self.mapBG.SetParent(self)
  17.                 self.mapBG.LoadImage("interface/mapa_teleportacji/mapa_bg.png")
  18.                 self.mapBG.SetAlpha(0.0)
  19.                 self.mapBG.SetWindowHorizontalAlignCenter()
  20.                 self.mapBG.SetWindowVerticalAlignCenter()
  21.                 self.mapBG.Show()
  22.  
  23.                 self.ShinsooM1 = WarpButton(self.mapBG, self, 180, 314, "interface/mapa_teleportacji/m1_01.png", "interface/mapa_teleportacji/m1_02.png")
  24.                 self.ShinsooM1.SetEvent(0)
  25.                 self.ShinsooM2 = WarpButton(self.mapBG, self, 211, 307, "interface/mapa_teleportacji/m2_01.png", "interface/mapa_teleportacji/m2_02.png")
  26.                 self.ShinsooM2.SetEvent(1)
  27.                 self.ShinsooM3 = WarpButton(self.mapBG, self, 244, 300, "interface/mapa_teleportacji/m3_01.png", "interface/mapa_teleportacji/m3_02.png")
  28.                 self.ShinsooM3.SetEvent(2)
  29.                 self.JinnoM1 = WarpButton(self.mapBG, self, 548, 113, "interface/mapa_teleportacji/m1_01.png", "interface/mapa_teleportacji/m1_02.png")
  30.                 self.JinnoM1.SetEvent(3)
  31.                 self.JinnoM2 = WarpButton(self.mapBG, self, 579, 106, "interface/mapa_teleportacji/m2_01.png", "interface/mapa_teleportacji/m2_02.png")
  32.                 self.JinnoM2.SetEvent(4)
  33.                 self.JinnoM3 = WarpButton(self.mapBG, self, 610, 99, "interface/mapa_teleportacji/m3_01.png", "interface/mapa_teleportacji/m3_02.png")
  34.                 self.JinnoM3.SetEvent(5)
  35.                 self.PajakiV1 = WarpButton(self.mapBG, self, 339, 143, "interface/mapa_teleportacji/v1_01.png", "interface/mapa_teleportacji/v1_02.png")
  36.                 self.PajakiV1.SetEvent(6)
  37.                 self.PajakiV2 = WarpButton(self.mapBG, self, 370, 136, "interface/mapa_teleportacji/v2_01.png", "interface/mapa_teleportacji/v2_02.png")
  38.                 self.PajakiV2.SetEvent(7)
  39.  
  40.  
  41.                 self.LasDuchow = WarpButton(self.mapBG, self, 291, 210, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  42.                 self.LasDuchow.SetEvent(7)
  43.                 self.CzerwonyLas = WarpButton(self.mapBG, self, 377, 234, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  44.                 self.CzerwonyLas.SetEvent(7)
  45.                 self.GoraSohan = WarpButton(self.mapBG, self, 509, 197, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  46.                 self.GoraSohan.SetEvent(7)
  47.                 self.DolinaOrkow = WarpButton(self.mapBG, self, 619, 232, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  48.                 self.DolinaOrkow.SetEvent(7)
  49.                 self.SwiatyniaHwang = WarpButton(self.mapBG, self, 366, 300, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  50.                 self.SwiatyniaHwang.SetEvent(7)
  51.                 self.OgnistaZiemia = WarpButton(self.mapBG, self, 470, 273, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  52.                 self.OgnistaZiemia.SetEvent(7)
  53.                 self.KrainaGigantow = WarpButton(self.mapBG, self, 295, 362, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  54.                 self.KrainaGigantow.SetEvent(7)
  55.                 self.Pustynia = WarpButton(self.mapBG, self, 472, 348, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  56.                 self.Pustynia.SetEvent(7)
  57.                 self.GrotaWyg = WarpButton(self.mapBG, self, 435, 403, "interface/mapa_teleportacji/tp_01.png", "interface/mapa_teleportacji/tp_02.png")
  58.                 self.GrotaWyg.SetEvent(7)
  59.  
  60.  
  61.                 self.warpButtons.append(self.ShinsooM1)
  62.                 self.warpButtons.append(self.ShinsooM2)
  63.                 self.warpButtons.append(self.ShinsooM3)
  64.                 self.warpButtons.append(self.JinnoM1)
  65.                 self.warpButtons.append(self.JinnoM2)
  66.                 self.warpButtons.append(self.JinnoM3)
  67.                 self.warpButtons.append(self.PajakiV1)
  68.                 self.warpButtons.append(self.PajakiV2)
  69.                 self.warpButtons.append(self.LasDuchow)
  70.                 self.warpButtons.append(self.CzerwonyLas)
  71.                 self.warpButtons.append(self.GoraSohan)
  72.                 self.warpButtons.append(self.DolinaOrkow)
  73.                 self.warpButtons.append(self.SwiatyniaHwang)
  74.                 self.warpButtons.append(self.OgnistaZiemia)
  75.                 self.warpButtons.append(self.KrainaGigantow)
  76.                 self.warpButtons.append(self.Pustynia)
  77.                 self.warpButtons.append(self.GrotaWyg)
  78.  
  79.         def __del__(self):
  80.                 ui.Bar.__del__(self)
  81.  
  82.         def Open(self):
  83.                 self.openAnimation = 1
  84.                 self.Show()
  85.  
  86.         def OnUpdate(self):
  87.                 if self.openAnimation:
  88.                         if self.mapBG.GetAlpha() < 1.0:
  89.                                 bgAlpha = self.mapBG.GetAlpha() / 1.5
  90.                                 bgColor = grp.GenerateColor(0.0, 0.0, 0.0, bgAlpha)
  91.                                 self.mapBG.SetAlpha(self.mapBG.GetAlpha() + 0.04)
  92.                                 self.SetColor(bgColor)
  93.                         else:
  94.                                 self.openAnimation = 0
  95.  
  96.                 for x in xrange(len(self.warpButtons)):
  97.                         self.warpButtons[x].Update()
  98.  
  99.         def Close(self):
  100.                 self.bgColor = grp.GenerateColor(0.0, 0.0, 0.0, 0.0)
  101.                 self.mapBG.SetAlpha(0.0)
  102.                 self.Hide()
  103.  
  104.         def OnPressEscapeKey(self):
  105.                 self.Close()
  106.  
  107.         def Teleportuj(self, arg):
  108.                 net.SendChatPacket("/teleport {}".format(arg))
  109.                 # chat.AppendChat(chat.CHAT_TYPE_INFO, "Teleportacja do: {}".format(arg))
  110.  
  111.  
  112. class WarpButton(ui.ExpandedImageBox):
  113.         def __init__(self, parent, globalParent, x, y, baseImage, hoverImage):
  114.                 ui.ExpandedImageBox.__init__(self)
  115.                 self.func = globalParent
  116.  
  117.                 self.animacja = 0
  118.  
  119.                 self.baseImage = baseImage
  120.                 self.hoverImage = hoverImage
  121.                 self.mapa = -1
  122.  
  123.                 self.SetParent(parent)
  124.                 self.SetPosition(x, y)
  125.                 self.LoadImage(baseImage)
  126.                 self.Show()
  127.  
  128.                 self.cover = ui.ExpandedImageBox()
  129.                 self.cover.AddFlag("not_pick")
  130.                 self.cover.SetParent(self)
  131.                 self.cover.LoadImage(hoverImage)
  132.                 self.cover.SetAlpha(0.0)
  133.                 self.cover.Show()
  134.  
  135.         def __del__(self):
  136.                 ui.ExpandedImageBox.__del__(self)
  137.  
  138.         def Update(self):
  139.                 if self.IsIn():
  140.                         self.animacja = 1
  141.                         #self.LoadImage(self.hoverImage)
  142.                 else:
  143.                         #self.LoadImage(self.baseImage)
  144.                         self.animacja = 0
  145.  
  146.                 alpha = self.cover.GetAlpha()
  147.                 if self.animacja:
  148.                         if alpha < 1.0:
  149.                                 self.cover.SetAlpha(alpha+0.1)
  150.                 else:
  151.                         if alpha > 0.0:
  152.                                 self.cover.SetAlpha(alpha-0.1)
  153.  
  154.         def SetEvent(self, mapa):
  155.                 self.mapa = mapa
  156.  
  157.         def OnMouseLeftButtonUp(self):
  158.                 self.func.Teleportuj(self.mapa)
  159.