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

OnPlayerClickTextDraw

توضیحات​

این کالبک زمانی فراخوانده می‌شود که بازیکن روی یک textdraw کلیک کند یا حالت انتخاب را با کلید Escape لغو کند.

نامتوضیحات
playeridشناسه بازیکنی که روی textdraw کلیک کرده.
Text:clickedidشناسه textdraw کلیک شده. INVALID_TEXT_DRAW اگر انتخاب لغو شده باشد.

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

همیشه ابتدا در فیلتراسکریپت‌ها فراخوانده می‌شود، بنابراین برگرداندن 1 در آنجا باعث مسدود شدن پردازش آن توسط اسکریپت‌های دیگر می‌شود.

مثال‌ها​

new Text:gTextDraw;

public OnGameModeInit()
{
gTextDraw = TextDrawCreate(10.000000, 141.000000, "MyTextDraw");
TextDrawTextSize(gTextDraw, 60.000000, 20.000000);
TextDrawAlignment(gTextDraw, TEXT_DRAW_ALIGN_LEFT);
TextDrawBackgroundColor(gTextDraw, 0x000000FF);
TextDrawFont(gTextDraw, TEXT_DRAW_FONT_1);
TextDrawLetterSize(gTextDraw, 0.250000, 1.000000);
TextDrawColor(gTextDraw, -1);
TextDrawSetProportional(gTextDraw, true);
TextDrawSetShadow(gTextDraw, 1);
TextDrawSetSelectable(gTextDraw, true);
return 1;
}

public OnPlayerKeyStateChange(playerid, KEY:newkeys, KEY:oldkeys)
{
if (newkeys == KEY_SUBMISSION)
{
TextDrawShowForPlayer(playerid, gTextDraw);
SelectTextDraw(playerid, 0xFF4040AA);
}
return 1;
}

public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
if (clickedid == gTextDraw)
{
SendClientMessage(playerid, 0xFFFFFFAA, "You clicked on a textdraw.");
CancelSelectTextDraw(playerid);
return 1;
}
return 0;
}

نکته‌ها​

هشدار
  • ناحیه قابل کلیک توسط TextDrawTextSize تعریف می‌شود.
  • پارامترهای x و y ارسال شده به آن تابع نباید صفر یا منفی باشند.
  • از CancelSelectTextDraw بدون شرط در داخل این کالبک استفاده نکنید. این منجر به حلقه بی‌نهایت می‌شود.

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

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

  • OnPlayerClickPlayerTextDraw: این کالبک زمانی فراخوانده می‌شود که بازیکن روی player-textdraw کلیک کند.
  • OnPlayerClickPlayer: این کالبک زمانی فراخوانده می‌شود که بازیکن روی بازیکن دیگری کلیک کند.

توابع مرتبط​

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

  • SelectTextDraw: فعال کردن ماوس تا بازیکن بتواند textdraw انتخاب کند.
  • CancelSelectTextDraw: لغو انتخاب textdraw با ماوس.