-
Posts
236 -
Joined
-
Last visited
-
Days Won
1 -
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by ATAG
-
cms [Replica] Old Metin2 Website & ItemShop
ATAG replied to TMP4's topic in Web Development & Scripts / Systems
For example ishop doesn't have a strict session handler, you can buy items unlimited times... (you can log in multiple times from different browsers, and voila...)- 33 replies
-
Yep, i also got it from mcncc i guess... Took weeks to find and download it Also contained web files of longju (maybe?)
-
[Hidden Content]
-
You must change the quesst's state to 'run': /set_quest_state main_quest_lv12 run
-
Did you changed the path to locale/en/quest ?
-
Look at the first post. + if you wanna add the 'expermential' stuff, you need this system too: [Hidden Content]
-
It seems like you missed some python parts or you forgot to rebuild eterpythonlib?
-
In intrologin.py look for: self.stream.SetConnectInfo(serverInfo.SRV1["host"], self.ChannelButtons[channel][1], serverInfo.SRV1["host"], serverInfo.SRV1["auth1"]) Andd add below: try: print("serverinfo: %s/%s\n" % (serverInfo.SRV1["name"], serverInfo.SERVER1_CHANNEL_DICT[channel]["name"])) self.__SetServerInfo("%s, %s " % (serverInfo.SRV1["name"], serverInfo.SERVER1_CHANNEL_DICT[channel]["name"])) except: print("serverinfo: NONE\n") I'm not 100% sure, since my serverinfo.py and logininfo.py are modified. I hope it works. I also had to modify the fuction like this: def __SetServerInfo(self, name): net.SetServerInfo(name.strip()) #self.serverInfo.SetText(name) print("__SetServerInfo: %s/%s" % name, name.strip() or name)
-
Ok i got it, I changed the intrologin.py There's a missing 'self.__SetServerInfo("%s, %s " % (serverName, channelName))' or something like tat before 'self.Connect(id, pwd)'. You have to implement it...
-
To be honest I can’t remember what did I change, but it definitely was not in src
-
Csak találgatok (just guessing): root/uiminimap.py if constInfo.MINIMAP_POSITIONINFO_ENABLE==0: self.positionInfo.Hide() self.serverInfo.SetText(net.GetServerInfo()) #---> #self.serverInfo.Show() self.ScaleUpButton.SetEvent(ui.__mem_func__(self.ScaleUp)) This line is commented i guess, i dont have the untouched root anymore
-
You have to call the quest event BEFORE you start the mining process in src
- 22 replies
-
- c++
- improvement
-
(and 1 more)
Tagged with:
-
metin2dev
-
Did you change it in client proto too?
-
[Updated]Python3 - More damn problems
ATAG replied to Amun's topic in Community Support - Questions & Answers
Haha, i've followed your path, and ran into the same problems. The breakthrough was removing the debug sht from system.py: import debuginfo #debuginfo.SetDebugMode(__DEBUG__) debuginfo.SetDebugMode(0) After this i started to receive usable error messages... Next, i changed in PythonPAckModule.cpp (in PyObject * packGet(...)) if (CEterPackManager::Instance().Get(file, strFileName, &pData)) { //return Py_BuildValue("s#",pData, file.Size()); return PyUnicode_FromStringAndSize((const char *)pData, file.Size()); } And voila, everything has started working (?). Got sht tons of messages like this, need to convert the python (and txt) files to utf-8. -
Is it working?
-
This is the Readme.txt in the client src You're welcome
-
I used the "dirty workaround" and no issues so far
-
Everything works well here what can generate numbers in 0~4M (?) range Finally I ended up at default_random_engine (which is the mt) for the number_ex...
-
You are wrong. Put this into vs->console app, and run it: #include <iostream> #include <random> #include <limits> int thecore_random() { double iRand = (double)rand() / RAND_MAX; // 0x7fff return (int)(iRand * 0x7fffffff); } int main() { std::cout << "RAND_MAX: " << RAND_MAX << "\n"; std::cout << "INT_MAX: " << INT_MAX << "\n"; for (int i=0; i<100; i++) std::cout << "random: " << thecore_random() << "\n"; } The range was 1-RAND_MAX, changed it to 0... Thank you
-
Final version, This way the drops are near the same (and fast enough) DWORD thecore_random() { #ifdef _WIN32 double iRand = (double)rand() / RAND_MAX; // 0x7fff return (iRand * (0x7fffffff - 1) + 1); #else return random(); // 0x7fffffff #endif }
-
In our case this is not a problem, higher number means less drop
-
You have to create (and seed) the generator outside your function, don't want a new random engine every time. That way both of your codes do (near) the same in the same amount of time. number time : 0.0781763 random_drop time : 0.0759912 [Hidden Content] Btw thanks for the idea, i've choosen a more simple way. libthecore/utilc.c: DWORD thecore_random() { #ifdef _WIN32 // return rand(); //extend the 32767 limit to 2147483645... return rand() * rand() + rand(); #else return random(); #endif } Not faster and not better, but it works
-
My uiscript/characterwindow.py: This is a default one.. .
-
I've simply solved my problem... root/interfaceModule.py # Unused. def ShowQuestButton(self): pass I added the 2 missing function below it, looks like this: # Unused. def ShowQuestButton(self): pass # QUEST_BUTTON def RecvQuest(self, index, name): global IsQBHide IsQBHide = 0 self.ShowAllQuestButton() def BINARY_RecvQuest(self, index, name, iconType, iconName): self.RecvQuest(self, index, name) # END_OF_QUEST_BUTTON Very simple solution, but works fine for me