Advertisement
Guest User

Untitled

a guest
Nov 20th, 2016
1,047
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. /*
  2.  
  3. Textdraw Menu v1.1
  4. Made by Jelly23
  5.  
  6. */
  7.  
  8. #include <a_samp>
  9.  
  10. /*Textdraws & Variables*/
  11. static PlayerText:J_TMenu[MAX_PLAYERS][2],
  12. MenuID[MAX_PLAYERS],pHasItems[MAX_PLAYERS];
  13.  
  14. /*Response callback*/
  15. forward OnTextMenuResponse(playerid,menuid,listitem);
  16.  
  17.  
  18. public OnPlayerConnect(playerid)
  19. {
  20. MenuID[playerid] = -1;
  21. pHasItems[playerid] = 0;
  22. J_TMenu[playerid][0] = CreatePlayerTextDraw(playerid, 143.249816, 130.266815, "Header");
  23. PlayerTextDrawLetterSize(playerid, J_TMenu[playerid][0], 0.541876, 1.489166);
  24. PlayerTextDrawAlignment(playerid, J_TMenu[playerid][0], 2);
  25. PlayerTextDrawColor(playerid, J_TMenu[playerid][0], -5963521);
  26. PlayerTextDrawSetShadow(playerid, J_TMenu[playerid][0], 0);
  27. PlayerTextDrawSetOutline(playerid, J_TMenu[playerid][0], 0);
  28. PlayerTextDrawBackgroundColor(playerid, J_TMenu[playerid][0], 255);
  29. PlayerTextDrawFont(playerid, J_TMenu[playerid][0], 3);
  30. PlayerTextDrawSetProportional(playerid, J_TMenu[playerid][0], 1);
  31. PlayerTextDrawSetShadow(playerid, J_TMenu[playerid][0], 0);
  32.  
  33. J_TMenu[playerid][1] = CreatePlayerTextDraw(playerid, 30.724655, 129.533676, "Content");
  34. PlayerTextDrawLetterSize(playerid, J_TMenu[playerid][1], 0.251874, 0.940833);
  35. PlayerTextDrawTextSize(playerid, J_TMenu[playerid][1], 266.977142, 0.000000);
  36. PlayerTextDrawAlignment(playerid, J_TMenu[playerid][1], 1);
  37. PlayerTextDrawColor(playerid, J_TMenu[playerid][1], -1);
  38. PlayerTextDrawUseBox(playerid, J_TMenu[playerid][1], 1);
  39. PlayerTextDrawBoxColor(playerid, J_TMenu[playerid][1], 120);
  40. PlayerTextDrawSetShadow(playerid, J_TMenu[playerid][1], 1);
  41. PlayerTextDrawSetOutline(playerid, J_TMenu[playerid][1], 0);
  42. PlayerTextDrawBackgroundColor(playerid, J_TMenu[playerid][1], 255);
  43. PlayerTextDrawFont(playerid, J_TMenu[playerid][1], 1);
  44. PlayerTextDrawSetProportional(playerid, J_TMenu[playerid][1], 1);
  45. PlayerTextDrawSetShadow(playerid, J_TMenu[playerid][1], 1);
  46. #if defined J_OnPlayerConnect
  47. return J_OnPlayerConnect(playerid);
  48. #else
  49. return 1;
  50. #endif
  51. }
  52.  
  53. public OnPlayerText(playerid, text[])
  54. {
  55. if(MenuID[playerid] != -1)
  56. {
  57. if(pHasItems[playerid] != 0)
  58. {
  59. if(J_IsNumeric(text))
  60. {
  61. if(strval(text) > 0 && strval(text) <= pHasItems[playerid])
  62. {
  63. new var;
  64. var = MenuID[playerid];
  65. MenuID[playerid] = -1;
  66. pHasItems[playerid] = 0;
  67. PlayerTextDrawHide(playerid,J_TMenu[playerid][0]);
  68. PlayerTextDrawHide(playerid,J_TMenu[playerid][1]);
  69.  
  70. OnTextMenuResponse(playerid,var,strval(text));
  71. return 0;
  72. }
  73. }
  74. }
  75. }
  76. #if defined J_OnPlayerText
  77. return J_OnPlayerText(playerid, text);
  78. #else
  79. return 1;
  80. #endif
  81. }
  82.  
  83. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  84. {
  85. if (GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
  86. {
  87. if(MenuID[playerid] != -1)
  88. {
  89. if(newkeys == KEY_FIRE)
  90. {
  91. MenuID[playerid] = -1;
  92. pHasItems[playerid] = 0;
  93. PlayerTextDrawHide(playerid,J_TMenu[playerid][0]);
  94. PlayerTextDrawHide(playerid,J_TMenu[playerid][1]);
  95. }
  96. }
  97. }
  98. #if defined J_OnPlayerKeyStateChange
  99. return J_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  100. #else
  101. return 1;
  102. #endif
  103. }
  104.  
  105. static J_IsNumeric(const string[])
  106. {
  107. for (new i = 0, j = strlen(string); i < j; i++)
  108. {
  109. if (string[i] > '9' || string[i] < '0') return 0;
  110. }
  111. return 1;
  112. }
  113. stock TextMenuShowForPlayer(playerid,menuid,header[],content[],items=0)
  114. {
  115. new J_Menustring[1028];
  116. MenuID[playerid] = menuid;
  117. PlayerTextDrawSetString(playerid, J_TMenu[playerid][0], header);
  118. if(items != 0)
  119. {
  120. pHasItems[playerid] = items;
  121. format(J_Menustring, sizeof(J_Menustring), "~n~~n~~n~%s~n~~n~~w~___________Press_~y~T_~w~Or_~y~F6~w~_and_type_option_number~n~_________________Press_~y~LMB_~w~to_close_this_box~n~~n~", content);
  122. }
  123. else
  124. {
  125. pHasItems[playerid] = 0;
  126. format(J_Menustring, sizeof(J_Menustring), "~n~~n~~n~%s~n~~n~~w~_________________Press_~y~LMB_~w~to_close_this_box~n~~n~", content);
  127. }
  128. PlayerTextDrawSetString(playerid, J_TMenu[playerid][1], J_Menustring);
  129. PlayerTextDrawShow(playerid,J_TMenu[playerid][0]);
  130. PlayerTextDrawShow(playerid,J_TMenu[playerid][1]);
  131. }
  132. stock TextMenuHideForPlayer(playerid)
  133. {
  134. MenuID[playerid] = -1;
  135. pHasItems[playerid] = 0;
  136. PlayerTextDrawHide(playerid,J_TMenu[playerid][0]);
  137. PlayerTextDrawHide(playerid,J_TMenu[playerid][1]);
  138. }
  139.  
  140. #if defined _ALS_OnPlayerConnect
  141. #undef OnPlayerConnect
  142. #else
  143. #define _ALS_OnPlayerConnect
  144. #endif
  145. #define OnPlayerConnect J_OnPlayerConnect
  146.  
  147. #if defined _ALS_OnPlayerKeyStateChange
  148. #undef OnPlayerKeyStateChange
  149. #else
  150. #define _ALS_OnPlayerKeyStateChange
  151. #endif
  152. #define OnPlayerKeyStateChange J_OnPlayerKeyStateChange
  153.  
  154. #if defined _ALS_OnPlayerText
  155. #undef OnPlayerText
  156. #else
  157. #define _ALS_OnPlayerText
  158. #endif
  159. #define OnPlayerText J_OnPlayerText
  160.  
  161. #if defined J_OnPlayerText
  162. forward J_OnPlayerText(playerid, text[]);
  163. #endif
  164.  
  165. #if defined J_OnPlayerConnect
  166. forward J_OnPlayerConnect(playerid);
  167. #endif
  168.  
  169. #if defined J_OnPlayerKeyStateChange
  170. forward J_OnPlayerKeyStateChange(playerid, newkeys, oldkeys);
  171. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement