Register for your free account! | Forgot your password?

You last visited: Today at 08:27

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

Advertisement



Slotmachine Syntax

Discussion on Slotmachine Syntax within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old   #1
 
socressor's Avatar
 
elite*gold: 1300
Join Date: Sep 2008
Posts: 927
Received Thanks: 379
Slotmachine Syntax

Da ich im offiziellen Thread der Slotmachine keine Antwort auf diese/n Frage/Fehler gesehen habe:

Orginalthread:

Fehler
Code:
0902 09:04:09589 :: 
networkModule.py(line:200) 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:50) ?
system.py(line:130) __pack_import

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

0902 09:04:09590 :: ============================================================================================================
0902 09:04:09590 :: Abort!!!!
uislotmachine.py
Code:
import ui
import time
import player
import constInfo
import chat
import event

from random import randrange

delay = 0.1
autoSpinDelay = 1.5
spinTimesUntilQuestEvent = 75

class Slotmachine(ui.ScriptWindow):
	def __init__(self):
		ui.ScriptWindow.__init__(self)
		self.isLoaded = FALSE

	##################################
	## Create Ui Begin
	##################################
		
	def __LoadScript(self):
		try:
			pyScrLoader = ui.PythonScriptLoader()
			pyScrLoader.LoadScriptFile(self, 'uiscript/slotmachine.py')
		except:
			import exception
			exception.Abort('test.__LoadScript.LoadObject')

		try: 
			self.__LoadVariables()
			self.__LoadUi()
			self.__BindEvents()
			
		except:
			import exception
			exception.Abort('test.__LoadScript.BindObject')
		
		self.isLoaded = TRUE

	def __LoadVariables(self):
		slotmachinePath = "locale/de/ui/slotmachine/"
		self.slotIcons = [
			slotmachinePath + 'Cherry.sub', 
			slotmachinePath + 'Lemon.sub', 
			slotmachinePath + 'Orange.sub', 
			slotmachinePath + 'Plum.sub',
			slotmachinePath + 'Melon.sub', 
			slotmachinePath + 'Banana.sub', 
			slotmachinePath + 'Bar.sub', 
			slotmachinePath + 'Seven.sub', 
			slotmachinePath + 'BigWin.sub'
			]
		self.spin = {
			'time' : 0,
			'index' : [0,0,0],
			'count' : 0,
			'run' : FALSE,
			'autoSpin' : FALSE,
			}

	def __LoadUi(self):
		self.board = self.GetChild('Board')
		self.titleBar = self.GetChild('TitleBar')
		
		## Buttons
		self.buttonDict = {
			'spin' : self.GetChild('SB_Spin_Button'),
			'betMax' : self.GetChild('SB_BetMax_Button'),
			'autoSpin' : self.GetChild('SB_AutoSpin_Button'),
			}

		## Slots
		self.slotBoxDict = {
			'slot_0' : self.GetChild('SM_Box_00'),
			'slot_1' : self.GetChild('SM_Box_01'),
			'slot_2' : self.GetChild('SM_Box_02'),
			}

		self.maxBetLabel = self.GetChild('SC_Box_01_Text_Label')

		## Multiplier Ui
		self.multiplierDict = {
			'text_0' : self.GetChild('SWM_Box_00_Text'),
			'text_1' : self.GetChild('SWM_Box_01_Text'),
			'text_2' : self.GetChild('SWM_Box_02_Text'),
			'text_3' : self.GetChild('SWM_Box_03_Text'),
			'text_4' : self.GetChild('SWM_Box_04_Text'),
			'text_5' : self.GetChild('SWM_Box_05_Text'),
			'text_6' : self.GetChild('SWM_Box_06_Text'),
			'text_7' : self.GetChild('SWM_Box_07_Text'),
			'text_8' : self.GetChild('SWM_Box_08_Text'),
			}
		
		## Credits Ui
		self.creditsDict = {
			'text_0' : self.GetChild('SC_Box_00_Text'),
			'text_1' : self.GetChild('SC_Box_01_Text'),
			'text_2' : self.GetChild('SC_Box_02_Text'),
			}


	def __BindEvents(self):
		self.titleBar.SetCloseEvent(ui.__mem_func__(self.Close))
		
		## Button Events
		self.buttonDict['spin'].SetEvent(self.OnClickSpin)
		self.buttonDict['betMax'].SetEvent(self.OnClickBetMax)
		self.buttonDict['autoSpin'].SetEvent(self.OnClickAutoSpin)

	##################################
	## Create Ui End
	##################################

	##################################
	## Standart definitions Begin
	##################################

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

	def Destroy(self):
		self.Hide()
		self.ClearDictionary()
		
	def Open(self, multipliers, maxBet):
		if FALSE == self.isLoaded:
			self.__LoadScript()

		self.SetTop()
		self.Show()
		
		self.maxBetLabel.SetText('Bet / Max = ' + maxBet)
		self.SetMultipliers(multipliers)
		self.SetCreditsWon(0)
		## set credits bet = 0
		self.creditsDict['text_1'].SetText('0')
		self.maxBet = int(maxBet)
		self.creditsDict['text_1'].SetMax(self.maxBet)
		
		
	def Close(self):
		self.Hide()

	def SendSystemChat(self, text):
		chat.AppendChat(chat.CHAT_TYPE_INFO, "<System>: "+str(text))

	##################################
	## Standart definitions End
	##################################

	##################################
	## On Click/Press Key Events Begin
	##################################

	def OnClickSpin(self):
		if self.spin['run'] == FALSE:

			## has enough money to spin?
			creditsInput = int(self.creditsDict['text_1'].GetText())
			maxBet = self.maxBet
			if creditsInput > maxBet:
				self.SendSystemChat('Der Max Bet Betrag liegt bei: '+str(maxBet)+' Credits.')
				#self.SendSystemChat('You do not have enough credits.')
				return

			if player.GetElk() < creditsInput:
				self.SendSystemChat('Du besitzt nicht genuegend Credits.')
				#self.SendSystemChat('You do not have enough credits.')
				return

			if creditsInput <= 0:
				self.SendSystemChat('Gib bitte mehr wie 0 Credits ein.')
				#self.SendSystemChat('Please input more than 0 credits')
				return

			self.SendCreditsBet()

	def OnClickAutoSpin(self):
		if self.spin['autoSpin'] == TRUE:
			self.spin['autoSpin'] = FALSE
			self.SendSystemChat('Auto Spin deaktiviert!')
			#self.SendSystemChat('Auto spin deactivated!')
			
		else:
			self.spin['autoSpin'] = TRUE
			self.SendSystemChat('Auto Spin aktiviert!')
			#self.SendSystemChat('Auto spin activated!')
					

	def OnClickBetMax(self):
		maxBet = self.maxBet
		if player.GetElk >= maxBet:
			self.creditsDict['text_1'].SetText(str(maxBet))
		else:
			self.SendSystemChat('Du besitzt nicht genuegend Credits.')
			#self.SendSystemChat('You do not have enough credits.')

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

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

	##################################
	## On Click/Press Key Events End
	##################################

	##################################
	## Quest send Begin
	##################################

	def GetWinningIcons(self):
		self.QuestCMD('GET_WINNING_ICONS')

	def SendCreditsBet(self):
		self.QuestCMD('BET#'+self.creditsDict['text_1'].GetText())

	def QuestCMD(self, command):
		constInfo.SLOTMACHINE["questCMD"] = command
		event.QuestButtonClick(int(constInfo.SLOTMACHINE["qid"]))

	##################################
	## Quest send End
	###################################

	##################################
	## Quest receive complete Begin
	##################################

	## set multipliers (9)
	def SetMultipliers(self, multiplierList):
		multiplierList = multiplierList.split('#')

		## set multipliers
		for i in range(len(multiplierList)):
			self.multiplierDict['text_'+str(i)].SetText('X'+multiplierList[i])

	## stop spinning and set slot icons on quest receive complete (3)
	def SetSlotIcons(self, slotList):
		self.spin['run'] = FALSE
		self.spin['count'] = 0
		slotList = slotList.split('#')

		## set new icons
		for i in range(len(slotList)):
			self.slotBoxDict['slot_'+str(i)].LoadImage(self.slotIcons[int(slotList[i])])

		## check for auto spin
		if self.spin['autoSpin'] == TRUE:
			self.spin['time'] = float(time.clock()) + float(autoSpinDelay)
			self.OnClickSpin()

	## set credits won on quest receive complete
	def SetCreditsWon(self, credits):
		self.creditsDict['text_2'].SetText(str(credits))

	## update player credits (yang) on quest receive complete
	def SetCredits(self):
		self.creditsDict['text_0'].SetText(str(player.GetElk()))

	def OnReceiveCanSpin(self):
		self.spin['run'] = TRUE
		self.SetCreditsWon(0)

	##################################
	## Quest End
	##################################

	##################################
	## Spin Begin
	##################################

	def OnUpdate(self):
		## is max bet more than allowed?
		creditInput = self.creditsDict['text_1'].GetText()
		if creditInput != "":
			if int(creditInput) > self.maxBet:
				self.creditsDict['text_1'].SetText(str(self.maxBet))

		## update ingame credits (yang)
		self.SetCredits()

		## spinning process
		if self.spin['run'] == TRUE:

			## check spin delay
			if float(self.spin['time']) < float(time.clock()):

				## go through all three slot boxes
				for i in range(3):
					slotIconsLen = len(self.slotIcons)
					index = randrange(0,slotIconsLen-1)

					## avoid two times in a row the same icon
					while index == self.spin['index'][i]:
						index = randrange(0,slotIconsLen-1)

					self.spin['index'][i] = index

					## set new slot icon's
					self.slotBoxDict['slot_' + str(i)].LoadImage(self.slotIcons[index])
					self.spin['time'] = float(time.clock()) + float(delay)

					## get winning icons if spinning time is equal spinTimesUntilQuestEvent
					if spinTimesUntilQuestEvent == self.spin['count']:
						self.GetWinningIcons()

					self.spin['count'] += 1

	##################################
	## Spin End
	##################################
Wäre cool wenn jemand eine Idee hat
socressor is offline  
Old 09/02/2014, 11:28   #2
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,835
Am Ende der Datei muss eine leere Zeile sein.
Poccix is offline  
Thanks
1 User
Old 09/02/2014, 11:51   #3
 
socressor's Avatar
 
elite*gold: 1300
Join Date: Sep 2008
Posts: 927
Received Thanks: 379
Danke dir.

Hab hier mal ne neuen fehler^^...

Code:
0902 11:50:09709 :: 
networkModule.py(line:200) 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:50) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
uislotmachine.py(line:8) ?
system.py(line:137) __pack_import

networkModule.SetSelectCharacterPhase - exceptions.ImportError:Bad magic number in D:\MoonReturns\DEV\lib\random.pyc

0902 11:50:09709 :: ============================================================================================================
0902 11:50:09709 :: Abort!!!!
bzw wenn ich eine andere .pyc nehme:
Code:
0902 11:54:09938 :: 
networkModule.py(line:200) 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:50) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
uislotmachine.py(line:8) ?
system.py(line:137) __pack_import
random.py(line:95) ?
random.py(line:87) _verify

networkModule.SetSelectCharacterPhase - exceptions.ValueError:computed value for TWOPI deviates too much (computed 6.28319, expected 6.28319)

