- افتح القاعدة وروح لـAccount واضغط F6 وأدخل هذي
- ALTER TABLE account ADD reason VARCHAR(256);
- وسوي run بعدها save
- --
- افتح ملف cmd.cpp وابحث عن
- ACMD(do_block_chat);
- اضف تحته
- ACMD(do_ban);
- ابحث عن
- {"rewarp", do_rewarp, 0, POS_DEAD, GM_LOW_WIZARD},
- اضف تحته
- { "ban", do_ban, 0, POS_DEAD, GM_LOW_WIZARD },
- افتح ملف cmd_gm.cpp وابحث عن
- ACMD(do_block_chat)
- اضف تحته
- ACMD(do_ban);
- أضف في اخر الملف
- ACMD(do_ban)
- {
- // Args
- char arg1[256], arg2[256], arg3[256];
- // Local variables
- const char* szName;
- const char* escapestring;
- int iDuration;
- one_argument(two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2)), arg3, sizeof(arg3));
- // Invalid syntax
- if (!*arg1 || !*arg2 || !*arg3)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] الأمر هذا خاطئ, يجب كتابة التالي: /ban الاسم الوقت السبب");
- return;
- }
- szName = arg1;
- iDuration = atoi(arg2);
- escapestring = arg3;
- if (iDuration <= 0)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] يجب أن تكون مدة الحظر أكبر من 0");
- return;
- }
- LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(szName);
- if (!tch)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] اللاعب %s ليس متصلًا باللعبة.", szName);
- return;
- }
- if (!tch->GetDesc())
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] لا يوجد سبب لحظر %s.", szName);
- return;
- }
- if (tch == ch)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] لا يمكنك حظر نفسك.");
- return;
- }
- if (tch->GetGMLevel() > GM_PLAYER)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] لا يمكنك حظر مراقب.");
- return;
- }
- std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET availDt = FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) + %i), reason = '%s' WHERE id = %d", iDuration * 60, escapestring, tch->GetDesc()->GetAccountTable().id));
- tch->GetDesc()->DelayedDisconnect(5);
- sys_log(0, "%s[%d] banned %s for %i hours with reason: %s", ch->GetName(), ch->GetPlayerID(), szName, iDuration, escapestring);
- ch->ChatPacket(CHAT_TYPE_INFO, "[النظام] اللاعب%s تم حظره بسبب %i وسيستمر الحظر لمدة: %s.", szName, iDuration, escapestring);
- }
نظام الحظر بإستخدام /ban