Register for your free account! | Forgot your password?

You last visited: Today at 07:04

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

Advertisement



Python Timer

Discussion on Python Timer within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Python Timer

Ich möchte mir in die Restart.py einen Timer einfügen, dass unter dem Stadt neu Starten Knopf die Zeit angezeigt wird, bis man in die Stadt teleportiert wird.

Kann mir da jemand weiterhelfen? Bin in Python bei einem Wissensstand von vllt 1-2% x.x
rollback is offline  
Old 12/06/2014, 20:48   #2
 
MrDami123's Avatar
 
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
Wie sieht die 'restart.py' aus? Und kannst du ggf. etwas genauer formulieren, was du genau erreichen möchtest, dass wäre wichtig um den Computer in Form der Programmiersprache die Anweisungen richtig zu übergeben.

Code:
import time

start = time.time()

location = 'dungeon'
while location != 'town':
    now = time.time()
    counter = now-start

    if counter >= 30:
        location = 'town'
    print(counter)
Das wäre ein einfacher Counter. Der bei 30 Sekunden abbricht indem er die Location ändert.
MrDami123 is offline  
Old 12/06/2014, 21:49   #3

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
uirestart.py:
PHP Code:
import dbg
import app
import net

import ui

###################################################################################################
## Restart
class RestartDialog(ui.ScriptWindow):

    
def __init__(self):
        
ui.ScriptWindow.__init__(self)

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

    
def LoadDialog(self):
        try:
            
pyScrLoader ui.PythonScriptLoader()
            
pyScrLoader.LoadScriptFile(self"uiscript/restartdialog.py")
        
except Exceptionmsg:
            (
typemsgtb)=sys.exc_info()
            
dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (typemsg))
            
app.Abort()
            return 
0

        
try:
            
self.restartHereButton=self.GetChild("restart_here_button")
            
self.restartTownButton=self.GetChild("restart_town_button")
        
except:
            
import sys
            
(typemsgtb)=sys.exc_info()
            
dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (typemsg))
            
app.Abort()
            return 
0

        self
.restartHereButton.SetEvent(ui.__mem_func__(self.RestartHere))
        
self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))

        return 
1

    def Destroy
(self):
        
self.restartHereButton=0
        self
.restartTownButton=0
        self
.ClearDictionary()

    
def OpenDialog(self):
        
self.Show()

    
def Close(self):
        
self.Hide()
        return 
TRUE

    def RestartHere
(self):
        
net.SendChatPacket("/restart_here")

    
def RestartTown(self):
        
import accept
        self
.testdialog accept.testdialog()
        
self.testdialog.Show()

    
def OnPressExitKey(self):
        return 
TRUE

    def OnPressEscapeKey
(self):
        return 
TRUE 
Ich möchte, dass wenn der Spieler stirbt, unter dem Stadt neu starten Button (oder in dem Text z.B. "In der Stadt neu starten (02:59)") ein Timer angezeigt wird der 3min runterzählt.
rollback is offline  
Old 12/07/2014, 19:08   #4
 
MrDami123's Avatar
 
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
Code:
self.restartHereButton.SetEvent(ui.__mem_func__(self.RestartHere))
self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))

    def RestartHere(self):
        net.SendChatPacket("/restart_here")

    def RestartTown(self):
        import accept
        self.testdialog = accept.testdialog()
        self.testdialog.Show()
Ist den bereits ein Delay vorhanden, nachdem man stirbt oder werden die Optionen 'Hier' und 'Stadt' direkt anklickbar angezeigt?
Wenn nicht, solltest du meines Wissens nach testen, ob die Änderung der z.B. Textpassage aus RestartTown auch im Spiel funktioniert.
Dafür musst du dir accept.testdialog() anschauen und einen mit deinem gewünschten Text erstellen.
MrDami123 is offline  
Thanks
1 User
Old 12/07/2014, 20:58   #5
 
elite*gold: 726
Join Date: Jul 2010
Posts: 14,233
Received Thanks: 7,915
->

So ein Timer ist dort eingebaut.
noahrmal is offline  
Thanks
2 Users
Old 12/07/2014, 21:00   #6
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Also Timer kannst du generell so machen:

Code:
		if self.AboutWindow:
			if self.AboutWindow.x_counter > 1:
				self.AboutWindow.x_counter -=1
				self.AboutWindow.text6.SetText("Zeit: %0.1f" % (self.AboutWindow.x_counter/45.0))
			elif self.AboutWindow.x_counter == 1:
				self.AboutWindow.Hide()
				# self.AboutWindow.Delete()
