1
0

watch.pwn 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. CMD:watch(playerid, params[])
  2. {
  3. if(PlayerInfo[playerid][pAdmin] < 2)
  4. {
  5. SendClientMessageEx(playerid, COLOR_GREY, "You're not authorised to use this command.");
  6. return 1;
  7. }
  8. if(GetPlayerState(playerid) == PLAYER_STATE_SPECTATING)
  9. {
  10. SendClientMessageEx(playerid, COLOR_GRAD2, "You can not do this while spectating.");
  11. return 1;
  12. }
  13. if(isnull(params))
  14. {
  15. // VIP gold room needs to be fixed
  16. SendClientMessageEx(playerid, COLOR_GREY, "USAGE: /watch [location] (or /watch off)");
  17. SendClientMessageEx(playerid, COLOR_GRAD2, "General locations: gym, lspd, allsaints, countygen, grove, tgb, bank, motel, cityhall, mall");
  18. SendClientMessageEx(playerid, COLOR_GRAD2, "VIP locations: lsvip, sfvip, loungeview1, loungeview2, goldlounge, vipgarage");
  19. SendClientMessageEx(playerid, COLOR_GRAD2, "Point locations: mp1, df, mf1, dh, mp2, cl, mf2, sfd, ffc");
  20. }
  21. new Float: Pos[3], int, vw;
  22. // SAVING INITIAL POSITION TO TELEPORT BACK TO LATER
  23. if(!(strcmp(params, "off", true) == 0) && GetPVarFloat(playerid, "WatchLastx") == 0 && GetPVarFloat(playerid, "WatchLasty") == 0 && GetPVarFloat(playerid, "WatchLastz") == 0 && GetPVarInt(playerid, "WatchLastVW") == 0 && GetPVarInt(playerid, "WatchLastInt") == 0)
  24. {
  25. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  26. vw = GetPlayerVirtualWorld(playerid);
  27. int = GetPlayerInterior(playerid);
  28. SetPVarFloat(playerid, "WatchLastx", Pos[0]);
  29. SetPVarFloat(playerid, "WatchLasty", Pos[1]);
  30. SetPVarFloat(playerid, "WatchLastz", Pos[2]);
  31. SetPVarInt(playerid, "WatchLastInt", int);
  32. SetPVarInt(playerid, "WatchLastVW", vw);
  33. }
  34. // GENERAL LOCATIONS
  35. if(strcmp(params, "gym", true) == 0)
  36. {
  37. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Ganton gym.");
  38. SetPlayerPos(playerid, 2212.61, -1730.57, -80.0);
  39. SetPlayerInterior(playerid, 0);
  40. PlayerInfo[playerid][pInt] = 0;
  41. SetPlayerVirtualWorld(playerid, 0);
  42. PlayerInfo[playerid][pVW] = 0;
  43. TogglePlayerControllable(playerid,0);
  44. SetPlayerCameraPos(playerid, 2208.67, -1733.71, 27.48);
  45. SetPlayerCameraLookAt(playerid, 2225.25, -1723.1, 13.56);
  46. }
  47. else if(strcmp(params, "lspd", true) == 0)
  48. {
  49. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the LSPD.");
  50. SetPlayerPos(playerid, 1504.23, -1700.17, -80.0);
  51. SetPlayerInterior(playerid, 0);
  52. PlayerInfo[playerid][pInt] = 0;
  53. SetPlayerVirtualWorld(playerid, 0);
  54. PlayerInfo[playerid][pVW] = 0;
  55. TogglePlayerControllable(playerid,0);
  56. SetPlayerCameraPos(playerid, 1500.21, -1691.75, 38.38);
  57. SetPlayerCameraLookAt(playerid, 1541.46, -1676.17, 13.55);
  58. }
  59. else if(strcmp(params, "allsaints", true) == 0)
  60. {
  61. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching All Saints General Hospital.");
  62. SetPlayerPos(playerid, 1201.12, -1324, -80.0);
  63. SetPlayerInterior(playerid, 0);
  64. PlayerInfo[playerid][pInt] = 0;
  65. SetPlayerVirtualWorld(playerid, 0);
  66. PlayerInfo[playerid][pVW] = 0;
  67. TogglePlayerControllable(playerid,0);
  68. SetPlayerCameraPos(playerid, 1207.39, -1294.71, 24.61);
  69. SetPlayerCameraLookAt(playerid, 1181.72, -1322.65, 13.58);
  70. }
  71. else if(strcmp(params, "countygen", true) == 0)
  72. {
  73. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching County General Hospital.");
  74. SetPlayerPos(playerid, 1989.24, -1461.38, -80.0);
  75. SetPlayerInterior(playerid, 0);
  76. PlayerInfo[playerid][pInt] = 0;
  77. SetPlayerVirtualWorld(playerid, 0);
  78. PlayerInfo[playerid][pVW] = 0;
  79. TogglePlayerControllable(playerid,0);
  80. SetPlayerCameraPos(playerid, 1981.79, -1461.55, 31.93);
  81. SetPlayerCameraLookAt(playerid, 2021.23, -1427.48, 13.97);
  82. }
  83. else if(strcmp(params, "grove", true) == 0)
  84. {
  85. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Grove Street.");
  86. SetPlayerPos(playerid, 2489.09, -1669.88, -80.0);
  87. SetPlayerInterior(playerid, 0);
  88. PlayerInfo[playerid][pInt] = 0;
  89. SetPlayerVirtualWorld(playerid, 0);
  90. PlayerInfo[playerid][pVW] = 0;
  91. TogglePlayerControllable(playerid,0);
  92. SetPlayerCameraPos(playerid, 2459.82, -1652.68, 26.45);
  93. SetPlayerCameraLookAt(playerid, 2489.09, -1669.88, 13.34);
  94. }
  95. else if(strcmp(params, "tgb", true) == 0)
  96. {
  97. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Ten Green Bottles.");
  98. SetPlayerPos(playerid, 2319.09, -1650.90, -80.0);
  99. SetPlayerInterior(playerid, 0);
  100. PlayerInfo[playerid][pInt] = 0;
  101. SetPlayerVirtualWorld(playerid, 0);
  102. PlayerInfo[playerid][pVW] = 0;
  103. TogglePlayerControllable(playerid,0);
  104. SetPlayerCameraPos(playerid, 2336.31, -1664.76, 24.98);
  105. SetPlayerCameraLookAt(playerid, 2319.09, -1650.90, 14.16);
  106. }
  107. else if(strcmp(params, "bank", true) == 0)
  108. {
  109. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the Los Santos bank.");
  110. SetPlayerPos(playerid, 1466.24, -1023.05, -80.0);
  111. SetPlayerInterior(playerid, 0);
  112. PlayerInfo[playerid][pInt] = 0;
  113. SetPlayerVirtualWorld(playerid, 0);
  114. PlayerInfo[playerid][pVW] = 0;
  115. TogglePlayerControllable(playerid,0);
  116. SetPlayerCameraPos(playerid, 1502.28, -1044.47, 31.19);
  117. SetPlayerCameraLookAt(playerid, 1466.24, -1023.05, 23.83);
  118. }
  119. else if(strcmp(params, "motel", true) == 0)
  120. {
  121. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Jefferson motel.");
  122. SetPlayerPos(playerid, 2215.73, -1163.39, -80.0);
  123. SetPlayerInterior(playerid, 0);
  124. PlayerInfo[playerid][pInt] = 0;
  125. SetPlayerVirtualWorld(playerid, 0);
  126. PlayerInfo[playerid][pVW] = 0;
  127. TogglePlayerControllable(playerid,0);
  128. SetPlayerCameraPos(playerid, 2203.05, -1152.81, 37.03);
  129. SetPlayerCameraLookAt(playerid, 2215.73, -1163.39, 25.73);
  130. }
  131. else if(strcmp(params, "cityhall", true) == 0)
  132. {
  133. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Los Santos City Hall.");
  134. SetPlayerPos(playerid, 1478.936035, -1746.446655, -80.0);
  135. SetPlayerInterior(playerid, 0);
  136. PlayerInfo[playerid][pInt] = 0;
  137. SetPlayerVirtualWorld(playerid, 0);
  138. PlayerInfo[playerid][pVW] = 0;
  139. TogglePlayerControllable(playerid,0);
  140. SetPlayerCameraPos(playerid, 1447.461669, -1717.788085, 44.047473);
  141. SetPlayerCameraLookAt(playerid, 1478.936035, -1746.446655, 14.347633);
  142. }
  143. else if(strcmp(params, "mall", true) == 0)
  144. {
  145. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Los Santos Mall.");
  146. SetPlayerPos(playerid, 1127.245483, -1451.613891, -80.0);
  147. SetPlayerInterior(playerid, 0);
  148. PlayerInfo[playerid][pInt] = 0;
  149. SetPlayerVirtualWorld(playerid, 0);
  150. PlayerInfo[playerid][pVW] = 0;
  151. TogglePlayerControllable(playerid,0);
  152. SetPlayerCameraPos(playerid, 1092.614868, -1499.197998, 42.018226);
  153. SetPlayerCameraLookAt(playerid, 1127.245483, -1451.613891, 15.796875);
  154. }
  155. // VIP LOCATIONS
  156. else if(strcmp(params, "lsvip", true) == 0)
  157. {
  158. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the Los Santos VIP entrance.");
  159. SetPlayerPos(playerid, 1809.888427, -1570.615844, -80.0);
  160. SetPlayerInterior(playerid, 0);
  161. PlayerInfo[playerid][pInt] = 0;
  162. SetPlayerVirtualWorld(playerid, 0);
  163. PlayerInfo[playerid][pVW] = 0;
  164. TogglePlayerControllable(playerid,0);
  165. SetPlayerCameraPos(playerid, 1861.195190, -1533.169677, 33.800296);
  166. SetPlayerCameraLookAt(playerid, 1809.888427, -1570.615844, 13.465585);
  167. }
  168. else if(strcmp(params, "sfvip", true) == 0)
  169. {
  170. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the San Fierro VIP entrance.");
  171. SetPlayerPos(playerid, -2437.302490, 508.727020, -80.0);
  172. SetPlayerInterior(playerid, 0);
  173. PlayerInfo[playerid][pInt] = 0;
  174. SetPlayerVirtualWorld(playerid, 0);
  175. PlayerInfo[playerid][pVW] = 0;
  176. TogglePlayerControllable(playerid,0);
  177. SetPlayerCameraPos(playerid, -2410.812011, 488.762603, 40.148445);
  178. SetPlayerCameraLookAt(playerid, -2437.302490, 508.727020, 29.933441);
  179. }
  180. else if(strcmp(params, "loungeview1", true) == 0)
  181. {
  182. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the VIP Lounge.");
  183. SetPlayerPos(playerid, 2526.647949, 1431.128417, 7754.650390);
  184. SetPlayerInterior(playerid, 1);
  185. PlayerInfo[playerid][pInt] = 1;
  186. SetPlayerVirtualWorld(playerid, 0);
  187. PlayerInfo[playerid][pVW] = 0;
  188. TogglePlayerControllable(playerid,0);
  189. SetPlayerCameraPos(playerid, 2572.895996, 1424.583007, 7705.613769);
  190. SetPlayerCameraLookAt(playerid, 2555.148681, 1407.475708, 7699.584472);
  191. }
  192. else if(strcmp(params, "loungeview2", true) == 0)
  193. {
  194. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the VIP Lounge.");
  195. SetPlayerPos(playerid, 2526.647949, 1431.128417, 7754.650390);
  196. SetPlayerInterior(playerid, 1);
  197. PlayerInfo[playerid][pInt] = 1;
  198. SetPlayerVirtualWorld(playerid, 0);
  199. PlayerInfo[playerid][pVW] = 0;
  200. TogglePlayerControllable(playerid,0);
  201. SetPlayerCameraPos(playerid, 2488.598388, 1419.864868, 7703.525390);
  202. SetPlayerCameraLookAt(playerid, 2519.420410, 1418.585693, 7697.718261);
  203. }
  204. else if(strcmp(params, "goldlounge", true) == 0)
  205. {
  206. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the VIP Gold+ Lounge.");
  207. SetPlayerPos(playerid, 2864.634277, 2290.584960, 1272.007568);
  208. SetPlayerInterior(playerid, 1);
  209. PlayerInfo[playerid][pInt] = 1;
  210. SetPlayerVirtualWorld(playerid, 0);
  211. PlayerInfo[playerid][pVW] = 0;
  212. TogglePlayerControllable(playerid,0);
  213. SetPlayerCameraPos(playerid,2787.102050, 2392.162841, 1243.898681);
  214. SetPlayerCameraLookAt(playerid,2801.281982, 2404.575683, 1240.531127);
  215. }
  216. else if(strcmp(params, "vipgarage", true) == 0)
  217. {
  218. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the VIP Garage.");
  219. SetPlayerPos(playerid, -4412.440429, 867.361694, -80.0);
  220. SetPlayerInterior(playerid, 0);
  221. PlayerInfo[playerid][pInt] = 0;
  222. SetPlayerVirtualWorld(playerid, 0);
  223. PlayerInfo[playerid][pVW] = 0;
  224. TogglePlayerControllable(playerid,0);
  225. SetPlayerCameraPos(playerid, -4437.200683, 870.038269, 989.548767);
  226. SetPlayerCameraLookAt(playerid, -4412.440429, 867.361694, 986.708435);
  227. }
  228. // Points (mp1, df, mf1, dh, mp2, cl, mf2, sfd, ffc)
  229. else if(strcmp(params, "mp1", true) == 0)
  230. {
  231. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Materials Pickup 1.");
  232. SetPlayerPos(playerid, 1423.773437, -1320.386962, -80.0);
  233. SetPlayerInterior(playerid, 0);
  234. PlayerInfo[playerid][pInt] = 0;
  235. SetPlayerVirtualWorld(playerid, 0);
  236. PlayerInfo[playerid][pVW] = 0;
  237. TogglePlayerControllable(playerid,0);
  238. SetPlayerCameraPos(playerid, 1411.689941, -1352.002929, 24.477527);
  239. SetPlayerCameraLookAt(playerid, 1423.773437, -1320.386962, 13.554687);
  240. }
  241. else if(strcmp(params, "df", true) == 0)
  242. {
  243. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Drug Factory.");
  244. SetPlayerPos(playerid, 2206.402587, 1582.398681, -80.0);
  245. SetPlayerInterior(playerid, 1);
  246. PlayerInfo[playerid][pInt] = 1;
  247. SetPlayerVirtualWorld(playerid, 0);
  248. PlayerInfo[playerid][pVW] = 0;
  249. TogglePlayerControllable(playerid,0);
  250. SetPlayerCameraPos(playerid, 2222.844482, 1590.667968, 1002.612915);
  251. SetPlayerCameraLookAt(playerid, 2206.402587, 1582.398681, 999.976562);
  252. }
  253. else if(strcmp(params, "mf1", true) == 0)
  254. {
  255. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Materials Factory 1.");
  256. SetPlayerPos(playerid, 2172.315185, -2263.781250, -80.0);
  257. SetPlayerInterior(playerid, 0);
  258. PlayerInfo[playerid][pInt] = 0;
  259. SetPlayerVirtualWorld(playerid, 0);
  260. PlayerInfo[playerid][pVW] = 0;
  261. TogglePlayerControllable(playerid,0);
  262. SetPlayerCameraPos(playerid, 2206.363769, -2262.568359, 24.240808);
  263. SetPlayerCameraLookAt(playerid, 2172.315185, -2263.781250, 13.335824);
  264. }
  265. else if(strcmp(params, "dh", true) == 0)
  266. {
  267. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the Drug House.");
  268. SetPlayerPos(playerid, 323.577026, 1118.344116, -80.0);
  269. SetPlayerInterior(playerid, 5);
  270. PlayerInfo[playerid][pInt] = 5;
  271. SetPlayerVirtualWorld(playerid, 371);
  272. PlayerInfo[playerid][pVW] = 371;
  273. TogglePlayerControllable(playerid,0);
  274. SetPlayerCameraPos(playerid, 316.387817, 1123.946289, 1085.046020);
  275. SetPlayerCameraLookAt(playerid, 323.577026, 1118.344116, 1083.882812);
  276. }
  277. else if(strcmp(params, "mp2", true) == 0)
  278. {
  279. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Materials Pickup 2.");
  280. SetPlayerPos(playerid, 2390.212402, -2008.328491, -80.0);
  281. SetPlayerInterior(playerid, 0);
  282. PlayerInfo[playerid][pInt] = 0;
  283. SetPlayerVirtualWorld(playerid, 0);
  284. PlayerInfo[playerid][pVW] = 0;
  285. TogglePlayerControllable(playerid,0);
  286. SetPlayerCameraPos(playerid, 2410.285644, -2013.919433, 21.716161);
  287. SetPlayerCameraLookAt(playerid, 2390.212402, -2008.328491, 13.553703);
  288. }
  289. else if(strcmp(params, "cl", true) == 0)
  290. {
  291. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Crack Lab.");
  292. SetPlayerPos(playerid, 2346.013916, -1185.367065, -80.0);
  293. SetPlayerInterior(playerid, 5);
  294. PlayerInfo[playerid][pInt] = 5;
  295. SetPlayerVirtualWorld(playerid, 371);
  296. PlayerInfo[playerid][pVW] = 371;
  297. TogglePlayerControllable(playerid,0);
  298. SetPlayerCameraPos(playerid, 2342.012207, -1180.969848, 1029.412353);
  299. SetPlayerCameraLookAt(playerid, 2346.013916, -1185.367065, 1027.976562);
  300. }
  301. else if(strcmp(params, "mf2", true) == 0)
  302. {
  303. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Materials Factory 2.");
  304. SetPlayerPos(playerid, 2282.298828, -1110.143798, -80.0);
  305. SetPlayerInterior(playerid, 0);
  306. PlayerInfo[playerid][pInt] = 0;
  307. SetPlayerVirtualWorld(playerid, 0);
  308. PlayerInfo[playerid][pVW] = 0;
  309. TogglePlayerControllable(playerid,0);
  310. SetPlayerCameraPos(playerid, 2306.088623, -1133.968627, 52.929584);
  311. SetPlayerCameraLookAt(playerid, 2282.298828, -1110.143798, 37.976562);
  312. }
  313. else if(strcmp(params, "sfd", true) == 0)
  314. {
  315. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching the San Fierro Docks.");
  316. SetPlayerPos(playerid, -1576.488159, 50.301193, -80.0);
  317. SetPlayerInterior(playerid, 0);
  318. PlayerInfo[playerid][pInt] = 0;
  319. SetPlayerVirtualWorld(playerid, 0);
  320. PlayerInfo[playerid][pVW] = 0;
  321. TogglePlayerControllable(playerid,0);
  322. SetPlayerCameraPos(playerid, -1569.082153, 96.206344, 34.091339);
  323. SetPlayerCameraLookAt(playerid, -1576.488159, 50.301193, 17.328125);
  324. }
  325. else if(strcmp(params, "ffc", true) == 0)
  326. {
  327. SendClientMessageEx(playerid, COLOR_WHITE, "You are now watching Fossil Fuel Company.");
  328. SetPlayerPos(playerid, -2139.215087, -248.235076, -80.0);
  329. SetPlayerInterior(playerid, 0);
  330. PlayerInfo[playerid][pInt] = 0;
  331. SetPlayerVirtualWorld(playerid, 0);
  332. PlayerInfo[playerid][pVW] = 0;
  333. TogglePlayerControllable(playerid,0);
  334. SetPlayerCameraPos(playerid, -2170.527832, -246.948257, 40.965312);
  335. SetPlayerCameraLookAt(playerid, -2139.215087, -248.235076, 36.515625);
  336. }
  337. // OFF
  338. else if(strcmp(params, "off", true) == 0)
  339. {
  340. SendClientMessageEx(playerid, COLOR_WHITE, "You are no longer watching any area.");
  341. SetPlayerPos(playerid, GetPVarFloat(playerid, "WatchLastx"), GetPVarFloat(playerid, "WatchLasty"), GetPVarFloat(playerid, "WatchLastz"));
  342. SetPlayerVirtualWorld(playerid, GetPVarInt(playerid, "WatchLastVW"));
  343. PlayerInfo[playerid][pVW] = GetPVarInt(playerid, "WatchLastVW");
  344. SetPlayerInterior(playerid, GetPVarInt(playerid, "WatchLastInt"));
  345. PlayerInfo[playerid][pInt] = GetPVarInt(playerid, "WatchLastInt");
  346. SetPlayerFacingAngle(playerid, 270.0);
  347. SetCameraBehindPlayer(playerid);
  348. TogglePlayerControllable(playerid,1);
  349. DeletePVar(playerid,"WatchLastx");
  350. DeletePVar(playerid,"WatchLasty");
  351. DeletePVar(playerid,"WatchLastz");
  352. DeletePVar(playerid,"WatchLastVW");
  353. DeletePVar(playerid,"WatchLastInt");
  354. }
  355. return 1;
  356. }