metin2united

PACI

Developer
  • Content Count

    326
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by PACI

  1. PACI

    Please nooooooo

    Personally I don't think that's a big of a deal. I join here to read a bunch of threads and participate if I feel like it, not to look at the logo. But, of course, as I said: that's me. Does it fits with the main theme of the community? No, but it's not like you can't ignore it, I guess.
  2. PACI

    Meme - Thread

  3. Hi. I wanted to improve my lua skills, so I thought I could create a useful software, something that I would use, and I'm here to post it if someone wants it too. A friend asked me if I could add a sql option, so I added it. Since it's not a "thing from another world", just run the *.bat file with your item_proto_dump.xml on the same folder. Then wait until the process is finished, and go to output folder and take what you wanted. Download: MEGA. Source v1.5: Pastebin. Changelog: Hope it's useful to anyone.
  4. PACI

    [Release] Quest Categories

    Hi there. While cleaning out "my closet", I found this thing I developed between 2014-2015 - maybe(?) - for my, at that moment, server. Since it's now closed, and I won't use it, I'm sharing it with you guys. Note: Didn't do the scrollbar, wasn't needed for me, so yeah. Now, let's start with opening your locale_game.txt and adding these lines: QUESTCATEGORY_0 Main Quests QUESTCATEGORY_1 Sub Quests QUESTCATEGORY_2 Collect Quests QUESTCATEGORY_3 Levelup Quests QUESTCATEGORY_4 Scroll Quests QUESTCATEGORY_5 System Quests Alright, now find your characterwindow.py (uiscript?) and you can either comment Quest_Page children or simply remove them all. Moving on to your interfaceModule.py find this line self.BINARY_RecvQuest(index, name, "file", localeInfo.GetLetterImageName()) and replace it with self.wndCharacter.questCategory.RecvQuest(self.BINARY_RecvQuest, index, name) Ok, then we are at the most, let's say, difficult part of this. Open your uiCharacter.py and just as you did in your characterwindow.py, remove or simply comment any single line related to quests. You can just search for these vars: self.questShowingStartIndex self.questScrollBar self.questSlot self.questNameList self.questLastTimeList self.questLastCountList Once you did that, you just: # Find these lines self.soloEmotionSlot = self.GetChild("SoloEmotionSlot") self.dualEmotionSlot = self.GetChild("DualEmotionSlot") self.__SetEmotionSlot() # And add the following import uiQuestCategory self.questCategory = uiQuestCategory.QuestCategoryWindow(self.pageDict["QUEST"]) # Find this def OnUpdate(self): self.__UpdateQuestClock() # Replace it with def OnUpdate(self): self.questCategory.OnUpdate() And we're done with the client-side. I attached some extra elements needed (such as the main python file (uiQuestCategory.py) and some image resources). Remember to edit the path linked to these images in that file. For the server-side... Well, screw it, uploaded it too. Too lazy to write. It has only a new quest function (q.getcurrentquestname()) and a few things to add in your questlib.lua. Btw, not sure if you have it, but if not, just add this extra function in ui.Button() (ui.py - class Button). def SetTextAlignLeft(self, text, height = 4): if not self.ButtonText: textLine = TextLine() textLine.SetParent(self) textLine.SetPosition(27, self.GetHeight()/2) textLine.SetVerticalAlignCenter() textLine.SetHorizontalAlignLeft() textLine.Show() self.ButtonText = textLine #Äù½ºÆ® ¸®½ºÆ® UI¿¡ ¸ÂÃç À§Ä¡ ÀâÀ½ self.ButtonText.SetText(text) self.ButtonText.SetPosition(27, self.GetHeight()/2) self.ButtonText.SetVerticalAlignCenter() self.ButtonText.SetHorizontalAlignLeft() Forgot the source part, fml, here it is. Add it to your questlua_quest.cpp. int quest_get_current_quest_name(lua_State* L) { CQuestManager& q = CQuestManager::instance(); PC* pPC = q.GetCurrentPC(); lua_pushstring(L, pPC->GetCurrentQuestName().c_str()); return 1; } void RegisterQuestFunctionTable() { luaL_reg quest_functions[] = { { "getcurrentquestname", quest_get_current_quest_name}, { NULL, NULL } }; CQuestManager::instance().AddLuaFunctionTable("q", quest_functions); } Now, finally, have fun and bye! questcategory.7z server-side.7z
  5. PACI

    Meme - Thread

    @martysama0134 @VegaS™ sorry dudes, I... I just had to! Ahah
  6. PACI

    [RLS]New Pickup Yang Logs

    grp is a built-in module. Edit: Nevermind this post, I didn't finish reading previous posts, my bad!
  7. That doesn't make any sense, this should be all about the messaging system. At least the title says it.
  8. PACI

    Shoutbox Question (@Admin)

    It was like that on a first instance, however users used the chatbox to seek for constant help and spam it over. I don't know if that was a reason even to limit it, but that's the picture I have from it. Besides, VIP users don't really have anything special with this role, only the chat (afaik) and I'm just talking about those who buy it, of course. Last point, is your paid-section area, which is an idea I have to disagree with since it goes against the sharing concept whatsoever.
  9. PACI

    open i need info of dark protection

    Keep in mind they did changes to a couple of skills with the balancing update. So this one could have been one of those as well. Therefore, there's a chance wiki's data is either out or up-to-date.
  10. PACI

    Goodbye

    You better throw your frustrations on somebody else, my post never had the purpose of offending, nor I think I'm doing it. I never said it wasn't tested or working or if it was paid, whatever. Furthermore, never said I could do better as well. I could have saved my comment but I felt like leaving a positive thing, even if I didn't finish reading the post, 'cause I didn't, as I said above. If you took it as a personal attack, mate, I'm sorry, but you should get your shit straight.
  11. PACI

    Goodbye

    I must say I stopped reading on the first code-block, but thanks for the contribution!
  12. PACI

    open Shaman buff target visual bug

    Head to d:/ymir work/pc/shaman/skill and post here, let's say, jeongeop 2, 3 and 4.
  13. PACI

    [RLS]Private Shop Search System

    How about fixing it yourself?
  14. Because that area is out of the button's parent range. In other words, it's limited by your taskbar's height, in this case.
  15. PACI

    open Random game crash

    You should had reverted every recent change you did to your core already. What is that CSemaphore thing that shit is talking about?
  16. Probably the client sniffing around. That exact character (along with brackets and vertical bar) is used for parsing quests' strings sent by the server. At this point, you may have noticed that the client doesn't only receives whatever text a quest has, but also an event type bound to that said text, being it formatting, window resizing, image preview, etc. Those actions are read this way. This is what the server will send to the client, using the example you provided above: [QUESTION resume;0|1;Hi, how are you today;|2;Close] resume stands for, eh.. a suspended state, can be said iirc. Meaning that it requires the player to answer. Everything else are necessary data the binary will send to the python-side of your client in order to create the so well known: chat-event. In order words, the buttons. My suggestion is to jump into your PythonEventManager class for further info. The parser is in EterLib/parser.*
  17. PACI

    c++ Mob attacking mobs

    ATTMOB AIflag in mob_proto.
  18. PACI

    Transmutation better Shang | LeNnt?

    Shang(ai) is the real deal.
  19. PACI

    open Some questions about LUA functions

    It is not the seed you have to use for comparison, but the random number generated by math.random(). Calling it once - math.randomseed(os.time()) - is enough, otherwise the randomness could break. Anyhow, 'nothing changed about the drop chance' as in? Doesn't even drops, drops too much, not enough? My suggestion is to use a simple debug message just to be sure which values number(a, z) is returning, and comparing it to your chance constant.
  20. PACI

    open Some questions about LUA functions

    The best results are achieved using os.time() for seeding. math.randomseed(os.time()) local random = math.random(1, 100) print(random) However, I prefer to use the built-in function for these kind of matters: number(min, max).
  21. PACI

    open Temple Ochao - Black Floor

    Setting.txt terrainvisible[TAB]0
  22. PACI

    [RELEASE]Fix Korean Errors #PART1

    !ch->IsDead() for FCountMonster is also handy.
  23. PACI

    open Python ignore function

    I assume you already have the Ignored group added to your client's friends list. If that's not the case, just take a look at root/uiMessenger.py and UIScript/messengerwindow.py and follow the pattern. Now I'd personally cache the file's entries at the client's startup, but even if you don't do that, the concept's still the same. Loop over your file lines/dict content and then use the AppendMember(key, playerName) function in order to add the entries to the list. Regarding the deletion, it is almost the same, the only difference is you firstly need to find the object, FindMember(key), and then use the RemoveMember(obj) func.
  24. PACI

    open Python ignore function

    Is that file client or server sided?
  25. PACI

    open Python ignore function

    Got the idea and stuff, but you didn't clarify where's the problem at. Is it the deletion thingy?