(entnommen aus dem Mijago Switchbot)
-> in die OnUpdate natürlich
DasSchwarzeT is offline  
Thanks
1 User
Old 12/07/2014, 21:35   #7
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,833

So würde es gehen.
Poccix is offline  
Thanks
3 Users
Old 12/08/2014, 00:04   #8

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
danke leute ihr seid spitze!

kleines aber feines feature das meiner meinung nach ein muss für jeden server ist!

Code:
1208 21:19:06307 :: 
networkModule.py(line:194) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:28) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:26) ?
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - exceptions.IndentationError:expected an indented block (line 124)

1208 21:19:06307 :: ============================================================================================================
1208 21:19:06307 :: Abort!!!!
Code:
import dbg
import app
import net
import time
import ui
 
###################################################################################################
## Restart
class RestartDialog(ui.ScriptWindow):
	Minutes = 2
	Seconds = 60
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.Show()
		self.delaytimer = WaitingDialog()
		self.delaytimer2 = WaitingDialog()
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def LoadDialog(self):
		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, "uiscript/restartdialog.py")
		except Exception, msg:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		try:
			self.restartHereButton=self.GetChild("restart_here_button")
			self.restartTownButton=self.GetChild("restart_town_button")
			self.TimeString=self.GetChild("TimeString")
 
		except:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		self.restartHereButton.SetEvent(ui.__mem_func__(self.RestartHere))
		self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))
		return 1
 
	def LoadTimer(self):
		self.delaytimer.Open(1.0)
		if self.Minutes == 2:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":" + str(self.Seconds) + "min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
		if self.Minutes == 1:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":" + str(self.Seconds) + "min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
		if self.Minutes == 0:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":" + str(self.Seconds) + "min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend " + str(self.Minutes) + ":0" + str(self.Seconds) + "min")
		if self.Seconds == 0 and self.Minutes == 2:
			self.Minutes = 1
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 1:
			self.Minutes = 0
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 0:
			self.Minutes = 2
			self.Seconds = 60
		self.delaytimer.SAFE_SetTimeOverEvent(self.LoadTimer)
		       
	def Destroy(self):
		self.restartHereButton=0
		self.restartTownButton=0
		self.ClearDictionary()
 
	def OpenDialog(self):
		self.Show()
		self.delaytimer.Open(1.0)
		self.LoadTimer()
 
	def Close(self):
		self.Hide()
		self.delaytimer.Open(99999999999999.0)
		self.Minutes = 2
		self.Seconds = 60
		return True
 
	def RestartHere(self):
		net.SendChatPacket("/restart_here")
 
	def RestartTown(self):
		import accept
		self.testdialog = accept.testdialog()
		self.testdialog.Show()
 
	def OnPressExitKey(self):
		return True
 
	def OnPressEscapeKey(self):
		return True
 
class WaitingDialog(ui.ScriptWindow):
		def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.eventTimeOver = lambda *arg: None
		self.eventExit = lambda *arg: None
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def Open(self, waitTime):
		curTime = time.clock()
		self.endTime = curTime + waitTime
		self.Show()	    
 
	def Close(self):
		self.Hide()
	       
	def Destroy(self):
		self.Hide()
 
	def SAFE_SetTimeOverEvent(self, event):
		self.eventTimeOver = ui.__mem_func__(event)
 
	def SAFE_SetExitEvent(self, event):
		self.eventExit = ui.__mem_func__(event)
       
	def OnUpdate(self):	    
		lastTime = max(0, self.endTime - time.clock())
		if 0 == lastTime:
			self.Close()
			self.eventTimeOver()
		else:
			return
			       
	def OnPressExitKey(self):
		self.Close()
		return TRUE
 
restartdialog.py
 
import uiScriptLocale
 
ROOT = "d:/ymir work/ui/public/"
 
window = {
	"name" : "RestartDialog",
	"style" : ("float",),
 
	"x" : 50,
	"y" : 50,
 
	"width" : 200,
	"height" : 100,
 
	"children" :
	(
		{
			"name" : "board",
			"type" : "thinboard",
 
			"x" : 0,
			"y" : 0,
 
			"width" : 200,
			"height" : 100,
 
			"r" : 0.3333,
			"g" : 0.2941,
			"b" : 0.2588,
			"a" : 1.0,
 
			"children" :
			(
				{
					"name" : "restart_here_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 17,
 
					"text" : uiScriptLocale.RESTART_HERE,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "restart_town_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 47,
 
					"text" : uiScriptLocale.RESTART_TOWN,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "TimeString",
					"type" : "text",
					"x" : 100,
					"y" : 80,
					"text_horizontal_align" : "center",
					"text" : "Debug-Time",
				},
			),
		},
	),
}
rollback is offline  
Old 12/08/2014, 22:10   #9
 
