پرش به مطلب اصلی

Ban

توضیحات

بازیکنی که در حال حاضر در سرور است را مسدود می‌کند. آن‌ها دیگر هرگز نخواهند توانست به سرور ملحق شوند.

مسدودیت بر اساس IP خواهد بود و در فایل bans.json در دایرکتوری اصلی سرور ذخیره می‌شود.

می‌توانید از BanEx برای ارائه دلیل مسدودیت استفاده کنید.

مسدودیت‌های IP را می‌توان با استفاده از دستورات RCON banip و unbanip اضافه/حذف کرد (SendRconCommand).

نامتوضیحات
playeridشناسه بازیکن برای مسدود کردن.

مقادیر بازگشتی

این تابع هیچ مقدار خاصی برنمی‌گرداند.

نکات

هشدار

هر عملی که مستقیماً قبل از Ban() انجام شود (مانند ارسال پیام با SendClientMessage) به بازیکن نخواهد رسید. باید از تایمر برای تأخیر مسدودیت استفاده کرد.

مثال‌ها

// برای نمایش پیام (مثل دلیل) برای بازیکن قبل از بسته شدن اتصال
// باید از تایمر برای ایجاد تأخیر استفاده کنید. این تأخیر فقط نیاز به چند میلی‌ثانیه دارد،
// اما این مثال یک ثانیه کامل استفاده می‌کند تا مطمئن باشیم.

forward DelayedBan(playerid);
public DelayedBan(playerid)
{
Ban(playerid);
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(cmdtext, "/banme", true) == 0)
{
// بازیکنی را که این دستور را اجرا کرد مسدود می‌کند.

// ابتدا پیامی برای او ارسال کنید.
SendClientMessage(playerid, 0xFF0000FF, "You have been banned!");

// در واقع یک ثانیه بعد با تایمر او را مسدود کنید.
SetTimerEx("DelayedBan", 1000, false, "d", playerid);
return 1;
}
return 0;
}

توابع مرتبط

  • BanEx: بازیکن را با دلیل سفارشی مسدود می‌کند.
  • Kick: بازیکن را از سرور اخراج می‌کند.
  • BlockIpAddress: یک آدرس IP را برای مدت معینی از اتصال به سرور مسدود می‌کند.
  • UnBlockIpAddress: IP قبلاً مسدود شده را باز می‌کند.