OnPlayerClickPlayerTextDraw
توضیحات
این کالبک زمانی فراخوانده میشود که یک بازیکن روی یک player-textdraw کلیک کند. زمانی که بازیکن حالت انتخاب را لغو کند (ESC) فراخوانده نمیشود - اما OnPlayerClickTextDraw فراخوانده میشود.
نام | توضیحات |
---|---|
playerid | شناسه بازیکنی که textdraw را انتخاب کرد |
PlayerText:playertextid | شناسه player-textdraw که بازیکن آن را انتخاب کرده است. |
مقادیر برگشتی
همیشه اول در filterscript ها فراخوانده میشود بنابراین برگرداندن 1 در آنجا سایر اسکریپتها را از پردازش آن مسدود میکند.
مثالها
new PlayerText:gPlayerTextDraw[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
// Create the textdraw
gPlayerTextDraw[playerid] = CreatePlayerTextDraw(playerid, 10.000000, 141.000000, "MyTextDraw");
PlayerTextDrawTextSize(playerid, gPlayerTextDraw[playerid], 60.000000, 20.000000);
PlayerTextDrawAlignment(playerid, gPlayerTextDraw[playerid], TEXT_DRAW_ALIGN_LEFT);
PlayerTextDrawBackgroundColor(playerid, gPlayerTextDraw[playerid], 0x000000FF);
PlayerTextDrawFont(playerid, gPlayerTextDraw[playerid], TEXT_DRAW_FONT_1);
PlayerTextDrawLetterSize(playerid, gPlayerTextDraw[playerid], 0.250000, 1.000000);
PlayerTextDrawColor(playerid, gPlayerTextDraw[playerid], -1);
PlayerTextDrawSetProportional(playerid, gPlayerTextDraw[playerid], true);
PlayerTextDrawSetShadow(playerid, gPlayerTextDraw[playerid], 1);
// Make it selectable
PlayerTextDrawSetSelectable(playerid, gPlayerTextDraw[playerid], true);
// Show it to the player
PlayerTextDrawShow(playerid, gPlayerTextDraw[playerid]);
return 1;
}
public OnPlayerKeyStateChange(playerid, KEY:newkeys, KEY:oldkeys)
{
if (newkeys == KEY_SUBMISSION)
{
SelectTextDraw(playerid, 0xFF4040AA);
}
return 1;
}
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if (playertextid == gPlayerTextDraw[playerid])
{
SendClientMessage(playerid, 0xFFFFFFAA, "You clicked on a player-textdraw.");
CancelSelectTextDraw(playerid);
return 1;
}
return 0;
}
نکتهها
هشدار
وقتی بازیکن ESC را فشار میدهد تا انتخاب textdraw را لغو کند، OnPlayerClickTextDraw با شناسه textdraw برابر 'INVALID_TEXT_DRAW' فراخوانده میشود. OnPlayerClickPlayerTextDraw نیز فراخوانده نخواهد شد.
کالبکهای مرتبط
کالبکهای زیر ممکن است مفید باشند، زیرا به نوعی با این کالبک مرتبط هستند.
- OnPlayerClickTextDraw: این کالبک زمانی فراخوانده میشود که بازیکن روی یک textdraw کلیک کند.
- OnPlayerClickPlayer: این کالبک زمانی فراخوانده میشود که بازیکن روی بازیکن دیگری کلیک کند.
توابع مرتبط
توابع زیر ممکن است مفید باشند، زیرا به نوعی با این کالبک مرتبط هستند.
- PlayerTextDrawSetSelectable: تعیین میکند که آیا یک player-textdraw از طریق SelectTextDraw قابل انتخاب است یا نه.