elite*gold: 0
Join Date: Sep 2014
Posts: 431
Received Thanks: 57
Gleicher Fehler -.-"
.zRy is offline  
Old 12/08/2014, 22:11   #10
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
So schwer ist es doch nicht...
DasSchwarzeT is offline  
Thanks
1 User
Old 12/09/2014, 00:01   #11
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,833
Das das 2 verschiedene Dateien sind ist euch bewusst oder ? In der Pastebin Datei
Poccix is offline  
Thanks
1 User
Old 12/09/2014, 05:08   #12

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Oops ...

Und was hab ich jetzt falsch gemacht ? ...

Code:
1209 19:00:07259 :: 
networkModule.py(line:194) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:28) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:26) ?
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - exceptions.SyntaxError:invalid syntax (line 159)

1209 19:00:07259 :: ============================================================================================================
1209 19:00:07259 :: Abort!!!!
Code:
import dbg
import app
import net
import time
import ui
 
###################################################################################################
## Restart
class RestartDialog(ui.ScriptWindow):
	Minutes = 2
	Seconds = 60
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.Show()
		self.delaytimer = WaitingDialog()
		self.delaytimer2 = WaitingDialog()
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def LoadDialog(self):
		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, "uiscript/restartdialog.py")
		except Exception, msg:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		try:
			self.restartHereButton=self.GetChild("restart_here_button")
			self.restartTownButton=self.GetChild("restart_town_button")
			self.TimeString=self.GetChild("TimeString")
 
		except:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		self.restartHereButton.SetEvent(ui.__mem_func__(self.RestartHere))
		self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))
		return 1
 
	def LoadTimer(self):
		self.delaytimer.Open(1.0)
		if self.Minutes == 2:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Minutes == 1:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Minutes == 0:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Seconds == 0 and self.Minutes == 2:
			self.Minutes = 1
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 1:
			self.Minutes = 0
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 0:
			self.Minutes = 2
			self.Seconds = 60
		self.delaytimer.SAFE_SetTimeOverEvent(self.LoadTimer)
			   
	def Destroy(self):
		self.restartHereButton=0
		self.restartTownButton=0
		self.ClearDictionary()
 
	def OpenDialog(self):
		self.Show()
		self.delaytimer.Open(1.0)
		self.LoadTimer()
 
	def Close(self):
		self.Hide()
		self.delaytimer.Open(99999999999999.0)
		self.Minutes = 2
		self.Seconds = 60
		return True
 
	def RestartHere(self):
		net.SendChatPacket("/restart_here")
 
	def RestartTown(self):
		import accept
		self.testdialog = accept.testdialog()
		self.testdialog.Show()
 
	def OnPressExitKey(self):
		return True
 
	def OnPressEscapeKey(self):
		return True
 
class WaitingDialog(ui.ScriptWindow):
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.eventTimeOver = lambda *arg: None
		self.eventExit = lambda *arg: None
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def Open(self, waitTime):
		curTime = time.clock()
		self.endTime = curTime + waitTime
		self.Show()		
 
	def Close(self):
		self.Hide()
		   
	def Destroy(self):
		self.Hide()
 
	def SAFE_SetTimeOverEvent(self, event):
		self.eventTimeOver = ui.__mem_func__(event)
 
	def SAFE_SetExitEvent(self, event):
		self.eventExit = ui.__mem_func__(event)
	   
	def OnUpdate(self):		
		lastTime = max(0, self.endTime - time.clock())
		if 0 == lastTime:
			self.Close()
			self.eventTimeOver()
		else:
			return
				   
	def OnPressExitKey(self):
		self.Close()
		return TRUE
Code:
import uiScriptLocale
 
ROOT = "d:/ymir work/ui/public/"
 
