Jump to content

GM - Ban Center


Recommended Posts

Hello People, i created a small BanCenter for GameMasters..

It is not large, but is but simplifies some.

 

The Serverside Code (on c++ or Lua) can you self create.. I havent now this..

#
# GM Ban-Board by @Risan aka Zymos
# Version 1.0 Alpha
# Created: 03.10.2014
# LastUpdate: 03.10.2014
#

import ui
import chat
import uiCommon

CurrentlyBanTable = [ 
#Time
{	"NameK":"Userbeleidigung", "day":1, "hours":200, "mins":10, },
{	"NameK":"Nachfrage von Fremdprogramme/Hacks/Bots", "day":1, "hours":200, "mins":10, },
{	"NameK":"Obszöne Spiele/Shop/Gildennamen", "day":1, "hours":200, "mins":10, },
{	"NameK":"Teambeleidigung", "day":1, "hours":200, "mins":10, },
{	"NameK":"Bugausnutzung", "day":1, "hours":200, "mins":10, },

#perm 999 day == Permament ban
{	"NameK":"Cheaten/Haecken (PERM)", "day":999, "hours":0, "mins":0, },
{	"NameK":"Clientmanipulierung (PERM)", "day":999, "hours":0, "mins":0, },
{	"NameK":"Kauf/Verkauf von virtuellen Guetern (PERM)", "day":999, "hours":0, "mins":0, },
{	"NameK":"Fremdwerbung (jeglicher art) (PERM)", "day":999, "hours":0, "mins":0, },
]


QuestionBeforeBan = True

