警告
此回调是在SA-MP 0.3e中添加的,在早期版本中不起作用!
描述
当玩家单击玩家文本绘制时调用此回调。当玩家取消选择模式 (ESC) 时,不会调用它 - 但是,OnPlayerClickTextDraw 会调用。
姓名 |
描述 |
playerid |
选择文本绘制的玩家的 ID |
playertextid |
玩家选择的player-textdraw的ID。 |
返回
它总是在过滤器脚本中首先被调用,因此返回 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],0);
PlayerTextDrawBackgroundColor(playerid, gPlayerTextDraw[playerid],0x000000ff);
PlayerTextDrawFont(playerid, gPlayerTextDraw[playerid], 1);
PlayerTextDrawLetterSize(playerid, gPlayerTextDraw[playerid], 0.250000, 1.000000);
PlayerTextDrawColor(playerid, gPlayerTextDraw[playerid], 0xffffffff);
PlayerTextDrawSetProportional(playerid, gPlayerTextDraw[playerid], 1);
PlayerTextDrawSetShadow(playerid, gPlayerTextDraw[playerid], 1);
// Make it selectable
PlayerTextDrawSetSelectable(playerid, gPlayerTextDraw[playerid], 1);
// Show it to the player
PlayerTextDrawShow(playerid, gPlayerTextDraw[playerid]);
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, 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 textdraw.");
CancelSelectTextDraw(playerid);
return 1;
}
return 0;
}
笔记
警告
当玩家按 ESC 键取消选择文本绘制时,将使用文本绘制 ID ‘INVALID_TEXT_DRAW’ 调用OnPlayerClickTextDraw 。OnPlayerClickPlayerTextDraw也不会被调用。