Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2023
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.33 KB | None | 0 0
  1. 1. DisplayMenu(id, menu)
  2. 2. {
  3. 3. if (!is_user_connected(id))
  4. 4. return PLUGIN_HANDLED;
  5. 5.  
  6. 6. set_pdata_int(id, 205, 0, 5, 0);
  7. 7. menu_display(id, menu, 0);
  8. 8. return 0;
  9. 9. }
  10. 10.  
  11. 11. bool:IsRegistered(id)
  12. 12. {
  13. 13. new Data[576];
  14. 14. new Timestamp;
  15. 15. if (nvault_lookup(g_Vault, g_szName[id], Data, 575, Timestamp))
  16. 16. {
  17. 17. return true;
  18. 18. }
  19. 19. return false;
  20. 20. }
  21. 21.  
  22. 22. _MenuExit(menu)
  23. 23. {
  24. 24. menu_destroy(menu);
  25. 25. return 1;
  26. 26. }
  27. 27.  
  28. 28. _ShowRegMenu(id)
  29. 29. {
  30. 30. if (1 > get_pcvar_num(c_RegOpen))
  31. 31. {
  32. 32. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_CLOSED");
  33. 33. return 0;
  34. 34. }
  35. 35. new temp[64];
  36. 36. formatex(temp, 63, "\r%s \w%L", "[CS:GO]", id, "CSGOR_REG_MENU");
  37. 37. new menu = menu_create(temp, "reg_menu_handler", 0);
  38. 38. new szItem[2];
  39. 39. szItem[1] = 0;
  40. 40. formatex(temp, 63, "\r%L \w%s", id, "CSGOR_REG_ACCOUNT", g_szName[id]);
  41. 41. szItem[0] = 0;
  42. 42. menu_additem(menu, temp, szItem, 0, -1);
  43. 43. formatex(temp, 63, "\r%L \w%s^n", id, "CSGOR_REG_PASSWORD", g_szUserPassword[id]);
  44. 44. szItem[0] = 1;
  45. 45. menu_additem(menu, temp, szItem, 0, -1);
  46. 46. if (g_bLogged[id] == false)
  47. 47. {
  48. 48. if (IsRegistered(id)) {
  49. 49. formatex(temp, 63, "\r%L", id, "CSGOR_REG_LOGIN");
  50. 50. szItem[0] = 3;
  51. 51. menu_additem(menu, temp, szItem, 0, -1);
  52. 52. } else {
  53. 53. formatex(temp, 63, "\r%L", id, "CSGOR_REG_REGISTER");
  54. 54. szItem[0] = 4;
  55. 55. menu_additem(menu, temp, szItem, 0, -1);
  56. 56. }
  57. 57. }
  58. 58. _DisplayMenu(id, menu);
  59. 59. return 0;
  60. 60. }
  61. 61.  
  62. 62. public reg_menu_handler(id, menu, item)
  63. 63. {
  64. 64. if (item == -3)
  65. 65. {
  66. 66. return _MenuExit(menu);
  67. 67. }
  68. 68. new itemdata[2];
  69. 69. new dummy;
  70. 70. new index;
  71. 71. menu_item_getinfo(menu, item, dummy, itemdata, 1, {0}, 0, dummy);
  72. 72. index = itemdata[0];
  73. 73. new pLen = strlen(g_szUserPassword[id]);
  74. 74. switch (index)
  75. 75. {
  76. 76. case 0:
  77. 77. {
  78. 78. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_CANT_CHANGE_ACC");
  79. 79. _ShowRegMenu(id);
  80. 80. }
  81. 81. case 1:
  82. 82. {
  83. 83. if (g_bLogged[id] != true)
  84. 84. {
  85. 85. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_INSERT_PASS", 6);
  86. 86. client_cmd(id, "messagemode UserPassword");
  87. 87. }
  88. 88. }
  89. 89. case 2:
  90. 90. {
  91. 91. g_bLogged[id] = false;
  92. 92. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_LOGOUT_SUCCESS");
  93. 93. }
  94. 94. case 3:
  95. 95. {
  96. 96. _LoadData(id);
  97. 97. new spLen = strlen(g_szUserSavedPass[id]);
  98. 98. if (strlen(g_szUserPassword[id]) <= 0) {
  99. 99. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_INSERT_PASS", 6);
  100. 100. client_cmd(id, "messagemode UserPassword");
  101. 101. return 0;
  102. 102. }
  103. 103. if (!equal(g_szUserPassword[id], g_szUserSavedPass[id], spLen))
  104. 104. {
  105. 105. g_iUserPassFail[id]++;
  106. 106. if (3 <= g_iUserPassFail[id])
  107. 107. {
  108. 108. new reason[32];
  109. 109. formatex(reason, 31, "%L", id, "CSGOR_MAX_PASS_FAIL", 3);
  110. 110. server_cmd("kick #%d ^"%s^"", get_user_userid(id), reason);
  111. 111. }
  112. 112. else
  113. 113. {
  114. 114. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_PASS_FAIL", g_iUserPassFail[id], 3);
  115. 115. _ShowRegMenu(id);
  116. 116. }
  117. 117. }
  118. 118. else
  119. 119. {
  120. 120. g_bLogged[id] = true;
  121. 121. _ShowMainMenu(id);
  122. 122. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_LOGIN_SUCCESS");
  123. 123. }
  124. 124. }
  125. 125. case 4:
  126. 126. {
  127. 127. if (pLen < 6)
  128. 128. {
  129. 129. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_INSERT_PASS", 6);
  130. 130. _ShowRegMenu(id);
  131. 131. return _MenuExit(menu);
  132. 132. }
  133. 133. copy(g_szUserSavedPass[id], 15, g_szUserPassword[id]);
  134. 134. _SaveData(id);
  135. 135. _ShowRegMenu(id);
  136. 136. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_SUCCESS", g_szUserSavedPass[id]);
  137. 137. }
  138. 138. default:
  139. 139. {
  140. 140. }
  141. 141. }
  142. 142. return _MenuExit(menu);
  143. 143. }
  144. 144.  
  145. 145. public concmd_password(id)
  146. 146. {
  147. 147. if (g_bLogged[id] == true)
  148. 148. {
  149. 149. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_ALREADY_LOGIN");
  150. 150. return 1;
  151. 151. }
  152. 152. new data[32];
  153. 153. read_args(data, 31);
  154. 154. remove_quotes(data);
  155. 155. if (6 > strlen(data))
  156. 156. {
  157. 157. color_print(id, "^4%s^1 %L", "[CS:GO]", id, "CSGOR_REG_INSERT_PASS", 6);
  158. 158. client_cmd(id, "messagemode UserPassword");
  159. 159. return 1;
  160. 160. }
  161. 161. copy(g_szUserPassword[id], 15, data);
  162. 162. _ShowRegMenu(id);
  163. 163. return 1;
  164. 164. }
  165. 165.  
  166. 166. _SaveData(id)
  167. 167. {
  168. 168. new Data[576];
  169. 169. new infobuff[64];
  170. 170. new weapbuff[384];
  171. 171. new skinbuff[96];
  172. 172. formatex(infobuff, 63, "%s=%d,%d,%d,%d,%d,%d", g_szUserSavedPass[id], g_iUserPoints[id], g_iUserDusts[id], g_iUserKeys[id], g_iUserCases[id], g_iUserKills[id], g_iUserRank[id]);
  173. 173. formatex(weapbuff, 383, "%d", g_iUserSkins[id]);
  174. 174. new i = 1;
  175. 175. while (i < 96)
  176. 176. {
  177. 177. format(weapbuff, 383, "%s,%d", weapbuff, g_iUserSkins[id][i]);
  178. 178. i++;
  179. 179. }
  180. 180. formatex(skinbuff, 95, "%d", g_iUserSelectedSkin[id][1]);
  181. 181. i = 2;
  182. 182. while (i <= 30)
  183. 183. {
  184. 184. format(skinbuff, 95, "%s,%d", skinbuff, g_iUserSelectedSkin[id][i]);
  185. 185. i++;
  186. 186. }
  187. 187. formatex(Data, 575, "%s*%s#%s", infobuff, weapbuff, skinbuff);
  188. 188. nvault_set(g_Vault, g_szName[id], Data);
  189. 189. return 0;
  190. 190. }
  191. 191.  
  192.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement