Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 09/22/2022 in all areas

  1. علاوة طقم الكميائي للتوضيح [Hidden Content] تحميل
    11 points
  2. يمكنك عرض الشخصيات غير اللاعبة أو الوحوش عند وصف مهمة مثلا. الإستعمال: setrendermob(racenum) racenum = الوحش أو التاجر. التحميل: MEGA
    7 points
  3. الشرح المرفق طبقته على ملفاتي وسحبت الdiff، في حال أردت تعدي الحد الحالي من النقاط المسموحة POINT_MAX_NUM = 255 ، طبق الشرح المرفق. [Hidden Content] extended_points.diff *بعد التعديلات قم بإنشاء كل من Game/Db/Binary/DumpProto مرة أخرى. *في حال تواجد أنظمة إضافية يجب التحقق منها.
    7 points
  4. السلام عليكم ورحمه الله وبركاته ----------- نظام المكافأة اليوميه -- Download -- النظام مفعل بمكافأة واحده كل 24 ساعه من خلال كويست بيضغط عليه بتظهر نافذه النظام --- من خلال ورقه cmd_general.cpp هتقدر تغير المكافاة من هنا وتكتب مجموعه وسيظهرله مكافأة عشوائيه int REWARDS[][2] = { //Here goes rewards. {30006, 1}, // {vnum, count} {30007, 1}, // {vnum, count} }; --- ولا تفتح النافذه مره اخري إلا بعد 24 ساعه لو عايز تعدل براحتك بس هتحسب بالثواني 1يوم = 86400 ثانيه 3ايام = 3ايام*24ساعه*60دقيقه*60ثانيه = 259200 ثانيه أو كل ساعه = 60 دقيقه * 60 ثانيه = 3600 ثانيه --- من خلال نفس الورقه cmd_general.cpp ch->SetQuestFlag("daily_reward.can_open_dreward", get_global_time()+86400); ---
    4 points
  5. لو ماعندك دالة : def SetThinBoardSize ضيفها في ل uitooltip def SetThinBoardSize(self, width, height = 12): self.toolTipWidth = width self.toolTipHeight = height
    3 points
  6. شكل نافذة الشخصية (C) مثل الرسمي صورة إفتح ui.py استبدل Class ImageBox طبعا قارن كلاس حقك مع هذا يلي تحت وضف له يلي ناقص أو العكس class ImageBox(Window): def __init__(self, layer = "UI"): Window.__init__(self, layer) self.name="" self.eventDict={} self.eventFunc = {"mouse_click" : None, "mouse_over_in" : None, "mouse_over_out" : None} self.eventArgs = {"mouse_click" : None, "mouse_over_in" : None, "mouse_over_out" : None} self.argDict={} self.eventDict={} def __del__(self): Window.__del__(self) def RegisterWindow(self, layer): self.hWnd = wndMgr.RegisterImageBox(self, layer) def LoadImage(self, imageName): self.name=imageName wndMgr.LoadImage(self.hWnd, imageName) if len(self.eventDict)!=0: print "LOAD IMAGE", self, self.eventDict def SetAlpha(self, alpha): wndMgr.SetDiffuseColor(self.hWnd, 1.0, 1.0, 1.0, alpha) def GetWidth(self): return wndMgr.GetWidth(self.hWnd) def GetHeight(self): return wndMgr.GetHeight(self.hWnd) ############################################# ## إحذف الكومنت اذا عندك هاذي الدالة # def LeftRightReverse(self): # wndMgr.LeftRightReverseImageBox(self.hWnd) ############################################# def OnMouseLeftButtonUp(self): try: apply(self.eventDict["MOUSE_LEFT_UP"], self.argDict["MOUSE_LEFT_UP"]) except KeyError: pass def OnMouseLeftButtonDown(self): try: apply(self.eventDict["MOUSE_LEFT_DOWN"], self.argDict["MOUSE_LEFT_DOWN"]) except KeyError: pass def SAFE_SetStringEvent(self, event, func, *args): self.eventDict[event]=__mem_func__(func) self.argDict[event]=args def SAFE_SetMouseClickEvent(self, func, *args): self.eventDict["MOUSE_LEFT_DOWN"]=__mem_func__(func) self.argDict["MOUSE_LEFT_DOWN"]=args def SetEvent(self, func, *args) : result = self.eventFunc.has_key(args[0]) if result : self.eventFunc[args[0]] = func self.eventArgs[args[0]] = args else : print "[ERROR] ui.py SetEvent, Can`t Find has_key : %s" % args[0] def OnMouseOverIn(self): try: self.eventDict["MOUSE_OVER_IN"]() except KeyError: pass def OnMouseOverOut(self): try: self.eventDict["MOUSE_OVER_OUT"]() except KeyError: pass def SAFE_SetStringEvent(self, event, func): self.eventDict[event]=__mem_func__(func) إفتح uiCharacter.py إبحث عن FACE_IMAGE_DICT = { playerSettingModule.RACE_WARRIOR_M : "icon/face/warrior_m.tga", playerSettingModule.RACE_WARRIOR_W : "icon/face/warrior_w.tga", playerSettingModule.RACE_ASSASSIN_M : "icon/face/assassin_m.tga", playerSettingModule.RACE_ASSASSIN_W : "icon/face/assassin_w.tga", playerSettingModule.RACE_SURA_M : "icon/face/sura_m.tga", playerSettingModule.RACE_SURA_W : "icon/face/sura_w.tga", playerSettingModule.RACE_SHAMAN_M : "icon/face/shaman_m.tga", playerSettingModule.RACE_SHAMAN_W : "icon/face/shaman_w.tga", } if app.ENABLE_WOLFMAN_CHARACTER: FACE_IMAGE_DICT.update({playerSettingModule.RACE_WOLFMAN_M : "icon/face/wolfman_m.tga",}) أضف تحت CHARINFO_TOOLTIP_TEXT = { 0: localeInfo.STAT_TOOLTIP_LEVEL, 1: localeInfo.STAT_TOOLTIP_EXP, 2: localeInfo.STAT_TOOLTIP_POINT, 3: localeInfo.STAT_TOOLTIP_IMG_CON, 4: localeInfo.STAT_TOOLTIP_IMG_INT, 5: localeInfo.STAT_TOOLTIP_IMG_STR, 6: localeInfo.STAT_TOOLTIP_IMG_DEX, 7: localeInfo.STAT_TOOLTIP_HP, 8: localeInfo.STAT_TOOLTIP_SP, 9: localeInfo.STAT_TOOLTIP_ATT, 10: localeInfo.STAT_TOOLTIP_DEF, 11: localeInfo.STAT_TOOLTIP_MOVE_SPEED, 12: localeInfo.STAT_TOOLTIP_ATT_SPEED, 13: localeInfo.STAT_TOOLTIP_CAST_SPEED, 14: localeInfo.STAT_TOOLTIP_MAG_ATT, 15: localeInfo.STAT_TOOLTIP_MAG_DEF, 16: localeInfo.STAT_TOOLTIP_PASSIVE, 17: localeInfo.STAT_TOOLTIP_POINT, 18: localeInfo.STAT_TOOLTIP_SUPPORT_SKILL, 19: localeInfo.STAT_TOOLTIP_ACTION, 20: localeInfo.STAT_TOOLTIP_REACTION, 21: localeInfo.STAT_TOOLTIP_SPECIAL_ACTION, 22: localeInfo.STAT_TOOLTIP_TAB_CHARACTER, 23: localeInfo.STAT_TOOLTIP_TAB_SKILL, 24: localeInfo.STAT_TOOLTIP_TAB_EMOTICON, 25: localeInfo.STAT_TOOLTIP_TAB_QUEST, 26: localeInfo.STAT_TOOLTIP_STAT } إبحث عن مايلي في def __Initialize self.skillPageDict = None أضف تحت self.CharInfoImg = {} إبحث عن self.activeSkillGroupName = self.GetChild("Active_Skill_Group_Name") أضف تحت self.CharInfoImg = { 0 : self.GetChild("Lv_ToolTip"), 1 : self.GetChild("Exp_ToolTip"), 2 : self.GetChild("Status_Plus_Label"), 3 : self.GetChild("HTH_IMG"), 4 : self.GetChild("INT_IMG"), 5 : self.GetChild("STR_IMG"), 6 : self.GetChild("DEX_IMG"), 7 : self.GetChild("HEL_IMG"), 8 : self.GetChild("SP_IMG"), 9 : self.GetChild("ATT_IMG"), 10 : self.GetChild("DEF_IMG"), 11 : self.GetChild("MSPD_IMG"), 12 : self.GetChild("ASPD_IMG"), 13 : self.GetChild("CSPD_IMG"), 14 : self.GetChild("MATT_IMG"), 15 : self.GetChild("MDEF_IMG"), 16 : self.GetChild("ER_IMG"), 17 : self.GetChild("Active_Skill_Point_Label"), 18 : self.GetChild("Support_Skill_ToolTip"), 19 : self.GetChild("Action_Bar_Img"), 20 : self.GetChild("Reaction_Bar_Img"), 21 : self.GetChild("Special_Action_Bar_Img"), 22 : self.GetChild("Tab_Button_01"), 23 : self.GetChild("Tab_Button_02"), 24 : self.GetChild("Tab_Button_03"), 25 : self.GetChild("Tab_Button_04"), 26 : self.GetChild("Char_Info_Status_img"), } for (key, CharacterInfoImg) in self.CharInfoImg.items(): CharacterInfoImg.OnMouseOverIn = lambda arg = self, i = key: arg.__ImageOverIn(i) CharacterInfoImg.OnMouseOverOut = lambda arg = self: arg.__ImageOverOut() ###################################### ## احذف ## for loop ' ## ذي اذا الازرار عندك تحتوي على ## OnMouseOver for i in xrange(4): btnIndex = 22+i self.CharInfoImg[btnIndex].ShowToolTip = lambda arg = btnIndex: self.__ImageOverIn(arg) self.CharInfoImg[btnIndex].HideToolTip = lambda arg = btnIndex: self.__ImageOverOut() ###################################### إبحث عن def __SetSkillSlotEvent(self): أضف فوق def __ImageOverIn(self, i): self.CharInfoTooltip = uiToolTip.ToolTip() pos_x, pos_y = wndMgr.GetMousePosition() self.CharInfoTooltip.ClearToolTip() self.CharInfoTooltip.SetThinBoardSize(11) self.CharInfoTooltip.SetToolTipPosition(pos_x + 50, pos_y + 50) self.CharInfoTooltip.AutoAppendNewTextLine(CHARINFO_TOOLTIP_TEXT[i], 0xffffff00) self.CharInfoTooltip.Show() def __ImageOverOut(self): self.CharInfoTooltip.Hide() Locale_game.txt STAT_MINUS_CON تعديل طاقة الحياة (الوقت المتبقي: %d) STAT_MINUS_DEX تعديل المناورة (الفرص المتبقية: %d) STAT_MINUS_INT تعديل الذكاء (الفرص المتبقية: %d) STAT_MINUS_STR تعديل القوة (الفرص المتبقية: %d) STAT_TOOLTIP_ACTION نشاطات STAT_TOOLTIP_ATT قيمة الهجوم STAT_TOOLTIP_ATT_SPEED سرعة الهجوم STAT_TOOLTIP_CAST_SPEED سرعة السحر STAT_TOOLTIP_CON يرفع نقاط الحياة و الدفاع STAT_TOOLTIP_DEF دفاع STAT_TOOLTIP_DEX ارتفاع الهجوم والمناورة STAT_TOOLTIP_DODGE_PER فرص تفادي الهجوم بالسهام STAT_TOOLTIP_EXP خبرة EXP STAT_TOOLTIP_HP نقاط الحياة STAT_TOOLTIP_IMG_CON حيوية: يرفع نقاط الحياة و الدفاع STAT_TOOLTIP_IMG_DEX مناورة: يرفع نقاط الهجوم والمناورة STAT_TOOLTIP_IMG_INT ذكاء: يرفع من نقاط الأسلوب، وقوة الدفاع والهجوم السحري. STAT_TOOLTIP_IMG_STR قوة: يرفع من قيمة الهجوم والضرر STAT_TOOLTIP_INT يرفع من نقاط الأسلوب، وقوة الهجوم السحري والدفاع السحري. STAT_TOOLTIP_LEVEL مستوى STAT_TOOLTIP_MAG_ATT قيمة الهجوم السحري STAT_TOOLTIP_MAG_DEF الدفاع السحري STAT_TOOLTIP_MOVE_SPEED سرعة التحرك STAT_TOOLTIP_PASSIVE علاوة الأثر القديم STAT_TOOLTIP_POINT نقاط STAT_TOOLTIP_REACTION ردود فعل STAT_TOOLTIP_SP نقاط الأسلوب STAT_TOOLTIP_SPECIAL_ACTION نشاط خاص STAT_TOOLTIP_STAT القيم STAT_TOOLTIP_STR يرفع من قيمة الهجوم والضرر STAT_TOOLTIP_SUPPORT_SKILL المهارات الثانوية STAT_TOOLTIP_TAB_CHARACTER شخصية STAT_TOOLTIP_TAB_EMOTICON مشاعر STAT_TOOLTIP_TAB_QUEST المهام STAT_TOOLTIP_TAB_SKILL المهارات CharacterWindow.py في المرفقات CharacterWindow.py بدون نظام المهمات : اضغط هنا كلمة السر : Mt2Academy.com Character Panel.rar
    2 points
  7. مشكور أخي بس طلعلي المشكل ذا لو تتكرم تساعدني 0927 11:00:25019 :: UISCRIPT_LOAD_ERROR: 'module' object has no attribute 'ENABLE_QUEST_CATEGORY_SYSTEM' [filename UIScript/CharacterWindow.py] 0927 11:00:25040 :: uiCharacter.py(line:592) __LoadWindow uiCharacter.py(line:303) __BindObject ui.py(line:3474) GetChild CharacterWindow.__LoadWindow - <type 'exceptions.KeyError'>:'Action_Bar_Img' 0927 11:00:25040 :: ============================================================================================================ 0927 11:00:25040 :: Abort!!!!
    2 points
  8. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح بالعنوان نظام إختيار المهارات بشكل جديد وبسيط وتركيب النظام سهل جدا حيت لايحتاج الى اضافة اي شيئ بالسورس ملاحظة : النظام ليس معرب ويحتاج الى تعريب وتعريبه سهل جدا فيديو للنظام إضغط هنا لتحميل النظام
    2 points
  9. 2 points
  10. z السلام عليكم ورحمة الله وبركاتة شرح عن التقاط العتاد ال ع الأرض كلو بضغطة واحدة : فيديو للتوضيح عرض : شرح التركيب [Hidden Content]
    2 points
  11. نسيت ملف uitooltip.py افتح uitooltip.py ابحث عن def SetThinboardSize أضف فوق 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 أضف فوق def ResizeToolTipText(self, x, y): self.SetSize(x, y)
    2 points
  12. السلام عليكم اقدم نظام الجرع والتفعيلات الدائمة Bykatil199 صورة للنظام : النظام عربي وجاهز للتركيب للتحميل : [Hidden Content]
    2 points
  13. السلام عليكم ورحمة الله وبركاته ----------------------- اختر المهاره عند وصولك للفل 5 ------- Download -------
    1 point
  14. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح في العنوان مستوي البطل قارة يوهارا مع الماب بدون وحوش يمكنك سحب الوحوش من تحديثات الرسمي صور للنظام رابط التحميل ملحوظة ستحتاج لاكمال بعض الدوال الخاصة بالنظام من هذا الرابط ملحوظة2 النظام منقول من احد المنتديات الاجنبية المصدر : ملحوظة 3 : يجب عليك ان يكون لديك بعض الاساسيات لتركيب النظام ملحوظة 4: قم بقراءة جميع ردود الموضوع الاصلي بالمصدر في حال واجهتك احد المشاكل وطرح حلها هناك ملحوظة اخيرة النظام غير معرب وسيتم توفير تعريبه عما قريب
    1 point
  15. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح بالعنوان global rank system صورة للنظام رابط التحميل ملحوظة النظام غير معرب ساقوم بارفاق تعريب عند تعريبه ملحوظة 2 اذا كنت تستعمل نظام اليانغ الغير محدود يلي يجعل اليانغ عندك يتخطي 2 مليار قم بتغير ال DWORD value long long value هنا بملف table.h وpaket.h وملفchar_manger.h واضف داخل لوكال انفو الاضافة المرفقة بالملف ان كنت تستخدم اليانغ غير محدود ان كنت لاتستخدمه ادخل ملف uirank واستبدل NumberToMoneyStringNEW ب NumberToMoneyString ملحوظة 3 ضع مجلد ranking داخل مجلد الروت الخاص بك
    1 point
  16. التعريب : root/uiselectjob.py استبدل المحتوى كامل import ui, event, constInfo, app, uiCommon, chat, net, playerSettingModule, player, localeInfo, wndMgr JOB_NAME_DICT = { 0 : ['محارب جسدي','محارب ذهني'], 1 : ['نينجا عن قرب','نينجا عن بعد'], 2 : ['سراب','سحر أسود'], 3 : ['قوة التنين','قوة العلاج'], 4 : ['Lycan Instinct','N.A.'] } JOB_LIST = { 0 : localeInfo.JOB_WARRIOR, 1 : localeInfo.JOB_ASSASSIN, 2 : localeInfo.JOB_SURA, 3 : localeInfo.JOB_SHAMAN, 4 : localeInfo.JOB_WOLFMAN, } FACE_IMAGE_DICT = { playerSettingModule.RACE_WARRIOR_M : "icon/face/warrior_m.tga", playerSettingModule.RACE_WARRIOR_W : "icon/face/warrior_w.tga", playerSettingModule.RACE_ASSASSIN_M : "icon/face/assassin_m.tga", playerSettingModule.RACE_ASSASSIN_W : "icon/face/assassin_w.tga", playerSettingModule.RACE_SURA_M : "icon/face/sura_m.tga", playerSettingModule.RACE_SURA_W : "icon/face/sura_w.tga", playerSettingModule.RACE_SHAMAN_M : "icon/face/shaman_m.tga", playerSettingModule.RACE_SHAMAN_W : "icon/face/shaman_w.tga", playerSettingModule.RACE_WOLFMAN_M : "icon/face/wolfman_m.tga", } class JobSelectWindow(ui.ScriptWindow): def __init__(self): ui.ScriptWindow.__init__(self) self.isLoaded = 0 self.__LoadWindow() def __LoadWindow(self): if (self.isLoaded == 1): return self.isLoaded = 1 try: PythonScriptLoader = ui.PythonScriptLoader() PythonScriptLoader.LoadScriptFile(self, "UIScript/selectjobwindow.py") except: import exception exception.Abort("SelectJob.LoadWindow.LoadObject") try: self.__BindObjects() except: import exception exception.Abort("SelectJob.LoadWindow.BindObject") self.__BindEvents() def __BindObjects(self): self.titlebar = self.GetChild("TitleBar") self.selectButtonFirst = self.GetChild("SelectButtonFirst") self.selectButtonSecond = self.GetChild("SelectButtonSecond") self.firstSkillSlotBack = self.GetChild("FirstSkillSlotBack") self.secondSkillSlotBack = self.GetChild("SecondSkillSlotBack") self.firstSkillSlot = self.GetChild("FirstSkillSlot") self.secondSkillSlot = self.GetChild("SecondSkillSlot") self.raceImage = self.GetChild("RaceImage") self.infoText = self.GetChild("InfoText") def __BindEvents(self): self.isLoaded = 1 self.titlebar.SetCloseEvent(ui.__mem_func__(self.Close)) self.selectButtonFirst.SetEvent(ui.__mem_func__(self.SelectJobFirstQuestion)) self.selectButtonSecond.SetEvent(ui.__mem_func__(self.SelectJobSecondQuestion)) self.selectButtonFirst.SetText(JOB_NAME_DICT[self.GetRealRace()][0]) self.selectButtonSecond.SetText(JOB_NAME_DICT[self.GetRealRace()][1]) self.infoText.SetText("%s - %s" % (player.GetName(), JOB_LIST[self.GetRealRace()])) self.raceImage.LoadImage(FACE_IMAGE_DICT[net.GetMainActorRace()]) if self.GetRealRace() == 4: self.selectButtonSecond.SetEvent(ui.__mem_func__(self.EmptyFunc)) for k in xrange(6): self.secondSkillSlotBack.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) self.secondSkillSlot.ClearSlot(k) self.secondSkillSlot.SetCoverButton(k, "d:/ymir work/ui/pet/skill_button/skill_enable_button.sub", "d:/ymir work/ui/pet/skill_button/skill_enable_button.sub", "d:/ymir work/ui/pet/skill_button/skill_enable_button.sub", "d:/ymir work/ui/pet/skill_button/skill_enable_button.sub", False, False) self.secondSkillSlot.SetAlwaysRenderCoverButton(k) self.secondSkillSlot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) for i in xrange(6): self.firstSkillSlotBack.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) self.firstSkillSlot.SetSkillSlotNew(i, self.GetSkillIndex()+i, 3, 1) self.firstSkillSlot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) if self.GetRealRace() != 4: for j in xrange(6): self.secondSkillSlotBack.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) self.secondSkillSlot.SetSkillSlotNew(j, self.GetSkillIndex()+j+15, 3, 1) self.secondSkillSlot.SetSlotStyle(wndMgr.SLOT_STYLE_NONE) def GetSkillIndex(self): if self.GetRealRace() == 4: return 170 else: return self.GetRealRace() * 30 + 1 def GetRealRace(self): race = net.GetMainActorRace() if race >= 4: return race-4 else: return race def __OnCloseQuestionDialog(self): if self.questionDialog: self.questionDialog.Close() self.questionDialog = None def EmptyFunc(self): chat.AppendChat(chat.CHAT_TYPE_INFO, " لدى Lycan مجموعة مهارات واحدة فقط متاحة في الوقت الحالي. ") def SelectJobFirstQuestion(self): self.questionDialog = uiCommon.QuestionDialog() self.questionDialog.SetText(" هل أنت متأكد أنك تريد اختيار القدرة : %s" % JOB_NAME_DICT[self.GetRealRace()][0]) self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SelectJobFirst)) self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__OnCloseQuestionDialog)) self.questionDialog.Open() def SelectJobFirst(self): constInfo.SelectJob['QCMD'] = str(1) event.QuestButtonClick(constInfo.SelectJob['QID']) self.RealClose() self.__OnCloseQuestionDialog() def SelectJobSecondQuestion(self): self.questionDialog = uiCommon.QuestionDialog() self.questionDialog.SetText(" هل أنت متأكد أنك تريد اختيار القدرة : %s" % JOB_NAME_DICT[self.GetRealRace()][1]) self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.SelectJobSecond)) self.questionDialog.SetCancelEvent(ui.__mem_func__(self.__OnCloseQuestionDialog)) self.questionDialog.Open() def SelectJobSecond(self): constInfo.SelectJob['QCMD'] = str(2) event.QuestButtonClick(constInfo.SelectJob['QID']) self.RealClose() self.__OnCloseQuestionDialog() def __del__(self): ui.ScriptWindow.__del__(self) def Open(self): self.SetCenterPosition() self.SetTop() self.Show() def Close(self): self.wndpopupdialog = uiCommon.PopupDialog() self.wndpopupdialog.SetText(" لا يمكنك إغلاق هذه النافذة. ") self.wndpopupdialog.Open() def RealClose(self): self.Hide() def Destroy(self): self.RealClose() self.ClearDictionary() uiscript/selectjobwindow.py استبدل المحتوى كامل import uiScriptLocale window = { "name" : "SelectDialog", "style" : ("movable", "float",), "x" : 0, "y" : 0, "width" : 300, "height" : 235, "children" : ( { "name" : "Board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 300, "height" : 235, "children" : ( { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 61, "y" : 7, "width" : 232, "color" : "red", "children": ( { "name" : "TitleName", "type":"text", "x":0, "y":-1, "text":" أختر مهاراتك ", "all_align":"center" }, ), }, { "name" : "InfoTextSlot", "type" : "image", "x" : 110, "y" : 34, "image" : "d:/ymir work/ui/public/Parameter_Slot_05.sub", "children" : ( { "name" : "InfoText", "type": "text", "text": "Tiger - Sef", "x":0, "y":0, "r":1.0, "g":1.0, "b":1.0, "a":1.0, "all_align" : "center", }, ), }, { "name" : "RaceImage", "type" : "image", "x" : 11, "y" : 11, "image" : "d:/ymir work/ui/game/windows/face_warrior.sub" }, { "name" : "RaceSlot", "type" : "image", "x" : 7, "y" : 7, "image" : "d:/ymir work/ui/game/windows/box_face.sub", }, { "name" : "FirstSkillSlotBack", "type" : "grid_table", "x" : 15, "y" : 65, "start_index" : 0, "x_count" : 6, "y_count" : 1, "x_step" : 40, "y_step" : 40, "x_blank" : 6, "y_blank" : 1, "image" : "d:/ymir work/ui/skill_slot_job_1.tga", }, { "name" : "FirstSkillSlot", "type" : "grid_table", "x" : 15 + 4, "y" : 65 + 4, "start_index" : 0, "x_count" : 6, "y_count" : 1, "x_step" : 40, "y_step" : 40, "x_blank" : 6, "y_blank" : 1, }, { "name" : "SecondSkillSlotBack", "type" : "grid_table", "x" : 15, "y" : 150, "start_index" : 0, "x_count" : 6, "y_count" : 1, "x_step" : 40, "y_step" : 40, "x_blank" : 6, "y_blank" : 1, "image" : "d:/ymir work/ui/skill_slot_job_2.tga", }, { "name" : "SecondSkillSlot", "type" : "grid_table", "x" : 15 + 4, "y" : 150 + 4, "start_index" : 0, "x_count" : 6, "y_count" : 1, "x_step" : 40, "y_step" : 40, "x_blank" : 6, "y_blank" : 1, }, { "name" : "SelectButtonFirst", "type" : "button", "x" : 0, "y" : 110, "horizontal_align" : "center", "default_image" : "d:/ymir work/ui/public/XLarge_Button_01.sub", "over_image" : "d:/ymir work/ui/public/XLarge_Button_02.sub", "down_image" : "d:/ymir work/ui/public/XLarge_Button_03.sub", }, { "name" : "SelectButtonSecond", "type" : "button", "x" : 0, "y" : 197, "horizontal_align" : "center", "default_image" : "d:/ymir work/ui/public/XLarge_Button_01.sub", "over_image" : "d:/ymir work/ui/public/XLarge_Button_02.sub", "down_image" : "d:/ymir work/ui/public/XLarge_Button_03.sub", }, ), }, ), }
    1 point
  17. - السلام عليكم ورحمة الله وبركاته . - اليوم نطرح لكم 80 فتحة للتجار . : SrcServer->[email protected] إبحث عن : SHOP_HOST_ITEM_MAX_NUM = 40, SHOP_PRICELIST_MAX_NUM = 40, أستبدلهم ب : SHOP_HOST_ITEM_MAX_NUM = 80, SHOP_PRICELIST_MAX_NUM = 80, : SrcServer->[email protected] إبحث عن : m_pGrid = M2_NEW CGrid(5, 9); أستبدلهم ب : m_pGrid = M2_NEW CGrid(10, 9); : Userinterface->[email protected] إبحث عن : SHOP_HOST_ITEM_MAX_NUM = 40, إستبدلها ب : SHOP_HOST_ITEM_MAX_NUM = 80, : uiscript->[email protected] import uiScriptLocale window = { "name" : "ShopDialog", "x" : SCREEN_WIDTH - 400, "y" : 10, "style" : ("movable", "float",), "width" : 184 + 160, "height" : 328, "children" : ( { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 184 + 160, "height" : 328, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 169 + 160, "color" : "gray", "children" : ( { "name":"TitleName", "type":"text", "x":84+80, "y":4, "text":uiScriptLocale.SHOP_TITLE, "text_horizontal_align":"center" }, ), }, ## Item Slot { "name" : "ItemSlot", "type" : "grid_table", "x" : 12, "y" : 34, "start_index" : 0, "x_count" : 10, "y_count" : 8, "x_step" : 32, "y_step" : 32, "image" : "d:/ymir work/ui/public/Slot_Base.sub", }, ## Buy { "name" : "BuyButton", "type" : "toggle_button", "x" : 21, "y" : 295, "width" : 61, "height" : 21, "text" : uiScriptLocale.SHOP_BUY, "default_image" : "d:/ymir work/ui/public/middle_button_01.sub", "over_image" : "d:/ymir work/ui/public/middle_button_02.sub", "down_image" : "d:/ymir work/ui/public/middle_button_03.sub", }, ## Sell { "name" : "SellButton", "type" : "toggle_button", "x" : 104 + 160, "y" : 295, "width" : 61, "height" : 21, "text" : uiScriptLocale.SHOP_SELL, "default_image" : "d:/ymir work/ui/public/middle_button_01.sub", "over_image" : "d:/ymir work/ui/public/middle_button_02.sub", "down_image" : "d:/ymir work/ui/public/middle_button_03.sub", }, ## Close { "name" : "CloseButton", "type" : "button", "x" : 0, "y" : 295, "horizontal_align" : "center", "text" : uiScriptLocale.PRIVATE_SHOP_CLOSE_BUTTON, "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", }, ), }, ), } - في امان الله .
    1 point
  18. - السلام عليكم ورحمة الله وبركاته . - نطرح لكم اليوم موضوع التجارة ب 24 فتحة . : SrcServer->[email protected] إبحث عن : m_pGrid = M2_NEW CGrid(4,3); إستبدلها ب : m_pGrid = M2_NEW CGrid(6,4); : SrcServer->[email protected] إبحث عن : EXCHANGE_ITEM_MAX_NUM = 12 إستبدلها ب : EXCHANGE_ITEM_MAX_NUM = 24 : Userinterface->[email protected] إبحث عن : EXCHANGE_ITEM_MAX_NUM = 12 إستبدلها ب : EXCHANGE_ITEM_MAX_NUM = 24 : uiscript->[email protected] #ExchangeDialog.py ~ 24 Slot Item #Developed by Samuel import uiScriptLocale ROOT = "d:/ymir work/ui/game/" window = { "name" : "ExchangeDialog", "x" : 0, "y" : 0, "style" : ("movable", "float",), "width" : 400, "height" : 200, "children" : ( { "name" : "board", "type" : "board", "style" : ("attach",), "x" : 0, "y" : 0, "width" : 400, "height" : 200, "children" : ( ## Title { "name" : "TitleBar", "type" : "titlebar", "style" : ("attach",), "x" : 8, "y" : 8, "width" : 384, "color" : "gray", "children" : ( { "name":"TitleName", "type":"text", "x":192, "y":3, "text":uiScriptLocale.EXCHANGE_TITLE, "text_horizontal_align":"center" }, ), }, ## MiddleBar { "name" : "Middle_Bar", "type" : "image", "x" : 200, "y" : 31, "image" : ROOT + "windows/middlebar.sub", }, ## Owner { "name" : "Owner", "type" : "window", "x" : 200, "y" : 33, "width" : 200, "height" : 150, "children" : ( { "name" : "Owner_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 6, "y_count" : 4, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Owner_Money", "type" : "button", "x" : 0, "y" : 136, #"image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "default_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "over_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "down_image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Owner_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Owner_Accept_Light", "type" : "button", "x" : 62, "y" : 135, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, { "name" : "Owner_Accept_Button", "type" : "toggle_button", "x" : 85, "y" : 135, "text" : uiScriptLocale.EXCHANGE_ACCEPT, "default_image" : "d:/ymir work/ui/public/small_button_01.sub", "over_image" : "d:/ymir work/ui/public/small_button_02.sub", "down_image" : "d:/ymir work/ui/public/small_button_03.sub", }, ), }, ## Target { "name" : "Target", "type" : "window", "x" : 10, "y" : 33, "width" : 200, "height" : 150, "children" : ( { "name" : "Target_Slot", "type" : "grid_table", "start_index" : 0, "x" : 0, "y" : 0, "x_count" : 6, "y_count" : 4, "x_step" : 32, "y_step" : 32, "x_blank" : 0, "y_blank" : 0, "image" : "d:/ymir work/ui/public/slot_base.sub", }, { "name" : "Target_Money", "type" : "image", "x" : 0, "y" : 135, "image" : "d:/ymir work/ui/public/parameter_slot_02.sub", "children" : ( { "name" : "Target_Money_Value", "type" : "text", "x" : 59, "y" : 2, "text" : "1234567", "text_horizontal_align" : "right", }, ), }, { "name" : "Target_Accept_Light", "type" : "button", "x" : 62, "y" : 135, "default_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "over_image" : "d:/ymir work/ui/game/windows/accept_button_off.sub", "down_image" : "d:/ymir work/ui/game/windows/accept_button_on.sub", }, ), }, ), }, ), } - في امان الله .
    1 point
  19. السلام عليكم ورحمة الله وبركاته ،، أقدم إليكم بعض شروحات السورس التي يبحث عنها معظم الناس . 1- تفعيل ميزات 6 و 7 في السورس قم بفتح ملف char_item.cpp وقم بالبحث عن (مرتين) : if (LC_IsEurope() || LC_IsSingapore() || LC_IsVietnam()) return false; وقم بوضع علامتي // قبلهما (تعطيلهما حتى يظهروا باللون الأخضر) أو حذفهما 2- تعديل نسبة نجاح الأحجار قم بفتح ملف char_item.cpp وقم بالبحث عن : for (i = 0; i < ITEM_SOCKET_MAX_NUM; ++i) if (item2->GetSocket(i) >= 1 && item2->GetSocket(i) <= 2 && item2->GetSocket(i) >= item->GetValue(2)) { if (number(1, 100) <= 30) // 30 Is Success Rate(30 هي نسبة النجاح) بإمكانك تعديلها لأي رقم تريد . 3- إزالة ال3% ضرائب مبيعات عند بيع بند قم بفتح ملفي shop.cpp و shop_manager.cpp وقم بالبحث عن : iVal = 3; وقم بتغييرها إلى : iVal = 0; أو أي نسبة تريد. 4- تفعيل بيع بنود بسعر 0 يانغ (عند وضع بند سعره 0 يظهر أنك لا تملك ما يكفي من اليانغ) نقوم بفتح ملف shop.cpp ونقوم بالبحث عن : if (r_item.price <= 0) ونقوم بإستبدالها بـ : if (r_item.price < 0) ونقوم بحذفها أو تعطيلها (وضع // أو /*) 5- تفعيل بيع كرات البركة وخام نحاس سحري لدى المتاجر نقوم بفتح ملف shop.cpp والبحث عن : if (quest::CQuestManager::instance().GetEventFlag("hivalue_item_sell") == 0) { if (item->GetVnum() == 70024 || item->GetVnum() == 70035) { return SHOP_SUBHEADER_GC_END; } } ونقوم بحذفه أو تعطيله (وضع علامتي //) ونقوم بالبحث عن : if (quest::CQuestManager::instance().GetEventFlag("hivalue_item_sell") == 0) { if (item.vnum == 70024 || item.vnum == 70035) { continue; } } ونقوم بنفس الشيئ (تعطيل أو حذف) 7- تعطيل مميزات 6 و 7 للأزياء نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن : case 71051: وبداخلها نقوم بالبحث عن : if (!IsValidItemPosition(DestCell) || !(item2 = GetInventoryItem(wDestCell))) ونضيف بعدها : if (item2->GetType() == ITEM_COSTUME) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("You can't add 6&7 bonuses on costumes")); return false; } 8- تعديل وقت إغلاق السيرفر بأمر shutdown (الطبيعي 10 ثوانٍ) نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن : Shutdown(10); قم بإستبدالها بـ : Shutdown(30); // Close After 30 Seconds 9- تعديل أقصى مستوى نقوم بفتح length.h في مجلد common ونقوم بالبحث عن : PLAYER_EXP_TABLE_MAX = 120, PLAYER_MAX_LEVEL_CONST = 120, ونقوم بإستبدال 120 بأي رقم نريده مثلاً 255 بعدها يجب عليك الذهاب إلى ملف constans.cpp في مجلد game ونقوم بتعديل const DWORD exp_table_common[PLAYER_EXP_TABLE_MAX + 1] = (الطبيعي انها 120 لكن اعتقد في سورس مارتي حتى مستوى 255) المهم أن هذه الدالة المسؤولة عن الخبرة لكل مستوى ويسهل تعديلها لا تحتاج إلى شرح فقط إضافة أسطر جديدة . 10 - تعطيل طلب زجاج الإدراك عند عرض بند نقوم بفتح ملف i*nput_main.cpp ونقوم بالبحث عن : int ProcessTextTag(LPCHARACTER ch, const char * c_pszText, size_t len) { ونقوم بإضافة return 0; 11- حل مشكلة أمر dice وظهور كتابة غريبة نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن : ACMD(do_dice) ونقوم بإستبدال الدالة كاملة (من { إلى }) بـ : ACMD(do_dice) { ch->ChatPacket(CHAT_TYPE_INFO, "This command has been disabled."); } 12- تعطيل إلقاء اليانغ على الأرض للاعبين نقوم بفتح ملف char_item.cpp ونبحث عن : bool CHARACTER::DropGold(int gold) ونقوم بإستبدال محتوى الدالة كاملاً بـ : return false; 13- تعطيل الوقت بين العلاوات (60 ثانية واحيانا 10 دقائق) نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن : if (pPC) { DWORD dwNowMin = get_global_time() / 60; DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag); [ Bla Bla About Function ] pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin); } ونقوم بحذفه أو تعطيله . 14 - تعديل وقت إختفاء البنود الملقاة على الأرض نقوم بفتح ملف item.h ونقوم بالبحث عن : void StartDestroyEvent(int iSec=300); ونقوم بتغيير ال300(ثانية) إلى أي رقم نريده ونقوم بفتح ملف char_item.cpp ونقوم بالبحث عن : pkItemToDrop->StartDestroyEvent(); ونقوم بوضع أي رقم بداخل () ، كمثال : pkItemToDrop->StartDestroyEvent(500); 16- تعديل أقصى نقاط وضع (الطبيعي 90) نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن : #define MAX_STAT 90 ونقوم بتغيير 90 لأي رقم نريد (ملحوظة هذا الرقم سيكون لل4 نقاط (حيوية-مناورة-ذكاء-قوة) 17- تعطيل أو تعديل الlimit_time (مدة عمل الملفات بعدها تتعطل) للتعطيل : نقوم بفتح ملف limit_time.h ونقوم بالبحث عن : #define ENABLE_LIMIT_TIME ونقوم بحذف السطر أو تعطيله للتعديل : نقوم بفتح ملف update_limit_time.py ونقوم بالبحث عن : limitTime = time.mktime(time.localtime()) + 3600 * 24 * 180 * 2 وتقوم بتعديل الأرقام كما تشاء (هذه المدة الحالية هي عامين 360 يوم) بعدها نقوم بكتابة : gmake limit_time في الputty أو الVirtual Box 18- تفعيل المشاعر والرقصات بدون قناع عاطفة نقوم بفتح ملف cmd_emotion.cpp ونقوم بالبحث عن : bool CHARACTER_CanEmotion(CHARACTER& rch) ونقوم بإستبدال محتوى الدالة كاملةً بـ : return true; 19- إصلاح خطأ Game Core بسبب حروب الروابط نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن : if (*arg2) { str_to_number(type, arg2); if (type >= GUILD_WAR_TYPE_MAX_NUM) type = GUILD_WAR_TYPE_FIELD; } نقوم بالإستبدال بـ : if (*arg2) { str_to_number(type, arg2); if (type >= GUILD_WAR_TYPE_MAX_NUM || type < 0) type = GUILD_WAR_TYPE_FIELD; } 20 - تعديل صلاحيات الأكواد من السورس كمثال : نقوم بفتح ملف cmd.cpp { "shutdown", do_shutdown, 0, POS_DEAD, GM_HIGH_WIZARD }, ونقوم بتعديل GM_HIGH_WIZARD للصلاحية التي نريد ، كمثال بعد التعديل : { "shutdown", do_shutdown, 0, POS_DEAD, GM_IMPLEMENTOR }, 21- إصلاح خطأ عدم إعطاء نقاط وضع بعد المستوى 91 نقوم بفتح ملف char.cpp ونقوم بالبحث عن : if (GetLevel() < 91) PointChange(POINT_STAT, 1); نقوم بتغيير 91 لأي رقم نريد (أقصى مستوى لسيرفرك) ونقوم بالبحث عن (في نفس الملف) : if(iLv <= 90) PointChange(POINT_STAT, ((MINMAX(1, iLv, 90) - 1) * 3) + GetPoint(POINT_LEVEL_STEP) - GetPoint(POINT_STAT)); ونقوم بتغيير 90 إلى الرقم الذي تريد (أقصى مستوى لسيرفرك) 22- إزالة الجرع عند زيادة المستوى نقوم بفتح ملف char.cpp ونقوم بالبحث عن : if (GetLevel() <= 10) AutoGiveItem(27001, 2); else if (GetLevel() <= 30) AutoGiveItem(27002, 2); else { AutoGiveItem(27002, 2); // AutoGiveItem(27003, 2); } يمكنك تعطيلهم أو حذفهم . 23- إصلاح خطأ فحص نسخة الكلاينت نقوم بفتح ملف config.cpp ونقوم بالبحث عن : if (version > date) ونقوم بإستبدالها بـ : if (version != date) نكتفي بهذا القدر ،، كل الود ،، والسلام خير ختام ~ By : PackeTHeader
    1 point
  20. :صورة للتوضيح عرض :التحميل [Hidden Content]
    1 point
  21. بدون الحل: without.mp4 بعد إضافة الحل: with.mp4 التحميل: [Hidden Content]
    1 point
  22. تم تحديث ازالة HEIGHT_CACHE_TRACE SPHERELIB_STRICT COUNT_SHOWING_SPHERE Have Fun
    1 point
  23. موضوع حول ازالة الاكواد غير مهمة من Ymir سيتم تحديث دائما [Hidden Content] عندما اقوم بتحديث سوف اضع رد،
    1 point
  24. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح بالعنوان العنوان نظام العناصر للتعويذات صورة للتوضيح رابط التحميل
    1 point
  25. التعديلات المرفقة تسمح بحل مشكلة بعد إسم الشخصيات غير اللاعبة عن الموديل الخاص بها: - قبل التعديلات : - بعد التعديلات: التحميل: [Hidden Content] *إضافة بقية الشخصيات غير اللاعبة متروك لكم.
    1 point
  26. السلام عليكم ورحمة الله وبركاته كما هو مضوح في العنوان نظام شيغراب (فيجاس) صورة للنظام [Hidden Content] رابط التحميل
    1 point
  27. مرحبا بالجميع اليوم ان شاء الله سوف نشرح طريقة انشاء سيرفر ماتين 2 عن طريق ip ثابت ( مودم ) سوف نحتاح 5 برامج لكي يصبح لدينا سيرفر ماتين 2 خاص بنا Oracle VM VirtualBox WinSCP PuTTY Navicat Premium Notepad++ راح اشرحهم بشكل سريع جدا ومختصر Oracle VM VirtualBox لتركيب النظام Freebsd WinSCP بديل برنامج FileZilla لرفع وتعديل ملفات على السيرفر PuTTY ادخل الاوامر وتنفذيها عبر برنامج PuTTY Navicat Premium لتعديل على بيانات القاعده و انشاء حسابات Notepad++ محرر نصوص ومساعد لبرمجة الاكواد وملفات بشكل افضل واسهل لتحميل البرامج كل ما عليك هو الضغط على اسم البرنامج وسوف يفتح لك رابط الموقع الاصلي للبرنامج الان سوف اضع لكم روابط تحميل الملفات + نظام freebsd و برنامج Packer Packer ملفات فروزن نظام freebsd 9.2 root dev ورقة الاوامر لحذف ملفات شرح تغير باسورد نافي كات شرح انشاء سيرفر ماتين 2
    1 point
  28. طبعا النظام يوفر وقت عليك بدل ما تقفل وتفتح شانل او لو كنت تعمل ريبوت : النظام يحتوي على reload ps ريلود للشوب reload po ريلود للأوبجيكت بروتو reload pk ريلود للأسكيل بروتو reload pr ريلود للريفاين بروتو reload pa ريلود للأيتم أتر reload pe ريلود لأيتم أتر راير reload drop ريلود للدروب reload group ريلود للجروب reload regen ريلود للريجين : التحميل [Hidden Content]
    1 point
  29. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح بالعنوان انترو فيديو عند تشغيل الكلاينت مثل الرسمي فيديو توضيحي رابط التحميل ملحوظة الفيديو المرفق كمثال يمكنك عمل اي فيديو خاص بك وتعديل صيغته عن طريق [Hidden Content]
    1 point
  30. السلام عليكم ورحمة الله وبركاته , شرح ال Function . Y.T Mt2Academy Bye
    1 point
  31. السلام عليكم ورحمة الله وبركاته , شرح ال Variables . Y.T Mt2Academy Bye
    1 point
  32. السلام عليكم ورحمة الله وبركاته كما هو موضع بالعنوان كنت اتفقد الميجا الخاص بي ووجدت الاستايل رابط التحميل
    1 point
  33. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح بالعنوان نظام المهام مثل الرسمي صورة للنظام رابط التحميل كلمة السر : Mt2Academy.com
    1 point
  34. السلام عليكم ورحمة الله تعالي وبركاته كما هو موضح في العنوان يتم تغير لون شريط الدم عند تسمم الاعب صور رابط التحميل
    1 point
  35. النظامين عبارة عن واحد لما تفتح المتجر تقدر تبيع من Ctrl+l click التاني لما تتاجر مع واحد بدل ما تسحب العتاد تضغط Ctrl+r click التول تيب يظهر فقط فالمتاجره او لما تفتح المتجر :للتوضيح عرض :التحميل [Hidden Content]
    1 point
  36. :صورة :التحميل [Hidden Content]
    1 point
  37. السلام عليكم ورحمة الله وبركاته عندما قمت بتركيب نظام لمعات لينت والذي هو أفضل في وجهة نظري من تماشي بكثير وجدت فيه عيب بسيط وهو فالدالة التالية
    1 point
  38. صور: التحميل: [Hidden Content] كلمة مرور الأرشيف: mt2academy.com *لاأستعمل النظام ، ركبته للتأكد من أنه يشتغل فقط. *النظام يحتاج المزيد من التعديلات لكنه ممتاز للتطوير.
    1 point
  39. السلام عليكم ورحمة الله وبركاتة اما بعد اقدم لكم نظام الايموجي بدون مشاكل عن تجربة ليست طويلة اتمني منك فقط الدعاء انا ترجمت الشرح ووضحتة اترككم مع النظام [Hidden Content] Pass [Hidden Content]
    1 point
  40. السلام عليكم ورحمة الله وبركاته رمضان مبارك ع الجميع اليوم شرح جدا سهل للجميع وحبيت اسوي شرح عليه للناس الي حاولت وما ركبت النظام طيب الشرح عباره عن ظهور كود الغرض مثل مو واضح بالصورة و الفديو لو اعجبك الشرح اتمنى الاشتراك و لايك وشكرا
    1 point
  41. يمكنك تفعيل لقب معين من أداة معينة. نظرة عامة: كل ماتحتاج معرفته مرفق مع النظام. التحميل: [Hidden Content] *تحديث: -قام @Hammerبتحديث النظام ليتم تحميل الألقاب مرة واحدة عند تشغيل السيرفر. -قم باستبدال titlesystem.cpp&.h ثم تطبيق التعديلات المرفقة في ملف Changelog.txt. -تم إرفاق جدول الألقاب(MyISAM) فيه أمثلة عن طريقة إضافة لقب. Changelogs.7z
    1 point
  42. أفضل طريقة للشراء من المتاجر بعملات غير اليانغ تكون باستعمال الshopEx ، هو موجود في سورس ماتين2 مسبقا لكن يستحسن تركيب الموجود في المرفقات لتحديثه. صور للتوضيح: التحميل:(c++11<) [Hidden Content]
    1 point
  43. التعديل كما هو موضح من العنوان ، اللاعب في امبراطوريته يحصل على ضرر إضافي لو كان في حرب مع لاعبي امبراطورية أخرى. @char_battle.cpp: -قم بتعليق أو حذف مايلي: int iEmpire = pAttacker->GetEmpire(); long lMapIndex = pAttacker->GetMapIndex(); int iMapEmpire = SECTREE_MANAGER::instance().GetEmpireFromMapIndex(lMapIndex); if (iEmpire && iMapEmpire && iEmpire != iMapEmpire) { dam = dam * 9 / 10; }
    1 point
  44. صور للتوضيح: التحميل: [Hidden Content] الPSD الخاص بالأيقونات كلمة مرور الأرشيف: mt2academy.com *أرفقت الشرح كاملا للعربية مع ملف للمقارنة أو الإستعمال المباشر، توضع الصور التي تريد استعمالها للنصوص في مجلد "emoji".
    1 point
  45. جرب هذا [Hidden Content] مشكلتك كانت في الـtaps حيث ان النظام كان ينحسب لدالة الي قبله
    1 point
  46. الإستعمال :عندما يموت اللاعب when death begin [Hidden Content] Char_battle.cpp -إبحث عن : //CHECK_FORKEDROAD_WAR if (IsPC()) { أضف: quest::CQuestManager::instance().Death(GetPlayerID()); //DEATH EVENT الشكل الكامل: //CHECK_FORKEDROAD_WAR if (IsPC()) { quest::CQuestManager::instance().Death(GetPlayerID()); //DEATH EVENT if (CThreeWayWar::instance().IsThreeWayWarMapIndex(GetMapIndex())) isForked = true; } //END_CHECK_FORKEDROAD_WAR Quest.h قبل: QUEST_EVENT_COUNT -أضف: QUEST_DEATH_EVENT, //DEATH EVENT Questmanager.cpp -بعد: m_mapEventName.insert(TEventNameMap::value_type("item_informer", QUEST_ITEM_INFORMER_EVENT)); -اضف: m_mapEventName.insert(TEventNameMap::value_type("death", QUEST_DEATH_EVENT)); // DEATH EVENT -قبل: void CQuestManager::Letter(DWORD pc, DWORD quest_index, int state) -أضف: // DEATH EVENT void CQuestManager::Death(DWORD pc) { PC * pPC; if ((pPC = GetPC(pc))) { if (!CheckQuestLoaded(pPC)) return; m_mapNPC[QUEST_NO_NPC].OnDeath(*pPC); } else { sys_err("QUEST no such pc id : %d", pc); } } Questmanager.h -بعد: void Kill(unsigned int pc, unsigned int npc); -أضف: void Death(DWORD pc); // DEATH EVENT Questnpc.cpp -قبل: bool NPC::OnLevelUp(PC& pc) -أضف: // DEATH EVENT bool NPC::OnDeath(PC& pc) { return HandleReceiveAllEvent(pc, QUEST_DEATH_EVENT); } Questnpc.h -بعد: bool OnPartyKill(PC& pc); -أضف: bool OnDeath(PC& pc); // DEATH EVENT
    1 point
  47. كما هو مكتوب بالعنوان النظام ليس مثل الرسمي 100% لان في الرسمي للحصول علي التاثيرات يجب الضغط علي صناديق معينة المهم صور للنظام رابط التحميل : اضغط هنا النظام من تكويد : @IGNEEL
    1 point
  48. ملاحظة ملف ActorInstanceMotion.cpp /* ابحث عن */ في ملف ActorInstanceMotion.cpp #ifdef ENABLE_WOLFMAN_CHARACTER case CRaceMotionData::NAME_SLAP_HURT_WITH_WOLFMAN: #endif /* أضف تحت */ #ifdef ENABLE_EXPRESSING_EMOTION case CRaceMotionData::NAME_PUSH_UP: case CRaceMotionData::NAME_DANCE_7: case CRaceMotionData::NAME_EXERCISE: case CRaceMotionData::NAME_DOZE: case CRaceMotionData::NAME_SELFIE: #endif
    1 point
×
×
  • Create New...