0902 11:54:09938 :: ============================================================================================================
0902 11:54:09938 :: Abort!!!!
socressor is offline  
Old 09/02/2014, 11:55   #4
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,835
Welche Python Version nutzt du?
Je nach dem aus den Python Libarys dir die random.py compilen.
Poccix is offline  
Old 09/02/2014, 12:05   #5
 
socressor's Avatar
 
elite*gold: 1300
Join Date: Sep 2008
Posts: 927
Received Thanks: 379
Quote:
Originally Posted by Lord Poccix View Post
Welche Python Version nutzt du?
Je nach dem aus den Python Libarys dir die random.py compilen.
Nutze python22...aber wenn ich da die compiled nutze:

Code:
0902 11:54:09938 :: 
networkModule.py(line:200) 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:50) ?
system.py(line:130) __pack_import
system.py(line:110) _process_result
uislotmachine.py(line:8) ?
system.py(line:137) __pack_import
random.py(line:95) ?
random.py(line:87) _verify

networkModule.SetSelectCharacterPhase - exceptions.ValueError:computed value for TWOPI deviates too much (computed 6.28319, expected 6.28319)

0902 11:54:09938 :: ============================================================================================================
0902 11:54:09938 :: Abort!!!!
socressor is offline  
Reply


Similar Threads Similar Threads
[RELEASE] Slotmachine Fruits by ProfEnte
07/03/2019 - Metin2 PServer Guides & Strategies - 83 Replies
-
[Release]Slotmachine
10/20/2012 - Coding Releases - 0 Replies
Hey Leute, ich hatte mal wieder 'nen bisschen Langweile und hab ein neues Projekt angefangen. Undzwar handelt es sich um ein kleines "Slotmachine"-Spiel. Es befindet sich zwar noch in der "Beta-Phase" und hat noch keine Sounds, und kein richtiges Design.Das alles wird aber noch kommen. Ich wollte eigtl. nur mal fragen wie ihr die Idee findet. Falls ihr Verbesserungsvörschlage habt, würde ich mich über eure Tipps freuen. Die Regeln sollten klar sein.Wenn nicht stehen sie auf der linken...
Livestreaming - Urban Rivals Slotmachine
07/15/2012 - Browsergames - 0 Replies
Hallo, Es werden heute Livestreams stattfinden wie ich die Slot Machine betätige. Habe rund 10000 Tickets und will die auch alle öffnen :P! own3D.tv - Slot Machine Urban Rivals - Livestream Hoffe auf ein paar Zuschauer^^ Ich will versuchen die 250.000 Clintz zu gewinnen.
Hat jemand die Slotmachine?
01/12/2012 - Metin2 Private Server - 0 Replies
Die Überschrift sagt alles,könnte jemand mir den Download von der Slotmachine geben?
slotmachine
12/24/2010 - Metin2 Private Server - 1 Replies
Hallo Leute ich habe ein Problem unzwar immer wenn ich ein npc oder mob entbugge dann ist der ingame unsichtbar und ich frage mich warum anscheinend mach ich irgendwas falsch kann mir einer weiterhelfen in der npc list hab ich eingetragen die zahl und den ordner mit tab taste den ordner in die npc eix epk eingefügt auch schon mit monster versucht in der mob_proto client und serverside entbuggt trotzdem sehe ich die slotmaschine nicht und das höllenhund reittier irgnedwaas mach ich falsch nur...



All times are GMT +2. The time now is 08:27.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.