Advertisement
Guest User

Untitled

a guest
Aug 30th, 2013
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 14.30 KB | None | 0 0
  1. /*
  2. ADRI1 INCLUDE**
  3.  
  4. FUNC: ShowTextDrawDialog(playerid, dialogid, info[], button1[], button2[], line1[]="", line2[]="", line3[]="", line4[]="", line5[]="", line6[]="", line7[]="", line8[]="", line9[]="", line10[]="", line11[]="")
  5. PUBLIC: OnTextDrawDialogResponse(playerid, response, dialogid, listitem)
  6.  
  7. **Segundo include.
  8. */
  9. #define MAX_TD_DIALOGS  10
  10. #if !defined isnull
  11.     #define isnull(%1) \
  12.                 ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
  13. #endif
  14. new
  15.     PlayerText:Normal_Texts[MAX_PLAYERS][MAX_TD_DIALOGS][5],
  16.     PlayerText:Lines_Texts[MAX_PLAYERS][MAX_TD_DIALOGS][11];
  17. forward OnTextDrawDialogResponse(playerid, response, dialogid, listitem);
  18.  
  19. stock ShowTextDrawDialog(playerid, dialogid, info[], button1[], button2[], line1[]="", line2[]="", line3[]="", line4[]="", line5[]="", line6[]="", line7[]="", line8[]="", line9[]="", line10[]="", line11[]="")
  20. {
  21.     if(GetPVarInt(playerid, "menu_active") >= 0) return 0;
  22.     SetPVarInt(playerid, "menu_active", dialogid);
  23.     Normal_Texts[playerid][dialogid][0] = CreatePlayerTextDraw(playerid,615.762756, 115.833366, "usebox");
  24.     PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][0], 0.000000, 30.403156);
  25.     PlayerTextDrawTextSize(playerid,Normal_Texts[playerid][dialogid][0], 18.146411, 0.000000);
  26.     PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][0], 1);
  27.     PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][0], 0);
  28.     PlayerTextDrawUseBox(playerid,Normal_Texts[playerid][dialogid][0], true);
  29.     PlayerTextDrawBoxColor(playerid,Normal_Texts[playerid][dialogid][0], 102);
  30.     PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][0], 0);
  31.     PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][0], 0);
  32.     PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][0], 0);
  33.  
  34.     Normal_Texts[playerid][dialogid][1] = CreatePlayerTextDraw(playerid,36.076484, 120.750000, info);
  35.     PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][1], 0.449999, 1.600000);
  36.     PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][1], 1);
  37.     PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][1], -1);
  38.     PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][1], 0);
  39.     PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][1], 1);
  40.     PlayerTextDrawBackgroundColor(playerid,Normal_Texts[playerid][dialogid][1], 51);
  41.     PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][1], 1);
  42.     PlayerTextDrawSetProportional(playerid, Normal_Texts[playerid][dialogid][1], 1);
  43.  
  44.     Normal_Texts[playerid][dialogid][2] = CreatePlayerTextDraw(playerid,595.616088, 142.666671, "usebox");
  45.     PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][2], 0.000000, 24.042774);
  46.     PlayerTextDrawTextSize(playerid,Normal_Texts[playerid][dialogid][2], 33.607612, 0.000000);
  47.     PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][2], 1);
  48.     PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][2], 0);
  49.     PlayerTextDrawUseBox(playerid,Normal_Texts[playerid][dialogid][2], true);
  50.     PlayerTextDrawBoxColor(playerid,Normal_Texts[playerid][dialogid][2], 254);
  51.     PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][2], 0);
  52.     PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][2], 0);
  53.     PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][2], 0);
  54.     if(isnull(button2))
  55.     {
  56.         Normal_Texts[playerid][dialogid][3] = CreatePlayerTextDraw(playerid,317.657592, 368.082977, button1);
  57.         PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][3], 0.449999, 1.600000);
  58.         PlayerTextDrawTextSize(playerid,Normal_Texts[playerid][dialogid][3], 22.489015, 66.499992);
  59.         PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][3], 2);
  60.         PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][3], -1);
  61.         PlayerTextDrawUseBox(playerid,Normal_Texts[playerid][dialogid][3], true);
  62.         PlayerTextDrawBoxColor(playerid,Normal_Texts[playerid][dialogid][3], -2139062017);
  63.         PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][3], 0);
  64.         PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][3], 1);
  65.         PlayerTextDrawBackgroundColor(playerid,Normal_Texts[playerid][dialogid][3], 255);
  66.         PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][3], 1);
  67.         PlayerTextDrawSetProportional(playerid, Normal_Texts[playerid][dialogid][3], 1);
  68.         PlayerTextDrawSetSelectable(playerid, Normal_Texts[playerid][dialogid][3], true);
  69.     }
  70.     else
  71.     {
  72.         Normal_Texts[playerid][dialogid][3] = CreatePlayerTextDraw(playerid,274.084930, 368.082977, button1);
  73.         PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][3], 0.449999, 1.600000);
  74.         PlayerTextDrawTextSize(playerid,Normal_Texts[playerid][dialogid][3], 22.489015, 66.499992);
  75.         PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][3], 2);
  76.         PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][3], -1);
  77.         PlayerTextDrawUseBox(playerid,Normal_Texts[playerid][dialogid][3], true);
  78.         PlayerTextDrawBoxColor(playerid,Normal_Texts[playerid][dialogid][3], -2139062017);
  79.         PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][3], 0);
  80.         PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][3], 1);
  81.         PlayerTextDrawBackgroundColor(playerid,Normal_Texts[playerid][dialogid][3], 255);
  82.         PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][3], 1);
  83.         PlayerTextDrawSetProportional(playerid, Normal_Texts[playerid][dialogid][3], 1);
  84.         PlayerTextDrawSetSelectable(playerid, Normal_Texts[playerid][dialogid][3], true);
  85.  
  86.         Normal_Texts[playerid][dialogid][4] = CreatePlayerTextDraw(playerid,353.796752, 368.082977, button2);
  87.         PlayerTextDrawLetterSize(playerid,Normal_Texts[playerid][dialogid][4], 0.449999, 1.600000);
  88.         PlayerTextDrawTextSize(playerid,Normal_Texts[playerid][dialogid][4], 22.489015, 66.499992);
  89.         PlayerTextDrawAlignment(playerid,Normal_Texts[playerid][dialogid][4], 2);
  90.         PlayerTextDrawColor(playerid,Normal_Texts[playerid][dialogid][4], -1);
  91.         PlayerTextDrawUseBox(playerid,Normal_Texts[playerid][dialogid][4], true);
  92.         PlayerTextDrawBoxColor(playerid,Normal_Texts[playerid][dialogid][4], -2139062017);
  93.         PlayerTextDrawSetShadow(playerid,Normal_Texts[playerid][dialogid][4], 0);
  94.         PlayerTextDrawSetOutline(playerid,Normal_Texts[playerid][dialogid][4], 1);
  95.         PlayerTextDrawBackgroundColor(playerid,Normal_Texts[playerid][dialogid][4], 255);
  96.         PlayerTextDrawFont(playerid,Normal_Texts[playerid][dialogid][4], 1);
  97.         PlayerTextDrawSetProportional(playerid, Normal_Texts[playerid][dialogid][4], 1);
  98.         PlayerTextDrawSetSelectable(playerid, Normal_Texts[playerid][dialogid][4], true);
  99.     }
  100.  
  101.     //Lines
  102.     Lines_Texts[playerid][dialogid][0] = CreatePlayerTextDraw(playerid,314.378082, 142.916778, line1);
  103.     Lines_Texts[playerid][dialogid][1] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014, line2);
  104.     Lines_Texts[playerid][dialogid][2] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*2, line3);
  105.     Lines_Texts[playerid][dialogid][3] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*3, line4);
  106.     Lines_Texts[playerid][dialogid][4] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*4, line5);
  107.     Lines_Texts[playerid][dialogid][5] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*5, line6);
  108.     Lines_Texts[playerid][dialogid][6] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*6, line7);
  109.     Lines_Texts[playerid][dialogid][7] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*7, line8);
  110.     Lines_Texts[playerid][dialogid][8] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*8, line9);
  111.     Lines_Texts[playerid][dialogid][9] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*9, line10);
  112.     Lines_Texts[playerid][dialogid][10] = CreatePlayerTextDraw(playerid,314.378082, 142.916778+19.250107000000014*10, line11);
  113.     for(new i = 0; i < 11; i++)
  114.     {
  115.         PlayerTextDrawLetterSize(playerid,Lines_Texts[playerid][dialogid][i], 0.449999, 1.600000);
  116.         PlayerTextDrawTextSize(playerid,Lines_Texts[playerid][dialogid][i], 15, 555);
  117.         PlayerTextDrawAlignment(playerid,Lines_Texts[playerid][dialogid][i], 2);
  118.         PlayerTextDrawColor(playerid,Lines_Texts[playerid][dialogid][i], -1);
  119.         PlayerTextDrawUseBox(playerid,Lines_Texts[playerid][dialogid][i], true);
  120.         PlayerTextDrawBoxColor(playerid,Lines_Texts[playerid][dialogid][i], -2139062017);
  121.         PlayerTextDrawSetShadow(playerid,Lines_Texts[playerid][dialogid][i], 0);
  122.         PlayerTextDrawSetOutline(playerid,Lines_Texts[playerid][dialogid][i], 1);
  123.         PlayerTextDrawBackgroundColor(playerid,Lines_Texts[playerid][dialogid][i], 51);
  124.         PlayerTextDrawFont(playerid,Lines_Texts[playerid][dialogid][i], 3);
  125.         PlayerTextDrawSetProportional(playerid, Lines_Texts[playerid][dialogid][i], 1);
  126.         PlayerTextDrawSetSelectable(playerid, Lines_Texts[playerid][dialogid][i], true);
  127.     }
  128.     PlayerTextDrawBoxColor(playerid,Lines_Texts[playerid][dialogid][0], 0x00000066);
  129.     for(new i = 0; i < 5; i++) PlayerTextDrawShow(playerid, Normal_Texts[playerid][dialogid][i]);
  130.     for(new i = 0; i < 11; i++) PlayerTextDrawShow(playerid, Lines_Texts[playerid][dialogid][i]);
  131.     SelectTextDraw(playerid, 0x00FF00FF);
  132.     SetPVarInt(playerid, "selected_on", 0);
  133.     return 1;
  134. }
  135. stock DestroyTextDrawDialog(playerid, dialogid)
  136. {
  137.     for(new i = 0; i < 5; i++) PlayerTextDrawDestroy(playerid, Normal_Texts[playerid][dialogid][i]);
  138.     for(new i = 0; i < 11; i++) PlayerTextDrawDestroy(playerid, Lines_Texts[playerid][dialogid][i]);
  139.     CancelSelectTextDraw(playerid);
  140.     return 1;
  141. }
  142.  
  143. public OnPlayerClickTextDraw(playerid, Text:clickedid)
  144. {
  145.     if(GetPVarInt(playerid, "menu_active") >= 0)
  146.     {
  147.         //Escape
  148.         if(clickedid == Text:INVALID_TEXT_DRAW)
  149.         {
  150.             CallLocalFunction("OnTextDrawDialogResponse", "dddd", playerid, 0, GetPVarInt(playerid, "menu_active"), -1);
  151.             DestroyTextDrawDialog(playerid, GetPVarInt(playerid, "menu_active"));
  152.             SetPVarInt(playerid, "menu_active", -1);
  153.             SetPVarInt(playerid, "selected_on", -1);
  154.             PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
  155.         }
  156.     }
  157.     return CallLocalFunction("AC_OPCTD", "ii", playerid, _:clickedid);
  158. }
  159. #if defined _ALS_OnPlayerClickTextDraw
  160.     #undef OnPlayerClickTextDraw
  161. #else
  162.     #define _ALS_OnPlayerClickTextDraw
  163. #endif
  164. #define OnPlayerClickTextDraw AC_OPCTD
  165. forward AC_OPCTD(playerid, Text:clickedid);
  166.  
  167. public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
  168. {
  169.     if(GetPVarInt(playerid, "menu_active") >= 0)
  170.     {
  171.         for(new i = 0; i < 11; i++)
  172.         {
  173.             if(playertextid == Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][i])
  174.             {
  175.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][0], -2139062017);
  176.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][1], -2139062017);
  177.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][2], -2139062017);
  178.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][3], -2139062017);
  179.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][4], -2139062017);
  180.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][5], -2139062017);
  181.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][6], -2139062017);
  182.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][7], -2139062017);
  183.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][8], -2139062017);
  184.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][9], -2139062017);
  185.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][10], -2139062017);
  186.                 PlayerTextDrawBoxColor(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][i], 0x00000066);
  187.                 for(new d = 0; d < 11; d++) PlayerTextDrawShow(playerid, Lines_Texts[playerid][GetPVarInt(playerid, "menu_active")][d]);
  188.                 SetPVarInt(playerid, "selected_on", i);
  189.                 PlayerPlaySound(playerid,1083,0.0,0.0,0.0);
  190.             }
  191.         }
  192.         if(playertextid == Normal_Texts[playerid][GetPVarInt(playerid, "menu_active")][3]) //Button 1
  193.         {
  194.             if(GetPVarInt(playerid, "selected_on") >= 0)
  195.             {
  196.                 CallLocalFunction("OnTextDrawDialogResponse", "dddd", playerid, 1, GetPVarInt(playerid, "menu_active"), GetPVarInt(playerid, "selected_on"));
  197.                 DestroyTextDrawDialog(playerid, GetPVarInt(playerid, "menu_active"));
  198.                 SetPVarInt(playerid, "menu_active", -1);
  199.                 SetPVarInt(playerid, "selected_on", -1);
  200.                 PlayerPlaySound(playerid,1084,0.0,0.0,0.0);
  201.             }
  202.         }
  203.         if(playertextid == Normal_Texts[playerid][GetPVarInt(playerid, "menu_active")][4]) //Button 2
  204.         {
  205.             if(GetPVarInt(playerid, "selected_on") >= 0)
  206.             {
  207.                 CallLocalFunction("OnTextDrawDialogResponse", "dddd", playerid, 0, GetPVarInt(playerid, "menu_active"), GetPVarInt(playerid, "selected_on"));
  208.                 DestroyTextDrawDialog(playerid, GetPVarInt(playerid, "menu_active"));
  209.                 SetPVarInt(playerid, "menu_active", -1);
  210.                 SetPVarInt(playerid, "selected_on", -1);
  211.                 PlayerPlaySound(playerid,1084,0.0,0.0,0.0);
  212.             }
  213.         }
  214.     }
  215.     return CallLocalFunction("AC_OPCPTD", "ii", playerid, _:playertextid);
  216. }
  217. #if defined _ALS_OnPlayerClickPlayerTD
  218.     #undef OnPlayerClickPlayerTextDraw
  219. #else
  220.     #define _ALS_OnPlayerClickPlayerTD
  221. #endif
  222. #define OnPlayerClickPlayerTextDraw AC_OPCPTD
  223.  
  224. forward AC_OPCPTD(playerid, PlayerText:playertextid);
  225.  
  226.  
  227.  
  228. public OnPlayerConnect(playerid){
  229. SetPVarInt(playerid, "menu_active", -1);
  230. SetPVarInt(playerid, "selected_on", -1);
  231. return CallLocalFunction("AC_OPC", "i", playerid);
  232. }
  233. #if defined _ALS_OnPlayerConnect
  234.     #undef OnPlayerConnect
  235. #else
  236.     #define _ALS_OnPlayerConnect
  237. #endif
  238. #define OnPlayerConnect AC_OPC
  239. forward AC_OPC(playerid);
  240.  
  241. public OnPlayerDisconnect(playerid, reason)
  242. {
  243.     DeletePVar(playerid, "menu_active");
  244.     DeletePVar(playerid, "selected_on");
  245.     return CallLocalFunction("AC_OPDC", "ii", playerid, reason);
  246. }
  247. #if defined _ALS_OnPlayerDisconnect
  248.     #undef OnPlayerDisconnect
  249. #else
  250.     #define _ALS_OnPlayerDisconnect
  251. #endif
  252. #define OnPlayerDisconnect AC_OPDC
  253. forward AC_OPDC(playerid, reason);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement