منظمة قانون التطور - Evolution Law Organization
موضوع بعنوان :شرح : تركيب ستايل اختيار الشخصيات الرسمي
الكاتب :CSS


سلام عليكم ورحمة الله وبركاته
اقدم لكم ستايل الشخصيات الرسمي
صوره بعد التركيب:
p_1572d76bu1

الستايل معرب ومعه شرح تركيب من  قبل العضو ايتاشي
والستايل خالي من المشاكل وكامل
اتركم مع شرح الاخ ايتاشي
بسم الله الرحمن الرحيم

والصلاة والسلام علي اشرف المرسلين محمد بن عبد الله


والان نذهب للشرح

قبل بدا في تركيب ركز في حاجات المهمة يعني ابحث عن الحاجة قبل ما تضيف لقيتها موجودة

متحطهاش كمان مره عشان هيحصل خطا

في ركب الامر مره واحده فقط 

ابدا وطبق معي نسخ لصق ورجاء تركيز علي مسافات
افتح ملف

constinfo.py


ابحث عن

PVPMODE_PROTECTED_LEVEL = 30


اضغط انتر مرتان

واضف:

ACCOUNT_NAME = "AhmedKhamis"
WOLF_MAN = "ENABLED"    # ENABLED/DISABLED
WOLF_WOMEN = "DISABLED"    # ENABLED/DISABLED



افتح ملف

İntrologin.py



ابحث عن:
self.PopupDisplayMessage(localeInfo.LOGIN_CONNECT_SUCCESS)



اضف فوقه مباشراً:

constInfo.ACCOUNT_NAME = str(self.idEditLine.GetText())


افتح ملف

ui.py



ابحث عن

            elif Type == "thinboard":
                parent.Children[Index] = ThinBoard()
                parent.Children[Index].SetParent(parent)
                self.LoadElementThinBoard(parent.Children[Index], ElementValue, parent)


اترك اسفله سطر

واضف


            elif Type == "thinboard_gold":
                parent.Children[Index] = ThinBoardGold()
                parent.Children[Index].SetParent(parent)
                self.LoadElementThinBoardGold(parent.Children[Index], ElementValue, parent)
            elif Type == "thinboard_circle":
                parent.Children[Index] = ThinBoardCircle()
                parent.Children[Index].SetParent(parent)
                self.LoadElementThinBoardCircle(parent.Children[Index], ElementValue, parent)




ابحث عن: 

    def LoadElementThinBoard(self, window, value, parentWindow):

        if False == self.CheckKeyList(value["name"], value, self.BOARD_KEY_LIST):
            return False

        window.SetSize(int(value["width"]), int(value["height"]))
        self.LoadDefaultData(window, value, parentWindow)

        return True


اترك سطر

واضف

    def LoadElementThinBoardGold(self, window, value, parentWindow):
        if FALSE == self.CheckKeyList(value["name"], value, self.BOARD_KEY_LIST):
            return FALSE

        window.SetSize(int(value["width"]), int(value["height"]))
        self.LoadDefaultData(window, value, parentWindow)
        return TRUE

    def LoadElementThinBoardCircle(self, window, value, parentWindow):
        if FALSE == self.CheckKeyList(value["name"], value, self.BOARD_KEY_LIST):
            return FALSE
        
        window.SetSize(int(value["width"]), int(value["height"]))
        self.LoadDefaultData(window, value, parentWindow)
        return TRUE

        

ابحث عن:

    def LockScroll(self):
        self.lockFlag = True

    def UnlockScroll(self):
        self.lockFlag = False


اضف تحته

class ThinBoardGold(Window):
    CORNER_WIDTH = 16
    CORNER_HEIGHT = 16
    LINE_WIDTH = 16
    LINE_HEIGHT = 16
    BOARD_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 0.51)

    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/thinboardgold/ThinBoard_Corner_"+dir+".tga" for dir in ["LeftTop_gold", "LeftBottom_gold","RightTop_gold", "RightBottom_gold"]]
        LineFileNames = [ "d:/ymir work/ui/pattern/thinboardgold/ThinBoard_Line_"+dir+".tga" for dir in ["Left_gold", "Right_gold", "Top_gold", "Bottom_gold"]]
        
        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)

        Base = ExpandedImageBox()
        Base.SetParent(self)
        Base.AddFlag("attach")
        Base.AddFlag("not_pick")
        Base.LoadImage("d:/ymir work/ui/pattern/thinboardgold/thinboard_bg_gold.tga")
        Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
        Base.Show()
        self.Base = Base

        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, horizontalShowingPercentage, verticalShowingPercentage)

    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()