window = {
	"name" : "RestartDialog",
	"style" : ("float",),
 
	"x" : 50,
	"y" : 50,
 
	"width" : 200,
	"height" : 100,
 
	"children" :
	(
		{
			"name" : "board",
			"type" : "thinboard",
 
			"x" : 0,
			"y" : 0,
 
			"width" : 200,
			"height" : 100,
 
			"r" : 0.3333,
			"g" : 0.2941,
			"b" : 0.2588,
			"a" : 1.0,
 
			"children" :
			(
				{
					"name" : "restart_here_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 17,
 
					"text" : uiScriptLocale.RESTART_HERE,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "restart_town_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 47,
 
					"text" : uiScriptLocale.RESTART_TOWN,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "TimeString",
					"type" : "text",
					"x" : 100,
					"y" : 80,
					"text_horizontal_align" : "center",
					"text" : "Debug-Time",
				},
			),
		},
	),
}
rollback is offline  
Thanks
1 User
Old 12/09/2014, 21:24   #13
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,937
Quote:
Originally Posted by [Sensenmann] View Post
Oops ...

Und was hab ich jetzt falsch gemacht ? ...

Code:
1209 19:00:07259 :: 
networkModule.py(line:194) SetSelectCharacterPhase
system.py(line:130) __pack_import
system.py(line:110) _process_result
introSelect.py(line:28) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
interfaceModule.py(line:26) ?
system.py(line:130) __pack_import

networkModule.SetSelectCharacterPhase - exceptions.SyntaxError:invalid syntax (line 159)

1209 19:00:07259 :: ============================================================================================================
1209 19:00:07259 :: Abort!!!!
Code:
import dbg
import app
import net
import time
import ui
 
###################################################################################################
## Restart
class RestartDialog(ui.ScriptWindow):
	Minutes = 2
	Seconds = 60
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.Show()
		self.delaytimer = WaitingDialog()
		self.delaytimer2 = WaitingDialog()
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def LoadDialog(self):
		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, "uiscript/restartdialog.py")
		except Exception, msg:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		try:
			self.restartHereButton=self.GetChild("restart_here_button")
			self.restartTownButton=self.GetChild("restart_town_button")
			self.TimeString=self.GetChild("TimeString")
 
		except:
			import sys
			(type, msg, tb)=sys.exc_info()
			dbg.TraceError("RestartDialog.LoadDialog - %s:%s" % (type, msg))
			app.Abort()
			return 0
 
		self.restartHereButton.SetEvent(ui.__mem_func__(self.RestartHere))
		self.restartTownButton.SetEvent(ui.__mem_func__(self.RestartTown))
		return 1
 
	def LoadTimer(self):
		self.delaytimer.Open(1.0)
		if self.Minutes == 2:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Minutes == 1:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Minutes == 0:
			if self.Seconds <= 60 and self.Seconds >=1:
				if self.Seconds <= 10 and self.Seconds >= 0:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
				else:
					self.Seconds -= 1
					self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":" + str(self.Seconds) + " min")
			if self.Seconds == 0:
				self.TimeString.SetText("Verbleibend: " + str(self.Minutes) + ":0" + str(self.Seconds) + " min")
		if self.Seconds == 0 and self.Minutes == 2:
			self.Minutes = 1
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 1:
			self.Minutes = 0
			self.Seconds = 60
		if self.Seconds == 0 and self.Minutes == 0:
			self.Minutes = 2
			self.Seconds = 60
		self.delaytimer.SAFE_SetTimeOverEvent(self.LoadTimer)
			   
	def Destroy(self):
		self.restartHereButton=0
		self.restartTownButton=0
		self.ClearDictionary()
 
	def OpenDialog(self):
		self.Show()
		self.delaytimer.Open(1.0)
		self.LoadTimer()
 
	def Close(self):
		self.Hide()
		self.delaytimer.Open(99999999999999.0)
		self.Minutes = 2
		self.Seconds = 60
		return True
 
	def RestartHere(self):
		net.SendChatPacket("/restart_here")
 
	def RestartTown(self):
		import accept
		self.testdialog = accept.testdialog()
		self.testdialog.Show()
 
	def OnPressExitKey(self):
		return True
 
	def OnPressEscapeKey(self):
		return True
 
class WaitingDialog(ui.ScriptWindow):
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.eventTimeOver = lambda *arg: None
		self.eventExit = lambda *arg: None
 
	def __del__(self):
		ui.ScriptWindow.__del__(self)
 
	def Open(self, waitTime):
		curTime = time.clock()
		self.endTime = curTime + waitTime
		self.Show()		
 
	def Close(self):
		self.Hide()
		   
	def Destroy(self):
		self.Hide()
 
	def SAFE_SetTimeOverEvent(self, event):
		self.eventTimeOver = ui.__mem_func__(event)
 
	def SAFE_SetExitEvent(self, event):
		self.eventExit = ui.__mem_func__(event)
	   
	def OnUpdate(self):		
		lastTime = max(0, self.endTime - time.clock())
		if 0 == lastTime:
			self.Close()
			self.eventTimeOver()
		else:
			return
				   
	def OnPressExitKey(self):
		self.Close()
		return TRUE
