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