class ThinBoardCircle(Window):
    CORNER_WIDTH = 4
    CORNER_HEIGHT = 4
    LINE_WIDTH = 4
    LINE_HEIGHT = 4
    BOARD_COLOR = grp.GenerateColor(255.0, 255.0, 255.0, 1.0)

    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/thinboardcircle/ThinBoard_Corner_"+dir+".tga" for dir in ["LeftTop_circle","LeftBottom_circle","RightTop_circle","RightBottom_circle"] ]
        LineFileNames = [ "d:/ymir work/ui/pattern/thinboardcircle/ThinBoard_Line_"+dir+".tga" for dir in ["Left_circle","Right_circle","Top_circle","Bottom_circle"] ]

        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)

        Base = Bar()
        Base.SetParent(self)
        Base.AddFlag("attach")
        Base.AddFlag("not_pick")
        Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT)
        Base.SetColor(self.BOARD_COLOR)
        Base.Show()
        self.Base = Base

        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)
        self.Base.SetSize(width - self.CORNER_WIDTH*2, height - self.CORNER_HEIGHT*2)

    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()


    
افتح ملف

uitooltip.py


ابحث عن

def AutoAppendTextLine(self, text, color = FONT_COLOR, centerAlign = TRUE):


[الي اخر سطر]
return textLine

واترك سطر واضف

    def AutoAppendNewTextLine(self, text, color = FONT_COLOR, centerAlign = True):
        textLine = ui.TextLine()
        textLine.SetParent(self)
        textLine.SetFontName(self.defFontName)
        textLine.SetPackedFontColor(color)
        textLine.SetText(text)
        textLine.SetOutline()
        textLine.SetFeather(FALSE)
        textLine.Show()
        if localeInfo.IsARABIC():
            textLine.SetHorizontalAlignRight()
        
        textLine.SetPosition(15, self.toolTipHeight)
        
        self.childrenList.append(textLine)
        (textWidth, textHeight) = textLine.GetTextSize()
        textWidth += 30
        textHeight += 10
        if self.toolTipWidth < textWidth:
            self.toolTipWidth = textWidth
        
        self.toolTipHeight += textHeight
        self.ResizeToolTipText(textWidth, self.toolTipHeight)
        return textLine



ابحث عن

    def ResizeToolTip(self):
        self.SetSize(self.toolTipWidth, self.TOOL_TIP_HEIGHT + self.toolTipHeight)

واترك سطر

واضف

    def ResizeToolTipText(self, x, y):
        self.SetSize(x, y)


انتهينا من الروت

الان نروح نفك الوكال

افتح ملف

locale_interface.txt


واضف فى الاخر

SELECT_NO_GUILD    لا وجود لرابطة
SELECT_YES_GUILD    Guild Name: %s
SELECT_PLAYTIME    وقت اللعب (دقيقة)
JOBDESC_WARRIOR_PATH    محارب
JOBDESC_ASSASSIN_PATH    نينجا
JOBDESC_SURA_PATH    سورا
JOBDESC_SHAMAN_PATH    شامان
JOBDESC_WOLFMAN_PATH    ليكانر


افتح ملف
locale_game.txt

واضف فى الاخر

EMPIRE_SELECT    اختر
EMPIRE_SELECT_MODE    أختيار الابراطورية
CHARACTER_CREATE_MODE    أنشاء شخصية
CHARACTER_SELECT_MODE    أختيار الشخصية
CHARACTER_CREATE_MALE    ذكر
CHARACTER_CREATE_FEMALE    انثي
CHARACTER_CREATE_APPEARANCE1    شكل 1
CHARACTER_CREATE_APPEARANCE2    شكل 2
INTRO_SELECT_LEVEL    Lv. %d

ولا ننسى ان نفتح ملف الاندكس الموجود بالباتش ونضيف

*
Select_Metin2
*


طبعاً لازم يكون تحتها وفوقها نجمه عشان تتفعل في الكلاينت
وهذا رابط تحميل الملفات الباقيه للستايل
https://mega.nz/file/nlsWRC7Y#qqW90D7bDLgUkJMgnqgAqmhve3L2HcLAZo3feHUp_xY
وهنا ننتهي من الموضوع ومبروك عليكم التركيب
ولا تنسون الدعاء للأخ ايتاشي و  لي