[Rilis]ChannelSwitcher

08/28/2013 11:15 GoogleDownTime#1
Regelt

Code:
########	Channel Switcher 							#######
########	Script Copyright by Yoshix3 @ Poseidon2		#######
import ui
import net
import constInfo

class ChannelBoard(ui.BoardWithTitleBar):

	def __init__(self):
		ui.BoardWithTitleBar.__init__(self)
		
		self.SetSize(150, 180)
		self.SetCenterPosition()
		self.AddFlag("movable")
		self.AddFlag("float")
		self.SetTitleName("Channelswitcher")
		self.SetCloseEvent(self.__clo__)
		self.Hide()
		
		pos = [[30,40],[30,70],[30,100],[30,130]]
		
		self.Buttons = {}
		for line in xrange(4):
			self.Buttons["Btn"+str(line)] = ui.Button()
			self.Buttons["Btn"+str(line)].SetParent(self)
			self.Buttons["Btn"+str(line)].SetUpVisual("d:/ymir work/ui/public/large_button_01.sub")
			self.Buttons["Btn"+str(line)].SetOverVisual("d:/ymir work/ui/public/large_button_02.sub")
			self.Buttons["Btn"+str(line)].SetDownVisual("d:/ymir work/ui/public/large_button_03.sub")
			self.Buttons["Btn"+str(line)].SetText("Wechsle in Channel "+str(line+1))
			self.Buttons["Btn"+str(line)].SetPosition(pos[line][0],pos[line][1])
			self.Buttons["Btn"+str(line)].Show()
		self.Buttons["Btn0"].SetEvent(lambda: self.ChangeChannel(1))
		self.Buttons["Btn1"].SetEvent(lambda: self.ChangeChannel(2))
		self.Buttons["Btn2"].SetEvent(lambda: self.ChangeChannel(3))
		self.Buttons["Btn3"].SetEvent(lambda: self.ChangeChannel(4))
			
	def ChangeChannel(self, channel):
		if str(channel) == net.GetServerInfo().split("Channel ")[1]:
			import chat
			chat.AppendChat(chat.CHAT_TYPE_INFO, "Du bist bereits in diesem Channel aktiv.")
		else:
			# slot = int(self.stream.GetCharacterSlot())
			slot = 0
			self.SetChannel(channel,constInfo.ID,constInfo.PWD,slot)
	
	def OnPressEscapeKey(self):
		self.Hide()
		return TRUE
	
	def SetChannel(self, channel,id, pwd,slot):
		channelport = ['13001','13002','13007','13013']
		port = int(channel)-1
		# constInfo.IS_CHANGE = str(channel)
		# constInfo.Slot = str(slot)
		net.Disconnect()
		net.SetLoginInfo(id, pwd)
		net.SetServerInfo("Poseidon2 - Channel "+str(channel))
		net.ConnectToAccountServer("metin2.poseidon2.eu", int(channelport[port]), "metin2.poseidon2.eu", 11002)
		net.DirectEnter(0)
		# net.DirectEnter(slot)
		net.SendSelectCharacterPacket(0)
		net.SendEnterGamePacket()
	
	def __del__(self):
		self.Hide()
		ui.BoardWithTitleBar.__del__(self)
	
	def __clo__(self):
		self.Hide()
	
	def _Open(self):
		if self.IsShow():
			self.Hide()
		else:
			self.Show()
	
	def Destroy(self):
		self.__del__()
		return TRUE
08/28/2013 12:22 sema1995#2
and the costinfo part?

self.SetChannel(channel,constInfo.ID,constInfo.PWD ,slot)
08/28/2013 12:25 .Captor#3
Quote:
Originally Posted by sema1995 View Post
and the costinfo part?

self.SetChannel(channel,constInfo.ID,constInfo.PWD ,slot)
PHP Code:
ID ""
PWD "" 
08/28/2013 12:30 sema1995#4
Yes i know , but is for the another person xD
08/28/2013 12:35 DraaaKe#5
Quote:
Originally Posted by sema1995 View Post
and the costinfo part?

self.SetChannel(channel,constInfo.ID,constInfo.PWD ,slot)
Du hast Python in deiner Signatur stehen und kommst nicht auf den constinfo Part? Ich denke du solltest nochmal darüber nachdenken ob du das wirklich in deiner Signatur haben möchtest ;)

Sieh dir das Script an, dann weißt du wie du die constInfo bearbeiten musst. Vorausgesetzt dein IQ ist nicht unter dem Durchschnitt.

