Register for your free account! | Forgot your password?

You last visited: Today at 07:52

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

Advertisement



import?

Discussion on import? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1


 
X0R0N's Avatar
 
elite*gold: 138
Join Date: Jan 2009
Posts: 2,216
Received Thanks: 6,018
Wink import?

Hi,
in dem Quellcode einer datei aus einem entpackten Spielclienten habe ich folgendes drinstehen (die punkkte sollen nur heisen das davor und danach noch was kommt)

Code:
...
import snd
import chat
import textTail
import snd
import net
...

Verstehe nicht woher er die dateien snd,chat,texttail und net hat. woher importiert er sie?


in Code sind einige Stellen die mit den Dateien verknüpft sind:
Code:
...
[COLOR="Red"]net[/COLOR].SendEnterGamePacket()
...
[COLOR="Red"]snd[/COLOR].FadeOutAllMusic()
...
[COLOR="Red"]chat[/COLOR].AppendChat(chat.CHAT_TYPE_INFO, name + locale.SCREENSHOT_SAVE1)
...
[COLOR="Red"]textTail[/COLOR].EnablePKTitle(constInfo.PVPMODE_ENABLE)
...
mich interessiert im grunde am meisten "net" die anderen funktionen sind für mein Vorhaben eigentlich uninteressant. Könnte mir da jemand genaueres drüber sagen?


Das ganze sieht mir nach cpp aus (mit dem ich mich nie so richtig außernandergesetzt hab )
X0R0N is offline  
Old 09/16/2009, 19:43   #2

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Hier kannst du mal nachlesen was #import macht:

net, chat, etc. sind wohl in im Projekt vom dem Game und werden mittels import geladen.

Ist natürlich sehr schlecht, dass du dich mit C++ nicht auskennst, weil dass so natürlich schlecht für dich zu verstehen ist.

Benutzt werden die Sachen wie mit einem Objekt in C++.

IMO kannste dir "net","chat", etc. als Klassen Vorstellen.

In den Klassen sind Funktionen. Und um diese Aufrufen zu können muss man ein Objekt erstellen und dann über dieses Objekt die Funktionen aufrufen.

In der Klasse net ist dann z.B. die Funktion SendEnterGamePacket().

net.h
PHP Code:


