Register for your free account! | Forgot your password?

You last visited: Today at 15:06

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Python]Sicherheitsabfrage beim Handeln

Discussion on [Python]Sicherheitsabfrage beim Handeln within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
q.@quaresma741's Avatar
 
elite*gold: 0
Join Date: Jul 2015
Posts: 25
Received Thanks: 66
[Python]Sicherheitsabfrage beim Handeln

Da es Spieler gibt die beim Handeln verpennen und später sich bei den Teamlern melden. Poste ich dies hier eine Sicherheitsabfrage wenn man Handelt




root > uiexchange.py öffnen

Suchen
Code:
def AcceptExchange(self):
und ersetzten den Codeblock mit dem hier
Code:
	def AcceptExchange(self):
		import uiCommon
		questionDialog = uiCommon.QuestionDialog3()
		questionDialog.SetText1(localeInfo.HANDELN_FRAGE1)
		questionDialog.SetText2(localeInfo.HANDELN_FRAGE2)
		questionDialog.SetText3(localeInfo.HANDELN_FRAGE3)
		questionDialog.SetText4(localeInfo.HANDELN_FRAGE4)
		questionDialog.SetText5(localeInfo.HANDELN_FRAGE5)
		questionDialog.SetAcceptEvent(ui.__mem_func__(self.Handeln))
		questionDialog.SetCancelEvent(ui.__mem_func__(self.Abbrechen))
		questionDialog.Open()
		self.questionDialog = questionDialog
	
	def Handeln(self):
		self.questionDialog.Close()
		net.SendExchangeAcceptPacket()
		self.AcceptButton.Disable()
		snd.PlaySound("sound/effect/etc/levelup_2/levelup1_2.wav")
        
	def Abbrechen(self):
		self.questionDialog.Close()

root > uicommon.py öffnen und am ende das hier einfügen
Code:
class QuestionDialog3(QuestionDialog):

	def __init__(self):
		QuestionDialog.__init__(self)
		self.__CreateDialog()

	def __del__(self):
		QuestionDialog.__del__(self)

	def __CreateDialog(self):
		pyScrLoader = ui.PythonScriptLoader()
		pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog3.py")

		self.board = self.GetChild("board")
		self.textLine1 = self.GetChild("message1")
		self.textLine2 = self.GetChild("message2")
		self.textLine3 = self.GetChild("message3")
		self.textLine4 = self.GetChild("message4")
		self.textLine5 = self.GetChild("message5")
		self.acceptButton = self.GetChild("accept")
		self.cancelButton = self.GetChild("cancel")

	def SetText1(self, text):
		self.textLine1.SetText(text)

	def SetText2(self, text):
		self.textLine2.SetText(text)
	
	def SetText3(self, text):
		self.textLine3.SetText(text)

	def SetText4(self, text):
		self.textLine4.SetText(text)

	def SetText5(self, text):
		self.textLine5.SetText(text)
locale_de > locale_game.txt öffnen und das hier irgenwo rein klatschen
Code:
HANDELN_FRAGE1	Du bist grade mit einem Spieler am Handeln.
HANDELN_FRAGE2	Das Handeln kann nicht wieder rückgängig gemacht werden.
HANDELN_FRAGE3	Wir empfehlen dir deine Sachen nochmal zu kontrollieren.
HANDELN_FRAGE4	Möchtest du Handeln?
HANDELN_FRAGE5	PS: Der Spieler ist selber verantwortlich !
Und die datei im Anhng einfach in die uiscrpt reinschmeissen
Attached Files
File Type: rar questiondialog3 by [email protected] (557 Bytes, 69 views)
q.@quaresma741 is offline  
Thanks
12 Users
Old 10/16/2016, 16:47   #2
 
I´m Raylee's Avatar
 
elite*gold: 105
Join Date: Jun 2015
Posts: 453
Received Thanks: 294
Nützliche Idee

Best regards
Raylee
I´m Raylee is offline  
Thanks
1 User
Old 10/16/2016, 16:49   #3
 
xRed™'s Avatar
 
elite*gold: 0
Join Date: Sep 2016
Posts: 13
Received Thanks: 13
Gute Idee!

