Advertisement
Guest User

Untitled

a guest
Aug 17th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.07 KB | None | 0 0
  1. if(dialogid == REGISTER)
  2. {
  3. switch(response)
  4. {
  5. case 0: ShowDialog(playerid, REGISTER);
  6. case 1:
  7. {
  8. if(strlen(inputtext) < GA_MIN_PASSWORD || strlen(inputtext) > GA_MAX_PASSWORD) return SCM(playerid, COLOUR_SYSTEM, "Invalid password length. Your password must be between "#GA_MIN_PASSWORD" and "#GA_MAX_PASSWORD" characters.");
  9. //SaveLetterDataDB(playerid);
  10. printf("Register (%s): #1", pNick(playerid));
  11. new EscapedPass[50], RegDate[50];
  12. CheckMySQLConnection();
  13. printf("Register (%s): #2", pNick(playerid));
  14. format(RegDate, sizeof(RegDate), "%02d/%02d/%d - %02d:%02d:%02d", date[0], date[1], date[2], time[0], time[1], time[2]);
  15. mysql_real_escape_string(inputtext, EscapedPass);
  16. printf("Register (%s): #3", pNick(playerid));
  17. printf("Register (%s): #4", pNick(playerid));
  18. SHA512(EscapedPass, buf, 128);
  19. printf("Register (%s): #5", pNick(playerid));
  20. format(CMDSString, sizeof(CMDSString), "INSERT INTO `users` (Name,Password,RegisteredIP,CurrentIP,RegisterDate,LastVisit) VALUES ('%s','%s','%s','%s','%s','%s')", mName(playerid), buf, GetPlayerIpEx(playerid), GetPlayerIpEx(playerid), RegDate, RegDate);
  21. if(mysql_query(CMDSString) == 0)
  22. {
  23. printf("Register (%s): #6", pNick(playerid));
  24. ShowPlayerDialogEx(playerid, INFOMENU, DIALOG_STYLE_MSGBOX, DIALOG_HEADER, "Close", "", I_ACCOUNT_REGISTERED, pNick(playerid), inputtext);
  25. printf("Register (%s): #7", pNick(playerid));
  26. GameTextForPlayer2(playerid, " ~n~ ~n~~p~Account registered!", 6000, 6);
  27. printf("Register (%s): #8", pNick(playerid));
  28. PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
  29. SetPVarInt(playerid, "LoggedIn", 1), GivePlayerMoneyEx(playerid, 1000);
  30. printf("Register (%s): #9", pNick(playerid));
  31. SavePlayerStats(playerid);
  32. printf("Register (%s): #10", pNick(playerid));
  33. SendLetter(playerid, "The Server", 1500, "Welcome to Angel Pine CnR!\nWe hope you will enjoy your stay here and would like to welcome you by giving you $1500 to start off with.");
  34. printf("Register (%s): #11", pNick(playerid));
  35. #if defined GA_USE_IRC
  36. IRC_GroupSayEx(gGroupID, IRC_ADMIN_ECHO_CHANNEL, "7[registration] 3%s (%d) registered from IP %s.", pNick(playerid), playerid, GetPlayerIpEx(playerid));
  37. #endif
  38. printf("Register (%s): #12", pNick(playerid));
  39. }
  40. else return SCM(playerid, COLOUR_SYSTEM, "Error! Something went wrong upon registration. Please contact one of the lead administrators of this server as soon as possible!");
  41. }
  42. }
  43. return 1;
  44. }
  45.  
  46.  
  47. stock LoginPlayer(playerid, password[], auto_ip_login = 0)
  48. {
  49. CheckMySQLConnection();
  50. if(!IsPlayerConnected(playerid) || IsPlayerNPC(playerid)) return 1;
  51. new string[128], sscanf_param[256], Float:fTmp[9], w[13][2], s[10];
  52. format(string, sizeof(string), "SELECT * FROM `users` WHERE Name = '%s'", mName(playerid));
  53. if(mysql_query(string) == 0)
  54. {
  55.  
  56. if(mysql_store_result())
  57. {
  58. CMDSString = "";
  59. if(mysql_fetch_row(CMDSString))
  60. {
  61. // playername, password, level, money, score, CurrentIP, Donator, Regular Player, Kills, Deaths, CopRank, CopWork, PaymentCollected, InJail, LottoWins, DaysAlive
  62. // TicketPrice, JailTime, Skin, WantedLevel, FreshDrugs, UnfreshDrugs, CarBomb, DrunkLevel, FightStyle, DaysConnected, HoursConnected, MinutesConnected
  63. // Married, MarriedTo, HeadItem, FaceItem, AccessoryItem, HeadData, FaceData, AccessoryData, NoPM, PMSound, TimeUpdates, JoinMessages, DeathMessages
  64. // AutoIPLogin, InfoAutoUpdate, Condoms, Syphilis, Gonorrhea, Herpes, Chlamydia, HIV, AIDS, WeaponData, WeaponSkillData
  65. new iTmp[43], tmp1[MAX_PLAYER_NAME], tmp2[130], tmp3[17], tmp4[30], tmp5[50], tmp6[50], tmp7[50], tmp8[128], tmp9[128], tmp10[50], tmp11[50], tmp12[20];
  66. mysql_real_escape_string(password, password);
  67. SHA512(password, password, 128);
  68. strcat(sscanf_param, "p<|>");
  69. strcat(sscanf_param, "s["#MAX_PLAYER_NAME"]s[129]ddds[17]dddddddddd");
  70. strcat(sscanf_param, "dddddddddddd");
  71. strcat(sscanf_param, "ds[30]ddds[50]s[50]s[50]ddddd");
  72. strcat(sscanf_param, "ddddddddds[128]s[128]");
  73. strcat(sscanf_param, "s[50]s[50]s[30]");
  74. if(!sscanf(CMDSString, sscanf_param,
  75. tmp1, tmp2, iTmp[0], iTmp[1], iTmp[2], tmp3, iTmp[3], iTmp[4], iTmp[5], iTmp[6], iTmp[7], iTmp[8], iTmp[9], iTmp[10], iTmp[11], iTmp[12],
  76. iTmp[13], iTmp[14], iTmp[15], iTmp[16], iTmp[17], iTmp[18], iTmp[19], iTmp[20], iTmp[21], iTmp[22], iTmp[23], iTmp[24],
  77. iTmp[25], tmp4, iTmp[26], iTmp[27], iTmp[28], tmp5, tmp6, tmp7, iTmp[29], iTmp[30], iTmp[31], iTmp[32], iTmp[33],
  78. iTmp[34], iTmp[35], iTmp[36], iTmp[37], iTmp[38], iTmp[39], iTmp[40], iTmp[41], iTmp[42], tmp8, tmp9,
  79. tmp10, tmp11, tmp12))
  80. {
  81. if(strcmp(password, tmp2, false) && auto_ip_login == 0)
  82. {
  83. ShowDialog(playerid, LOGIN);
  84. UpdatePVarInt(playerid, "PasswordAttempts", 1);
  85. new attempts = GetPVarInt(playerid, "PasswordAttempts");
  86. #if defined GA_USE_IRC
  87. IRC_GroupSayEx(gGroupID, IRC_ADMIN_ECHO_CHANNEL, "7[failed login] 3%s (%d) failed to login from IP %s (Attempt: %d/"#GA_MAX_LOGIN_ATTEMPTS").", pNick(playerid), playerid, GetPlayerIpEx(playerid), attempts);
  88. #endif
  89. SendMSG(playerid, COLOUR_SYSTEM, E_INVALID_PASSWORD, attempts);
  90. if(attempts >= GA_MAX_LOGIN_ATTEMPTS)
  91. {
  92. switch(GetPVarInt(playerid, "tmpLevel"))
  93. {
  94. case 0: KickEx(playerid, SERVER, "Failed Login");
  95. default: BanEx2(playerid, SERVER, "Failed Administrator Login");
  96. }
  97. }
  98. return 1;
  99. }
  100. else
  101. {
  102. SetPVarInt(playerid, "LoggedIn", 1), DeletePVar(playerid, "PasswordAttempts");
  103. ShowDialog(playerid, LOGIN_SUCCESSFULL);
  104. /*new letters = LoadLetterDataDB(playerid);
  105. if(letters > 0)
  106. {
  107. SendMSG(playerid, COLOUR_INFO, "You have %d unread letter%s. Visit your local postoffice to read your letters.", letters, AddS(letters));
  108. }*/
  109. if(pI[playerid][Level] > 0)
  110. {
  111. Itter_Add(Admins, playerid);
  112. }
  113. LoadTrees(playerid);
  114. // write last Ip to mysql
  115. #if defined GA_USE_IRC
  116. IRC_GroupSayEx(gGroupID, IRC_ADMIN_ECHO_CHANNEL, "7[login] 3%s (%d) logged in from IP %s.", pNick(playerid), playerid, GetPlayerIpEx(playerid));
  117. #endif
  118. //------------------------------------------------------------------------------
  119. pI[playerid][Level] = iTmp[0];
  120. pI[playerid][Donator] = iTmp[3], pI[playerid][rPlayer] = iTmp[4], pI[playerid][Kills] = iTmp[5], pI[playerid][Deaths] = iTmp[6];
  121. pI[playerid][CopRank] = iTmp[7], pI[playerid][CopWork] = iTmp[8], pI[playerid][PaymentCollected] = iTmp[9], pI[playerid][InJail] = iTmp[10];
  122. pI[playerid][LottoWins] = iTmp[11], pI[playerid][DaysAlive] = iTmp[12];
  123. pI[playerid][TicketPrice] = iTmp[13], pI[playerid][JailTime] = iTmp[14];
  124. pI[playerid][Skin] = iTmp[15];
  125. pI[playerid][FreshDrugs] = iTmp[17], pI[playerid][UnfreshDrugs] = iTmp[18], pI[playerid][CarBomb] = iTmp[19];
  126. pI[playerid][DaysConnected] = iTmp[22], pI[playerid][HoursConnected] = iTmp[23], pI[playerid][MinutesConnected] = iTmp[24];
  127. pI[playerid][Married] = iTmp[25], pI[playerid][HeadItem] = iTmp[26], pI[playerid][FaceItem] = iTmp[27], pI[playerid][AccessoryItem] = iTmp[28];
  128. pI[playerid][NoPM] = iTmp[29], pI[playerid][PMSound] = iTmp[30], pI[playerid][TimeUpdates] = iTmp[31], pI[playerid][JoinMessages] = iTmp[32], pI[playerid][DeathMessages] = iTmp[33];
  129. pI[playerid][AutoIPLogin] = iTmp[34], pI[playerid][InfoAutoUpdate] = iTmp[35], pI[playerid][Condoms] = iTmp[36], STD[playerid][Syphilis] = iTmp[37];
  130. STD[playerid][Gonorrhea] = iTmp[38], STD[playerid][Herpes] = iTmp[39], STD[playerid][Chlamydia] = iTmp[40], STD[playerid][HIV] = iTmp[41], STD[playerid][AIDS] = iTmp[42];
  131. //------------------------------------------------------------------------------
  132. format(pI[playerid][MarriedTo], 30, tmp4);
  133. if(!sscanf(tmp5, "fffffffff", fTmp[0], fTmp[1], fTmp[2], fTmp[3], fTmp[4], fTmp[5], fTmp[6], fTmp[7], fTmp[8]))
  134. {
  135. cD[playerid][HeadScaleX] = fTmp[0], cD[playerid][HeadScaleY] = fTmp[1], cD[playerid][HeadScaleZ] = fTmp[2],
  136. cD[playerid][HeadRotX] = fTmp[3], cD[playerid][HeadRotY] = fTmp[4], cD[playerid][HeadRotZ] = fTmp[5],
  137. cD[playerid][HeadOffsetX] = fTmp[6], cD[playerid][HeadOffsetY] = fTmp[7], cD[playerid][HeadOffsetZ] = fTmp[8];
  138. }
  139. if(!sscanf(tmp6, "fffffffff", fTmp[0], fTmp[1], fTmp[2], fTmp[3], fTmp[4], fTmp[5], fTmp[6], fTmp[7], fTmp[8]))
  140. {
  141. cD[playerid][FaceScaleX] = fTmp[0], cD[playerid][FaceScaleY] = fTmp[1], cD[playerid][FaceScaleZ] = fTmp[2],
  142. cD[playerid][FaceRotX] = fTmp[3], cD[playerid][FaceRotY] = fTmp[4], cD[playerid][FaceRotZ] = fTmp[5],
  143. cD[playerid][FaceOffsetX] = fTmp[6], cD[playerid][FaceOffsetY] = fTmp[7], cD[playerid][FaceOffsetZ] = fTmp[8];
  144. }
  145. if(!sscanf(tmp7, "fffffffff", fTmp[0], fTmp[1], fTmp[2], fTmp[3], fTmp[4], fTmp[5], fTmp[6], fTmp[7], fTmp[8]))
  146. {
  147. cD[playerid][AccessoryScaleX] = fTmp[0], cD[playerid][AccessoryScaleY] = fTmp[1], cD[playerid][AccessoryScaleZ] = fTmp[2],
  148. cD[playerid][AccessoryRotX] = fTmp[3], cD[playerid][AccessoryRotY] = fTmp[4], cD[playerid][AccessoryRotZ] = fTmp[5],
  149. cD[playerid][AccessoryOffsetX] = fTmp[6], cD[playerid][AccessoryOffsetY] = fTmp[7], cD[playerid][AccessoryOffsetZ] = fTmp[8];
  150. }
  151. if(!sscanf(tmp8, "dddddddddddddddddddddddddd",
  152. w[0][0], w[0][1], w[1][0], w[1][1], w[2][0], w[2][1], w[3][0], w[3][1], w[4][0], w[4][1], w[5][0], w[5][1], w[6][0], w[6][1], w[7][0], w[7][1], w[8][0], w[8][1], w[9][0], w[9][1], w[10][0], w[10][1], w[11][0], w[11][1], w[12][0], w[12][1]))
  153. {
  154. for(new i; i < 13; i++)
  155. {
  156. GivePlayerWeapon(playerid, w[i][0], w[i][1]);
  157. }
  158. }
  159. if(!sscanf(tmp9, "dddddddddd", s[0], s[1], s[2], s[3], s[4], s[5], s[6], s[7], s[8], s[9]))
  160. {
  161. for(new i; i < 11; i++)
  162. {
  163. pI[playerid][WeaponSkill][i] = s[i];
  164. if(s[i] < 1)
  165. {
  166. SetPlayerSkillLevel(playerid, i, 1);
  167. }
  168. else SetPlayerSkillLevel(playerid, i, s[i]);
  169. }
  170. }
  171. //------------------------------------------------------------------------------
  172. SetPlayerMoneyEx(playerid, iTmp[1]);
  173. SetPlayerScore(playerid, iTmp[2]);
  174. if(pI[playerid][Skin] != 0 && pI[playerid][Skin] != -1)
  175. {
  176. SetPlayerSkin(playerid, pI[playerid][Skin]);
  177. }
  178. SetPlayerWL(playerid, iTmp[16]);
  179. SetPlayerDrunkLevel(playerid, iTmp[20]);
  180. SetPlayerFightingStyle(playerid, iTmp[21]);
  181. if(cD[playerid][HeadOffsetX] != 0 && cD[playerid][HeadOffsetY] != 0 && cD[playerid][HeadOffsetZ] != 0)
  182. {
  183. SetPlayerHair(playerid, pI[playerid][HeadItem], true);
  184. }
  185. else SetPlayerHair(playerid, pI[playerid][HeadItem]);
  186. if(cD[playerid][FaceOffsetX] != 0 && cD[playerid][FaceOffsetY] != 0 && cD[playerid][FaceOffsetZ] != 0)
  187. {
  188. SetPlayerGlasses(playerid, pI[playerid][FaceItem], true);
  189. }
  190. else SetPlayerGlasses(playerid, pI[playerid][FaceItem]);
  191. if(cD[playerid][AccessoryOffsetX] != 0 && cD[playerid][AccessoryOffsetY] != 0 && cD[playerid][AccessoryOffsetZ] != 0)
  192. {
  193. SetPlayerAccessories(playerid, pI[playerid][AccessoryItem], true);
  194. }
  195. else SetPlayerAccessories(playerid, pI[playerid][AccessoryItem]);
  196. //------------------------------------------------------------------------------
  197. }
  198. }
  199. else
  200. {
  201. printf("ERROR: Something went wrong with logging in %s (syntax doesn't match - function LoginPlayer).", pNick(playerid));
  202. SCM(playerid, COLOUR_SYSTEM, "Error! Something went wrong upon loading your stats. Please contact one of the lead administrators of this server as soon as possible!");
  203. }
  204. }
  205. mysql_free_result();
  206. }
  207. }
  208. return 1;
  209.  
  210. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement