gamer931215

gDialog 1.0

Sep 4th, 2011
501
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.66 KB | None | 0 0
  1. /*
  2.     gDialog V1.0
  3.     Created by Gamer931215 - Released on 05-09-2011
  4.    
  5.     native CreateDialog(dialogid,style,caption[],info[],button1[],button2[])
  6.     native ShowPlayerDialogEx(playerid,dialogid,style,caption[],info[],button1[],button2[])
  7.     native ShowPlayerDialog(playerid,dialogid)
  8.    
  9.     http://www.gamer93.net
  10. */
  11. #include <a_samp>
  12. #if defined _SD_INCLUDED
  13.     #endinput
  14. #endif
  15. #define _SD_INCLUDED
  16.  
  17. #if !defined MAX_DIALOGS
  18.     #define MAX_DIALOGS 100
  19. #endif
  20. #if !defined MAX_CAPTION_LENGTH
  21.     #define MAX_CAPTION_LENGTH 64
  22. #endif
  23. #if !defined MAX_INFO_LENGTH
  24.     #define MAX_INFO_LENGTH 256
  25. #endif
  26. #if !defined MAX_BUTTON_LENGTH
  27.     #define MAX_BUTTON_LENGTH 24
  28. #endif
  29.  
  30. #define DIALOG:%0(%1,%2,%3,%4)      \
  31.     forward dlg_%0(%1,%2,%3,%4);    \
  32.     public dlg_%0(%1,%2,%3,%4)
  33.  
  34. enum _dialog
  35. {
  36.     _style,
  37.     _caption[MAX_CAPTION_LENGTH],
  38.     _info[MAX_INFO_LENGTH],
  39.     _button1[MAX_BUTTON_LENGTH],
  40.     _button2[MAX_BUTTON_LENGTH],
  41.     bool:_used
  42. }
  43. new DialogDetails[MAX_DIALOGS][_dialog];
  44.  
  45. stock CreateDialog(dialogid,style,caption[],info[],button1[],button2[])
  46. {
  47.     if(dialogid > MAX_DIALOGS)
  48.     {
  49.         print("gDialog: You used a invalid dialogid! Please redefine MAX_DIALOGS");
  50.     }
  51.     DialogDetails[dialogid][_style] = style;
  52.     format(DialogDetails[dialogid][_caption],MAX_CAPTION_LENGTH,"%s",caption);
  53.     format(DialogDetails[dialogid][_info],MAX_INFO_LENGTH,"%s",info);
  54.     format(DialogDetails[dialogid][_button1],MAX_BUTTON_LENGTH,"%s",button1);
  55.     format(DialogDetails[dialogid][_button2],MAX_BUTTON_LENGTH,"%s",button2);
  56.     DialogDetails[dialogid][_used] = true;
  57. }
  58.  
  59. stock ShowPlayerDialogEx(playerid,dialogid,style,caption[],info[],button1[],button2[])
  60. {
  61.     return ShowPlayerDialog(playerid,dialogid,style,caption,info,button1,button2);
  62. }
  63.  
  64. stock SD_ShowPlayerDialog(playerid,dialogid)
  65. {
  66.     return ShowPlayerDialog(playerid,dialogid,DialogDetails[dialogid][_style],DialogDetails[dialogid][_caption],DialogDetails[dialogid][_info],DialogDetails[dialogid][_button1],DialogDetails[dialogid][_button2]);
  67. }
  68. #if defined _ALS_ShowPlayerDialog
  69.     #undef ShowPlayerDialog
  70. #else
  71.     #define _ALS_ShowPlayerDialog
  72. #endif
  73. #define ShowPlayerDialog SD_ShowPlayerDialog
  74.  
  75. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  76. {
  77.     new function[32];format(function,sizeof function,"dlg_%i",dialogid);
  78.     CallLocalFunction(function,"iiis",playerid,response,listitem,inputtext);
  79.     return CallLocalFunction("SD_OnDialogResponse","iiiis",playerid,dialogid,response,listitem,inputtext);
  80. }
  81. #if defined _ALS_OnDialogResponse
  82.     #undef OnDialogResponse
  83. #else
  84.     #define _ALS_OnDialogResponse
  85. #endif
  86. #define OnDialogResponse SD_OnDialogResponse
  87. forward SD_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
Advertisement
Add Comment
Please, Sign In to add comment