Liebe Grüße, Red
xRed™ is offline  
Thanks
1 User
Old 10/16/2016, 18:39   #4


 
MrTherzon's Avatar
 
elite*gold: 0
The Black Market: 180/0/1
Join Date: Dec 2012
Posts: 9,390
Received Thanks: 2,738
Schöne Idee Danke dir!
MrTherzon is offline  
Thanks
1 User
Old 10/16/2016, 19:24   #5


 
Kyuso /..'s Avatar
 
elite*gold: 0
Join Date: Jan 2014
Posts: 1,583
Received Thanks: 2,398
Simpel aber nützlich. Bzw. man kann es verwenden bedanke mich mal dafür.
Kyuso /.. is offline  
Old 10/16/2016, 20:11   #6
 
xP3NG3Rx's Avatar
 
elite*gold: 50
Join Date: May 2011
Posts: 270
Received Thanks: 991
Good idea, thanks.
xP3NG3Rx is offline  
Thanks
1 User
Old 10/16/2016, 23:01   #7
 
elite*gold: 0
Join Date: Oct 2016
Posts: 17
Received Thanks: 3
klein, aber nützlich danke!
αηαℓуzє™ღ is offline  
Old 10/16/2016, 23:34   #8

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Nette Idee, allerdings würde ich es besser finden, wenn es keine feste Vorgabe von 6 Zeilen geben würde. Ist nicht allzu schwer umzusetzen, vielleicht erweiterst du es ja noch

edit:
untested, müsste aber so oder so ähnlich funktionieren:

Code:
	def AcceptExchange(self):
		import uiCommon
		import re
		
		questionDialog = uiCommon.QuestionDialog3()
		
		questions = {}
		for name, value in localeInfo.__dict__iteritems():
			matcher = re.match("^EXCHANGE_QUESTION([0-9]+)$", name)
			if matcher:
				questions[int(matcher.group(1))] = value
		
		for text in [questions[number] for number in sorted(questions)]:
			questionDialog.AppendText(text)
		
		questionDialog.SetAcceptEvent(ui.__mem_func__(self.__ConfirmAcceptExchange))
		questionDialog.SetCancelEvent(ui.__mem_func__(self.__CancelAcceptExchange))
		questionDialog.Open()
		self.questionDialog = questionDialog
	
	def __ConfirmAcceptExchange(self):
		self.questionDialog.Close()
		net.SendExchangeAcceptPacket()
		self.AcceptButton.Disable()
		snd.PlaySound("sound/effect/etc/levelup_2/levelup1_2.wav")
		
	def __CancelAcceptExchange(self):
		self.questionDialog.Close()
Code:
class QuestionDialog3(QuestionDialog):
	__textLines = None
	
	
	def __init__(self):
		QuestionDialog.__init__(self)
		
		self.__textLines = []
		self.__CreateDialog()

	def __del__(self):
		QuestionDialog.__del__(self)

	def __CreateDialog(self):
		pyScrLoader = ui.PythonScriptLoader()
		pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog3.py")

		self.board = self.GetChild("board")
		self.acceptButton = self.GetChild("accept")
		self.cancelButton = self.GetChild("cancel")

	def AppendText(self, text):
		line = ui.TextLine()
		line.SetParent(self.board)
		line.SetText(text)
		
		addHeight = line.GetTextSize()[1] + 10
		boardNewHeight = self.board.GetHeight() + addHeight
		
		self.board.SetSize(self.board.GetWidth(), boardNewHeight)
		self.acceptButton.SetPosition(self.acceptButton.GetPosition()[0], self.acceptButton.GetPosition()[1] + addHeight)
		self.cancelButton.SetPosition(self.cancelButton.GetPosition()[0], self.cancelButton.GetPosition()[1] + addHeight)
		
		line.SetPosition(0, boardNewHeight - 10 - self.acceptButton.GetHeight() - 10)
		line.Show()
		
		self.__textLines.append(line)
Code:
import uiScriptLocale

