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

描述

当玩家单击文本绘制或使用 Escape 键取消选择模式时,会调用此回调。
姓名 描述
playerid 单击文本绘制的玩家的 ID。
clickedid 单击的textdraw的ID。如果取消选择,则为 INVALID_TEXT_DRAW。

退货

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

例子

  1. new Text:gTextDraw;
  2. public OnGameModeInit()
  3. {
  4. gTextDraw = TextDrawCreate(10.000000, 141.000000, "MyTextDraw");
  5. TextDrawTextSize(gTextDraw,60.000000, 20.000000);
  6. TextDrawAlignment(gTextDraw,0);
  7. TextDrawBackgroundColor(gTextDraw,0x000000ff);
  8. TextDrawFont(gTextDraw,1);
  9. TextDrawLetterSize(gTextDraw,0.250000, 1.000000);
  10. TextDrawColor(gTextDraw,0xffffffff);
  11. TextDrawSetProportional(gTextDraw,1);
  12. TextDrawSetShadow(gTextDraw,1);
  13. TextDrawSetSelectable(gTextDraw, 1);
  14. return 1;
  15. }
  16. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  17. {
  18. if (newkeys == KEY_SUBMISSION)
  19. {
  20. TextDrawShowForPlayer(playerid, gTextDraw);
  21. SelectTextDraw(playerid, 0xFF4040AA);
  22. }
  23. return 1;
  24. }
  25. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  26. {
  27. if (clickedid == gTextDraw)
  28. {
  29. SendClientMessage(playerid, 0xFFFFFFAA, "You clicked on a textdraw.");
  30. CancelSelectTextDraw(playerid);
  31. return 1;
  32. }
  33. return 0;
  34. }

笔记

警告
可点击区域由TextDrawTextSize定义。传递给该函数的 x 和 y 参数不得为零或负数。不要在此回调中无条件使用CancelSelectTextDraw。这会导致无限循环。