slice29a

td-helper.inc

Jun 23rd, 2012
332
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 13.54 KB | None | 0 0
  1. // td-helper.inc by Slice
  2. #include <a_samp>
  3.  
  4. // Add a tag to INVALID_TEXT_DRAW, without changing its value (future-compatible)
  5. const   Text:@INVALID_TEXT_DRAW = Text:INVALID_TEXT_DRAW;
  6.  
  7. #undef  INVALID_TEXT_DRAW
  8. #define INVALID_TEXT_DRAW @INVALID_TEXT_DRAW
  9.  
  10. #define TextDrawGetPlayer(%1) \
  11.     (_:(%1) >>> 16 & 0x7FFF)
  12.  
  13. #define TextDrawGetPlayerTextDraw(%1) \
  14.     (PlayerText:(_:(%1) & 0xFFFF))
  15.  
  16. #define IsPlayerTextDraw(%1) \
  17.     (_:(%1) & 0x80000000 || false)
  18.  
  19. stock Text:CreatePlayerTextDraw@(playerid, Float:x, Float:y, text[]) {
  20.     new ptd = _:CreatePlayerTextDraw(playerid, x, y, text);
  21.    
  22.     if (ptd != _:INVALID_TEXT_DRAW)
  23.         ptd |= playerid << 16 | 0x80000000;
  24.    
  25.     return Text:ptd;
  26. }
  27.  
  28. stock TextDrawDestroy@({Text, PlayerText}:text)
  29.     if (IsPlayerTextDraw(text))
  30.         return PlayerTextDrawDestroy(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text));
  31.     else
  32.         return TextDrawDestroy(text);
  33.  
  34. stock TextDrawLetterSize@({Text, PlayerText}:text, Float:x, Float:y)
  35.     if (IsPlayerTextDraw(text))
  36.         return PlayerTextDrawLetterSize(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), x, y);
  37.     else
  38.         return TextDrawLetterSize(text, x, y);
  39.  
  40. stock TextDrawTextSize@({Text, PlayerText}:text, Float:x, Float:y)
  41.     if (IsPlayerTextDraw(text))
  42.         return PlayerTextDrawTextSize(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), x, y);
  43.     else
  44.         return TextDrawTextSize(text, x, y);
  45.  
  46. stock TextDrawAlignment@({Text, PlayerText}:text, alignment)
  47.     if (IsPlayerTextDraw(text))
  48.         return PlayerTextDrawAlignment(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), alignment);
  49.     else
  50.         return TextDrawAlignment(text, alignment);
  51.  
  52. stock TextDrawColor@({Text, PlayerText}:text, color)
  53.     if (IsPlayerTextDraw(text))
  54.         return PlayerTextDrawColor(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), color);
  55.     else
  56.         return TextDrawColor(text, color);
  57.  
  58. stock TextDrawUseBox@({Text, PlayerText}:text, use)
  59.     if (IsPlayerTextDraw(text))
  60.         return PlayerTextDrawUseBox(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), use);
  61.     else
  62.         return TextDrawUseBox(text, use);
  63.  
  64. stock TextDrawBoxColor@({Text, PlayerText}:text, color)
  65.     if (IsPlayerTextDraw(text))
  66.         return PlayerTextDrawBoxColor(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), color);
  67.     else
  68.         return TextDrawBoxColor(text, color);
  69.  
  70. stock TextDrawSetShadow@({Text, PlayerText}:text, size)
  71.     if (IsPlayerTextDraw(text))
  72.         return PlayerTextDrawSetShadow(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), size);
  73.     else
  74.         return TextDrawSetShadow(text, size);
  75.  
  76. stock TextDrawSetOutline@({Text, PlayerText}:text, size)
  77.     if (IsPlayerTextDraw(text))
  78.         return PlayerTextDrawSetOutline(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), size);
  79.     else
  80.         return TextDrawSetOutline(text, size);
  81.  
  82. stock TextDrawBackgroundColor@({Text, PlayerText}:text, color)
  83.     if (IsPlayerTextDraw(text))
  84.         return PlayerTextDrawBackgroundColor(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), color);
  85.     else
  86.         return TextDrawBackgroundColor(text, color);
  87.  
  88. stock TextDrawFont@({Text, PlayerText}:text, font)
  89.     if (IsPlayerTextDraw(text))
  90.         return PlayerTextDrawFont(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), font);
  91.     else
  92.         return TextDrawFont(text, font);
  93.  
  94. stock TextDrawSetProportional@({Text, PlayerText}:text, set)
  95.     if (IsPlayerTextDraw(text))
  96.         return PlayerTextDrawSetProportional(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), set);
  97.     else
  98.         return TextDrawSetProportional(text, set);
  99.  
  100. stock TextDrawSetSelectable@({Text, PlayerText}:text, set)
  101.     if (IsPlayerTextDraw(text))
  102.         return PlayerTextDrawSetSelectable(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), set);
  103.     else
  104.         return TextDrawSetSelectable(text, set);
  105.  
  106. stock TextDrawShowForPlayer@(playerid = INVALID_PLAYER_ID, {Text, PlayerText}:text)
  107.     if (IsPlayerTextDraw(text))
  108.         return PlayerTextDrawShow(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text));
  109.     else
  110.         return TextDrawShowForPlayer(playerid, text);
  111.  
  112. stock TextDrawHideForPlayer@(playerid = INVALID_PLAYER_ID, {Text, PlayerText}:text)
  113.     if (IsPlayerTextDraw(text))
  114.         return PlayerTextDrawHide(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text));
  115.     else
  116.         return TextDrawHideForPlayer(playerid, text);
  117.  
  118. stock TextDrawShowForAll@(Text:text)
  119.     if (IsPlayerTextDraw(text))
  120.         return PlayerTextDrawShow(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text));
  121.     else
  122.         return TextDrawShowForAll(text);
  123.    
  124. stock TextDrawHideForAll@(Text:text)
  125.     if (IsPlayerTextDraw(text))
  126.         return PlayerTextDrawHide(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text));
  127.     else
  128.         return TextDrawHideForAll(text);
  129.  
  130. stock TextDrawSetString@({Text, PlayerText}:text, string[])
  131.     if (IsPlayerTextDraw(text))
  132.         return PlayerTextDrawSetString(TextDrawGetPlayer(text), TextDrawGetPlayerTextDraw(text), string);
  133.     else
  134.         return TextDrawSetString(text, string);
  135.  
  136. stock PlayerTextDrawDestroy@(playerid, PlayerText:text)
  137.     return PlayerTextDrawDestroy(playerid, text & PlayerText:0xFFFF);
  138.    
  139. stock PlayerTextDrawLetterSize@(playerid, PlayerText:text, Float:x, Float:y)
  140.     return PlayerTextDrawLetterSize(playerid, text & PlayerText:0xFFFF, x, y);
  141.    
  142. stock PlayerTextDrawTextSize@(playerid, PlayerText:text, Float:x, Float:y)
  143.     return PlayerTextDrawTextSize(playerid, text & PlayerText:0xFFFF, x, y);
  144.    
  145. stock PlayerTextDrawAlignment@(playerid, PlayerText:text, alignment)
  146.     return PlayerTextDrawAlignment(playerid, text & PlayerText:0xFFFF, alignment);
  147.    
  148. stock PlayerTextDrawColor@(playerid, PlayerText:text, color)
  149.     return PlayerTextDrawColor(playerid, text & PlayerText:0xFFFF, color);
  150.    
  151. stock PlayerTextDrawUseBox@(playerid, PlayerText:text, use)
  152.     return PlayerTextDrawUseBox(playerid, text & PlayerText:0xFFFF, use);
  153.    
  154. stock PlayerTextDrawBoxColor@(playerid, PlayerText:text, color)
  155.     return PlayerTextDrawBoxColor(playerid, text & PlayerText:0xFFFF, color);
  156.    
  157. stock PlayerTextDrawSetShadow@(playerid, PlayerText:text, size)
  158.     return PlayerTextDrawSetShadow(playerid, text & PlayerText:0xFFFF, size);
  159.    
  160. stock PlayerTextDrawSetOutline@(playerid, PlayerText:text, size)
  161.     return PlayerTextDrawSetOutline(playerid, text & PlayerText:0xFFFF, size);
  162.    
  163. stock PlayerTextDrawBackgroundColor@(playerid, PlayerText:text, color)
  164.     return PlayerTextDrawBackgroundColor(playerid, text & PlayerText:0xFFFF, color);
  165.    
  166. stock PlayerTextDrawFont@(playerid, PlayerText:text, font)
  167.     return PlayerTextDrawFont(playerid, text & PlayerText:0xFFFF, font);
  168.    
  169. stock PlayerTextDrawSetProportional@(playerid, PlayerText:text, set)
  170.     return PlayerTextDrawSetProportional(playerid, text & PlayerText:0xFFFF, set);
  171.    
  172. stock PlayerTextDrawSetSelectable@(playerid, PlayerText:text, set)
  173.     return PlayerTextDrawSetSelectable(playerid, text & PlayerText:0xFFFF, set);
  174.    
  175. stock PlayerTextDrawShow@(playerid, PlayerText:text)
  176.     return PlayerTextDrawShow(playerid, text & PlayerText:0xFFFF);
  177.    
  178. stock PlayerTextDrawHide@(playerid, PlayerText:text)
  179.     return PlayerTextDrawHide(playerid, text & PlayerText:0xFFFF);
  180.    
  181. stock PlayerTextDrawSetString@(playerid, PlayerText:text, string[])
  182.     return PlayerTextDrawSetString(playerid, text & PlayerText:0xFFFF, string);
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190. // ALS hooks
  191. #if defined _ALS_CreatePlayerTextDraw
  192.     #undef CreatePlayerTextDraw
  193. #else
  194.     #define _ALS_CreatePlayerTextDraw
  195. #endif
  196. #define CreatePlayerTextDraw CreatePlayerTextDraw@
  197. #if defined _ALS_PlayerTextDrawDestroy
  198.     #undef PlayerTextDrawDestroy
  199. #else
  200.     #define _ALS_PlayerTextDrawDestroy
  201. #endif
  202. #define PlayerTextDrawDestroy PlayerTextDrawDestroy@
  203.  
  204. #if defined _ALS_PlayerTextDrawLetterSize
  205.     #undef PlayerTextDrawLetterSize
  206. #else
  207.     #define _ALS_PlayerTextDrawLetterSize
  208. #endif
  209. #define PlayerTextDrawLetterSize PlayerTextDrawLetterSize@
  210.  
  211. #if defined _ALS_PlayerTextDrawTextSize
  212.     #undef PlayerTextDrawTextSize
  213. #else
  214.     #define _ALS_PlayerTextDrawTextSize
  215. #endif
  216. #define PlayerTextDrawTextSize PlayerTextDrawTextSize@
  217.  
  218. #if defined _ALS_PlayerTextDrawAlignment
  219.     #undef PlayerTextDrawAlignment
  220. #else
  221.     #define _ALS_PlayerTextDrawAlignment
  222. #endif
  223. #define PlayerTextDrawAlignment PlayerTextDrawAlignment@
  224.  
  225. #if defined _ALS_PlayerTextDrawColor
  226.     #undef PlayerTextDrawColor
  227. #else
  228.     #define _ALS_PlayerTextDrawColor
  229. #endif
  230. #define PlayerTextDrawColor PlayerTextDrawColor@
  231.  
  232. #if defined _ALS_PlayerTextDrawUseBox
  233.     #undef PlayerTextDrawUseBox
  234. #else
  235.     #define _ALS_PlayerTextDrawUseBox
  236. #endif
  237. #define PlayerTextDrawUseBox PlayerTextDrawUseBox@
  238.  
  239. #if defined _ALS_PlayerTextDrawBoxColor
  240.     #undef PlayerTextDrawBoxColor
  241. #else
  242.     #define _ALS_PlayerTextDrawBoxColor
  243. #endif
  244. #define PlayerTextDrawBoxColor PlayerTextDrawBoxColor@
  245.  
  246. #if defined _ALS_PlayerTextDrawSetShadow
  247.     #undef PlayerTextDrawSetShadow
  248. #else
  249.     #define _ALS_PlayerTextDrawSetShadow
  250. #endif
  251. #define PlayerTextDrawSetShadow PlayerTextDrawSetShadow@
  252.  
  253. #if defined _ALS_PlayerTextDrawSetOutline
  254.     #undef PlayerTextDrawSetOutline
  255. #else
  256.     #define _ALS_PlayerTextDrawSetOutline
  257. #endif
  258. #define PlayerTextDrawSetOutline PlayerTextDrawSetOutline@
  259.  
  260. #if defined _ALS_PlayerTextDrawBackgroundCo
  261.     #undef PlayerTextDrawBackgroundColor
  262. #else
  263.     #define _ALS_PlayerTextDrawBackgroundCo
  264. #endif
  265. #define PlayerTextDrawBackgroundColor PlayerTextDrawBackgroundColor@
  266.  
  267. #if defined _ALS_PlayerTextDrawFont
  268.     #undef PlayerTextDrawFont
  269. #else
  270.     #define _ALS_PlayerTextDrawFont
  271. #endif
  272. #define PlayerTextDrawFont PlayerTextDrawFont@
  273.  
  274. #if defined _ALS_PlayerTextDrawSetProportio
  275.     #undef PlayerTextDrawSetProportional
  276. #else
  277.     #define _ALS_PlayerTextDrawSetProportio
  278. #endif
  279. #define PlayerTextDrawSetProportional PlayerTextDrawSetProportional@
  280.  
  281. #if defined _ALS_PlayerTextDrawSetSelectabl
  282.     #undef PlayerTextDrawSetSelectable
  283. #else
  284.     #define _ALS_PlayerTextDrawSetSelectabl
  285. #endif
  286. #define PlayerTextDrawSetSelectable PlayerTextDrawSetSelectable@
  287.  
  288. #if defined _ALS_PlayerTextDrawShow
  289.     #undef PlayerTextDrawShow
  290. #else
  291.     #define _ALS_PlayerTextDrawShow
  292. #endif
  293. #define PlayerTextDrawShow PlayerTextDrawShow@
  294.  
  295. #if defined _ALS_PlayerTextDrawHide
  296.     #undef PlayerTextDrawHide
  297. #else
  298.     #define _ALS_PlayerTextDrawHide
  299. #endif
  300. #define PlayerTextDrawHide PlayerTextDrawHide@
  301.  
  302. #if defined _ALS_PlayerTextDrawSetString
  303.     #undef PlayerTextDrawSetString
  304. #else
  305.     #define _ALS_PlayerTextDrawSetString
  306. #endif
  307. #define PlayerTextDrawSetString PlayerTextDrawSetString@
  308.  
  309. #if defined _ALS_TextDrawDestroy
  310.     #undef TextDrawDestroy
  311. #else
  312.     #define _ALS_TextDrawDestroy
  313. #endif
  314. #define TextDrawDestroy TextDrawDestroy@
  315.  
  316. #if defined _ALS_TextDrawLetterSize
  317.     #undef TextDrawLetterSize
  318. #else
  319.     #define _ALS_TextDrawLetterSize
  320. #endif
  321. #define TextDrawLetterSize TextDrawLetterSize@
  322.  
  323. #if defined _ALS_TextDrawTextSize
  324.     #undef TextDrawTextSize
  325. #else
  326.     #define _ALS_TextDrawTextSize
  327. #endif
  328. #define TextDrawTextSize TextDrawTextSize@
  329.  
  330. #if defined _ALS_TextDrawAlignment
  331.     #undef TextDrawAlignment
  332. #else
  333.     #define _ALS_TextDrawAlignment
  334. #endif
  335. #define TextDrawAlignment TextDrawAlignment@
  336.  
  337. #if defined _ALS_TextDrawColor
  338.     #undef TextDrawColor
  339. #else
  340.     #define _ALS_TextDrawColor
  341. #endif
  342. #define TextDrawColor TextDrawColor@
  343.  
  344. #if defined _ALS_TextDrawUseBox
  345.     #undef TextDrawUseBox
  346. #else
  347.     #define _ALS_TextDrawUseBox
  348. #endif
  349. #define TextDrawUseBox TextDrawUseBox@
  350.  
  351. #if defined _ALS_TextDrawBoxColor
  352.     #undef TextDrawBoxColor
  353. #else
  354.     #define _ALS_TextDrawBoxColor
  355. #endif
  356. #define TextDrawBoxColor TextDrawBoxColor@
  357.  
  358. #if defined _ALS_TextDrawSetShadow
  359.     #undef TextDrawSetShadow
  360. #else
  361.     #define _ALS_TextDrawSetShadow
  362. #endif
  363. #define TextDrawSetShadow TextDrawSetShadow@
  364.  
  365. #if defined _ALS_TextDrawSetOutline
  366.     #undef TextDrawSetOutline
  367. #else
  368.     #define _ALS_TextDrawSetOutline
  369. #endif
  370. #define TextDrawSetOutline TextDrawSetOutline@
  371.  
  372. #if defined _ALS_TextDrawBackgroundColor
  373.     #undef TextDrawBackgroundColor
  374. #else
  375.     #define _ALS_TextDrawBackgroundColor
  376. #endif
  377. #define TextDrawBackgroundColor TextDrawBackgroundColor@
  378.  
  379. #if defined _ALS_TextDrawFont
  380.     #undef TextDrawFont
  381. #else
  382.     #define _ALS_TextDrawFont
  383. #endif
  384. #define TextDrawFont TextDrawFont@
  385.  
  386. #if defined _ALS_TextDrawSetProportional
  387.     #undef TextDrawSetProportional
  388. #else
  389.     #define _ALS_TextDrawSetProportional
  390. #endif
  391. #define TextDrawSetProportional TextDrawSetProportional@
  392.  
  393. #if defined _ALS_TextDrawSetSelectable
  394.     #undef TextDrawSetSelectable
  395. #else
  396.     #define _ALS_TextDrawSetSelectable
  397. #endif
  398. #define TextDrawSetSelectable TextDrawSetSelectable@
  399.  
  400. #if defined _ALS_TextDrawShowForPlayer
  401.     #undef TextDrawShowForPlayer
  402. #else
  403.     #define _ALS_TextDrawShowForPlayer
  404. #endif
  405. #define TextDrawShowForPlayer TextDrawShowForPlayer@
  406.  
  407. #if defined _ALS_TextDrawHideForPlayer
  408.     #undef TextDrawHideForPlayer
  409. #else
  410.     #define _ALS_TextDrawHideForPlayer
  411. #endif
  412. #define TextDrawHideForPlayer TextDrawHideForPlayer@
  413.  
  414. #if defined _ALS_TextDrawShowForAll
  415.     #undef TextDrawShowForAll
  416. #else
  417.     #define _ALS_TextDrawShowForAll
  418. #endif
  419. #define TextDrawShowForAll TextDrawShowForAll@
  420.  
  421. #if defined _ALS_TextDrawHideForAll
  422.     #undef TextDrawHideForAll
  423. #else
  424.     #define _ALS_TextDrawHideForAll
  425. #endif
  426. #define TextDrawHideForAll TextDrawHideForAll@
  427.  
  428. #if defined _ALS_TextDrawSetString
  429.     #undef TextDrawSetString
  430. #else
  431.     #define _ALS_TextDrawSetString
  432. #endif
  433. #define TextDrawSetString TextDrawSetString@
  434.  
  435. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {
  436.     playertextid |= PlayerText:(playerid << 16 | 0x80000000);
  437.    
  438.     return CallRemoteFunction(!"OnPlayerClickTextDraw", !"ii", playerid, _:playertextid);
  439. }
  440.  
  441. #if defined _ALS_OnPlayerClickPlayerTextDra
  442.     #undef OnPlayerClickPlayerTextDraw
  443. #else
  444.     #define _ALS_OnPlayerClickPlayerTextDra
  445. #endif
  446.  
  447. #define OnPlayerClickPlayerTextDraw OnPlayerClickPlayerTextDraw@
  448.  
  449. forward OnPlayerClickPlayerTextDraw@(playerid, PlayerText:playertextid);
Advertisement
Add Comment
Please, Sign In to add comment