السلام عليكم ورحمة الله وبركاته ،،
أقدم إليكم بعض شروحات السورس التي يبحث عنها معظم الناس .
1- تفعيل ميزات 6 و 7 في السورس
قم بفتح ملف char_item.cpp وقم بالبحث عن (مرتين) :
وقم بوضع علامتي // قبلهما (تعطيلهما حتى يظهروا باللون الأخضر)
أو حذفهما
2- تعديل نسبة نجاح الأحجار
قم بفتح ملف char_item.cpp وقم بالبحث عن :
بإمكانك تعديلها لأي رقم تريد .
3- إزالة ال3% ضرائب مبيعات عند بيع بند
قم بفتح ملفي shop.cpp و shop_manager.cpp وقم بالبحث عن :
وقم بتغييرها إلى :
أو أي نسبة تريد.
4- تفعيل بيع بنود بسعر 0 يانغ (عند وضع بند سعره 0 يظهر أنك لا تملك ما يكفي من اليانغ)
نقوم بفتح ملف shop.cpp ونقوم بالبحث عن :
ونقوم بإستبدالها بـ :
5- تفعيل أمر pc.change_name
نقوم بفتح ملف questlua_pc.cpp
ونقوم بالبحث عن (في دالة pc_change_name) :
ونقوم بحذفها أو تعطيلها (وضع // أو /*)
6- تفعيل بيع كرات البركة وخام نحاس سحري لدى المتاجر
نقوم بفتح ملف shop.cpp والبحث عن :
ونقوم بحذفه أو تعطيله (وضع علامتي //)
ونقوم بالبحث عن :
ونقوم بنفس الشيئ (تعطيل أو حذف)
7- تعطيل مميزات 6 و 7 للأزياء
نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن :
وبداخلها نقوم بالبحث عن :
ونضيف بعدها :
8- تعديل وقت إغلاق السيرفر بأمر shutdown (الطبيعي 10 ثوانٍ)
نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن :
قم بإستبدالها بـ :
9- تعديل أقصى مستوى
نقوم بفتح length.h في مجلد common ونقوم بالبحث عن :
ونقوم بإستبدال 120 بأي رقم نريده مثلاً 255
بعدها يجب عليك الذهاب إلى ملف constans.cpp في مجلد game
ونقوم بتعديل
(الطبيعي انها 120 لكن اعتقد في سورس مارتي حتى مستوى 255)
المهم أن هذه الدالة المسؤولة عن الخبرة لكل مستوى ويسهل تعديلها لا تحتاج إلى شرح فقط إضافة أسطر جديدة .
10 - تعطيل طلب زجاج الإدراك عند عرض بند
نقوم بفتح ملف i*nput_main.cpp ونقوم بالبحث عن :
ونقوم بإضافة
11- حل مشكلة أمر dice وظهور كتابة غريبة
نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن :
ونقوم بإستبدال الدالة كاملة (من { إلى }) بـ :
12- تعطيل إلقاء اليانغ على الأرض للاعبين
نقوم بفتح ملف char_item.cpp ونبحث عن :
ونقوم بإستبدال محتوى الدالة كاملاً بـ :
13- تعطيل الوقت بين العلاوات (60 ثانية واحيانا 10 دقائق)
نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن :
ونقوم بحذفه أو تعطيله .
14 - تعديل وقت إختفاء البنود الملقاة على الأرض
نقوم بفتح ملف item.h ونقوم بالبحث عن :
ونقوم بتغيير ال300(ثانية) إلى أي رقم نريده
ونقوم بفتح ملف char_item.cpp ونقوم بالبحث عن :
ونقوم بوضع أي رقم بداخل () ، كمثال :
15- جعل الدواب قابلة للضرب من فوقها
نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن :
ونقوم بإضافة
أسفلها حيث mount_vnum = كود الدابة ، كمثال :
16- تعديل أقصى نقاط وضع (الطبيعي 90)
نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن :
ونقوم بتغيير 90 لأي رقم نريد (ملحوظة هذا الرقم سيكون لل4 نقاط (حيوية-مناورة-ذكاء-قوة)
17- تعطيل أو تعديل الlimit_time (مدة عمل الملفات بعدها تتعطل)
للتعطيل :
نقوم بفتح ملف limit_time.h ونقوم بالبحث عن :
ونقوم بحذف السطر أو تعطيله
للتعديل :
نقوم بفتح ملف update_limit_time.py
ونقوم بالبحث عن :
وتقوم بتعديل الأرقام كما تشاء (هذه المدة الحالية هي عامين 360 يوم)
بعدها نقوم بكتابة :
في الputty أو الVirtual Box
18- تفعيل المشاعر والرقصات بدون قناع عاطفة
نقوم بفتح ملف cmd_emotion.cpp ونقوم بالبحث عن :
ونقوم بإستبدال محتوى الدالة كاملةً بـ :
19- إصلاح خطأ Game Core بسبب حروب الروابط
نقوم بفتح ملف cmd_general.cpp ونقوم بالبحث عن :
نقوم بالإستبدال بـ :
20 - تعديل صلاحيات الأكواد من السورس
كمثال : نقوم بفتح ملف cmd.cpp
ونقوم بتعديل GM_HIGH_WIZARD للصلاحية التي نريد ، كمثال بعد التعديل :
21- إصلاح خطأ عدم إعطاء نقاط وضع بعد المستوى 91
نقوم بفتح ملف char.cpp ونقوم بالبحث عن :
نقوم بتغيير 91 لأي رقم نريد (أقصى مستوى لسيرفرك)
ونقوم بالبحث عن (في نفس الملف) :
ونقوم بتغيير 90 إلى الرقم الذي تريد (أقصى مستوى لسيرفرك)
22- إزالة الجرع عند زيادة المستوى
نقوم بفتح ملف char.cpp ونقوم بالبحث عن :
يمكنك تعطيلهم أو حذفهم .
23- إصلاح خطأ فحص نسخة الكلاينت
نقوم بفتح ملف config.cpp ونقوم بالبحث عن :
ونقوم بإستبدالها بـ :
نكتفي بهذا القدر ،،
كل الود ،،
والسلام خير ختام ~
أقدم إليكم بعض شروحات السورس التي يبحث عنها معظم الناس .
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- تفعيل أمر pc.change_name
نقوم بفتح ملف questlua_pc.cpp
ونقوم بالبحث عن (في دالة pc_change_name) :
if ( LC_IsEurope() )
{
lua_pushnumber(L, 5);
return 1;
}
ونقوم بحذفها أو تعطيلها (وضع // أو /*)
6- تفعيل بيع كرات البركة وخام نحاس سحري لدى المتاجر
نقوم بفتح ملف 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);
15- جعل الدواب قابلة للضرب من فوقها
نقوم بفتح ملف char_item.cpp ونقوم بالبحث عن :
case 20118:
ونقوم بإضافة
case mount_vnum:
أسفلها حيث mount_vnum = كود الدابة ، كمثال :
case 20118:
case 20249:
case 20250:
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)
نكتفي بهذا القدر ،،
كل الود ،،
والسلام خير ختام ~