public class net {

public: 
void SendEnterGamePacket()


net.cpp
PHP Code:
....

void net::SendEnterGamePacket() {

blablA
Bblablub
WSASend
(blub,bla....);
usw


game.cpp
PHP Code:

....

void Game::IrgendeineFunktion(){

net.SendEnterGamePacket()



Adroxxx is offline  
Old 09/16/2009, 20:17   #3


 
X0R0N's Avatar
 
elite*gold: 138
Join Date: Jan 2009
Posts: 2,216
Received Thanks: 6,018
naja verstehen tu ich schon einiges in dem Bereich... habe cpp nur nie verwendet.
Das Problem ist das es keine z.B: net.cpp Datei gibt!
Ich verstehe nicht woher er diese lädt...
X0R0N is offline  
Old 09/17/2009, 15:05   #4
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
Quote:
Originally Posted by mreddy93 View Post
Das ganze sieht mir nach cpp aus (mit dem ich mich nie so richtig außernandergesetzt hab )
Ne, bestimmt nicht.

Ist wahrscheinlich irgendein VB-Kram..
Mit import importierst du andere Module, um deren Funktionen nutzen zu können.

Wie wäre es, um an die SourceCode-Dateien heranzukommen, wenn du mal den Quelltextordner nach "SendEnterGamePacket" innerhalb der Dateien absuchst?...

@Adroxxx:
Was sieht daran für dich nach C++ aus? >_>
link is offline  
Old 09/17/2009, 15:15   #5

 
Adroxxx's Avatar
 
elite*gold: 15
Join Date: Nov 2005
Posts: 13,021
Received Thanks: 5,323
Quote:
Originally Posted by link View Post
@Adroxxx:
Was sieht daran für dich nach C++ aus? >_>
Für mich sehen die Snippets eigentlich nach gar nichts aus :P

net.SendEnterGamePacket()

könnte eigentlich jede Sprache sein.

Hab mir auch nie VB angeschaut, deshalb weiß ich auch nicht ob es das sein könnte. Der TO meinte dass er glaubt, dass es C++ sei. Und da es sich wohl um ein Game handelt, habe ich angenommen, dass es wahrscheinlich wäre, dass es c++ ist.

Einfachste Möglichkeit wäre ja, wenn der TO einfach einen etwas größeren, aussagekräftigeren Code Snippet posten würde.
Falls es wirklich VB ist, tuts mir natürlich leid, dass ich falsch informationen verbreitet habe.
Adroxxx is offline  
Old 09/17/2009, 18:36   #6


 
X0R0N's Avatar
 
elite*gold: 138
Join Date: Jan 2009
Posts: 2,216
Received Thanks: 6,018
Wink

Damit ihr sehen könnt welche Sprache es ist, hier ein größerer Ausschnitt des Codes:
Code:
class GameWindow(ui.ScriptWindow):
	canQuestLettersShow = 1
	def __init__(self, stream):
		ui.ScriptWindow.__init__(self, "GAME")
		self.SetWindowName("game")
		[COLOR="Red"]net[/COLOR].SetPhaseWindow([COLOR="Red"]net[/COLOR].PHASE_WINDOW_GAME, self)
		player.SetGameWindow(self)

		self.quickSlotPageIndex = 0
		self.lastPKModeSendedTime = 0
		self.pressNumber = None

		self.guildWarQuestionDialog = None
		self.interface = None
		self.targetBoard = None
		self.console = None
		self.mapNameShower = None
		self.affectShower = None
		self.playerGauge = None

		self.stream=stream
		self.interface = interfaceModule.Interface()
		self.interface.MakeInterface()
		self.interface.ShowDefaultWindows()

		self.curtain = uiPhaseCurtain.PhaseCurtain()
		self.curtain.speed = 0.03
		self.curtain.Hide()

		self.targetBoard = uiTarget.TargetBoard()
		self.targetBoard.SetWhisperEvent(ui.__mem_func__(self.interface.OpenWhisperDialog))
		self.targetBoard.Hide()

		self.console = consoleModule.ConsoleWindow()
		self.console.BindGameClass(self)
		self.console.SetConsoleSize(wndMgr.GetScreenWidth(), 200)
		self.console.Hide()

		self.mapNameShower = uiMapNameShower.MapNameShower()
		self.affectShower = uiAffectShower.AffectShower()

		self.playerGauge = uiPlayerGauge.PlayerGauge(self)
		self.playerGauge.Hide()

		self.__SetQuickSlotMode()

		self.__ServerCommand_Build()
		self.__ProcessPreservedServerCommand()

	def __del__(self):
		player.SetGameWindow(0)
		[COLOR="Red"]net[/COLOR].ClearPhaseWindow([COLOR="Red"]net[/COLOR].PHASE_WINDOW_GAME, self)
		ui.ScriptWindow.__del__(self)

	def Open(self):
		app.SetFrameSkip(1)

		self.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())

		self.quickSlotPageIndex = 0
		self.PickingCharacterIndex = -1
		self.PickingItemIndex = -1
		self.consoleEnable = FALSE
		self.isShowDebugInfo = FALSE
		self.ShowNameFlag = FALSE

		self.enableXMasBoom = FALSE
		self.startTimeXMasBoom = 0.0
		self.indexXMasBoom = 0

		global cameraDistance, cameraPitch, cameraRotation, cameraHeight

		app.SetCamera(cameraDistance, cameraPitch, cameraRotation, cameraHeight)

		constInfo.SET_DEFAULT_CAMERA_MAX_DISTANCE()
		constInfo.SET_DEFAULT_CHRNAME_COLOR()
		constInfo.SET_DEFAULT_FOG_LEVEL()
		constInfo.SET_DEFAULT_CONVERT_EMPIRE_LANGUAGE_ENABLE()
		constInfo.SET_DEFAULT_USE_ITEM_WEAPON_TABLE_ATTACK_BONUS()
		constInfo.SET_DEFAULT_USE_SKILL_EFFECT_ENABLE()

		# TWO_HANDED_WEAPON_ATTACK_SPEED_UP
		constInfo.SET_TWO_HANDED_WEAPON_ATT_SPEED_DECREASE_VALUE()
		# END_OF_TWO_HANDED_WEAPON_ATTACK_SPEED_UP

		import event
		event.SetLeftTimeString(locale.UI_LEFT_TIME)

		textTail.EnablePKTitle(constInfo.PVPMODE_ENABLE)

		if constInfo.PVPMODE_TEST_ENABLE:
			self.testPKMode = ui.TextLine()
			self.testPKMode.SetFontName(locale.UI_DEF_FONT)
			self.testPKMode.SetPosition(0, 15)
			self.testPKMode.SetWindowHorizontalAlignCenter()
			self.testPKMode.SetHorizontalAlignCenter()
			self.testPKMode.SetFeather()
			self.testPKMode.SetOutline()
			self.testPKMode.Show()

			self.testAlignment = ui.TextLine()
			self.testAlignment.SetFontName(locale.UI_DEF_FONT)
			self.testAlignment.SetPosition(0, 35)
			self.testAlignment.SetWindowHorizontalAlignCenter()
			self.testAlignment.SetHorizontalAlignCenter()
			self.testAlignment.SetFeather()
			self.testAlignment.SetOutline()
			self.testAlignment.Show()

		self.__BuildKeyDict()
		self.__BuildDebugInfo()

		# PRIVATE_SHOP_PRICE_LIST
		uiPrivateShopBuilder.Clear()
		# END_OF_PRIVATE_SHOP_PRICE_LIST

		# UNKNOWN_UPDATE
		exchange.InitTrading()
		# END_OF_UNKNOWN_UPDATE

		if debugInfo.IsDebugMode():
			self.ToggleDebugInfo()

		## Sound
		snd.SetMusicVolumef(systemSetting.GetMusicVolume()*[COLOR="Red"]net[/COLOR].GetFieldMusicVolume())
		snd.SetSoundVolume(systemSetting.GetSoundVolume())

		netFieldMusicFileName = [COLOR="Red"]net[/COLOR].GetFieldMusicFileName()
		if netFieldMusicFileName:
			snd.FadeInMusic("BGM/" + netFieldMusicFileName)
		elif musicInfo.fieldMusic != "":						
			snd.FadeInMusic("BGM/" + musicInfo.fieldMusic)

		self.__SetQuickSlotMode()
		self.__SelectQuickPage(self.quickSlotPageIndex)

		self.SetFocus()
		self.Show()
		app.ShowCursor()

		[COLOR="Red"]net[/COLOR].SendEnterGamePacket()

		# START_GAME_ERROR_EXIT
		try:
			self.StartGame()
		except:
			import exception
			exception.Abort("GameWindow.Open")
		# END_OF_START_GAME_ERROR_EXIT

	def Close(self):
		self.Hide()

		global cameraDistance, cameraPitch, cameraRotation, cameraHeight
		(cameraDistance, cameraPitch, cameraRotation, cameraHeight) = app.GetCamera()

		if musicInfo.fieldMusic != "":
			snd.FadeOutMusic("BGM/"+ musicInfo.fieldMusic)

		self.onPressKeyDict = None
		self.onClickKeyDict = None

		chat.Close()
		snd.StopAllSound()
		grp.InitScreenEffect()
		chr.Destroy()
		textTail.Clear()
		quest.Clear()
		background.Destroy()
		guild.Destroy()
		messenger.Destroy()
		skill.ClearSkillData()
		wndMgr.Unlock()
		mouseModule.mouseController.DeattachObject()

		if self.guildWarQuestionDialog:
			self.guildWarQuestionDialog.Close()
Verstehe immernoch nicht wo er "net" hernimmt.
Es ist keine "net.*" im Verzeichniss und sehe auch nichts derartiges. Irgendwoher muss er das doch importieren.
X0R0N is offline  
Old 09/17/2009, 19:21   #7
 
link's Avatar
 
elite*gold: 1
Join Date: Jul 2005
Posts: 553
Received Thanks: 451
olol, das ist Python.

Wenn du dir einfach nur den Source Code heruntergeladen hast, wirst du damit wenig anfangen können.
Du benötigst schon den Interpreter und, falls verwendet, die Bibliotheken Dritter.
Wenn du alles haben solltest, schaue im Python-Verzeichnis im Ordner 'Lib' nach
link is offline  
Old 09/17/2009, 21:18   #8


 
X0R0N's Avatar
 
elite*gold: 138
Join Date: Jan 2009
Posts: 2,216
Received Thanks: 6,018
Quote:
Wenn du dir einfach nur den Source Code heruntergeladen hast
Habe den Spielclienten entpackt und bin so an den Code gekommen.
Wie meinst du das mit dem Interpreter? Meinst du ich soll Python installieren?
X0R0N is offline  
Old 09/29/2009, 14:35   #9
 
elite*gold: 0
Join Date: Sep 2009
Posts: 3
Received Thanks: 0
Quote:
Originally Posted by mreddy93 View Post
Habe den Spielclienten entpackt und bin so an den Code gekommen.
Wie meinst du das mit dem Interpreter? Meinst du ich soll Python installieren?
Wenn Du beabsichtigst, in Python geschriebene(, nicht eingebettete) Skripts zu benutzten, dann benötigst Du auch den Python-Interpreter. Du musst zugeben, dass das logisch klingt.
dcprj is offline  
Reply


Similar Threads Similar Threads
WoW Models import
05/14/2010 - World of Warcraft - 0 Replies
Hallo, gibts für Milkshape / 3DS Max einen importer für WoW Models? E/ Oh Sorry, grad gesehen :) Edit2: Andere Frage - wie exportiere ich die Models mit dem WMV mit Animationen?
Cannot find import; DLL...
05/27/2009 - Kal Online - 3 Replies
Hello, first: i know --> Install Visual C++ 2008 Expres... I have it. But after start my "old" copied source from Synron i get the Error: "Cannot find import; DLL may be missing, corrupt, or wrong version File "MSVCP90.dll", error 126" The source worked arround 5 Months ago. At the moment i have follow .NET Framework installed: 1.1 2.0 Service Pack 2
M2 Import / Exporter
05/25/2009 - World of Warcraft - 1 Replies
Welche tools können den M2 datein importieren und exporten? Ich hexe M2 datein und brauchte da was...
Import
05/25/2006 - Off Topic - 4 Replies
Moin Also, Im internet werden öfters solche importhändler listen wie zb bei www.importer-scout.de angeboten Jetzt würde ich mich dafür interresieren ob jemand schonmal dafür bezahlt hat und ob es sich lohnt etc Oder villeicht wer einige importhändlerlisten aus china etc kennt wo man möglichst billig produkte zum weiterverkauf herbekommt Würd mich über eure meinungen freun auch über PM



All times are GMT +2. The time now is 07:52.


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.