login.pwn 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462
  1. #define LOGINCAM_SPEED 10000
  2. #define LOGINCAM_CUT CAMERA_MOVE
  3. #define CAMERA_MOVE_SPEED 7000
  4. #define CAMERA_ZOOM_DISTANCE 800.0
  5. #define CAMERA_ROTATION_ANGLE 15.0
  6. #define MAINMENU_CAMERA_SPEED 20000
  7. stock SetPlayerJoinCamera(playerid)
  8. {
  9. new randcamera = Random(1,9);
  10. switch(randcamera)
  11. {
  12. case 1: // Gym
  13. {
  14. SetPlayerVirtualWorld(playerid, 0);
  15. SetPlayerInterior(playerid, 0);
  16. Streamer_UpdateEx(playerid,2229.4968,-1722.0701,13.5625);
  17. SetPlayerPos(playerid,2211.1460,-1748.3909,-10.0);
  18. SetPlayerCameraPos(playerid,2211.1460,-1748.3909,29.3744);
  19. SetPlayerCameraLookAt(playerid,2229.4968,-1722.0701,13.5625);
  20. }
  21. case 2: // Paintball Arena
  22. {
  23. SetPlayerVirtualWorld(playerid, 0);
  24. SetPlayerInterior(playerid, 0);
  25. Streamer_UpdateEx(playerid,1295.6960,-1422.5111,14.9596);
  26. SetPlayerPos(playerid,1283.8524,-1385.5304,-10.0);
  27. SetPlayerCameraPos(playerid,1283.8524,-1385.5304,25.8896);
  28. SetPlayerCameraLookAt(playerid,1295.6960,-1422.5111,14.9596);
  29. }
  30. case 3: // LSPD
  31. {
  32. SetPlayerVirtualWorld(playerid, 0);
  33. SetPlayerInterior(playerid, 0);
  34. Streamer_UpdateEx(playerid,1554.3381,-1675.5692,16.1953);
  35. SetPlayerPos(playerid,1514.7783,-1700.2913,-10.0);
  36. SetPlayerCameraPos(playerid,1514.7783,-1700.2913,36.7506);
  37. SetPlayerCameraLookAt(playerid,1554.3381,-1675.5692,16.1953);
  38. }
  39. case 4: // SaC HQ (Gang HQ)
  40. {
  41. SetPlayerVirtualWorld(playerid, 0);
  42. SetPlayerInterior(playerid, 0);
  43. Streamer_UpdateEx(playerid,655.5394,-1867.2231,5.4609);
  44. SetPlayerPos(playerid,655.5394,-1867.2231,-10.0);
  45. SetPlayerCameraPos(playerid,699.7435,-1936.7568,24.8646);
  46. SetPlayerCameraLookAt(playerid,655.5394,-1867.2231,5.4609);
  47. }
  48. case 5: // Fishing Pier
  49. {
  50. SetPlayerVirtualWorld(playerid, 0);
  51. SetPlayerInterior(playerid, 0);
  52. Streamer_UpdateEx(playerid,370.0804,-2087.8767,7.8359);
  53. SetPlayerPos(playerid,370.0804,-2087.8767,-10.0);
  54. SetPlayerCameraPos(playerid,423.3802,-2067.7915,29.8605);
  55. SetPlayerCameraLookAt(playerid,370.0804,-2087.8767,7.8359);
  56. }
  57. case 6: // VIP
  58. {
  59. SetPlayerVirtualWorld(playerid, 0);
  60. SetPlayerInterior(playerid, 0);
  61. Streamer_UpdateEx(playerid,1797.3397,-1578.3440,14.0798);
  62. SetPlayerPos(playerid,1797.3397,-1578.3440,-10.0);
  63. SetPlayerCameraPos(playerid,1832.1698,-1600.1538,32.2877);
  64. SetPlayerCameraLookAt(playerid,1797.3397,-1578.3440,14.0798);
  65. }
  66. case 7: // All Saints
  67. {
  68. SetPlayerVirtualWorld(playerid, 0);
  69. SetPlayerInterior(playerid, 0);
  70. Streamer_UpdateEx(playerid,1175.5581,-1324.7922,18.1610);
  71. SetPlayerPos(playerid, 1188.4574,-1309.2242,-10.0);
  72. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  73. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  74. }
  75. case 8: // Unity
  76. {
  77. SetPlayerVirtualWorld(playerid, 0);
  78. SetPlayerInterior(playerid, 0);
  79. Streamer_UpdateEx(playerid,1716.1129,-1880.0715,22.0264);
  80. SetPlayerPos(playerid,1716.1129,-1880.0715,-10.0);
  81. SetPlayerCameraPos(playerid,1755.0413,-1824.8710,20.2100);
  82. SetPlayerCameraLookAt(playerid,1716.1129,-1880.0715,22.0264);
  83. }
  84. }
  85. return 1;
  86. }
  87. stock ShowMainMenuDialog(playerid, frame)
  88. {
  89. new titlestring[64];
  90. new string[512];
  91. switch(frame)
  92. {
  93. case 1:
  94. {
  95. format(titlestring, sizeof(titlestring), "{3399FF}Login - %s", GetPlayerNameEx(playerid));
  96. format(string, sizeof(string), "{FFFFFF}Welcome to Next Generation Roleplay, %s.\n\nThe name that you are using is registered, please enter a password to login:", GetPlayerNameEx(playerid));
  97. ShowPlayerDialogEx(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
  98. }
  99. case 2:
  100. {
  101. format(titlestring, sizeof(titlestring), "{3399FF}Register - %s", GetPlayerNameEx(playerid));
  102. format(string, sizeof(string), "{FFFFFF}Welcome to Next Generation Roleplay, %s.\n\n{FFFFFF}You may {AA3333}register {FFFFFF}an account by entering a desired password here:", GetPlayerNameEx(playerid));
  103. if(PassComplexCheck) strcat(string, "\n\n- You can't select a password that's below 8 or above 64 characters\n\
  104. - Your password must contain a combination of letters, numbers and special characters.\n\
  105. - Invalid Character: %");
  106. ShowPlayerDialogEx(playerid,MAINMENU2,DIALOG_STYLE_PASSWORD,titlestring,string,"Register","Exit");
  107. }
  108. case 3:
  109. {
  110. format(titlestring, sizeof(titlestring), "{3399FF}Login - %s", GetPlayerNameEx(playerid));
  111. format(string, sizeof(string), "{FFFFFF}Invalid Password!\n\nWelcome to Next Generation Roleplay, %s.\n\nThe name that you are using is registered, please enter a password to login:", GetPlayerNameEx(playerid));
  112. ShowPlayerDialogEx(playerid,MAINMENU,DIALOG_STYLE_PASSWORD,titlestring,string,"Login","Exit");
  113. }
  114. case 4:
  115. {
  116. format(titlestring, sizeof(titlestring), "{3399FF}Account Locked - %s", GetPlayerNameEx(playerid));
  117. format(string, sizeof(string), "{FFFFFF}Our database indicates that %s is currently logged in, if this is a mistake please contact a tech administrator.", GetPlayerNameEx(playerid));
  118. ShowPlayerDialogEx(playerid,MAINMENU3,DIALOG_STYLE_MSGBOX,titlestring,string,"Exit","");
  119. }
  120. }
  121. return 1;
  122. }
  123. stock SafeLogin(playerid, type)
  124. {
  125. switch(type)
  126. {
  127. case 1: // Account Exists
  128. {
  129. ShowMainMenuDialog(playerid, 1);
  130. }
  131. case 2: // No Account Exists
  132. {
  133. if(betaserver == 0 || betaserver == 2)
  134. {
  135. if(!IsValidName(GetPlayerNameExt(playerid)))
  136. {
  137. SetPVarString(playerid, "KickNonRP", GetPlayerNameEx(playerid));
  138. SetTimerEx("KickNonRP", 3000, false, "i", playerid);
  139. }
  140. else
  141. {
  142. ShowMainMenuDialog(playerid, 2);
  143. }
  144. }
  145. else
  146. {
  147. Dialog_Show(playerid, -1, DIALOG_STYLE_MSGBOX, "ERROR: You were kicked!", "You're unable to create an account on this server!\n\nThis server is for the Beta Team only.\n\nIf you are a beta tester go to http://cp.ng-gaming.net and create an account.", "Close", "");
  148. SetTimerEx("KickEx", 3000, 0, "i", playerid);
  149. }
  150. }
  151. }
  152. return 1;
  153. }
  154. stock InvalidNameCheck(playerid) {
  155. new
  156. arrForbiddenNames[][] = {
  157. "com1", "com2", "com3", "com4",
  158. "com5", "com6", "com7", "com8",
  159. "com9", "lpt4", "lpt5", "lpt6",
  160. "lpt7", "lpt8", "lpt9", "nul",
  161. "clock$", "aux", "prn", "con",
  162. "InvalidNick"
  163. };
  164. new i = 0;
  165. while(i < sizeof(arrForbiddenNames)) if(strcmp(arrForbiddenNames[i++], GetPlayerNameExt(playerid), true) == 0) {
  166. SetPlayerName(playerid, "InvalidNick");
  167. SendClientMessage(playerid, COLOR_RED, "You have been kicked & logged for using a forbidden username.");
  168. SetTimerEx("KickEx", 1000, 0, "i", playerid);
  169. return 0;
  170. }
  171. return 1;
  172. }
  173. stock ShowMainMenuGUI(playerid)
  174. {
  175. InsideMainMenu{playerid} = true;
  176. MainMenuUpdateForPlayer(playerid);
  177. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[0]);
  178. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[1]);
  179. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[2]);
  180. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[3]);
  181. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[4]);
  182. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[5]);
  183. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[6]);
  184. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[9]);
  185. TextDrawShowForPlayer(playerid, MainMenuTxtdraw[10]);
  186. TextDrawShowForPlayer(playerid, TD_LoginScreen);
  187. //SetPVarInt(playerid, "LoginScreen", Random(1,9));
  188. TogglePlayerSpectating(playerid, true);
  189. //SetTimerEx("loginCamera", 1000, false, "i", playerid);
  190. }
  191. stock HideMainMenuGUI(playerid)
  192. {
  193. InsideMainMenu{playerid} = false;
  194. TextDrawHideForPlayer(playerid, TD_LoginScreen);
  195. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[0]);
  196. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[1]);
  197. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[2]);
  198. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[3]);
  199. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[4]);
  200. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[5]);
  201. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[6]);
  202. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[9]);
  203. TextDrawHideForPlayer(playerid, MainMenuTxtdraw[10]);
  204. //DeletePVar(playerid, "LoginScreen");
  205. TogglePlayerSpectating(playerid, false);
  206. StopAudioStreamForPlayer(playerid);
  207. }
  208. CheckPasswordComplexity(const password[])
  209. {
  210. if(!(8 <= strlen(password) <= 64)) return 0;
  211. new i = 0, containsletters, containsnumbers, containsspecial;
  212. while(password[i] != '\0')
  213. {
  214. if('a' <= password[i] <= 'z') containsletters = 1;
  215. else if('A' <= password[i] <= 'Z') containsletters = 1;
  216. else if('0' <= password[i] <= '9') containsnumbers = 1;
  217. // !"#$%&'()*+,-./ :;<=>?@[\]^_` {|}~
  218. else if(33 <= password[i] <= 47 || 58 <= password[i] <= 64 || 91 <= password[i] <= 96 || 123 <= password[i] <= 126) containsspecial = 1;
  219. if(containsletters && containsnumbers && containsspecial) break;
  220. i++;
  221. }
  222. if(!containsletters || !containsnumbers || !containsspecial) return 0;
  223. return 1;
  224. }
  225. forward LoginCheck(playerid);
  226. public LoginCheck(playerid)
  227. {
  228. if(gPlayerLogged{playerid} == 0 && IsPlayerConnected(playerid))
  229. {
  230. new string[128];
  231. format(string, sizeof(string), "%s(%d) [%s] has timed out of the login screen.", GetPlayerNameEx(playerid), GetPlayerSQLId(playerid), GetPlayerIpEx(playerid));
  232. Log("logs/security.log", string);
  233. SendClientMessage(playerid, COLOR_WHITE, "SERVER: Login timeout - you must login within 60 seconds!");
  234. ShowPlayerDialogEx(playerid, -1, DIALOG_STYLE_MSGBOX, "", "", "", "");
  235. SetTimerEx("KickEx", 1000, 0, "i", playerid);
  236. }
  237. return 1;
  238. }
  239. stock ShowLoginDialogs(playerid, index)
  240. {
  241. new string[128];
  242. switch(index)
  243. {
  244. case 0:
  245. {
  246. ShowPlayerDialogEx(playerid, DIALOG_CHANGEPASS2, DIALOG_STYLE_INPUT, "Password Change Required!", "Please enter a new password for your account.", "Change", "Exit" );
  247. if(PassComplexCheck) ShowPlayerDialogEx(playerid, DIALOG_CHANGEPASS2, DIALOG_STYLE_INPUT, "Password Change Required!", "Please enter a new password for your account.\n\n\
  248. - You can't select a password that's below 8 or above 64 characters\n\
  249. - Your password must contain a combination of letters, numbers and special characters.\n\
  250. - Invalid Character: %", "Change", "Exit" );
  251. }
  252. case 1:
  253. {
  254. // ShowPlayerDialogEx(playerid, REGISTERMONTH, DIALOG_STYLE_LIST, "{FF0000}Which month was your character born?", "January\nFebruary\nMarch\nApril\nMay\nJune\nJuly\nAugust\nSeptember\nOctober\nNovember\nDecember", "Submit", "");
  255. AdvanceTutorial(playerid);
  256. }
  257. case 4: ShowPlayerDialogEx(playerid, PMOTDNOTICE, DIALOG_STYLE_MSGBOX, "Notice", pMOTD, "Dismiss", "");
  258. case 5:
  259. {
  260. format(string, sizeof(string), "You have recieved {FFD700}%s{A9C4E4} credits! Use /shophelp for more information.", number_format(PlayerInfo[playerid][pReceivedCredits]));
  261. ShowPlayerDialogEx(playerid, DIALOG_NOTHING, DIALOG_STYLE_MSGBOX, "Credits Received!", string, "Close", "");
  262. new szLog[128];
  263. format(szLog, sizeof(szLog), "[ISSUED] [User: %s(%i)] [IP: %s] [Credits: %s]", GetPlayerNameEx(playerid), PlayerInfo[playerid][pId], GetPlayerIpEx(playerid), number_format(PlayerInfo[playerid][pReceivedCredits]));
  264. Log("logs/logincredits.log", szLog), print(szLog);
  265. PlayerInfo[playerid][pReceivedCredits] = 0;
  266. }
  267. }
  268. return 1;
  269. }
  270. forward loginCamera(playerid);
  271. public loginCamera(playerid)
  272. {
  273. if(InsideMainMenu{playerid} == 0) return 1;
  274. new stage = GetPVarInt(playerid, "LoginScreen");
  275. if(!stage) return 1;
  276. switch(stage)
  277. {
  278. case 1: // Gym
  279. {
  280. SetPlayerVirtualWorld(playerid, 0);
  281. SetPlayerInterior(playerid, 0);
  282. Streamer_UpdateEx(playerid,2229.4968,-1722.0701,13.5625);
  283. SetPlayerPos(playerid,2211.1460,-1748.3909,-10.0);
  284. SetPlayerCameraPos(playerid,2211.1460,-1748.3909,29.3744);
  285. SetPlayerCameraLookAt(playerid,2229.4968,-1722.0701,13.5625);
  286. }
  287. case 2: // Paintball Arena
  288. {
  289. SetPlayerVirtualWorld(playerid, 0);
  290. SetPlayerInterior(playerid, 0);
  291. Streamer_UpdateEx(playerid,1295.6960,-1422.5111,14.9596);
  292. SetPlayerPos(playerid,1283.8524,-1385.5304,-10.0);
  293. SetPlayerCameraPos(playerid,1283.8524,-1385.5304,25.8896);
  294. SetPlayerCameraLookAt(playerid,1295.6960,-1422.5111,14.9596);
  295. }
  296. case 3: // LSPD
  297. {
  298. SetPlayerVirtualWorld(playerid, 0);
  299. SetPlayerInterior(playerid, 0);
  300. Streamer_UpdateEx(playerid,1554.3381,-1675.5692,16.1953);
  301. SetPlayerPos(playerid,1514.7783,-1700.2913,-10.0);
  302. SetPlayerCameraPos(playerid,1514.7783,-1700.2913,36.7506);
  303. SetPlayerCameraLookAt(playerid,1554.3381,-1675.5692,16.1953);
  304. }
  305. case 4: // SaC HQ (Gang HQ)
  306. {
  307. SetPlayerVirtualWorld(playerid, 0);
  308. SetPlayerInterior(playerid, 0);
  309. Streamer_UpdateEx(playerid,655.5394,-1867.2231,5.4609);
  310. SetPlayerPos(playerid,655.5394,-1867.2231,-10.0);
  311. SetPlayerCameraPos(playerid,699.7435,-1936.7568,24.8646);
  312. SetPlayerCameraLookAt(playerid,655.5394,-1867.2231,5.4609);
  313. }
  314. case 5: // Fishing Pier
  315. {
  316. SetPlayerVirtualWorld(playerid, 0);
  317. SetPlayerInterior(playerid, 0);
  318. Streamer_UpdateEx(playerid,370.0804,-2087.8767,7.8359);
  319. SetPlayerPos(playerid,370.0804,-2087.8767,-10.0);
  320. SetPlayerCameraPos(playerid,423.3802,-2067.7915,29.8605);
  321. SetPlayerCameraLookAt(playerid,370.0804,-2087.8767,7.8359);
  322. }
  323. case 6: // VIP
  324. {
  325. SetPlayerVirtualWorld(playerid, 0);
  326. SetPlayerInterior(playerid, 0);
  327. Streamer_UpdateEx(playerid,1797.3397,-1578.3440,14.0798);
  328. SetPlayerPos(playerid,1797.3397,-1578.3440,-10.0);
  329. SetPlayerCameraPos(playerid,1832.1698,-1600.1538,32.2877);
  330. SetPlayerCameraLookAt(playerid,1797.3397,-1578.3440,14.0798);
  331. }
  332. case 7: // All Saints
  333. {
  334. SetPlayerVirtualWorld(playerid, 0);
  335. SetPlayerInterior(playerid, 0);
  336. Streamer_UpdateEx(playerid,1175.5581,-1324.7922,18.1610);
  337. SetPlayerPos(playerid, 1188.4574,-1309.2242,-10.0);
  338. SetPlayerCameraPos(playerid,1188.4574,-1309.2242,13.5625+6.0);
  339. SetPlayerCameraLookAt(playerid,1175.5581,-1324.7922,18.1610);
  340. }
  341. case 8: // Unity
  342. {
  343. SetPlayerVirtualWorld(playerid, 0);
  344. SetPlayerInterior(playerid, 0);
  345. Streamer_UpdateEx(playerid,1716.1129,-1880.0715,22.0264);
  346. SetPlayerPos(playerid,1716.1129,-1880.0715,-10.0);
  347. SetPlayerCameraPos(playerid,1755.0413,-1824.8710,20.2100);
  348. SetPlayerCameraLookAt(playerid,1716.1129,-1880.0715,22.0264);
  349. }
  350. }
  351. SetTimerEx("loginCamera", 10000, false, "i", playerid);
  352. SetPVarInt(playerid, "LoginScreen", Random(1,9));
  353. return 1;
  354. }
  355. /*
  356. forward loginCamera(playerid);
  357. public loginCamera(playerid)
  358. {
  359. if(InsideMainMenu{playerid} == 0) return 1;
  360. new stage = GetPVarInt(playerid, "LoginScreen");
  361. if(!stage) return 1;
  362. switch(stage)
  363. {
  364. case 1:
  365. {
  366. //SetPVarInt(playerid, "o_iLoginObjectID", CreateDynamicObject(10757, -1037.50903, 453.60007, 34.86839, 0.00000, 0.00000, 315.27899, -1, -1, playerid, 500.0));
  367. //MoveDynamicObject(GetPVarInt(playerid, "o_iLoginObjectID"), -1181.16455, 310.40958, 28.76766, 30.0);
  368. InterpolateCameraPos(playerid, -1205.5737, 287.1576, 15.0854, -1084.4949, 408.7233, 19.8364, LOGINCAM_SPEED, LOGINCAM_CUT);
  369. InterpolateCameraLookAt(playerid, -1204.8885, 287.8855, 15.1403, -1083.7922, 409.4344, 19.8913, LOGINCAM_SPEED, LOGINCAM_CUT);
  370. SetPlayerPos(playerid, -1204.8885, 287.8855, 15.1403);
  371. }
  372. case 2:
  373. {
  374. //DestroyDynamicObject(GetPVarInt(playerid,"o_iLoginObjectID"));
  375. InterpolateCameraPos(playerid, 367.0753, -2008.7896, 7.9850, 367.0673, -2002.2097, 8.4014, LOGINCAM_SPEED, LOGINCAM_CUT);
  376. InterpolateCameraLookAt(playerid, 366.2721, -2008.2030, 8.1950, 366.1893, -2001.7432, 8.5165, LOGINCAM_SPEED, LOGINCAM_CUT);
  377. SetPlayerPos(playerid, 367.0753, -2008.7896, 7.9850);
  378. }
  379. case 3:
  380. {
  381. InterpolateCameraPos(playerid, 220.7953, -1931.9850, 11.1282, 118.6140, -2010.0983, 36.6997, LOGINCAM_SPEED, LOGINCAM_CUT);
  382. InterpolateCameraLookAt(playerid, 219.9500, -1932.5101, 11.2782, 119.2489, -2009.3315, 36.5448, LOGINCAM_SPEED, LOGINCAM_CUT);
  383. SetPlayerPos(playerid, 220.7953, -1931.9850, 11.1282);
  384. }
  385. case 4:
  386. {
  387. InterpolateCameraPos(playerid, -178.8338, -1365.6261, 34.7616, -119.1325, -1245.7603, 23.8896, LOGINCAM_SPEED, LOGINCAM_CUT);
  388. InterpolateCameraLookAt(playerid, -178.4177, -1364.7233, 34.6766, -119.1364, -1244.7668, 23.7446, LOGINCAM_SPEED, LOGINCAM_CUT);
  389. SetPlayerPos(playerid, -178.8338, -1365.6261, 34.7616);
  390. }
  391. case 5:
  392. {
  393. InterpolateCameraPos(playerid, 691.6666, -1390.5863, 12.6861, 717.0291, -1391.0935, 13.1583, LOGINCAM_SPEED, LOGINCAM_CUT);
  394. InterpolateCameraLookAt(playerid, 692.4824, -1390.0200, 12.9711, 717.9996, -1390.8818, 13.3234, LOGINCAM_SPEED, LOGINCAM_CUT);
  395. SetPlayerPos(playerid, 691.6666, -1390.5863, 12.6861);
  396. }
  397. case 6:
  398. {
  399. InterpolateCameraPos(playerid, 1024.1499, -333.9991, 74.7856, 1069.5502, -326.5808, 74.3607, LOGINCAM_SPEED, LOGINCAM_CUT);
  400. InterpolateCameraLookAt(playerid, 1025.1135, -333.7570, 74.7156, 1070.2540, -327.2821, 74.5607, LOGINCAM_SPEED, LOGINCAM_CUT);
  401. SetPlayerPos(playerid, 1024.1499, -333.9991, 74.7856);
  402. }
  403. case 7:
  404. {
  405. InterpolateCameraPos(playerid, 234.6522, 1982.8652, 18.7558, 238.8765, 2003.7644, 22.0445, LOGINCAM_SPEED, LOGINCAM_CUT);
  406. InterpolateCameraLookAt(playerid, 234.2398, 1983.7708, 18.7858, 238.4337, 2004.6549, 22.0845, LOGINCAM_SPEED, LOGINCAM_CUT);
  407. SetPlayerPos(playerid, 234.6522, 1982.8652, 18.7558);
  408. return 1;
  409. }
  410. }
  411. SetTimerEx("loginCamera", 10000, false, "i", playerid);
  412. SetPVarInt(playerid, "LoginScreen", stage+1);
  413. return 1;
  414. }*/
  415. /*LoginCamToPlayer(playerid)
  416. {
  417. new Float:A;
  418. GetPlayerFacingAngle(playerid, A);
  419. SetPVarInt(playerid, "LoginCam", 1);
  420. SetTimerEx("OnLoginCam", CAMERA_MOVE_SPEED, false, "i", playerid);
  421. TogglePlayerControllable(playerid, 0);
  422. InterpolateCameraPos(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z] + CAMERA_ZOOM_DISTANCE, PlayerInfo[playerid][pPos_x] + 3.255828, PlayerInfo[playerid][pPos_y] - 4.534179, PlayerInfo[playerid][pPos_z] + 1.047477, CAMERA_MOVE_SPEED, CAMERA_MOVE);
  423. InterpolateCameraLookAt(playerid, PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y] + CAMERA_ROTATION_ANGLE, PlayerInfo[playerid][pPos_z], PlayerInfo[playerid][pPos_x], PlayerInfo[playerid][pPos_y], PlayerInfo[playerid][pPos_z], CAMERA_MOVE_SPEED, CAMERA_MOVE);
  424. return 1;
  425. }
  426. forward OnLoginCam(playerid);
  427. public OnLoginCam(playerid)
  428. {
  429. StopAudioStreamForPlayer(playerid);
  430. SetCameraBehindPlayer(playerid);
  431. TogglePlayerControllable(playerid, 1);
  432. DeletePVar(playerid, "LoginCam");
  433. return 1;
  434. }*/