window = {
	"name" : "QuestionDialog",
	"style" : ("movable", "float",),

	"x" : SCREEN_WIDTH/2 - 125,
	"y" : SCREEN_HEIGHT/2 - 52,

	"width" : 300,
	"height" : 41,

	"children" :
	(
		{
			"name" : "board",
			"type" : "board",

			"x" : 0,
			"y" : 0,

			"width" : 300,
			"height" : 41,

			"children" :
			(
				{
					"name" : "accept",
					"type" : "button",

					"x" : -40,
					"y" : 143,

					"width" : 61,
					"height" : 21,

					"horizontal_align" : "center",
					"text" : uiScriptLocale.YES,

					"default_image" : "d:/ymir work/ui/public/middle_button_01.sub",
					"over_image" : "d:/ymir work/ui/public/middle_button_02.sub",
					"down_image" : "d:/ymir work/ui/public/middle_button_03.sub",
				},
				{
					"name" : "cancel",
					"type" : "button",

					"x" : +40,
					"y" : 143,

					"width" : 61,
					"height" : 21,

					"horizontal_align" : "center",
					"text" : uiScriptLocale.NO,

					"default_image" : "d:/ymir work/ui/public/middle_button_01.sub",
					"over_image" : "d:/ymir work/ui/public/middle_button_02.sub",
					"down_image" : "d:/ymir work/ui/public/middle_button_03.sub",
				},
			),
		},
	),
}
rollback is offline  
Thanks
1 User
Old 10/17/2016, 09:05   #9
 
Partyzone's Avatar
 
elite*gold: 0
Join Date: Mar 2012
Posts: 71
Received Thanks: 43
Eine Nette Idee!
Partyzone is offline  
Old 10/17/2016, 10:25   #10


 
elite*gold: 0
Join Date: Aug 2013
Posts: 1,706
Received Thanks: 1,388
Gute Idee! Auch wenn 6 Zeilen etwas zu viel sind.
/exit is offline  
Old 10/17/2016, 17:10   #11
 
elite*gold: 150
Join Date: Feb 2009
Posts: 643
Received Thanks: 613
Danke, aber eig. ist das unnötig. Man drückt nicht ausversehen mal auf einen Button, also zuerst auf Handeln, dann bewegt man seine Maus ganz ausversehen zum Button und klickt noch drauf.

Ist ja fast wie Frau Keptry, die meinte, dass sie ausversehen einen Text in Twitter geschrieben und dann auf der Tastatur ausgerutscht ist hehe.

Dennoch danke.

MfG
Cyber
Cyber36 is offline  
Old 10/20/2016, 08:33   #12
 
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
Quote:
Originally Posted by Cyber36 View Post
Danke, aber eig. ist das unnötig. Man drückt nicht ausversehen mal auf einen Button, also zuerst auf Handeln, dann bewegt man seine Maus ganz ausversehen zum Button und klickt noch drauf.

Ist ja fast wie Frau Keptry, die meinte, dass sie ausversehen einen Text in Twitter geschrieben und dann auf der Tastatur ausgerutscht ist hehe.

Dennoch danke.

MfG
Cyber
Frau Keptry? Dein ernst?
DevBlade is offline  
Old 10/27/2016, 12:27   #13
 
DeZy.'s Avatar
 
elite*gold: 0
Join Date: Oct 2016
Posts: 24
Received Thanks: 9
Kann man gut gebrauchen, Danke

Liebe Grüße,
DeZy.
DeZy. is offline  
Old 12/13/2021, 20:35   #14
 
BassBox007's Avatar
 
elite*gold: 6
Join Date: Nov 2016
Posts: 235
Received Thanks: 27
Quote:
Originally Posted by q.@quaresma741 View Post
Da es Spieler gibt die beim Handeln verpennen und später sich bei den Teamlern melden. Poste ich dies hier eine Sicherheitsabfrage wenn man Handelt




root > uiexchange.py öffnen

Suchen
Code:
def AcceptExchange(self):
und ersetzten den Codeblock mit dem hier
Code:
	def AcceptExchange(self):
		import uiCommon
		questionDialog = uiCommon.QuestionDialog3()
		questionDialog.SetText1(localeInfo.HANDELN_FRAGE1)
		questionDialog.SetText2(localeInfo.HANDELN_FRAGE2)
		questionDialog.SetText3(localeInfo.HANDELN_FRAGE3)
		questionDialog.SetText4(localeInfo.HANDELN_FRAGE4)
		questionDialog.SetText5(localeInfo.HANDELN_FRAGE5)
		questionDialog.SetAcceptEvent(ui.__mem_func__(self.Handeln))
		questionDialog.SetCancelEvent(ui.__mem_func__(self.Abbrechen))
		questionDialog.Open()
		self.questionDialog = questionDialog
	
	def Handeln(self):
		self.questionDialog.Close()
		net.SendExchangeAcceptPacket()
		self.AcceptButton.Disable()
		snd.PlaySound("sound/effect/etc/levelup_2/levelup1_2.wav")
        
	def Abbrechen(self):
		self.questionDialog.Close()

root > uicommon.py öffnen und am ende das hier einfügen
Code:
class QuestionDialog3(QuestionDialog):

	def __init__(self):
		QuestionDialog.__init__(self)
		self.__CreateDialog()

	def __del__(self):
		QuestionDialog.__del__(self)

	def __CreateDialog(self):
		pyScrLoader = ui.PythonScriptLoader()
		pyScrLoader.LoadScriptFile(self, "uiscript/questiondialog3.py")

		self.board = self.GetChild("board")
		self.textLine1 = self.GetChild("message1")
		self.textLine2 = self.GetChild("message2")
		self.textLine3 = self.GetChild("message3")
		self.textLine4 = self.GetChild("message4")
		self.textLine5 = self.GetChild("message5")
		self.acceptButton = self.GetChild("accept")
		self.cancelButton = self.GetChild("cancel")

	def SetText1(self, text):
		self.textLine1.SetText(text)

	def SetText2(self, text):
		self.textLine2.SetText(text)
	
	def SetText3(self, text):
		self.textLine3.SetText(text)

	def SetText4(self, text):
		self.textLine4.SetText(text)

	def SetText5(self, text):
		self.textLine5.SetText(text)
locale_de > locale_game.txt öffnen und das hier irgenwo rein klatschen
Code:
HANDELN_FRAGE1	Du bist grade mit einem Spieler am Handeln.
HANDELN_FRAGE2	Das Handeln kann nicht wieder rückgängig gemacht werden.
HANDELN_FRAGE3	Wir empfehlen dir deine Sachen nochmal zu kontrollieren.
HANDELN_FRAGE4	Möchtest du Handeln?
HANDELN_FRAGE5	PS: Der Spieler ist selber verantwortlich !
Und die datei im Anhng einfach in die uiscrpt reinschmeissen
Hi ich weis ist schon älter dennoch finde ich es cool und will das haben.

allerdings wenn ich dann den clienten starten will kommen folgende 2 meldungen




Habe meiner meinung nach alles richtig eingegeben O.o
BassBox007 is offline  
Reply


Similar Threads Similar Threads
[Selling] CS:GO Tipps und Tricks beim Handeln
06/18/2015 - elite*gold Trading - 2 Replies
Hallo, ich möchte hier meine ganzen Erfahrungen bzgl. des Tradens von CS:GO Skins anbieten. Diese sind nur für Anfänger nützlich, d.h. wenn ihr euch schon mit csgolounge.com auskennt, seid ihr hier nicht richtig. Ich biete euch ein 12-seitiges Worddokument inklusive eines Programmes und "24/7" support. Habe mit diesen Tricks in gut 1 1/2 Monaten 260% Profit gemacht. Habe mit 100€ genau angefangen und bin nun bei ~260€. Item Value Sorter
Beim Handeln stürtzen Channels ab
04/03/2015 - Metin2 Private Server - 0 Replies
€: selbständig gefixt.
Problem beim handeln mit Yang
07/10/2011 - Metin2 Private Server - 11 Replies
Hallo liebe com , wenn ich auf meinen server mit yang handeln will haut es mich jedes mal komplett aus dem spiel raus. also, ich klicke in meinen inventar unten auf mein yang gebe meinen betrag ein ..... gehe auf OK und schon werd ich gekickt. Würde mich freuen wenn mir jemand bei diesen fehler helfen könnte , danke



All times are GMT +1. The time now is 15:07.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.