Advertisement
EOussama

eoVIP

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