Aber ich helfe dir trotzdem mal auf die Sprünge:

Wie wäre es wenn wir ID und PWD Variablen in der constinfo haben. Diese setzen wir mal auf "". Bzw ID ist vlt int daher ID vlt auf 0. Muss man halt dann schaun.

Dann in der Funktion die die Login Daten an den Server sendet, ID und PWD Variablen der constInfo setzen lassen. Voila.

PS: Denke ich zumindest. Hab grad keinen Clienten da um nachzusehen ob das nicht sowieso schon gesetzt wird bzw ob das setzen überhaupt notwendig ist.
08/28/2013 12:37 .Captor#6
Quote:
Originally Posted by DraaaKe View Post
Du hast Python in deiner Signatur stehen und kommst nicht auf den constinfo Part? Ich denke du solltest nochmal darüber nachdenken ob du das wirklich in deiner Signatur haben möchtest ;)

Sieh dir das Script an, dann weißt du wie du die constInfo bearbeiten musst. Vorausgesetzt dein IQ ist nicht unter dem Durchschnitt.

Aber ich helfe dir trotzdem mal auf die Sprünge:

Wie wäre es wenn wir ID und PWD Variablen in der constinfo haben. Diese setzen wir mal auf "". Bzw ID ist vlt int daher ID vlt auf 0. Muss man halt dann schaun.

Dann in der Funktion die die Login Daten an den Server sendet, ID und PWD Variablen der constInfo setzen lassen. Voila.

PS: Denke ich zumindest. Hab grad keinen Clienten da um nachzusehen ob das nicht sowieso schon gesetzt wird bzw ob das setzen überhaupt notwendig ist.
Dann weise ich dich nun darauf hin, das ich bereits 2x geschrieben habe was man in die constinfo packen muss. ;)
08/28/2013 12:41 DraaaKe#7
Quote:
Originally Posted by .Captor View Post
Dann weise ich dich nun darauf hin, das ich bereits 2x geschrieben habe was man in die constinfo packen muss. ;)
Sorry, nicht gesehen :(

Wobei die constinfo ja nicht die einzige Datei ist die man bearbeiten muss oder? Schließlich macht es 0 Sinn Variablen zu definieren die dann immer "" sind. Also diese müssen in der Funktion die den Char einloggt, gesetzt werden, nicht?
08/28/2013 12:42 sema1995#8
Not asking for my part of costinfo, it asked for other users to visit the post, I have a channel changer better than that.
08/28/2013 12:47 .Captor#9
Quote:
Originally Posted by DraaaKe View Post
Sorry, nicht gesehen :(

Wobei die constinfo ja nicht die einzige Datei ist die man bearbeiten muss oder? Schließlich macht es 0 Sinn Variablen zu definieren die dann immer "" sind. Also diese müssen in der Funktion die den Char einloggt, gesetzt werden, nicht?
Nun ich vermute mal das noch ein paar dinge in der game.py Definiert werden müssen.


Edit: Yap, in der game sind auch einige dinge davon vorhanden. Wer will kann sie sich gerne rauskopieren. :)
08/28/2013 12:56 .Captor#10
Quote:
Originally Posted by .CHHorny View Post
Machst dir gerade ordentlich Feinde hoffe du weißt das.
Das ist mir relativ egal.

Ein Channelchanger ist heutzutage nichts besonderes mehr, und vieles mehr können die mit z.B. der game.py nicht anfangen.

Edit: Aber von mir aus, nehme ich die game.py wieder raus.

Edit²: Constinfo und game sind entfernt. ;)
08/28/2013 13:41 LxR'EsoZiaL#11
Noch eine Variante des Channelconnectors... Viele wollt ihr noch releasen?
08/28/2013 13:43 .RUVision#12
Quote:
Originally Posted by LxR'EsoZiaL View Post
Noch eine Variante des Channelconnectors... Viele wollt ihr noch releasen?
Es wurden bis jetzt nur zwei Released
08/28/2013 13:49 LxR'EsoZiaL#13
Quote:
Originally Posted by .RUVision View Post
Es wurden bis jetzt nur zwei Released
DaRealFreaks (mit intrologin dump) und von Marme, jetzt dieser.


Die Funktionen sind bisher alle gleich, bloß dass eben RealFreak ein viel extremeren Code hat.
08/28/2013 13:49 CoTzRaiZ-PaiNx#14
Sieht aus wie der von Sg.
08/28/2013 16:55 DasKuchen#15
Wenn man die Befehle weiss ist sowas einfach.