Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Yangs

    510 [ Donate ]
  • Country


B4RC0D3 last won the day on May 26

B4RC0D3 had the most liked content!

Community Reputation

30 Good


About B4RC0D3

  • Rank


  • Nationality
  • Gender
  • Location

Recent Profile Visitors

400 profile views
  1. NOTE: THIS ISN'T NEEDED BY THE TUTORIAL! For everyone to use, class MiddleBoard. With this you can use the offical loadingwindow.py Open UI.py and search for "class ThinBoard(Window):" and add below the WHOLE class: class MiddleBoard(Window): CORNER_WIDTH = 16 CORNER_HEIGHT = 16 LINE_WIDTH = 16 LINE_HEIGHT = 16 LT = 0 LB = 1 RT = 2 RB = 3 L = 0 R = 1 T = 2 B = 3 def __init__(self, layer = "UI"): Window.__init__(self, layer) CornerFileNames = [ "d:/ymir work/ui/pattern/thinboardb_corner_"+dir+".tga" for dir in ["LeftTop","LeftBottom","RightTop","RightBottom"] ] LineFileNames = [ "d:/ymir work/ui/pattern/thinboardb_line_"+dir+".tga" for dir in ["Left","Right","Top","Bottom"] ] Base = ExpandedImageBox() Base.AddFlag("not_pick") Base.LoadImage("d:/ymir work/ui/pattern/thinboardb_center.tga") Base.SetParent(self) Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT) Base.Show() self.Base = Base self.Corners = [] for fileName in CornerFileNames: Corner = ExpandedImageBox() Corner.AddFlag("attach") Corner.AddFlag("not_pick") Corner.LoadImage(fileName) Corner.SetParent(self) Corner.SetPosition(0, 0) Corner.Show() self.Corners.append(Corner) self.Lines = [] for fileName in LineFileNames: Line = ExpandedImageBox() Line.AddFlag("attach") Line.AddFlag("not_pick") Line.LoadImage(fileName) Line.SetParent(self) Line.SetPosition(0, 0) Line.Show() self.Lines.append(Line) self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT) self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0) def __del__(self): Window.__del__(self) def SetSize(self, width, height): width = max(self.CORNER_WIDTH*2, width) height = max(self.CORNER_HEIGHT*2, height) Window.SetSize(self, width, height) self.Corners[self.LB].SetPosition(0, height - self.CORNER_HEIGHT) self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0) self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT) self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT) self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT) verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage) self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage) self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0) self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0) if self.Base: self.Base.SetRenderingRect(0, 0, (float(width)-32)/float(self.Base.GetWidth()) - 1.0, (float(height)-32)/float(self.Base.GetHeight()) - 1.0) def ShowInternal(self): self.Base.Show() for wnd in self.Lines: wnd.Show() for wnd in self.Corners: wnd.Show() def HideInternal(self): self.Base.Hide() for wnd in self.Lines: wnd.Hide() for wnd in self.Corners: wnd.Hide() Now search for "elif Type == "thinboard":" and add below the elif: elif Type == "middleboard": parent.Children[Index] = MiddleBoard() parent.Children[Index].SetParent(parent) self.LoadElementThinBoard(parent.Children[Index], ElementValue, parent) Should look like: Now just add the visuals (if you didn't already got them out of Patch 19.0) DOWNLOAD
  2. No i didn't tested the Performance difference. Because, simplified , you can change so many parts on their input that the Output will be different. Even if you use the same password and salt the hash will be different in many ways. Test it with the online generator. If you just change the memory or the iterations ... You will get different outputs. So as an attacker i need all of this informations and not just to know the hash algorithm and can search for some rainbow tables and maybe find some Data. Even generated keys, which are stored on the server can be loaded by the algorithm to enhance the security of your system. So its hard to get rainbow tables or otherwise forced Data out of a argon2 Hash. SHA is good, that not the point here. But Argon2 can be better in a easier way of use. (OFC it is my personal way of thinking, so its free to everyone if they want to use it or not) €dit: Yes since PHP 7.2 Argon2 is useable as algorithm
  3. Hello togehter, today i want to share a small, but in my opinion, usefull security upgrade for your player password-hashes. The current default hash, which is used by the most of you (some exeptions might be out there) is the MD5 Hash. This hash might be not the best choice for hashing passwords in this modern days. This is why i thought about something to change there. And my solution for this is Argon2. This Method had won the Password Hashing Competition and this is why i had choosen this over bcrypt or scrypt. This tutorial isn't a 100% beginner firendly guide! Just follow my instructions if you got a little bit of c++ knowledge and know how to work with the source! Create the libargon2 Change the hash inner the game-core source (DEFAULT PASSWORD() MYSQL FUNC TUTORIAL) For now you just need to edit the account.account table and set the size for the password to 128 (Why 128? Db.h EArgon2::HASH_LENGTH = 64. 64 * 2 = 128) And you need to replace your hashes with the argon2 once. For this follow the link to the generation: https://argon2.online Example config for the tutorial setup: Have fun
  4. First of all: OH MY GOSH xP3NG3Rx got something for sale I've got a question about the scaling. Will this include the scaling for the collision spheres? Our would there be an option to buy it as addon like the effect scaling? (For everyone: Here is what i'm talking about: https://www.youtube.com/watch?v=gDULWak2dQ4) Because the collision update would be great for people to use, if they want to code the ship defense dungeon. (Because as i know there are some "problems" with the range of players and the position of the hydra heads to hit them everytime. Also that the mobs will hit the mast proberly. Anyway, thanks for this possibility.
  5. This is a really good explained and easy to understandable guideline. I wish i had this as i learned more about metin2 and python in general a few years ago. Thanks for your time !
  6. Okay, so i'm sorry for my missunderstanding. Maybe someone like @xP3NG3Rx can provide some kind of pseudo code for this.
  7. You still didn't got the point? Okay here is my item_scale.txt. As you can see it just repeats for the new sashes. It isn't the offical method, but the positions are correct.
  8. Did you maybe thought about the way that all sash's use the same values for the position correction? If you watch the old values you will notice something. Don't just look straight forward. Sometimes you also need to watch your surroundings. That's how i had done it. It isn't the offical way, but it's working nicely for me and looks like the offical one. I hope you will get my hint. Greetings
  9. Nice list Here is a benchmark for some compression algorithms for you to choose: https://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO Note: This benchmark isn't done specificly for metin
  10. I've done this by sending the client an information what kind of datatypes in which order got send. So i modified my ChatPacket function to some kind of this: Also then i reversed this on the client-side to get the arguments and got myself a StringModifier to push args step by step. And this is almost everything you need. Here is how i call the strings on the Server: ch->ChatPacket(CHAT_TYPE_INFO, 934, "dd"); I hope this few hints will help you out for a bit.
  11. @Rakancito Maybe i'm wrong, but this version of the 17.5 archer skill is fixed to the character. On the offical server the "bomb" get's dropped on a localtion and isn't directly bound on the character himself. So my question is, is the GIF just an older development state or is it up2date? Here is a video (don't mind what the videocreator is talking ) what i'm talking about:
  12. I didn't tested the Effect with many drops. But this is a server specific "Feature" and not part of this System. Anyways those animated drops can easy disabled by some devs which understand how this release works. (HINT: You just need to edit two lines in PythonItem.cpp) Also this System was built, because i hate those mde weapons which will have a lower Performance as inbuilt animations. Anyways lets see what the future will bring to us.
  13. Hello together, today i want to share something with you for christmas. But before we start let me tell you, this system isn't in is final form! I will update this thread (if metin2dev will still exist in the new year) to complete this system. Anyways let's get startet. What kind of System is it? You can use inbuilt animations on objects (map objects) and weapons (currently not working, just if the weapon is a ground item instance! I'm working on it). Here is a preview: https://puu.sh/ERRYB/6db6f3d686.mp4 First you can see a placed object on the map with inbuilt animation (sorry it is really far away :O) Later you can see a weapon (thanks to @Tatsumaru) which has an inbuilt animation. But this is currently just working as ground instance and not in the player hands itself. How to implement it What is missing for now? Currently the deforming for weapons holden by the player won't work. But as i said in the first few lines, i will add it later. But for now i want to give this parts to you for christmas! (Sorry i'm currently out of time to finish it before 2019 ends... Maybe someone of you want to complet it in his on way). The attachments Animated Object: https://mega.nz/#!aJZARAxA!HxxLZLnJs00bmcFTYwL0y0kiIVwsu5Kgph7JQrwtc6M <- Thanks to KillMoves who did this sometime ago!!! (Animated Weapon: https://mega.nz/#!agFgHCYD!X1H-UzB8ByKIAtu_cZT3FWbFrHZSZ5wTQefupICMOWc <- Thanks to Tatsumaru!!! Have fun with it, your B4RC0D3
  14. B.U.M.P. I'm still looking for the inbuilt animation on a weapon.
  15. Thank's for the fast response Changed the attachement to a mega link @.plechito' https://mega.nz/#!HYYgUS7b!MYqDqKv1Qa5D1lF3chN-0loq2B8W41PEdCFgk_hrqgQ
  • 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.