Jump to content

How To Metin2 & Cython


Recommended Posts

  • 2 months later...
Quote

uiGuild.py(line:2035) __LoadWindow
ui.py(line:3089) LoadScriptFile

DeclareGuildWarWindow.__CreateDialog - LoadScript - <type 'exceptions.KeyError'>:'window'

ui.py

Quote

Body = self.ScriptDictionary["window"]

self.CheckKeyList("window", Body, self.BODY_KEY_LIST)

uiguild.py

Quote

pyScrLoader.LoadScriptFile(self, uiScriptLocale.LOCALE_UISCRIPT_PATH + "buildguildbuildingwindow.py")

how to fix it ?

Lets Go Yes GIF by The Lonely Island

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...

Error occured while running python script. Check syserr.txt for more info.

 

0330 17:05:06453 ::   File "<string>", line 5, in <module>

0330 17:05:06453 ::   File "system.py", line 185, in __hybrid_import

0330 17:05:06453 :: ImportError
0330 17:05:06453 :: : 
0330 17:05:06453 :: No module named app
0330 17:05:06453 :: 

 

Link to comment
Share on other sites

  • Honorable Member
On 1/5/2020 at 11:56 PM, HappyHippo said:

looks like those vids arent available anymore... 2020 is such a sad beginning of the year ?

I disabled those videos because GF was streaking every YT account 6 months ago kinda. I'm currently reuploading them on Vimeo, then I'll update the github repo with the new urls.

Edit: Videos reuploaded.

On 3/30/2020 at 4:16 PM, kalu said:

No module named app

You fucked it up in the source. Check PythonApplicationModule.cpp about how you renamed it.

Edited by martysama0134
Edit: Videos reuploaded.
  • Love 1
Link to comment
Share on other sites

  • 9 months later...
  • Honorable Member

I've updated the tutorial by adding a new branch called vsimpl:

This is the hidden content, please

 

This will be very helpful for the following reasons:

  • Automatic cythonization when you compile (via pre-compilation event)
  • Only edited cythonized files will be compiled, and not everything every time

i.e. I've previously fixed a bug in the main branch, so now only edited python files will be re-cythonized and not everything every time

  • Metin2 Dev 22
  • Good 9
  • Love 3
  • Love 18
Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...
  • Honorable Member
On 6/24/2021 at 2:15 AM, Sword said:

You created a rootlib project with PythonrootlibManager.h/.cpp inside. It has nothing to do with my tutorial at all. 👀👀👀

On 5/20/2021 at 9:18 AM, ByLost said:

You should include initrootlibManager, not initrootlib in UserInterface.cpp

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 2
  • Good 1
  • Love 1
  • Love 3
Link to comment
Share on other sites

  • 1 month later...
  • Premium

I spent a FULL, and I repeat, FULL goddamn day trying to solve a problem where I just received a stupid LogBox with "Trackback"  or "Traceback" or w/e the fuck with no useful information from the logs. 

I also contacted Marty, who advised me to use the vsimpl  branch which, sure, helpful, but didn't solve my problem ahah

If at first could be a system.py problem (just use his on the github probject), oh boy, what a rollercoaster it was afterwards.

 

First issue found was:

			self.serverCommander.SAFE_RegisterCallBack(
				serverCommandItem[0], serverCommandItem[1]
			)

this piece of stupid  code in servercommandparser.py, to be edited like this:

self.serverCommander.SAFE_RegisterCallBack(serverCommandItem[0], serverCommandItem[1])

and then in stringcommander.py:

AVg7o9A.png

don't mind  the debug strings (legit desperation at that point) but.. idk why there were those lines.  The file was just like  that, for 7+ years. It just worked, who knew it would break my mental attempting to cythonize.

The funny thing is with cython I can now use the launcher in debug mode (I can't without, don't ask me why, never actually needed it).

 

Edited by Metin2 Dev
Core X - External 2 Internal
  • Sad 3
Link to comment
Share on other sites

  • 3 weeks later...
  • Premium
On 8/11/2021 at 6:20 AM, xXIntelXx said:

I spent a FULL, and I repeat, FULL goddamn day trying to solve a problem where I just received a stupid LogBox with "Trackback"  or "Traceback" or w/e the fuck with no useful information from the logs. 

I also contacted Marty, who advised me to use the vsimpl  branch which, sure, helpful, but didn't solve my problem ahah

If at first could be a system.py problem (just use his on the github probject), oh boy, what a rollercoaster it was afterwards.

 

First issue found was:

			self.serverCommander.SAFE_RegisterCallBack(
				serverCommandItem[0], serverCommandItem[1]
			)

this piece of stupid  code in servercommandparser.py, to be edited like this:

self.serverCommander.SAFE_RegisterCallBack(serverCommandItem[0], serverCommandItem[1])

