Advertisement
Guest User

Untitled

a guest
Mar 14th, 2019
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #if defined __dynamicgui
  2. #endinput
  3. #endif
  4. #define __dynamicgui
  5.  
  6. // DynamicGui v2.0 by Tomasz Ptak (promsters) //
  7. // native DynamicGui_Init()
  8. // native DynamicGui_AddBlankRow()
  9. // native DynamicGui_AddRow(value, additional_data_int=0)
  10. // native DynamicGui_FreeRow() -- internal use
  11. // native DynamicGui_GetValue(listitem)
  12. // native DynamicGui_GetDataInt(listitem)
  13.  
  14.  
  15. #define DYNAMIC_GUI_MAX_ROWS 60 // Max rows in gui
  16.  
  17. #define DG_NO_ACTION 0 // Value of no action row
  18. #define INVALID_ROW_VALUE -198744124 // Do not touch
  19.  
  20. enum e_dynamic_gui_row
  21. {
  22. value,
  23. additional_data_int,
  24. }
  25. new dynamic_gui[MAX_PLAYERS][DYNAMIC_GUI_MAX_ROWS][e_dynamic_gui_row];
  26.  
  27. new dynamic_gui_value[MAX_PLAYERS] = {-1, ...};
  28.  
  29. stock DynamicGui_Init(playerid)
  30. {
  31. for(new i; i < DYNAMIC_GUI_MAX_ROWS; i++)
  32. {
  33. dynamic_gui[playerid][i][value] = INVALID_ROW_VALUE;
  34. dynamic_gui[playerid][i][additional_data_int] = 0;
  35. }
  36.  
  37. dynamic_gui_value[playerid] = -1;
  38. }
  39.  
  40. stock DynamicGui_SetDialogValue(playerid, d_value)
  41. {
  42. dynamic_gui_value[playerid] = d_value;
  43. }
  44.  
  45. stock DynamicGui_GetDialogValue(playerid)
  46. {
  47. return dynamic_gui_value[playerid];
  48. }
  49.  
  50. stock DynamicGui_FreeRow(playerid)
  51. {
  52. for(new i; i < DYNAMIC_GUI_MAX_ROWS; i++)
  53. {
  54. if( dynamic_gui[playerid][i][value] == INVALID_ROW_VALUE )
  55. {
  56. return i;
  57. }
  58. }
  59.  
  60. return -1;
  61. }
  62.  
  63. stock DynamicGui_AddRow(playerid, dg_value, dg_additional_data_int = 0)
  64. {
  65. new first_free_row = DynamicGui_FreeRow(playerid);
  66. if( first_free_row == -1 ) return;
  67.  
  68. dynamic_gui[playerid][first_free_row][value] = dg_value;
  69. dynamic_gui[playerid][first_free_row][additional_data_int] = dg_additional_data_int;
  70. }
  71.  
  72. stock DynamicGui_AddBlankRow(playerid)
  73. {
  74. new first_free_row = DynamicGui_FreeRow(playerid);
  75. if( first_free_row == -1 ) return;
  76.  
  77. dynamic_gui[playerid][first_free_row][value] = DG_NO_ACTION;
  78. }
  79.  
  80. stock DynamicGui_GetValue(playerid, listitem)
  81. {
  82. if( listitem > DYNAMIC_GUI_MAX_ROWS-1 ) return 0;
  83.  
  84. return dynamic_gui[playerid][listitem][value];
  85. }
  86.  
  87. stock DynamicGui_GetDataInt(playerid, listitem)
  88. {
  89. if( listitem > DYNAMIC_GUI_MAX_ROWS-1 ) return 0;
  90.  
  91. return dynamic_gui[playerid][listitem][additional_data_int];
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement