|
You last visited: Today at 15:06
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.
10/16/2016, 16:03
|
#1
|
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
|
|
|
10/16/2016, 16:47
|
#2
|
elite*gold: 105
Join Date: Jun 2015
Posts: 453
Received Thanks: 294
|
Nützliche Idee
Best regards
Raylee
|
|
|
10/16/2016, 16:49
|
#3
|
elite*gold: 0
Join Date: Sep 2016
Posts: 13
Received Thanks: 13
|
Gute Idee!
Liebe Grüße, Red
|
|
|
10/16/2016, 18:39
|
#4
|
elite*gold: 0
Join Date: Dec 2012
Posts: 9,390
Received Thanks: 2,738
|
Schöne Idee Danke dir!
|
|
|
10/16/2016, 19:24
|
#5
|
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.
|
|
|
10/16/2016, 20:11
|
#6
|
elite*gold: 50
Join Date: May 2011
Posts: 270
Received Thanks: 991
|
Good idea, thanks.
|
|
|
10/16/2016, 23:01
|
#7
|
elite*gold: 0
Join Date: Oct 2016
Posts: 17
Received Thanks: 3
|
klein, aber nützlich danke!
|
|
|
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",
},
),
},
),
}
|
|
|
10/17/2016, 09:05
|
#9
|
elite*gold: 0
Join Date: Mar 2012
Posts: 71
Received Thanks: 43
|
Eine Nette Idee!
|
|
|
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.
|
|
|
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
|
|
|
10/20/2016, 08:33
|
#12
|
elite*gold: 157
Join Date: May 2014
Posts: 504
Received Thanks: 603
|
Quote:
Originally Posted by Cyber36
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?
|
|
|
10/27/2016, 12:27
|
#13
|
elite*gold: 0
Join Date: Oct 2016
Posts: 24
Received Thanks: 9
|
Kann man gut gebrauchen, Danke
Liebe Grüße,
DeZy.
|
|
|
12/13/2021, 20:35
|
#14
|
elite*gold: 6
Join Date: Nov 2016
Posts: 235
Received Thanks: 27
|
Quote:
Originally Posted by q.@quaresma741
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
|
|
|
 |
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.
|
|