EOussama

Eovip.inc 1.8

Jul 13th, 2017
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.21 KB | None | 0 0
  1. /*=======================================================================================================================================================
  2. ==========================================================================================================================================================
  3.  
  4.  
  5.  
  6. oooooooooooo .oooooo.
  7. `888' `8 d8P' `Y8b
  8. 888 888 888
  9. 888oooo8 888 888
  10. 888 " 888 888
  11. 888 o `88b d88'
  12. o888ooooood8 `Y8bood8P'
  13.  
  14. VIP SYSTEM Include
  15. by Oussama .aka. Compton
  16.  
  17.  
  18.  
  19. NOTE: If you're going to use this include, please keep the credits!
  20.  
  21.  
  22. native SetPlayerVIPLevel(playerid, vlevel);
  23.  
  24. native IsPlayerVIP(playerid);
  25.  
  26. native GetPlayerVIPLevel(playerid);
  27.  
  28. native GetPlayerVIPName(playerid);
  29.  
  30. native IsPlayerVIPTagActive(playerid);
  31.  
  32. native TogglePlayerVIPTag(playerid, param = true);
  33.  
  34. native IsVIPVehicle(vehicleid);
  35.  
  36. native CreateVIPVehicles();
  37.  
  38. native CreateVIPBase();
  39.  
  40. native ControllVIPGate(action);
  41.  
  42. native IsVIPGateOpened();
  43.  
  44. native SendClientMessageToAllVIPs(const message[], color);
  45.  
  46. ============================================================================================================================================================
  47. ==========================================================================================================================================================*/
  48.  
  49. //**Definitions------------------------------------------------------------------------------------------------------------------------------
  50. #define EOVIP_VIPLEVEL_0 0
  51. #define EOVIP_VIPLEVEL_1 1
  52. #define EOVIP_VIPLEVEL_2 2
  53. #define EOVIP_VIPLEVEL_3 3
  54. #define EOVIP_VIPLEVEL_4 4
  55.  
  56. #define VIPGATE_OPEN 1
  57. #define VIPGATE_CLOSE 2
  58.  
  59. //**Variables--------------------------------------------------------------------------------------------------------------------------------
  60. new gVIPVehicles[38];
  61.  
  62. //**Enums------------------------------------------------------------------------------------------------------------------------------------
  63. enum E_VIP_DATA {
  64. e_VIPLevel,
  65. e_VIPGunPackCoolDown,
  66. e_VIPBaseTeleportCoolDown,
  67. e_VIPGPMelee,
  68. e_VIPGPPistol,
  69. e_VIPGPShotgun,
  70. e_VIPGPSubMachine,
  71. e_VIPGPAssault,
  72. e_VIPGPRifle,
  73. e_VIPToysIndex[10],
  74. e_VIPSelectedBone,
  75. bool:e_VIPToysSlots[10],
  76. bool:e_IsVIPInLounge,
  77. bool:e_VIPBaseSpawn,
  78. bool:e_VIPTag,
  79. bool:e_VIPGunPackPreset,
  80. bool:e_VIPFirstSpawn,
  81. Text3D:e_VIPTagID
  82. };
  83.  
  84. enum E_VIP_GATE {
  85. e_Gate1,
  86. e_Gate2,
  87. bool:e_IsGateOpened,
  88. bool:e_IsPublic
  89. };
  90.  
  91. new
  92. VIPInfo[MAX_PLAYERS][E_VIP_DATA],
  93. VIPGate[E_VIP_GATE],
  94. Iterator:VIPS<MAX_PLAYERS>
  95.  
  96. ;
  97.  
  98. //**Functions--------------------------------------------------------------------------------------------------------------------------------
  99. SetPlayerVIPLevel(playerid, vlevel){
  100. if(vlevel)
  101. Iter_Add(VIPS, playerid);
  102. else
  103. Iter_Remove(VIPS, playerid);
  104.  
  105. VIPInfo[playerid][e_VIPLevel] = vlevel;
  106. }
  107.  
  108. GetPlayerVIPLevel(playerid)
  109. return VIPInfo[playerid][e_VIPLevel];
  110.  
  111. GetPlayerVIPName(playerid){
  112. new str[9];
  113. switch(VIPInfo[playerid][e_VIPLevel]){
  114. case EOVIP_VIPLEVEL_0:{ strcpy(str, "None", 9);}
  115. case EOVIP_VIPLEVEL_1:{ strcpy(str, "Silver", 9);}
  116. case EOVIP_VIPLEVEL_2:{ strcpy(str, "Gold", 9);}
  117. case EOVIP_VIPLEVEL_3:{ strcpy(str, "Diamond", 9);}
  118. case EOVIP_VIPLEVEL_4:{ strcpy(str, "Platinum", 9);}
  119. }
  120. return str;
  121. }
  122.  
  123. IsPlayerVIP(playerid)
  124. return VIPInfo[playerid][e_VIPLevel] ? true : false;
  125.  
  126. IsPlayerVIPTagActive(playerid)
  127. return VIPInfo[playerid][e_VIPTag] ? true : false;
  128.  
  129. TogglePlayerVIPTag(playerid, bool:param){
  130.  
  131. new _strTag[22];
  132.  
  133. if(param){
  134. format(_strTag, sizeof(_strTag), "VIP "VIPCOL_WHITE"Level %i", GetPlayerVIPLevel(playerid));
  135. VIPInfo[playerid][e_VIPTagID] = CreateDynamic3DTextLabel(_strTag, VIPCOLOR_ORANGE, 0.0, 0.0, 0.0, 10, playerid, INVALID_VEHICLE_ID, 1, -1, -1, -1, 10);
  136. SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_WHITE"You have turned the VIP tag ON");
  137. }
  138. else{
  139. DestroyDynamic3DTextLabel(VIPInfo[playerid][e_VIPTagID]);
  140. SendClientMessage(playerid, VIPCOLOR_ORANGE, "[EO_VIP]: "VIPCOL_WHITE"You have turned the VIP tag OFF");
  141. }
  142.  
  143. VIPInfo[playerid][e_VIPTag] = param;
  144. }
  145.  
  146. IsVIPVehicle(vehicleid)
  147. {
  148. for(new i, j = sizeof(gVIPVehicles); i < j; i++) {
  149. if(vehicleid == gVIPVehicles[i])
  150. return true;
  151. }
  152. return false;
  153. }
  154.  
  155. ControllVIPGate(Action){
  156. switch(Action){
  157. case VIPGATE_OPEN:{
  158. MoveDynamicObject(VIPGate[e_Gate1], 3002.3396, -677.6714, 1.9951, 3.0);
  159. MoveDynamicObject(VIPGate[e_Gate2], 3002.3396, -697.8354, 1.9951, 3.0);
  160. VIPGate[e_IsGateOpened] = true;
  161. PlaySoundForAll(1100, 3002.3396, -677.6714, 1.9951);
  162. defer StopSoundTimer();
  163. //stop VIPGateAutoCloseTimer();
  164. }
  165. case VIPGATE_CLOSE:{
  166. MoveDynamicObject(VIPGate[e_Gate1], 3002.3396, -683.2094, 1.9951, 3.0);
  167. MoveDynamicObject(VIPGate[e_Gate2], 3002.3396, -692.0134, 1.9951, 3.0);
  168. VIPGate[e_IsGateOpened] = false;
  169. PlaySoundForAll(1100, 3002.3396, -683.2094, 1.9951);
  170. defer StopSoundTimer();
  171. //stop VIPGateAutoCloseTimer();
  172. }
  173. }
  174. defer VIPGateAutoCloseTimer();
  175. }
  176.  
  177. IsVIPGateOpened()
  178. return VIPGate[e_IsGateOpened] ? true : false;
  179.  
  180. SendClientMessageToAllVIPs(const message[], color){
  181. foreach(new i : Player){
  182. if(IsPlayerVIP(i))
  183. SendClientMessage(i, color, message);
  184. }
  185. }
  186.  
  187. CreateVIPVehicles(){
  188. gVIPVehicles[0] = CreateVehicle(411, 3023.3174, -663.6208, 2.4356, 0.0000, 6, 6, 100);
  189. gVIPVehicles[1] = CreateVehicle(411, 3030.1333, -663.6208, 2.4356, 0.0000, 6, 6, 100);
  190. gVIPVehicles[2] = CreateVehicle(411, 3009.9695, -663.6208, 2.4356, 0.0000, 6, 6, 100);
  191. gVIPVehicles[3] = CreateVehicle(522, 3069.4780, -714.9214, 2.2332, 0.0000, 6, 6, 100);
  192. gVIPVehicles[4] = CreateVehicle(522, 3069.4780, -711.7974, 2.2332, 0.0000, 6, 6, 100);
  193. gVIPVehicles[5] = CreateVehicle(522, 3069.4780, -708.3894, 2.2332, 0.0000, 6, 6, 100);
  194. gVIPVehicles[6] = CreateVehicle(522, 3075.7261, -707.9634, 2.2332, 0.0000, 6, 6, 100);
  195. gVIPVehicles[7] = CreateVehicle(522, 3073.8801, -707.9634, 2.2332, 0.0000, 6, 6, 100);
  196. gVIPVehicles[8] = CreateVehicle(522, 3073.8801, -711.3714, 2.2332, 0.0000, 6, 6, 100);
  197. gVIPVehicles[9] = CreateVehicle(522, 3075.7261, -711.3714, 2.2332, 0.0000, 6, 6, 100);
  198. gVIPVehicles[10] = CreateVehicle(451, 3030.6123, -656.5804, 2.3751, 180.0000, 6, 6, 100);
  199. gVIPVehicles[11] = CreateVehicle(451, 3037.0022, -656.5804, 2.3751, 180.0000, 6, 6, 100);
  200. gVIPVehicles[12] = CreateVehicle(451, 3024.0803, -656.5804, 2.3751, 180.0000, 6, 6, 100);
  201. gVIPVehicles[13] = CreateVehicle(487, 3065.8286, -654.2310, 15.1676, 90.0000, 6, 6, 100);
  202. gVIPVehicles[14] = CreateVehicle(487, 3065.8286, -667.4370, 15.1676, -90.0000, 6, 6, 100);
  203. gVIPVehicles[15] = CreateVehicle(470, 3009.4387, -655.6624, 2.5133, 180.0000, 6, 6, 100);
  204. gVIPVehicles[16] = CreateVehicle(470, 3016.6807, -655.6624, 2.5133, 180.0000, 6, 6, 100);
  205. gVIPVehicles[17] = CreateVehicle(444, 3071.3596, -651.0118, 2.9290, 180.0000, 6, 6, 100);
  206. gVIPVehicles[18] = CreateVehicle(444, 3066.1057, -651.0118, 2.9290, 180.0000, 6, 6, 100);
  207. gVIPVehicles[19] = CreateVehicle(444, 3061.2776, -651.0118, 2.9290, 180.0000, 6, 6, 100);
  208. gVIPVehicles[20] = CreateVehicle(444, 3061.2776, -669.8978, 2.9290, 0.0000, 6, 6, 100);
  209. gVIPVehicles[21] = CreateVehicle(444, 3066.5315, -669.8978, 2.9290, 0.0000, 6, 6, 100);
  210. gVIPVehicles[22] = CreateVehicle(463, 3075.6326, -704.8986, 2.2331, 0.0000, 6, 6, 100);
  211. gVIPVehicles[23] = CreateVehicle(463, 3073.7866, -704.8986, 2.2331, 0.0000, 6, 6, 100);
  212. gVIPVehicles[24] = CreateVehicle(539, 3064.4543, -714.8845, 2.2331, 0.0000, 6, 6, 100);
  213. gVIPVehicles[25] = CreateVehicle(539, 3059.6262, -714.8845, 2.2331, 0.0000, 6, 6, 100);
  214. gVIPVehicles[26] = CreateVehicle(539, 3059.6262, -710.1985, 2.2331, 0.0000, 6, 6, 100);
  215. gVIPVehicles[27] = CreateVehicle(539, 3059.6262, -705.7965, 2.2331, 0.0000, 6, 6, 100);
  216. gVIPVehicles[28] = CreateVehicle(539, 3064.3123, -705.7965, 2.2331, 0.0000, 6, 6, 100);
  217. gVIPVehicles[29] = CreateVehicle(539, 3064.3123, -710.1985, 2.2331, 0.0000, 6, 6, 100);
  218. gVIPVehicles[30] = CreateVehicle(556, 3077.7942, -679.0674, 2.6504, 0.0000, 6, 6, 100);
  219. gVIPVehicles[31] = CreateVehicle(556, 3072.3982, -679.0674, 2.6504, 0.0000, 6, 6, 100);
  220. gVIPVehicles[32] = CreateVehicle(556, 3066.2922, -679.0674, 2.6504, 0.0000, 6, 6, 100);
  221. gVIPVehicles[33] = CreateVehicle(481, 3027.9504, -692.3883, 2.2612, 0.0000, 6, 6, 100);
  222. gVIPVehicles[34] = CreateVehicle(481, 3028.8025, -692.3883, 2.2612, 0.0000, 6, 6, 100);
  223. gVIPVehicles[35] = CreateVehicle(481, 3029.6545, -693.8083, 2.2612, 0.0000, 6, 6, 100);
  224. gVIPVehicles[36] = CreateVehicle(481, 3030.7905, -693.8083, 2.2612, 0.0000, 6, 6, 100);
  225. gVIPVehicles[37] = CreateVehicle(481, 3031.9265, -693.8083, 2.2612, 0.0000, 6, 6, 100);
  226.  
  227. for(new i = 0; i < sizeof(gVIPVehicles); i++){
  228. Attach3DTextLabelToVehicle(Create3DTextLabel("VIP "VIPCOL_WHITE"Vehicle", VIPCOLOR_YELLOW, 0.0, 0.0, -10.0, 15.0, 0, 1), gVIPVehicles[i], 0.0, 0.0, 1.5);
  229. AddVehicleComponent(gVIPVehicles[i], 1010);
  230. }
  231. }
  232.  
  233. CreateVIPBase(){
  234.  
  235. //Objects
  236. CreateDynamicObject(8661, 3022.12695, -672.72382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  237. CreateDynamicObject(8661, 3022.12695, -653.22382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  238. CreateDynamicObject(8661, 3061.62695, -653.22382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  239. CreateDynamicObject(8661, 3061.62695, -672.72382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  240. CreateDynamicObject(8661, 3061.62695, -692.22382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  241. CreateDynamicObject(8661, 3022.12695, -692.22382, 0.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  242. CreateDynamicObject(8661, 3061.62695, -711.72382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  243. CreateDynamicObject(8661, 3022.12695, -692.22382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  244. CreateDynamicObject(8661, 3022.12695, -711.72382, 1.80860, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  245. CreateDynamicObject(8210, 3053.42676, -644.44202, 4.68320, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  246. CreateDynamicObject(8210, 3028.50269, -644.44202, 4.68320, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  247. CreateDynamicObject(8210, 3080.58472, -672.34198, 4.68320, 0.00000, 0.00000, 89.00000, -1, -1, -1, 500, 500);
  248. CreateDynamicObject(8210, 3080.58472, -694.17200, 4.68320, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  249. CreateDynamicObject(8210, 3053.35278, -721.40399, 4.68320, 0.00000, 0.00000, 180.00000, -1, -1, -1, 500, 500);
  250. CreateDynamicObject(8210, 3029.06470, -721.40399, 4.68320, 0.00000, 0.00000, 180.00000, -1, -1, -1, 500, 500);
  251. CreateDynamicObject(3749, 3003.83130, -683.48969, 7.68770, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  252. CreateDynamicObject(987, 3003.03687, -656.29919, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  253. CreateDynamicObject(987, 3003.03687, -673.96320, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  254. CreateDynamicObject(987, 3003.03687, -665.13123, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  255. CreateDynamicObject(987, 3003.03687, -704.50720, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  256. CreateDynamicObject(987, 3003.03687, -721.43518, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  257. CreateDynamicObject(987, 3003.03687, -713.33917, 1.77550, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  258. CreateDynamicObject(18788, 2983.97705, -683.33478, 0.81030, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  259. CreateDynamicObject(18788, 2960.26514, -683.33478, 0.81030, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  260. CreateDynamicObject(16287, 3072.45190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  261. CreateDynamicObject(16287, 3061.95190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  262. CreateDynamicObject(16287, 3050.95190, -710.08112, 1.79360, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  263. CreateDynamicObject(10831, 3066.83032, -660.64362, 6.29510, 0.00000, 0.00000, -90.00000, -1, -1, -1, 500, 500);
  264. CreateDynamicObject(18850, 3065.63550, -660.40881, 1.78560, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  265. CreateDynamicObject(13749, 3061.92041, -681.63129, 7.07810, 0.00000, 0.00000, -37.00000, -1, -1, -1, 500, 500);
  266. CreateDynamicObject(3605, 3024.24756, -706.26788, 7.87870, 0.00000, 0.00000, 180.00000, -1, -1, -1, 500, 500);
  267. CreateDynamicObject(8838, 3020.13696, -662.13177, 3.29460, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  268. CreateDynamicObject(8838, 3020.13696, -656.63177, 3.29460, 0.00000, 0.00000, 180.00000, -1, -1, -1, 500, 500);
  269. CreateDynamicObject(52, 3025.04810, -693.57910, 2.65190, 0.00000, 0.00000, 0.00000, -1, -1, -1, 500, 500);
  270.  
  271. //3D Text Labels
  272. CreateDynamic3DTextLabel("VIP {FFFF00}Base\nPress {FF00FF}N {FFFFFF}to open the gate", VIPCOLOR_YELLOW, 3001.5039, -683.3127, 2.0232, 20, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 20);
  273. CreateDynamic3DTextLabel("VIP {FFFFFF}Lounge\nPress {FF00FF}N {FFFFFF}to enter", VIPCOLOR_YELLOW, 3024.9241, -692.5798, 3.3770, 20, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 1, -1, -1, -1, 20);
  274.  
  275. //Base Gate
  276. VIPGate[e_Gate1] = CreateDynamicObject(969, 3002.25830, -683.18237, 1.85340, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  277. VIPGate[e_Gate2] = CreateDynamicObject(969, 3002.25830, -691.98639, 1.85340, 0.00000, 0.00000, 90.00000, -1, -1, -1, 500, 500);
  278. VIPGate[e_IsGateOpened] = false;
  279.  
  280. }
  281.  
  282. PlaySoundForAll(soundid, Float:X, Float:Y, Float:Z){
  283. foreach(new i : Player)
  284. PlayerPlaySound(i, soundid, X, Y, Z);
  285. }
  286.  
  287. //**Timers
  288. timer VIPGateAutoCloseTimer[6000](){
  289.  
  290. MoveDynamicObject(VIPGate[e_Gate1], 3002.3396, -683.2094, 1.9951, 3.0);
  291. MoveDynamicObject(VIPGate[e_Gate2], 3002.3396, -692.0134, 1.9951, 3.0);
  292. VIPGate[e_IsGateOpened] = false;
  293. PlaySoundForAll(1100, 3002.3396, -683.2094, 1.9951);
  294. defer StopSoundTimer();
  295. }
  296.  
  297. timer StopSoundTimer[2000](){
  298. foreach(new i : Player)
  299. PlayerPlaySound(i, 0, 3002.3396, -683.2094, 1.9951);
  300. }
Add Comment
Please, Sign In to add comment