class GmBanBoard(ui.Window):
	def __init__(self):
		ui.Window.__init__(self)
		self.BuildWindow()

	def __del__(self):
		ui.Window.__del__(self)

	def BuildWindow(self):
		self.Board = ui.BoardWithTitleBar()
		self.Board.SetSize(310, 120) #x y
		self.Board.SetCenterPosition()
		self.Board.AddFlag('movable')
		self.Board.AddFlag('float')
		self.Board.SetTitleName('GameMaster - BanCenter')
		self.Board.SetCloseEvent(self.Close)
		self.comp = Component()

		#Ban Duration and Edits Desc
		self.DurationDesc = self.comp.TextLine(self.Board,"Laufzeit:", 10,60, self.comp.RGB(255, 255, 255))
		self.DayEdit ,self.DayEdits = self.comp.EditLine(self.Board, '0',65, 60, 20, 15, 3) #parent, editlineText, x, y, width, heigh, max
		self.DayDesc = self.comp.TextLine(self.Board,"Tag(e)", 65+25,60, self.comp.RGB(255, 255, 255))
		self.DayEdits.SetNumberMode()
		self.DayEdits.OnIMEUpdate = ui.__mem_func__(self.__OnUpdateValueEdit)
		
		self.HourEdit ,self.HourEdits = self.comp.EditLine(self.Board, '0',65+65, 60, 20, 15, 3) #parent, editlineText, x, y, width, heigh, max
		self.HourDesc = self.comp.TextLine(self.Board,"Stunden(n)", 65+25+65,60, self.comp.RGB(255, 255, 255))
		self.HourEdits.SetNumberMode()
		self.HourEdits.OnIMEUpdate = ui.__mem_func__(self.__OnUpdateValueEdit)
		
		self.MinEdit ,self.MinEdits = self.comp.EditLine(self.Board, '0',65+65+85, 60, 20, 15, 3) #parent, editlineText, x, y, width, heigh, max
		self.MinDesc = self.comp.TextLine(self.Board,"Minute(n)", 65+25+65+85,60, self.comp.RGB(255, 255, 255))
		self.MinEdits.SetNumberMode()
		self.MinEdits.OnIMEUpdate = ui.__mem_func__(self.__OnUpdateValueEdit)
		
		#SaktionUser
		self.SaktionDescName = self.comp.TextLine(self.Board,"UserName:", 10,90, self.comp.RGB(255, 255, 255))
		self.SaktionNameEdit ,self.SaktionNameEdits = self.comp.EditLine(self.Board, '',65, 90, 100, 15, 18) #parent, editlineText, x, y, width, heigh, max
		
		#Buttons
		self.ClickOkButton = self.comp.Button(self.Board, 'Setzen', 'Setzt die Sanktion', 170, 90, self._ClickSetButton, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
		self.ClickAbortButton = self.comp.Button(self.Board, 'Abbruch', 'Schliessen', 235, 90, self.Close, 'd:/ymir work/ui/public/middle_button_01.sub', 'd:/ymir work/ui/public/middle_button_02.sub', 'd:/ymir work/ui/public/middle_button_03.sub')
						
		#Ban ComboBox #LOAD LAST!!!
		self._LoadComboBox()

	def _ClickSetButton(self):
		GetUserName = self.SaktionNameEdits .GetText() 
		if len(GetUserName) == 0:
			self.PopupMessage("Du musst einen gueltigen Namen angeben!")
			return
		if self.DayEdits .GetText() == 0 and self.HourEdits .GetText() == 0 and self.MinEdits .GetText() == 0:
			self.PopupMessage("Ungueltige Zeitangaben!")
			return
		if self.CurrentBanType == 0:
			self.PopupMessage("Du musst einen Grund auswaehlen!")
			return
		if QuestionBeforeBan == True:
			questiontext = "Moechtest du wirklich '" + str( GetUserName ) +"'  Bannen?"
			questionDialog = uiCommon.QuestionDialog2()
			questionDialog.SetText1(questiontext)
			questionDialog.SetText2( str(" Laufzeit: " + str( self.DayEdits .GetText() ) + " Tag(e) | " + str( self.HourEdits .GetText() ) + " Stunde(n) | " + str( self.MinEdits .GetText() ) + " Minute(n) ") )
			questionDialog.SetAcceptEvent(ui.__mem_func__(self.questionDialog__Accept))
			questionDialog.SetCancelEvent(ui.__mem_func__(self.questionDialog_Cleras))
			questionDialog.SetWidth(280)
			questionDialog.Open()
			self.dlgQuestion = questionDialog
		else:
			self._Banned()
	
	def PopupMessage(self, msg):
		self.wndPopupDialog = uiCommon.PopupDialog()
		self.wndPopupDialog.SetText(msg)
		self.wndPopupDialog.Open()
		
	def questionDialog__Accept(self):
		self._Banned()
		self.questionDialog_Cleras()
		
	def questionDialog_Cleras(self):
		self.dlgQuestion = None
		
	def _Banned(self):
		GetUserName = self.SaktionNameEdits .GetText()
		BanType = self.CurrentBanType
		BanGrund = str( CurrentlyBanTable[BanType]["NameK"] )
		Days = self.DayEdits .GetText()
		Hours = self.HourEdits .GetText()
		Mins = self.MinEdits .GetText()
		chat.AppendChat(1,"Fucking Banned Command is Answer")
		self.Close() 

	def _LoadComboBox(self):
		self.BanTextDesc = self.comp.TextLine(self.Board,"Ban Grund:", 10,35, self.comp.RGB(255, 255, 255))
		self.CurrentBanType = 0
		self.ComboBoxBans = self.comp.ComboBox(self.Board, 'Waehle den BanGrund',65, 35, 225)	#x y BreiteDerBox
		for x in xrange( len(CurrentlyBanTable) ):
			self.ComboBoxBans.InsertItem(x, str( CurrentlyBanTable[x]["NameK"] ) )
		self.ComboBoxBans.SetEvent(self._OnClickComboBoxBans)
		
	def __OnUpdateValueEdit(self):
		SelfCheckEdit = False
		if SelfCheckEdit == True:
			ui.EditLine.OnIMEUpdate(self.DayEdits)
			ui.EditLine.OnIMEUpdate(self.HourEdits)
			ui.EditLine.OnIMEUpdate(self.MinEdits)
		
	def _OnClickComboBoxBans(self,index): 
		self.CurrentBanType = index
		self.ComboBoxBans.SetCurrentItem( str( CurrentlyBanTable[ self.CurrentBanType  ]["NameK"]  ) )
		self.DayEdits .SetText( str( CurrentlyBanTable[ self.CurrentBanType  ]["day"] ) )
		self.HourEdits .SetText( str( CurrentlyBanTable[ self.CurrentBanType  ]["hours"] ) )
		self.MinEdits .SetText( str( CurrentlyBanTable[ self.CurrentBanType  ]["mins"] ) )
	
	def _SetName(self,arg1):
		self.SaktionNameEdits .SetText( str( arg1 ) )
		
	#Standart
	def Close(self):
		self.Board.Hide()
		self.questionDialog_Cleras() #BugFix!
	
	def Show(self):
		self.Board.Show()
	
	def Destroy(self):
		self.Board = None
		self.comp = None
	
	def Openwindow(self):
		if self.Board.IsShow():
			self.Board.Hide()
		else:
			self.Board.Show()

#Zusatz
class Component:
	def ComboBox(self, parent, text, x, y, width):
		combo = ui.ComboBox()
		if parent != None:
			combo.SetParent(parent)
		combo.SetPosition(x, y)
		combo.SetSize(width, 15)
		combo.SetCurrentItem(text)
		combo.Show()
		return combo
		
	def TextLine(self, parent, textlineText, x, y, color):
		textline = ui.TextLine()
		if parent != None:
			textline.SetParent(parent)
		textline.SetPosition(x, y)
		if color != None:
			textline.SetFontColor(color[0], color[1], color[2])
		textline.SetText(textlineText)
		textline.Show()
		return textline
	
	def EditLine(self, parent, editlineText, x, y, width, heigh, max):
		SlotBar = ui.SlotBar()
		if parent != None:
			SlotBar.SetParent(parent)
		SlotBar.SetSize(width, heigh)
		SlotBar.SetPosition(x, y)
		SlotBar.Show()
		Value = ui.EditLine()
		Value.SetParent(SlotBar)
		Value.SetSize(width, heigh)
		Value.SetPosition(1, 1)
		Value.SetMax(max)
		Value.SetLimitWidth(width)
		Value.SetMultiLine()
		Value.SetText(editlineText)
		#Value.SetHorizontalAlignRight()
		Value.Show()
		return SlotBar, Value
		
	def RGB(self, r, g, :
		return (r*255, g*255, b*255)
	
	def Button(self, parent, buttonName, tooltipText, x, y, func, UpVisual, OverVisual, DownVisual):
		button = ui.Button()
		if parent != None:
			button.SetParent(parent)
		button.SetPosition(x, y)
		button.SetUpVisual(UpVisual)
		button.SetOverVisual(OverVisual)
		button.SetDownVisual(DownVisual)
		button.SetText(buttonName)
		button.SetToolTipText(tooltipText)
		button.Show()
		button.SetEvent(func)
		return button
		
		
GmBanBoard().Show()

Best Regards, Risan

 

Screenshort:

63deb35461.jpg

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 5
Link to comment
Share on other sites

  • 1 year later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.