Code:
import uiScriptLocale
 
ROOT = "d:/ymir work/ui/public/"
 
window = {
	"name" : "RestartDialog",
	"style" : ("float",),
 
	"x" : 50,
	"y" : 50,
 
	"width" : 200,
	"height" : 100,
 
	"children" :
	(
		{
			"name" : "board",
			"type" : "thinboard",
 
			"x" : 0,
			"y" : 0,
 
			"width" : 200,
			"height" : 100,
 
			"r" : 0.3333,
			"g" : 0.2941,
			"b" : 0.2588,
			"a" : 1.0,
 
			"children" :
			(
				{
					"name" : "restart_here_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 17,
 
					"text" : uiScriptLocale.RESTART_HERE,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "restart_town_button",
					"type" : "button",
 
					"x" : 10,
					"y" : 47,
 
					"text" : uiScriptLocale.RESTART_TOWN,
 
					"default_image" : ROOT + "XLarge_Button_01.sub",
					"over_image" : ROOT + "XLarge_Button_02.sub",
					"down_image" : ROOT + "XLarge_Button_03.sub",
				},
				{
					"name" : "TimeString",
					"type" : "text",
					"x" : 100,
					"y" : 80,
					"text_horizontal_align" : "center",
					"text" : "Debug-Time",
				},
			),
		},
	),
}
Adde mich in Skype ich helfe dir per Teamviewer
DasSchwarzeT is offline  
Old 12/09/2014, 21:30   #14

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Hat sich schon erledigt, aber trotzdem danke.

Ich hatte alles eigentlich alles richtig gemacht, als Poccix rübergeschaut hat hat er auch keinen Fehler finden können, hat es nochmal gepackt und eingefügt und schon ging es ...
Zum Glück nicht nur beim Vorfüreffekt sondern auch bleiben ...^^
rollback is offline  
Reply


Similar Threads Similar Threads
[Python-Modul]EXP-Donator (kompatibel mit Python Loader)
11/23/2013 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 27 Replies
Moin, da man mich danach gefragt hat und ich sowieso mal ein Beispiel für die Benutzung meines Python Loaders veröffentlichen wollte, habe ich die Gelegenheit genutzt und euch eben einen EXP-Spendebot geschrieben. Man kann ihn einfach mit dem oben verlinkten Python Module Loader laden und ihn mit F5 aktivieren/deaktivieren. Sobald ihr mehr als 99 Erfahrungspunkte habt (man kann nur in 100er Schritten spenden), werden alle Erfahrungspunkte an eure Gilde gespendet. Wer Lust hat und...
Help to make a python file works with python loader
03/03/2013 - Metin2 - 2 Replies
Hey epvp! I want make a very. Little hack works on pythonn loader can anybody help me please?
Metin2 - Python - Wie Python Hacks verschlüsseln und Server überprüfen (GF/PServe)
09/23/2012 - Metin2 - 2 Replies
Ich wollte fragen, wie man Python Hacks am besten Verschlüsselt ? und wie man feststellen kann ob man auf einem GF / Pserver spielt. ?
[HELP]Threading and Timer Object in Python script
06/02/2012 - Metin2 Private Server - 1 Replies
Hi all, I am trying to implement a timer in a while loop to put a time limit in Guild accept war declare. I need to execute the loop 1 time every second so it must be delayed by the timer object. def __GuildWar_OpenAskDialog(self, guildID, warType): #code #code etc time = 31 while time > 0:
#Python Countdown Timer bei Du wirst mit dem Server verbunden
08/13/2011 - Metin2 Private Server - 0 Replies
Hallo com wie ihr euch sicher errinern könnt gab es in Crank´s Client diesen Countdown - Timer der beim connecten von 5-0 gezählt hat und dann erst Fehler beim verbinden mit dem Server ausgegeben hat ich habe folgendes Problem ich will so ein script schreiben aber immer wenn ich das tue aktualisiert sich das Du wirst mit dem Server verbunden 5 nicht es wartet 5 sekunden ohne was anzuzeigen und dann springt es sofort in das else statement hier mein Code: else:...



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


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.