-
Posts
271 -
Joined
-
Last visited
-
Days Won
258
Content Type
Forums
Articles
Blogs
Events
Gallery
Store
Downloads
Profiles
Everything posted by xpro
-
Old: New: Metin2 Mini Map .rar
-
[C++]Pity System with Seal of God and UI refine from screen
xpro replied to xpro's topic in C++ / Systems
yes -
Password: metin2.network 2a73efe636332b4c0ed4409567281b77.mp4 Dragon Soul Assistment.rar
-
Password: metin2.network In item_proto.txt at line LIMIT_NONE 0 change to LIMIT_PITTY_REFINE 3 And value 3; is the necessarry pitty you must have to "guarantee success" Pitty System.rar
- 50 replies
-
- 13
-
In "game/char.cpp" //Search for: // 기본 값들 SetPoint(POINT_MOV_SPEED, 100); SetPoint(POINT_ATT_SPEED, 100); PointChange(POINT_ATT_SPEED, GetPoint(POINT_PARTY_HASTE_BONUS)); SetPoint(POINT_CASTING_SPEED, 100); //change like you want: // 기본 값들 SetPoint(POINT_MOV_SPEED, 200); // 200 move speed SetPoint(POINT_ATT_SPEED, 500); // 500 attack speed PointChange(POINT_ATT_SPEED, GetPoint(POINT_PARTY_HASTE_BONUS)); SetPoint(POINT_CASTING_SPEED, 1000); // league of legends urf mode
-
Pass:KimetsuUnpack2210 Download: [Hidden Content]
-
Download: [Hidden Content] Bonus Veren Battle Pass.rar
-
141-systems.mp4.4915ecf9308421f5f9238d9ac130952f.mp4 Download: [Hidden Content]
-
Download: [Hidden Content]
-
you can check on zenaris files what is have extra there
-
Download: [Hidden Content]
-
go to client src, in locale_inc disable CH3HP Protection, and recompile, enter with new launcher
- 185 replies
-
- 1
-
- 2000 players online
- best server files
- (and 4 more)
-
no, you need to be premium member to download
- 185 replies
-
- 2000 players online
- best server files
- (and 4 more)
-
locale_game.txt NEW_KOMUNIKAT1 Testowy Komunikat Jeden NEW_KOMUNIKAT2 Testowy Komunikat Dwa NEW_KOMUNIKAT3 Testowy Komunikat Trzy NEW_KOMUNIKAT4 Testowy Komunikat Cztery NEW_KOMUNIKAT5 Testowy Komunikat Piec NEW_KOMUNIKAT6 Testowy Komunikat Szesc ui.py 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/ThinBoard_Corner_"+dir+".tga" for dir in ["LeftTop","LeftBottom","RightTop","RightBottom"] ] LineFileNames = [ "d:/ymir work/ui/pattern/ThinBoard_Line_"+dir+".tga" for dir in ["Left","Right","Top","Bottom"] ] Base = ExpandedImageBox() Base.AddFlag("not_pick") Base.LoadImage("d:/ymir work/ui/cien.png") 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() and elif Type == "middleboard": parent.Children[Index] = MiddleBoard() parent.Children[Index].SetParent(parent) self.LoadElementThinBoard(parent.Children[Index], ElementValue, parent) introloading.py add import: import background import random Find: self.loadingGage=self.GetChild("FullGage") add after: self.loadingTip2=self.GetChild("LoadingTip") Find: def LoadData(self, playerX, playerY): and add: def LoadData(self, playerX, playerY): grzybovh = [ localeInfo.NEW_KOMUNIKAT1, localeInfo.NEW_KOMUNIKAT2, ] grzybovh2 = [ localeInfo.NEW_KOMUNIKAT3, localeInfo.NEW_KOMUNIKAT4, ] grzybovh3 = [ localeInfo.NEW_KOMUNIKAT5, localeInfo.NEW_KOMUNIKAT6, ] #Here you can add any maps, names from atlasinfo if background.GetCurrentMapName() == "metin2_map_a1": self.loadingTip2.SetText(random.choice(grzybovh)) elif background.GetCurrentMapName() == "metin2_map_c1": self.loadingTip2.SetText(random.choice(grzybovh2)) else: self.loadingTip2.SetText(random.choice(grzybovh3)) uiscript/introloading.py { "name": "TipBackground", "type": "middleboard", "x": float(SCREEN_WIDTH) / 2 - (SCREEN_WIDTH / 4), "y": float(SCREEN_HEIGHT) * 500 / 600.0 - 50, "width": SCREEN_WIDTH / 2, "height": 50, "children": [ { "name": "LoadingTip", "type": "text", "x": float(SCREEN_WIDTH) / 4, "y": 16, "text": " ", "text_horizontal_align": "center", "fontsize": "LARGE", }, ], },
-
Download again please, i add the key
- 185 replies
-
- 2000 players online
- best server files
- (and 4 more)
-
Previews: [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] [Hidden Content] Mysql 5.6 Freebsd 12+ If you need help with instalation, text me on discord metin2.network Download: Download Link Solana.rar Necesary Libs Libs.rar
- 185 replies
-
- 61
-
- 2000 players online
- best server files
- (and 4 more)
-
You have 12 hours to add a valid download link, if not the topic will be send to Trash Category ^^
-
Hello, today, I'll present a complete guide on how to increase the length of character names. Simply changing the character limit isn't enough some interfaces need adjustments, such as the friend request window, the field for entering the player's nickname when sending a private message, and during character creation. When designing the interface, consider how many characters will be allowed to ensure that player names fit comfortably. UserInterface/StdAfx.h Find: PLAYER_NAME_MAX_LEN = 12, Change: PLAYER_NAME_MAX_LEN = 24, // Specifies the maximum number of characters allowed for a player name. game/src/input_login.cpp Find: void CInputLogin::CharacterCreate (LPDESC d, const char* data) if (strlen (pinfo->name) > 12) { d->Packet (&packFailure, sizeof (packFailure)); return; } Change: if (strlen (pinfo->name) > 24) { d->Packet (&packFailure, sizeof (packFailure)); return; } root/uiwhisper.py Find: def LoadDialog(self): self.resizeButton.SetPosition(280, 180) Change: self.resizeButton.SetPosition(380, 180) SQL Queries: ALTER TABLE player MODIFY COLUMN name VARCHAR(24); ALTER TABLE player_deleted MODIFY COLUMN name VARCHAR(24); ALTER TABLE change_name MODIFY COLUMN old_name VARCHAR(24), MODIFY COLUMN new_name VARCHAR(24); ALTER TABLE command_log MODIFY COLUMN username VARCHAR(24); ALTER TABLE levellog MODIFY COLUMN name VARCHAR(24); uiscript/whisperdialog.py window = { "name": "WhisperDialog", "style": ("movable", "float",), "x": 0, "y": 0, "width": 450, "height": 200, "children": ( { "name": "board", "type": "thinboard", "style": ("attach",), "x": 0, "y": 0, "width": 450, "height": 200, "children": ( { "name": "name_slot", "type": "image", "style": ("attach",), "x": 10, "y": 10, "image": "d:/ymir work/ui/public/Parameter_Slot_06.sub", "children": ( { "name": "titlename", "type": "text", "x": 3, "y": 3, "text": uiScriptLocale.WHISPER_NAME, }, { "name": "titlename_edit", "type": "editline", "x": 3, "y": 3, "width": 240, "height": 17, "input_limit": PLAYER_NAME_MAX_LEN, "text": uiScriptLocale.WHISPER_NAME, }, ), }, { "name": "gamemastermark", "type": "expanded_image", "style": ("attach",), "x": 306, "y": 6, "x_scale": 0.2, "y_scale": 0.2, "image": LOCALE_PATH + "/effect/ymirred.tga", }, { "name": "ignorebutton", "type": "toggle_button", "x": 245, "y": 10, "text": uiScriptLocale.WHISPER_BAN, "default_image": "d:/ymir work/ui/public/small_thin_button_01.sub", "over_image": "d:/ymir work/ui/public/small_thin_button_02.sub", "down_image": "d:/ymir work/ui/public/small_thin_button_03.sub", }, { "name": "reportviolentwhisperbutton", "type": "button", "x": 245, "y": 10, "text": uiScriptLocale.WHISPER_REPORT, "default_image": "d:/ymir work/ui/public/large_button_01.sub", "over_image": "d:/ymir work/ui/public/large_button_02.sub", "down_image": "d:/ymir work/ui/public/large_button_03.sub", }, { "name": "acceptbutton", "type": "button", "x": 235, "y": 9, "text": uiScriptLocale.OK, "default_image": "d:/ymir work/ui/public/small_thin_button_01.sub", "over_image": "d:/ymir work/ui/public/small_thin_button_02.sub", "down_image": "d:/ymir work/ui/public/small_thin_button_03.sub", }, { "name": "minimizebutton", "type": "button", "x": 380, "y": 12, "tooltip_text": uiScriptLocale.MINIMIZE, "default_image": "d:/ymir work/ui/public/minimize_button_01.sub", "over_image": "d:/ymir work/ui/public/minimize_button_02.sub", "down_image": "d:/ymir work/ui/public/minimize_button_03.sub", }, { "name": "closebutton", "type": "button", "x": 406, "y": 12, "tooltip_text": uiScriptLocale.CLOSE, "default_image": "d:/ymir work/ui/public/close_button_01.sub", "over_image": "d:/ymir work/ui/public/close_button_02.sub", "down_image": "d:/ymir work/ui/public/close_button_03.sub", }, { "name": "scrollbar", "type": "thin_scrollbar", "x": 406, "y": 35, "size": 120, }, { "name": "editbar", "type": "bar", "x": 10, "y": 140, "width": 420, "height": 50, "color": 0x77000000, "children": ( { "name": "chatline", "type": "editline", "x": 5, "y": 5, "width": 350, "height": 40, "with_codepage": 1, "input_limit": 40, "limit_width": 350, "multi_line": 1, }, { "name": "sendbutton", "type": "button", "x": 360, "y": 10, "text": uiScriptLocale.WHISPER_SEND, "default_image": "d:/ymir work/ui/public/xlarge_thin_button_01.sub", "over_image": "d:/ymir work/ui/public/xlarge_thin_button_02.sub", "down_image": "d:/ymir work/ui/public/xlarge_thin_button_03.sub", }, ), }, ), }, ), } uimessenger.py Find def OnPressAddFriendButton(self): friendNameBoard.SetTitle(localeInfo.MESSENGER_ADD_FRIEND) Add after friendNameBoard.SetMaxLength(24) uiscript/createcharacterwindow.py Find: "input_limit": 12, Change: "input_limit": 24, Find: { "name": "character_name_slot", "type": "image", "x": 97, "y": 4, "image": "d:/ymir work/ui/public/parameter_slot_04.sub", }, Change: { "name": "character_name_slot", "type": "image", "x": 97, "y": 4, "image": "d:/ymir work/ui/public/parameter_slot_06.sub", },