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

OnPlayerDisconnect

توضیحات

وقتی بازیکن از سرور خارج می شود، این کالبک فراخوانی می شود.

پارامترتوضیحات
playeridآیدی بازیکنی که از سرور خارج شده است.
reasonدلیل خارج شدن. جدول زیر را ببینید.

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

0 - فیلتر اسکریپت‌ها را از دریافت این پاسخ‌دهی جلوگیری می‌کند.

1 - این پاسخ به فیلتر اسکریپت بعدی ارسال می شود.

این کال‌بک همیشه اول در فیلتر اسکریپت ها تماس داده میشود.

دلایل خروج (reason)

کددلیلجزئیات
0تایم اوت/کرشارتباط بازیکن قطع شد یا بازی کرش خورد یا شبکه و اینترنت ایراد داشت.
1خارج شدنبازیکن با استفاده از دستور /q از بازی خارج شد یا از طریق منوی بازی.
2اخراج/محرومبازیکن توسط سرور اخراج یا محروم شد.
3سفارشیتوسط برخی از کتابخانه ها استفاده می شود. مانند fixes.inc
4حالت پایانگیم مود فعلی در حال پایان است، بنابراین اتصال همه بازیکنان از آن قطع می شود (اما آنها هنوز در سرور هستند)
هشدار

کد 3 در ابتدا توسط fixes.inc در SA-MP اضافه شد

کد های 3 و 4 توسط open.mp اضافه شد.

مثال ها

public OnPlayerDisconnect(playerid, reason)
{
new
szString[64],
playerName[MAX_PLAYER_NAME];

GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);

new szDisconnectReason[5][] =
{
"Timeout/Crash",
"Quit",
"Kick/Ban",
"Custom",
"Mode End"
};

format(szString, sizeof szString, "%s Az Server Kharej Shod (Dalil: %s).", playerName, szDisconnectReason[reason]);

SendClientMessageToAll(0xC4C4C4FF, szString);
return 1;
}

نکته ها

نکته

برخی از تابع ها ممکن است هنگام استفاده در این کال‌بک به درستی کار نکنند چون ممکن است بازیکن قبلاً از بازی خارج شده است. این بدان معنی است که شما نمی توانید اطلاعات واضحی را از توابعی مانند GetPlayerIp و GetPlayerPos دریافت کنید.

کال‌بک های مرتبط

کال‌بک های زیر ممکن است مفید باشند، زیرا به هر طریقی با این کال‌بک مرتبط هستند.

  • OnPlayerConnect: این کال‌بک زمانی فراخوانی می شود که بازیکن به سرور متصل شود.
  • OnIncomingConnection: این کال‌بک زمانی فراخوانی می شود که یک بازیکن در حال تلاش برای اتصال به سرور است.
  • OnPlayerFinishedDownloading: زمانی که بازیکن دانلود مدل های سفارشی را تمام می کند، این کال‌بک فراخوانی می شود.