10 mesaje
Avatar utilizator
Ene
Membru Expert Membru Expert
  • Mesaje: 164
  • Reacții: 4245
  • Mesaje utile: 0
  • Status: (^.^)
  • Regat: Shinsoo
  • [ID Discord]
  • Contact:

    Medalii

    *Descriere: ce sunt aceste modificări ei bine oferă posibilitatea de-a executa anumite comenzi direct din pm de către un admin
    acestea sunt: warp / transfer / kill / kick /
    Aceste obțiuni sunt doar pentru gm vizibile în pm cu un jucator
    se poate extinde după bunul plac


    *Poze / Video (obligatoriu):
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 1 - Imagine 1
    *Link download:

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Conținut: Ascuns
    Reacționează ❤️ la acest mesaj și conținutul se va afișa automat.

    Nou Cum descarc de pe TeraBox?

    Afișează detalii Ascunde detalii
    • Este asemănător cu Mega.nz
    • Instalați-vă clientul lor de Download de aici
    • Faceți-vă un cont (vă puteți loga cu Facebook / Google / etc)
    • Nou Dacă nu vreți să descărcați clientul de Download, folosiți acest site
    • Gata! Acum puteți descărca resursele rapid & simplu.

    De ce folosim TeraBox?

    • Este gratuit
    • Primești 1TB de spațiu gratuit la orice cont creat!
    • Este ușor de folosit și varianta premium este foarte ieftină
    • Fișierele nu sunt șterse niciodată
    TeraBox logo

    See full signature

    🔥 Hai pe Discord! - Chat activ și support direct

    Te așteptăm și pe serverul de Discord - aici ne-am strâns toată comunitatea de Metin2 din România.

    Alătură-te acum!
    Suntem aproape: 
    Robot Discord
    Roboțelu'
    Anunț
    Utilizator interzis Utilizator interzis
  • Mesaje: 13
  • Reacții: 4
  • Mesaje utile: 0
  • Server: nu joc
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Utilizator interzis
    Utilizator interzis

    Mesaj de scott. »

    e bună ideea.
    Membru Ucenic Membru Ucenic
  • Mesaje: 45
  • Reacții: 92
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Chunjo
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de petrica5287 »

    cum ai facut sa stea lipite acolo ?
    Administrator Administrator
  • Mesaje: 3901
  • Reacții: 72147
  • Mesaje utile: 38
  • Status: Pe aici.. 🤠
  • Server: Saga2 - Soon
  • Regat: Jinno
  • [ID Discord]
  • Contact:
    Avatar utilizator
    Administrator
    Administrator

    Mesaj de [HF]White »

    petrica5287 scrie: cum ai facut sa stea lipite acolo ?
    scott.
    Te asteptam si pe serverul de Discord :p - aici ne-am strans toata comunitatea de Metin2 din Romania.
    Link: https://discord.gg/jWxeDSf7HP

    Suntem aproape 2000 membri! - Avem chat activ zilnic, support, cereri, resurse. :D :ymcowboy:




    See full signature
    Utilizator interzis Utilizator interzis
  • Mesaje: 13
  • Reacții: 4
  • Mesaje utile: 0
  • Server: nu joc
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Utilizator interzis
    Utilizator interzis

    Mesaj de scott. »

    [HF]White scrie:
    petrica5287 scrie: cum ai facut sa stea lipite acolo ?
    scott.
    i-am făcut un thinboard separat şi l-am pus să-şi dea update la poziţie după mărimea ferestrei în funcţia de refresh, să rămână centrat.
    l-am scos, că dacă îl mai aveam îl puneam aici.
    Membru Ucenic Membru Ucenic
  • Mesaje: 45
  • Reacții: 92
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Regat: Chunjo
  • Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de petrica5287 »

    scott. ms de info ,oricum nu stiu sa fac ce ai zis tu acolo :)) le las asa sus cum is ele
    Membru Ucenic Membru Ucenic
  • Mesaje: 17
  • Reacții: 32
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Server: www.Cave2.eu
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de l3oogie »

    Imi zice cineva de ce inchide clientul la login cont daca il pun( varianta de sus nici nu deschide clientul ) ? versiune ulthar v2 tmp4 base, il iau si pun impachetez frumos dar apoi daca intru in client il inchide la login.... nu ma pricep, am cautat si cu ai-ul , am urmarit liniile sa vad daca lipseste cuvant, are spatiu sau ceva gresit la o linie .... nu reusesc sa ii dau de cap ....
    Code:
    import ui
    import net
    import chat
    import player
    import app
    import localeInfo
    import ime
    import chr
    
    class WhisperButton(ui.Button):
    	def __init__(self):
    		ui.Button.__init__(self, "TOP_MOST")
    
    	def __del__(self):
    		ui.Button.__del__(self)
    
    	def SetToolTipText(self, text, x=0, y = 32):
    		ui.Button.SetToolTipText(self, text, x, y)
    		self.ToolTipText.Show()
    
    	def SetToolTipTextWithColor(self, text, color, x=0, y = 32):
    		ui.Button.SetToolTipText(self, text, x, y)
    		self.ToolTipText.SetPackedFontColor(color)
    		self.ToolTipText.Show()
    
    	def ShowToolTip(self):
    		if 0 != self.ToolTipText:
    			self.ToolTipText.Show()
    
    	def HideToolTip(self):
    		if 0 != self.ToolTipText:
    			self.ToolTipText.Show()
    
    class WhisperDialog(ui.ScriptWindow):
    
    	class TextRenderer(ui.Window):
    		def SetTargetName(self, targetName):
    			self.targetName = targetName
    
    		def OnRender(self):
    			(x, y) = self.GetGlobalPosition()
    			chat.RenderWhisper(self.targetName, x, y)
    
    	class ResizeButton(ui.DragButton):
    
    		def __init__(self):
    			ui.DragButton.__init__(self)
    
    		def __del__(self):
    			ui.DragButton.__del__(self)
    
    		def OnMouseOverIn(self):
    			app.SetCursor(app.HVSIZE)
    
    		def OnMouseOverOut(self):
    			app.SetCursor(app.NORMAL)
    
    	def __init__(self, eventMinimize, eventClose):
    		print "NEW WHISPER DIALOG  ----------------------------------------------------------------------------"
    		ui.ScriptWindow.__init__(self)
    		self.targetName = ""
    		self.eventMinimize = eventMinimize
    		self.eventClose = eventClose
    		self.eventAcceptTarget = None
    	def __del__(self):
    		print "---------------------------------------------------------------------------- DELETE WHISPER DIALOG"
    		ui.ScriptWindow.__del__(self)		
    
    	def LoadDialog(self):
    		try:
    			pyScrLoader = ui.PythonScriptLoader()
    			pyScrLoader.LoadScriptFile(self, "UIScript/WhisperDialog.py")
    		except:
    			import exception
    			exception.Abort("WhisperDialog.LoadDialog.LoadScript")
    
    		try:
    			GetObject=self.GetChild
    			self.titleName = GetObject("titlename")
    			self.titleNameEdit = GetObject("titlename_edit")
    			self.closeButton = GetObject("closebutton")
    			self.scrollBar = GetObject("scrollbar")
    			self.chatLine = GetObject("chatline")
    			self.minimizeButton = GetObject("minimizebutton")
    			self.ignoreButton = GetObject("ignorebutton")
    			self.reportViolentWhisperButton = GetObject("reportviolentwhisperbutton")
    			self.acceptButton = GetObject("acceptbutton")
    			self.sendButton = GetObject("sendbutton")
    			self.board = GetObject("board")
    			self.editBar = GetObject("editbar")
    			self.gamemasterMark = GetObject("gamemastermark")
    			self.warp = GetObject("warp")
    			self.transfer = GetObject("transfer")
    			self.kill = GetObject("kill")
    			self.kick = GetObject("kick")
    		except:
    			import exception
    			exception.Abort("DialogWindow.LoadDialog.BindObject")
    
    
    		self.titleName.SetText("")
    		self.titleNameEdit.SetText("")
    		self.minimizeButton.SetEvent(ui.__mem_func__(self.Minimize))
    		self.closeButton.SetEvent(ui.__mem_func__(self.Close))
    		self.scrollBar.SetPos(1.0)
    		self.scrollBar.SetScrollEvent(ui.__mem_func__(self.OnScroll))
    		self.chatLine.SetReturnEvent(ui.__mem_func__(self.SendWhisper))
    		self.chatLine.SetEscapeEvent(ui.__mem_func__(self.Minimize))
    		self.chatLine.SetMultiLine()
    		self.sendButton.SetEvent(ui.__mem_func__(self.SendWhisper))
    		self.titleNameEdit.SetReturnEvent(ui.__mem_func__(self.AcceptTarget))
    		self.titleNameEdit.SetEscapeEvent(ui.__mem_func__(self.Close))
    		self.warp.SetEvent(ui.__mem_func__(self.__OnWarp))
    		self.transfer.SetEvent(ui.__mem_func__(self.__OnTransfer))
    		self.kill.SetEvent(ui.__mem_func__(self.__OnKill))
    		self.kick.SetEvent(ui.__mem_func__(self.__OnKick))
    		self.ignoreButton.SetToggleDownEvent(ui.__mem_func__(self.IgnoreTarget))
    		self.ignoreButton.SetToggleUpEvent(ui.__mem_func__(self.IgnoreTarget))
    		self.reportViolentWhisperButton.SetEvent(ui.__mem_func__(self.ReportViolentWhisper))
    		self.acceptButton.SetEvent(ui.__mem_func__(self.AcceptTarget))
    
    		self.textRenderer = self.TextRenderer()
    		self.textRenderer.SetParent(self)
    		self.textRenderer.SetPosition(20, 28)
    		self.textRenderer.SetTargetName("")
    		self.textRenderer.Show()
    
    		self.resizeButton = self.ResizeButton()
    		self.resizeButton.SetParent(self)
    		self.resizeButton.SetSize(20, 20)
    		self.resizeButton.SetPosition(280, 180)
    		self.resizeButton.SetMoveEvent(ui.__mem_func__(self.ResizeWhisperDialog))
    		self.resizeButton.Show()
    
    		self.ResizeWhisperDialog()
    
    	def Destroy(self):
    
    		self.eventMinimize = None
    		self.eventClose = None
    		self.eventAcceptTarget = None
    		self.warp = None
    		self.transfer = None
    		self.kill = None
    		self.kick = None
    		self.ClearDictionary()
    		self.scrollBar.Destroy()
    		self.titleName = None
    		self.titleNameEdit = None
    		self.closeButton = None
    		self.scrollBar = None
    		self.chatLine = None
    		self.sendButton = None
    		self.ignoreButton = None
    		self.reportViolentWhisperButton = None
    		self.acceptButton = None
    		self.minimizeButton = None
    		self.textRenderer = None
    		self.board = None
    		self.editBar = None
    		self.resizeButton = None
    
    	def ResizeWhisperDialog(self):
    		(xPos, yPos) = self.resizeButton.GetLocalPosition()
    		if xPos < 280:
    			self.resizeButton.SetPosition(280, yPos)
    			return
    		if yPos < 150:
    			self.resizeButton.SetPosition(xPos, 150)
    			return
    		self.SetWhisperDialogSize(xPos + 20, yPos + 20)
    
    	def SetWhisperDialogSize(self, width, height):
    		try:
    
    			max = int((width-90)/6) * 3 - 6
    
    			self.board.SetSize(width, height)
    			self.scrollBar.SetPosition(width-25, 35)
    			self.scrollBar.SetScrollBarSize(height-100)
    			self.scrollBar.SetPos(1.0)
    			self.editBar.SetSize(width-18, 50)
    			self.chatLine.SetSize(width-90, 40)
    			self.chatLine.SetLimitWidth(width-90)
    			self.SetSize(width, height)
    
    			if 0 != self.targetName:
    				chat.SetWhisperBoxSize(self.targetName, width - 50, height - 90)			
    			
    			if localeInfo.IsARABIC():
    				self.textRenderer.SetPosition(width-20, 28)
    				self.scrollBar.SetPosition(width-25+self.scrollBar.GetWidth(), 35)
    				self.editBar.SetPosition(10 + self.editBar.GetWidth(), height-60)
    				self.sendButton.SetPosition(width - 80 + self.sendButton.GetWidth(), 10)
    				self.minimizeButton.SetPosition(width-42 + self.minimizeButton.GetWidth(), 12)
    				self.closeButton.SetPosition(width-24+self.closeButton.GetWidth(), 12)				
    				self.chatLine.SetPosition(5 + self.chatLine.GetWidth(), 5)
    				self.board.SetPosition(self.board.GetWidth(), 0)
    			else:
    				self.textRenderer.SetPosition(20, 28)
    				self.scrollBar.SetPosition(width-25, 35)
    				self.editBar.SetPosition(10, height-60)
    				self.sendButton.SetPosition(width-80, 10)
    				self.minimizeButton.SetPosition(width-42, 12)
    				self.closeButton.SetPosition(width-24, 12)
    
    			self.SetChatLineMax(max)
    
    		except:
    			import exception
    			exception.Abort("WhisperDialog.SetWhisperDialogSize.BindObject")
    
    	def SetChatLineMax(self, max):
    		self.chatLine.SetMax(max)
    
    		from grpText import GetSplitingTextLine
    
    		text = self.chatLine.GetText()
    		if text:
    			self.chatLine.SetText(GetSplitingTextLine(text, max, 0))
    
    	def OpenWithTarget(self, targetName):
    		chat.CreateWhisper(targetName)
    		chat.SetWhisperBoxSize(targetName, self.GetWidth() - 60, self.GetHeight() - 90)
    		self.chatLine.SetFocus()
    		self.titleName.SetText(targetName)
    		self.targetName = targetName
    		self.textRenderer.SetTargetName(targetName)
    		self.titleNameEdit.Hide()
    		self.ignoreButton.Hide()
    		if app.IsDevStage():
    		self.reportViolentWhisperButton.Show()
    		else:
    		self.reportViolentWhisperButton.Hide()
    		self.acceptButton.Hide()
    		self.gamemasterMark.Hide()
    		self.minimizeButton.Show()
    		if chr.IsGameMaster(player.GetMainCharacterIndex()):
    			self.warp.Show()
    			self.transfer.Show()
    			self.kill.Show()
    			self.kick.Show()
            else:
                self.warp.Hide()
                self.transfer.Hide()
                self.kill.Hide()
                self.kick.Hide()
                
    	def OpenWithoutTarget(self, event):
    		self.eventAcceptTarget = event
    		self.titleName.SetText("")
    		self.titleNameEdit.SetText("")
    		self.titleNameEdit.SetFocus()
    		self.targetName = 0
    		self.titleNameEdit.Show()
    		self.ignoreButton.Hide()
    		self.reportViolentWhisperButton.Hide()
    		self.acceptButton.Show()
    		self.minimizeButton.Hide()
    		self.gamemasterMark.Hide()
    
    	def SetGameMasterLook(self):
    		self.gamemasterMark.Show()
    		self.reportViolentWhisperButton.Hide()
    
    	def Minimize(self):
    		self.titleNameEdit.KillFocus()
    		self.chatLine.KillFocus()
    		self.Hide()
    
    		if None != self.eventMinimize:
    			self.eventMinimize(self.targetName)
    
    	def Close(self):
    		chat.ClearWhisper(self.targetName)
    		self.titleNameEdit.KillFocus()
    		self.chatLine.KillFocus()
    		self.Hide()
    
    		if None != self.eventClose:
    			self.eventClose(self.targetName)
                
    	def __OnWarp(self):
    		net.SendChatPacket("/warp " + self.targetName)
    
    	def __OnTransfer(self):
    		net.SendChatPacket("/transfer " + self.targetName)
    
    	def __OnKill(self):
    		net.SendChatPacket("/kill " + self.targetName)
    
    	def __OnKick(self):
    		net.SendChatPacket("/kick" + self.targetName)
            
    	def ReportViolentWhisper(self):
    		net.SendChatPacket("/reportviolentwhisper " + self.targetName)
    
    	def IgnoreTarget(self):
    		net.SendChatPacket("/ignore " + self.targetName)
    
    	def AcceptTarget(self):
    		name = self.titleNameEdit.GetText()
    		if len(name) <= 0:
    			self.Close()
    			return
    
    		if None != self.eventAcceptTarget:
    			self.titleNameEdit.KillFocus()
    			self.eventAcceptTarget(name)
    
    	def OnScroll(self):
    		chat.SetWhisperPosition(self.targetName, self.scrollBar.GetPos())
    
    	def SendWhisper(self):
    
    		text = self.chatLine.GetText()
    		textLength = len(text)
    
    		if textLength > 0:
    			if net.IsInsultIn(text):
    				chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CHAT_INSULT_STRING)
    				return
    
    			net.SendWhisperPacket(self.targetName, text)
    			self.chatLine.SetText("")
    
    			chat.AppendWhisper(chat.WHISPER_TYPE_CHAT, self.targetName, player.GetName() + " : " + text)
    
    	def OnTop(self):
    		self.chatLine.SetFocus()
    		
    	def BindInterface(self, interface):
    		self.interface = interface
    		
    	def OnMouseLeftButtonDown(self):
    		hyperlink = ui.GetHyperlink()
    		if hyperlink:
    			if app.IsPressed(app.DIK_LALT):
    				link = chat.GetLinkFromHyperlink(hyperlink)
    				ime.PasteString(link)
    			else:
    				self.interface.MakeHyperlinkTooltip(hyperlink)
    
    if "__main__" == __name__:
    	import uiTest
    
    	class TestApp(uiTest.App):
    		def OnInit(self):
    			wnd = WhisperDialog(self.OnMax, self.OnMin)
    			wnd.LoadDialog()
    			wnd.OpenWithoutTarget(self.OnNew)
    			wnd.SetPosition(0, 0)
    			wnd.Show()
    
    			self.wnd = wnd
    
    		def OnMax(self):
    			pass
    
    		def OnMin(self):
    			pass
    
    		def OnNew(self):
    			pass
    
    	TestApp().MainLoop()
    
    

    Code:
    import uiScriptLocale
    
    ROOT = "d:/ymir work/ui/public/"
    
    window = {
    	"name" : "WhisperDialog",
    	"style" : ("movable", "float",),
    
    	"x" : 0,
    	"y" : 0,
    
    	"width" : 280,
    	"height" : 200,
    
    	"children" :
    	(
    		{
    			"name" : "board",
    			"type" : "thinboard",
    			"style" : ("attach",),
    
    			"x" : 0,
    			"y" : 0,
    
    			"width" : 280,
    			"height" : 200,
    
    			"children" :
    			(
    				## Title
    				{
    					"name" : "name_slot",
    					"type" : "image",
    					"style" : ("attach",),
    
    					"x" : 10,
    					"y" : 10,
    
    					"image":"d:/ymir work/ui/public/Parameter_Slot_05.sub",
    
    					"children" :
    					(
    						{
    							"name" : "titlename",
    							"type" : "text",
    
    							"x" : 3,
    							"y" : 3,
    
    							"text" : uiScriptLocale.WHISPER_NAME,
    						},
    						{
    							"name" : "titlename_edit",
    							"type" : "editline",
    
    							"x" : 3,
    							"y" : 3,
    
    							"width" : 120,
    							"height" : 17,
    
    							"input_limit" : PLAYER_NAME_MAX_LEN,
    
    							"text" : uiScriptLocale.WHISPER_NAME,
    						},
    					),
    				},
    
    				{
    					"name" : "gamemastermark",
    					"type" : "expanded_image",
    					"style" : ("attach",),
    
    					"x" : 206,
    					"y" : 6,
    
    					"x_scale" : 0.2,
    					"y_scale" : 0.2,
    
    					"image" : "locale/common/effect/ymirred.tga",
    				},
    
    				{
    					"name"         : "warp",
    					"type"         : "button",
    					"x"            : 10,
    					"y"            : 30,
    					"text"         : "warp",
    					"default_image": "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image"   : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image"   : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    				{
    					"name"         : "transfer",
    					"type"         : "button",
    					"x"            : 10 + 60 * 1,
    					"y"            : 30,
    					"text"         : "transfer",
    					"default_image": "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image"   : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image"   : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    				{
    					"name"         : "kill",
    					"type"         : "button",
    					"x"            : 10 + 60 * 2,
    					"y"            : 30,
    					"text"         : "kill",
    					"default_image": "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image"   : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image"   : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    				{
    					"name"         : "kick",
    					"type"         : "button",
    					"x"            : 10 + 60 * 3,
    					"y"            : 30,
    					"text"         : "kick",
    					"default_image": "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image"   : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image"   : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    
    				## Button
    				{
    					"name" : "ignorebutton",
    					"type" : "toggle_button",
    
    					"x" : 145,
    					"y" : 10,
    
    					"text" : uiScriptLocale.WHISPER_BAN,
    
    					"default_image" : "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image" : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image" : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    				{
    					"name" : "reportviolentwhisperbutton",
    					"type" : "button",
    
    					"x" : 145,
    					"y" : 10,
    
    					"text" : uiScriptLocale.WHISPER_REPORT,
    
    					"default_image" : "d:/ymir work/ui/public/large_button_01.sub",
    					"over_image" : "d:/ymir work/ui/public/large_button_02.sub",
    					"down_image" : "d:/ymir work/ui/public/large_button_03.sub",
    				},
    				{
    					"name" : "acceptbutton",
    					"type" : "button",
    
    					"x" : 145,
    					"y" : 10,
    
    					"text" : uiScriptLocale.OK,
    
    					"default_image" : "d:/ymir work/ui/public/small_thin_button_01.sub",
    					"over_image" : "d:/ymir work/ui/public/small_thin_button_02.sub",
    					"down_image" : "d:/ymir work/ui/public/small_thin_button_03.sub",
    				},
    				{
    					"name" : "minimizebutton",
    					"type" : "button",
    
    					"x" : 280 - 41,
    					"y" : 12,
    
    					"tooltip_text" : uiScriptLocale.MINIMIZE,
    
    					"default_image" : "d:/ymir work/ui/public/minimize_button_01.sub",
    					"over_image" : "d:/ymir work/ui/public/minimize_button_02.sub",
    					"down_image" : "d:/ymir work/ui/public/minimize_button_03.sub",
    				},
    				{
    					"name" : "closebutton",
    					"type" : "button",
    
    					"x" : 280 - 24,
    					"y" : 12,
    
    					"tooltip_text" : uiScriptLocale.CLOSE,
    
    					"default_image" : "d:/ymir work/ui/public/close_button_01.sub",
    					"over_image" : "d:/ymir work/ui/public/close_button_02.sub",
    					"down_image" : "d:/ymir work/ui/public/close_button_03.sub",
    				},
    
    				## ScrollBar
    				{
    					"name" : "scrollbar",
    					"type" : "thin_scrollbar",
    
    					"x" : 280 - 25,
    					"y" : 35,
    
    					"size" : 280 - 160,
    				},
    
    				## Edit Bar
    				{
    					"name" : "editbar",
    					"type" : "bar",
    
    					"x" : 10,
    					"y" : 200 - 60,
    
    					"width" : 280 - 18,
    					"height" : 50,
    
    					"color" : 0x77000000,
    
    					"children" :
    					(
    						{
    							"name" : "chatline",
    							"type" : "editline",
    
    							"x" : 5,
    							"y" : 5,
    
    							"width" : 280 - 70,
    							"height" : 40,
    
    							"with_codepage" : 1,
    							"input_limit" : 40,
    							"limit_width" : 280 - 90,
    							"multi_line" : 1,
    						},
    						{
    							"name" : "sendbutton",
    							"type" : "button",
    
    							"x" : 280 - 80,
    							"y" : 10,
    
    							"text" : uiScriptLocale.WHISPER_SEND,
    
    							"default_image" : "d:/ymir work/ui/public/xlarge_thin_button_01.sub",
    							"over_image" : "d:/ymir work/ui/public/xlarge_thin_button_02.sub",
    							"down_image" : "d:/ymir work/ui/public/xlarge_thin_button_03.sub",
    						},
    					),
    				},
    			),
    		},
    	),
    }
    
    

    Rezolvat! merci oricum .
    Membru Ucenic Membru Ucenic
  • Mesaje: 17
  • Reacții: 32
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Server: www.Cave2.eu
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de l3oogie »

    Update :
    Am sa postez separat noul sistem ui pentru gm board buttons facut de mine cu mai multe butoane usor de integrat direct in uiwhisper fara whisperdialog plus, aveti mai multe logici de functionare ale lui, sub whisper se afla si are resize update la board si butoane dupa whisper, are reincadrare butoane pe randuri in functie de resize , are o o latime maxima pentru butoane dupa care, daca cumva depaseste el trece pe urmatorul rand iar la resize whisper daca se calculeaza si da dimensiunea pe axa latimii buna scade cu un rand si trece in rand cu celelalte , altfel o sa apara sub pe randuri , totul este in functie de whisper adica, daca butoanele ajung sa depaseasca acea latime a gm board buttons care e setat dupa o dimensiunea a whisper ului ele trec in rand sub el , aveti padding stanga dreapta, aveti padding sus jos, atat la butoane fata de whisper cat si la board fata de whisper si plus aveti padding intre butoane adica distante , si padding intre randuri ! , am facut zona pickable dar aici am intalnit un bug vizual mic rezolvat astfel , prin chemarea resize whisper in target el da refresh si recalculeaza totul apoi nu mai e bug ul deci nu afecteaza cu nimic , nu sunt expert sa fac codul intr un fisier ui separat ca altfel il faceam, nu stiu sintaxe, si nu stiu multe functii deja definite in ui sistemul metin :))) sper ca o sa va fi e de folos, am sa postez separat acest mic sistem ui facut in uiwhisper doar!
    Il puteti cauta in forum dupa numele de "GM Board Buttons – sistem UI integrat în Whisper (layout dinamic + resize)"

    Doar ca eu nu stiu sa fac imagini frumoase care sa fie afisate cum are .scott pe butoane sau acea culoare pe text buton :))))
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 8 - Imagine 1
    Fişiere ataşate:
    [img]./download/file.php?mode=view&amp;id=6189[/img]
    Membru Expert Membru Expert
  • Mesaje: 150
  • Reacții: 669
  • Mesaje utile: 0
  • Status: Uite si eu pe aici!
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Expert
    Membru Expert

    Mesaj de salexandru9982 »

    nu reusesc nici sa fac butoanele functionale am reusit sa separ thinbord-urile l-am facut sa stea central si lipit jos da nu reusesc nici cum sa pun buaonele acolo si sa le fac functionale de 10 ore me chinui cu el
    Membru Ucenic Membru Ucenic
  • Mesaje: 17
  • Reacții: 32
  • Mesaje utile: 0
  • Status: Pierd vremea ^.^
  • Server: www.Cave2.eu
  • Regat: Jinno
  • [ID Discord]
  • Contact:

    Medalii

    Avatar utilizator
    Membru Ucenic
    Membru Ucenic

    Mesaj de l3oogie »

    Iti dau o versiune mai noua la ce am facut dar nu ultima, cauta si tu referintele din cod la ce nu are whisper ul normal si le introduci exact cum sunt in ordinea lor din asta si in ala al tau , ok? daca vezi ca ceva dispare din ce ai avut il stergi dar vezi sa nu stergi functii sau clase noi pe care poti sa le ai daca ai whisper deja modificat, nu stau sa pun acum fiecare linie unde vine si ce e nou in el ca maine muncesc si sunt si obosit :
    ATENTIE!!! NU FOLOSESTI REFERINTE IN WHISPERDIALOG.PY DELOC !!! ACOLO NU MAI CREEZI BUTOANE LE STERGI, EU AM CREAT BUTOANELE SI TOT CE TINE DE BOARD SI RESIZE SI REINCADRARI PE RANDURI ETC, DOAR PE WHISPER FARA SA MAI MA ENERVEZ CA TREBUIE SA FAC SI DINCOLO, POTI CREA BUTOANE CATE DORESTI, DAR SUNT SIMPLE NU FAC DECAT COMMAND PE CONSOLA JOC LA CHAT ATAT !! IA AI UL SI INVATA SA TE JOCI CU ELE CUM SI EU AM FACUT :))! Spor :D!

    Am facut post la bara cu butoane, uite link pe forum : Click / Apasa " [Py] GM Board Buttons – sistem UI integrat în Whisper (layout dinamic + resize) "

    [/code]
    Poze:
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 1
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 2
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 3

    Eu am ajuns la varianta asta pana acum, unde am pus scroll, am setat minim si maxim pe height la board gm buttons, sa faca si minimize/maximize cu tooltip etc...(Inca invat):
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 4
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 5
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 6
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 7
    [Py] Optiuni Staff in PM (Kick / Teleport / Kill / etc) - Mesaj 10 - Imagine 8
    Fişiere ataşate:
    [img]./download/file.php?mode=view&amp;id=6539[/img]

    📢 Resurse Metin2 Premium!

    Zeci de resurse Metin2 Premium - exclusive și 100% funcționale începând cu 15.99€!.

    Vezi resursele Cumpără premium
    Premium
    Premium
    Anunț
    Scrie răspuns

    Creează-ți un cont sau autentifică-te pentru a participa la discuție

    Trebuie să fii membru pentru a răspunde

    Creează-ți un cont

    Membrii pot crea subiecte noi și pot descărca resurse Metin2 Gratuit!


    Te poți înregistra sau conecta rapid utilizând contul tău de Discord, Github sau Google.

    Înregistrare

    Autentifică-te

    Înapoi la “Sisteme Metin2”

    Informații

    Utilizatori ce navighează pe acest forum: DEVE, salexandru9982, vegasage și 2 vizitatori

    Discord ID copiat: