Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //============================================================================//
- //============================== Official Topic ==============================//
- //============= http://forum.sa-mp.com/showthread.php?p=1340142 ==============//
- //============================================================================//
- //====================== Camera Security Controle Room =======================//
- //============================ Police Department =============================//
- //============================================================================//
- //=================== FilterScript Created by Improvementâ„¢ ===================//
- //============================================================================//
- #include <a_samp>
- #include <dudb>
- #pragma unused ret_memcpy
- //|======| Define Colours |======|
- #define COLOR_LIGHTRED 0xFF6347FF
- #define COLOR_RED 0xE60000FF
- //|=====| Enum & New |=====|
- enum LSPD_Door1_Info
- {
- Obj1,
- Obj2,
- Obj3,
- Obj4,
- };
- new CSCR_Door1[LSPD_Door1_Info];
- enum LSPD_Door2_Info
- {
- Obj1,
- Obj2,
- Obj3,
- Obj4,
- };
- new CSCR_Door2[LSPD_Door2_Info];
- new IsPlayerViewingCSCR[MAX_PLAYERS];
- new ViewingCSCR[MAX_PLAYERS];
- new CSCR_DoorTimer = 0;
- new CSCR_Door1Open = 0;
- new CSCR_Door2Open = 0;
- new CloseDoorTimer1, CloseDoorTimer2;
- //|======| Forwards |======|
- forward CloseDoor1();
- forward CloseDoor2();
- forward CSCRDoors(playerid);
- forward CSCRCameras(playerid);
- forward OpenDoorTimer(playerid);
- public OnFilterScriptInit()
- {
- print("\n-----------------------");
- print("Camera Security Controle Room Loaded");
- print("Created by Improvement.");
- print("-----------------------\n");
- }
- //------------------------------------------------------------------------//
- //|======| OnPlayerSpawn Function |======|
- public OnPlayerSpawn(playerid)
- {
- IsPlayerViewingCSCR[playerid] = 0;
- }
- //------------------------------------------------------------------------//
- //|======| Custom Functions |======|
- public CSCRCameras(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(IsPlayerAdmin(playerid))
- {
- if(IsPlayerInRangeOfPoint(playerid, 1.5, 215.54, 80.63, 1005.04))
- {
- TogglePlayerControllable(playerid, 0);
- SetPlayerPos(playerid, 242.76, 71.97, 1011.24);
- SetPlayerFacingAngle(playerid, 210);
- SetPlayerCameraPos(playerid, 242.76, 71.97, 1007.08);
- SetPlayerCameraLookAt(playerid, 248.69, 62.71, 1003.64);
- }
- if(ViewingCSCR[playerid] == 0)
- {
- SetPlayerPos(playerid, 242.76, 71.97, 1011.24);
- SetPlayerFacingAngle(playerid, 210);
- SetPlayerCameraPos(playerid, 242.76, 71.97, 1007.08);
- SetPlayerCameraLookAt(playerid, 248.69, 62.71, 1003.64);
- }
- else if(ViewingCSCR[playerid] == 1)
- {
- SetPlayerPos(playerid, 257.54, 71.06, 1007.22);
- SetPlayerFacingAngle(playerid, 122.5);
- SetPlayerCameraPos(playerid, 257.70, 71.11, 1006.01);
- SetPlayerCameraLookAt(playerid, 251.82, 67.25, 1003.64);
- }
- else if(ViewingCSCR[playerid] == 2)
- {
- SetPlayerPos(playerid, 251.36, 82.39, 1005.97);
- SetPlayerFacingAngle(playerid, 335.0);
- SetPlayerCameraPos(playerid, 251.36, 82.39, 1004.82);
- SetPlayerCameraLookAt(playerid, 255.34, 91.49, 1002.45);
- }
- else if(ViewingCSCR[playerid] == 3)
- {
- SetPlayerPos(playerid, 269.95, 92.30, 1004.68);
- SetPlayerFacingAngle(playerid, 155.0);
- SetPlayerCameraPos(playerid, 269.95, 92.30, 1003.45);
- SetPlayerCameraLookAt(playerid, 264.38, 80.40, 1000.50);
- }
- else if(ViewingCSCR[playerid] == 4)
- {
- SetPlayerPos(playerid, 231.00, 81.95, 1008.71);
- SetPlayerFacingAngle(playerid, 142.5);
- SetPlayerCameraPos(playerid, 231.14, 82.15, 1007.33);
- SetPlayerCameraLookAt(playerid, 227.18, 76.50, 1005.04);
- }
- else if(ViewingCSCR[playerid] == 5)
- {
- SetPlayerPos(playerid, 222.86, 80.43, 1008.71);
- SetPlayerFacingAngle(playerid, 210);
- SetPlayerCameraPos(playerid, 222.86, 80.43, 1007.47);
- SetPlayerCameraLookAt(playerid, 227.19, 73.67, 1005.04);
- }
- else if(ViewingCSCR[playerid] == 6)
- {
- SetPlayerPos(playerid, 214.67, 74.36, 1008.71);
- SetPlayerFacingAngle(playerid, 301.5);
- SetPlayerCameraPos(playerid, 214.67, 74.36, 1007.44);
- SetPlayerCameraLookAt(playerid, 223.55, 80.09, 1005.04);
- }
- }
- }
- return 1;
- }
- public OpenDoorTimer(playerid)
- {
- if(IsPlayerInRangeOfPoint(playerid, 0.25, 226.94, 77.17, 1005.04) || IsPlayerInRangeOfPoint(playerid, 0.25, 225.35, 77.17, 1005.04))
- {
- if(IsPlayerAdmin(playerid))
- {
- CSCR_DoorTimer = 1;
- }
- if(IsPlayerInRangeOfPoint(playerid, 0.25, 226.94, 77.17, 1005.04))
- {
- SetPlayerPos(playerid, 227.09, 77.17, 1005.04);
- SetPlayerFacingAngle(playerid, 90.00);
- }
- else if(IsPlayerInRangeOfPoint(playerid, 0.25, 225.35, 77.17, 1005.04))
- {
- SetPlayerPos(playerid, 225.20, 77.17, 1005.04);
- SetPlayerFacingAngle(playerid, 270.00);
- }
- ApplyAnimation(playerid,"HEIST9","Use_SwipeCard", 2.1, 0, 0, 0, 0, 0, 1);
- SetTimerEx("CSCRDoors", 600, false, "d", playerid);
- }
- else if(IsPlayerInRangeOfPoint(playerid, 0.2, 222.93, 78.45, 1005.04) || IsPlayerInRangeOfPoint(playerid, 0.2, 221.36, 78.47, 1005.04))
- {
- if(IsPlayerInRangeOfPoint(playerid, 0.2, 222.93, 78.45, 1005.04))
- {
- SetPlayerPos(playerid, 223.08, 78.45, 1005.04);
- SetPlayerFacingAngle(playerid, 90.00);
- }
- else if(IsPlayerInRangeOfPoint(playerid, 0.2, 221.36, 78.47, 1005.04))
- {
- SetPlayerPos(playerid, 221.21, 78.47, 1005.04);
- SetPlayerFacingAngle(playerid, 270.00);
- }
- ApplyAnimation(playerid,"HEIST9","Use_SwipeCard", 2.1, 0, 0, 0, 0, 0, 1);
- SetTimerEx("CSCRDoors", 600, false, "d", playerid);
- CSCR_DoorTimer = 1;
- }
- }
- public CSCRDoors(playerid)
- {
- if(IsPlayerConnected(playerid))
- {
- if(IsPlayerAdmin(playerid))
- {
- new PlayeridName[MAX_PLAYER_NAME],
- StrMsgLocking1[256],
- StrMsgLocking2[256],
- StrMsgUnlocking1[256],
- StrMsgUnlocking2[256];
- GetPlayerName(playerid, PlayeridName, sizeof(PlayeridName));
- format(StrMsgLocking1, sizeof(StrMsgLocking1), "* %s enters the 6-digit code, locking the first security door.", PlayeridName);
- format(StrMsgUnlocking1, sizeof(StrMsgUnlocking1), "* %s enters the 6-digit code, unlocking the first security door.", PlayeridName);
- format(StrMsgLocking2, sizeof(StrMsgLocking2), "* %s enters the 6-digit code, locking the second security door.", PlayeridName);
- format(StrMsgUnlocking2, sizeof(StrMsgUnlocking2), "* %s enters the 6-digit code, unlocking the second security door.", PlayeridName);
- if(IsPlayerInRangeOfPoint(playerid, 0.25, 226.94, 77.17, 1005.04) || IsPlayerInRangeOfPoint(playerid, 0.25, 225.35, 77.17, 1005.04))
- {
- if(CSCR_Door1Open == 0)
- {
- if(CSCR_Door2Open == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "You Read ''ERROR: Second Security Door Must Be Closed! (Security Reasons)'' Of The Machine.");
- PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
- CSCR_DoorTimer = 0;
- return 1;
- }
- MoveObject(CSCR_Door1[Obj1], 225.98766800,74.83477000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj1], 226.10955500,74.24663500,1005.11053500, 1.25);
- MoveObject(CSCR_Door1[Obj2], 226.26766700,76.81610100,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj2], 226.13242800,77.41355900,1005.11053500, 1.25);
- CSCR_Door1Open = 1;
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- SendClientMessageToAll(COLOR_LIGHTRED, StrMsgUnlocking1);
- CloseDoorTimer1 = SetTimer("CloseDoor1", 5000, false);
- }
- else if(CSCR_Door1Open == 1)
- {
- MoveObject(CSCR_Door1[Obj1], 225.98766800,75.83477000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj1], 226.10955500,75.24663500,1005.11053500, 1.20);
- MoveObject(CSCR_Door1[Obj2], 226.26766700,75.81610100,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj2], 226.13242800,76.41355900,1005.11053500, 1.20);
- CSCR_Door1Open = 0;
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- SendClientMessageToAll(COLOR_LIGHTRED, StrMsgLocking1);
- KillTimer(CloseDoorTimer1);
- }
- }
- if(IsPlayerInRangeOfPoint(playerid, 0.2, 222.93, 78.45, 1005.04) || IsPlayerInRangeOfPoint(playerid, 0.2, 221.36, 78.47, 1005.04))
- {
- if(CSCR_Door2Open == 0)
- {
- if(CSCR_Door1Open == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "You Read ''ERROR: First Security Door Must Be Closed! (Security Reasons)'' Of The Machine.");
- PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
- CSCR_DoorTimer = 0;
- return 1;
- }
- MoveObject(CSCR_Door1[Obj3], 222.18733200,78.83387000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj3], 222.33020000,77.24927500,1005.13555900, 1.25);
- MoveObject(CSCR_Door1[Obj4], 222.46356200,80.81382800,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj4], 222.35713200,81.40256500,1005.11053500, 1.25);
- CSCR_Door2Open = 1;
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- SendClientMessageToAll(COLOR_LIGHTRED, StrMsgUnlocking2);
- CloseDoorTimer2 = SetTimer("CloseDoor2", 5000, false);
- }
- else if(CSCR_Door2Open == 1)
- {
- MoveObject(CSCR_Door1[Obj3], 222.18733200,79.83387000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj3], 222.33020000,79.24927500,1005.13555900, 1.20);
- MoveObject(CSCR_Door1[Obj4], 222.46356200,79.81382800,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj4], 222.35713200,80.40256500,1005.11053500, 1.20);
- CSCR_Door2Open = 0;
- PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
- SendClientMessageToAll(COLOR_LIGHTRED, StrMsgLocking2);
- KillTimer(CloseDoorTimer2);
- }
- }
- CSCR_DoorTimer = 0;
- }
- }
- return 1;
- }
- public CloseDoor1()
- {
- if(CSCR_Door1Open == 1)
- {
- MoveObject(CSCR_Door1[Obj1], 225.98766800,75.83477000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj1], 226.10955500,75.24663500,1005.11053500, 1.20);
- MoveObject(CSCR_Door1[Obj2], 226.26766700,75.81610100,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj2], 226.13242800,76.41355900,1005.11053500, 1.20);
- CSCR_Door1Open = 0;
- }
- }
- public CloseDoor2()
- {
- if(CSCR_Door2Open == 1)
- {
- MoveObject(CSCR_Door1[Obj3], 222.18733200,79.83387000,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj3], 222.33020000,79.24927500,1005.13555900, 1.20);
- MoveObject(CSCR_Door1[Obj4], 222.46356200,79.81382800,1005.18896500, 1.20);
- MoveObject(CSCR_Door2[Obj4], 222.35713200,80.40256500,1005.11053500, 1.20);
- CSCR_Door2Open = 0;
- }
- }
- //------------------------------------------------------------------------//
- //|======| Press Button Function |======|
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys & (KEY_SECONDARY_ATTACK))
- {
- if(CSCR_DoorTimer == 0)
- {
- OpenDoorTimer(playerid);
- }
- }
- return 1;
- }
- //------------------------------------------------------------------------//
- //|======| Command |======|
- public OnPlayerText(playerid, text[])
- {
- new txt[256], idx;
- txt = strtok(text, idx);
- if(strcmp(txt, "next", true) == 0)
- {
- if(IsPlayerViewingCSCR[playerid] == 1)
- {
- if(ViewingCSCR[playerid] == 6)
- {
- ViewingCSCR[playerid] = 0;
- CSCRCameras(playerid);
- return 0;
- }
- ViewingCSCR[playerid] ++;
- CSCRCameras(playerid);
- return 0;
- }
- }
- if(strcmp(txt, "prev", true) == 0 || strcmp(txt, "previous", true) == 0 || strcmp(txt, "back", true) == 0 || strcmp(txt, "before", true) == 0)
- {
- if(IsPlayerViewingCSCR[playerid] == 1)
- {
- if(ViewingCSCR[playerid] == 0)
- {
- ViewingCSCR[playerid] = 6;
- CSCRCameras(playerid);
- return 0;
- }
- ViewingCSCR[playerid] --;
- CSCRCameras(playerid);
- return 0;
- }
- }
- if(strcmp(txt, "stop", true) == 0)
- {
- if(IsPlayerViewingCSCR[playerid] == 1)
- {
- TogglePlayerControllable(playerid, 1);
- SetPlayerPos(playerid, 215.97, 80.65, 1005.04);
- SetPlayerFacingAngle(playerid, 90);
- SetCameraBehindPlayer(playerid);
- IsPlayerViewingCSCR[playerid] = 0;
- return 0;
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/camera", true) == 0 || strcmp(cmd, "/cameras", true) == 0 || strcmp(cmd, "/viewcamera", true) == 0 || strcmp(cmd, "/viewcameras", true) == 0)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2.0, 215.97, 80.65, 1005.04))
- {
- if(IsPlayerViewingCSCR[playerid] == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "You Are Already Viewing The Cameras!");
- return 1;
- }
- SendClientMessage(playerid, COLOR_LIGHTRED, "You Are Now Viewing The Los Santos Security Cameras.");
- SendClientMessage(playerid, COLOR_LIGHTRED, "Type 'next' or 'back' To Switch From Cameras. Type 'stop' To Stop Viewing The Cameras.");
- IsPlayerViewingCSCR[playerid] = 1;
- ViewingCSCR[playerid] = 0;
- CSCRCameras(playerid);
- }
- return 1;
- }
- if(strcmp(cmd, "/cscrdoor", true) == 0)
- {
- OpenDoorTimer(playerid);
- return 1;
- }
- return 1;
- }
- //End of FilterScript
Advertisement
Add Comment
Please, Sign In to add comment