and then in stringcommander.py:

AVg7o9A.png

don't mind  the debug strings (legit desperation at that point) but.. idk why there were those lines.  The file was just like  that, for 7+ years. It just worked, who knew it would break my mental attempting to cythonize.

The funny thing is with cython I can now use the launcher in debug mode (I can't without, don't ask me why, never actually needed it).

 

I made more testings and, I DID needed "funcData=inspect.getargspec(mfunc.im_fun)" because:
 

pkChr->ChatPacket(CHAT_TYPE_COMMAND, "lobby_application_update %d %d %s", bLobbyType, vecResponse.size(), szCommand);

that sent me, as the last string something like "0 1".

I momentarily fixed it using a delimiter, BUT, remember that if you wanna use inspect.getargspec, well, it does not support cy_functions (it does on python3 with inspect.getfullargspec though).

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 1
Link to comment
Share on other sites

  • 4 months later...
  • 4 months later...
  • 1 month later...

Hello guys,i installed mailbox from @ Mali, but when i try to log in i have this error:

0725 13:30:07144 :: 
networkmodule.py(line:211) networkmodule.MainStream.SetSelectCharacterPhase (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\networkmodule.c:3901)
system.py(line:169) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:3889)
introselect.py(line:32) init introselect (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\introselect.c:30467)
system.py(line:169) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:3889)
interfacemodule.py(line:52) init interfacemodule (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\interfacemodule.c:58471)
system.py(line:190) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:4312)

networkmodule.SetSelectCharacterPhase - <type 'exceptions.ImportError'>:No module named uimailbox

0725 13:30:07144 :: ============================================================================================================
0725 13:30:07144 :: Abort!!!!

I added uimailbox at PythonrootlibManager.cpp, but when i compile .exe i have this error:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol _inituimailbox	UserInterface	

Any ideas?

Link to comment
Share on other sites

  • Honorable Member
23 minutes ago, Jimmermania said:

Hello guys,i installed mailbox from @ Mali, but when i try to log in i have this error:

0725 13:30:07144 :: 
networkmodule.py(line:211) networkmodule.MainStream.SetSelectCharacterPhase (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\networkmodule.c:3901)
system.py(line:169) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:3889)
introselect.py(line:32) init introselect (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\introselect.c:30467)
system.py(line:169) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:3889)
interfacemodule.py(line:52) init interfacemodule (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\interfacemodule.c:58471)
system.py(line:190) system.__hybrid_import (C:\Users\George\Desktop\WoM2\Binary\Client\CRootLib\Workplace\RootLib\cyTemp\system.c:4312)

networkmodule.SetSelectCharacterPhase - <type 'exceptions.ImportError'>:No module named uimailbox

0725 13:30:07144 :: ============================================================================================================
0725 13:30:07144 :: Abort!!!!

I added uimailbox at PythonrootlibManager.cpp, but when i compile .exe i have this error:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol _inituimailbox	UserInterface	

Any ideas?

1) You should add the uimailbox.c file in the cythonrootlib project.

2) You should add the {"uimailbox",inituimailbox} import in the pythonrootlibmanager.cpp file.

3) You have to be sure that the file is called&imported as uimailbox.py, and not differently. It's case sensitive, so uiMailBox may not work if the file isn't called uiMailBox.py

Edited by martysama0134
Link to comment
Share on other sites

10 minutes ago, martysama0134 said:

1) You should add the uimailbox.c file in the cythonrootlib project.

2) You should add the {"uimailbox",inituimailbox} import in the pythonrootlibmanager.cpp file.

3) You have to be sure that the file is called&imported as uimailbox.py, and not differently. It's case sensitive, so uiMailBox may not work if the file isn't called uiMailBox.py

Thanks for your answer Marty.

1) I already have this PROOF

2) This too: PROOF2 & PROOF3

3) PROOF4 & PROOF5

So... wtf ?? haha

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Premium
5 hours ago, Jimmermania said:

Thanks for your answer Marty.

1) I already have this PROOF

2) This too: PROOF2 & PROOF3

3) PROOF4 & PROOF5

So... wtf ?? haha

Check vcxproj & filters

Edited by Metin2 Dev
Core X - External 2 Internal
  • Good 1
  • Love 2
Link to comment
Share on other sites

  • 2 weeks later...
  • Honorable Member

The M2 Download Center may not include the last changes I've committed: 

This is the hidden content, please
 

In the last commit, I've added a post-build event that "touches" system.c. (in v2.1 it touches _RESERVED)

If you're asking why I've done this: visual studio has a known bug of not triggering the pre-build events after a "rebuild".

Edited by martysama0134
v2.1
  • Metin2 Dev 25
  • Good 3
  • Love 3
  • Love 8
Link to comment
Share on other sites

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.