OnPlayerClickPlayerTextDraw
Description:
Callback OnPlayerClickPlayerTextDraw is called when a player clicks on a player-textdraw. It is not called when player cancels the select mode (ESC) - however, OnPlayerClickTextDraw is.
Callback OnPlayerClickPlayerTextDraw was added in 0.3e and will not work in earlier versions! |
When a player presses ESC to cancel selecting a textdraw, OnPlayerClickTextDraw is called with a textdraw ID of 'INVALID_TEXT_DRAW'. OnPlayerClickPlayerTextDraw won't be called also. |
Parameters:
(playerid, PlayerText:playertextid)
int | playerid | The ID of the player that selected a textdraw. |
int | playertextid | The ID of the player-textdraw that the player selected. |
Return Values:
Returning 1/true in this callback will prevent it being called in other scripts. This should be used to signal that the textdraw on which they clicked was 'found' and no further processing is needed. You should return 0/false if the textdraw on which they clicked wasn't found, just like in OnPlayerCommandText.
- It is always called first in filterscripts so returning 1 there also blocks other scripts from seeing it.
Examples:
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; }
Related Callbacks
The following callbacks might be useful as well, as they are related to this callback in one way or another.
- OnPlayerClickTextDraw: Called when a player clicks on a textdraw.
- OnPlayerClickPlayer: Called when a player click on another.
Related Functions
The following functions may be useful, as they are related to this function in one way or another.
- PlayerTextDrawSetSelectable: Sets whether a player-textdraw is selectable through SelectTextDraw