警告
回调是在SA-MP 0.3e中添加的,在早期版本中不起作用!

描述

当玩家单击玩家文本绘制时调用此回调。当玩家取消选择模式 (ESC) 时,不会调用它 - 但是,OnPlayerClickTextDraw 会调用。
姓名 描述
playerid 选择文本绘制的玩家的 ID
playertextid 玩家选择的player-textdraw的ID。

返回

它总是在过滤器脚本中首先被调用,因此返回 1 也会阻止其他脚本看到它。

例子

  1. new PlayerText:gPlayerTextDraw[MAX_PLAYERS];
  2. public OnPlayerConnect(playerid)
  3. {
  4. // Create the textdraw
  5. gPlayerTextDraw[playerid] = CreatePlayerTextDraw(playerid, 10.000000, 141.000000, "MyTextDraw");
  6. PlayerTextDrawTextSize(playerid, gPlayerTextDraw[playerid], 60.000000, 20.000000);
  7. PlayerTextDrawAlignment(playerid, gPlayerTextDraw[playerid],0);
  8. PlayerTextDrawBackgroundColor(playerid, gPlayerTextDraw[playerid],0x000000ff);
  9. PlayerTextDrawFont(playerid, gPlayerTextDraw[playerid], 1);
  10. PlayerTextDrawLetterSize(playerid, gPlayerTextDraw[playerid], 0.250000, 1.000000);
  11. PlayerTextDrawColor(playerid, gPlayerTextDraw[playerid], 0xffffffff);
  12. PlayerTextDrawSetProportional(playerid, gPlayerTextDraw[playerid], 1);
  13. PlayerTextDrawSetShadow(playerid, gPlayerTextDraw[playerid], 1);
  14. // Make it selectable
  15. PlayerTextDrawSetSelectable(playerid, gPlayerTextDraw[playerid], 1);
  16. // Show it to the player
  17. PlayerTextDrawShow(playerid, gPlayerTextDraw[playerid]);
  18. return 1;
  19. }
  20. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  21. {
  22. if (newkeys == KEY_SUBMISSION)
  23. {
  24. SelectTextDraw(playerid, 0xFF4040AA);
  25. }
  26. return 1;
  27. }
  28. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  29. {
  30. if (playertextid == gPlayerTextDraw[playerid])
  31. {
  32. SendClientMessage(playerid, 0xFFFFFFAA, "You clicked on a textdraw.");
  33. CancelSelectTextDraw(playerid);
  34. return 1;
  35. }
  36. return 0;
  37. }

笔记

警告
当玩家按 ESC 键取消选择文本绘制时,将使用文本绘制 ID ‘INVALID_TEXT_DRAW’ 调用OnPlayerClickTextDraw 。OnPlayerClickPlayerTextDraw也不会被调用。