Advertisement
Guest User

Sistema de Câmera 2.0 ATUALIZADO

a guest
Apr 16th, 2011
336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 47.71 KB | None | 0 0
  1. /* CRIADO POR : Jonathan Feitosa               ============  |======    ========
  2.     NAO REMOVA OS CREDITOS                          |        |          |
  3.     CRIADO DO 0 SEM AJUDA !                         |        |          |======|
  4.     PERMIÇÃO PARA POSTAR ADD :                      |        |======           |
  5.     john_feat@hotmail.com                           |        |                 |
  6.     Qualquer BUG/DICA/DÚVIDAS ADD O MSN !           |        |                 |
  7.                                              _______|        |          =======|
  8. Créditos : Sandra
  9.            Piter Mentos
  10. ===============================================================================*/
  11.  
  12. #include <a_samp>
  13. #define COLOR_WHITE 0xFFFFFFAA
  14. #define CSEGURANCA 9234
  15. //==============================================================================
  16. #define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
  17. #define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
  18. #define SPEED_ROTATE_UPDOWN_SLOW 0.05
  19. #define SPEED_ROTATE_UPDOWN_FAST 0.15
  20. #define SPEED_MOVE_UPDOWN_SLOW 0.25
  21. #define SPEED_MOVE_UPDOWN_FAST 1.0
  22. #define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
  23. #define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
  24. #define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
  25. #define SPEED_MOVE_LEFTRIGHT_FAST 2.0
  26. new Float:PCP[MAX_PLAYERS][3], Float:PCL[MAX_PLAYERS][3], Float:PCA[MAX_PLAYERS], KeyTimer[MAX_PLAYERS], KeyState[MAX_PLAYERS];
  27. // =============================================================================
  28. new JFS, Camera[MAX_PLAYERS];
  29. #if defined FILTERSCRIPT
  30. #else
  31. #endif
  32.  
  33. public OnFilterScriptInit()
  34. {
  35.     Create3DTextLabel("Centro de\nSegurança", 0xF68E00F6, 1412.0292,-1700.4216,13.5395,60.0,0); // ENTRADA Câmera
  36.     Create3DTextLabel("Use /camera", 0xF68E00F6, 542.6953,-897.9803,1304.7952,60.0,0);
  37.     Create3DTextLabel("Painel", 0xF68E00F6, 1416.9581,-1691.9558,13.5469,60.0,0);
  38.     AddStaticPickup(1239, 23, 1416.9581,-1691.9558,13.5469); // painel
  39.     AddStaticPickup(1318, 23, 542.6953,-897.9803,1304.7952); // Câmera
  40.     AddStaticPickup(1318, 23, 538.6310,-891.6687,1304.2013); // Câmera Saida Seta
  41.     AddStaticPickup(1318, 1, 1412.0292,-1700.4216,13.5395); // Câmera Entrada Seta < */
  42.     CreateObject(16150,541.76556396,-886.17199707,1303.20129395,0.00000000,0.00000000,0.00000000); //object(ufo_barinterior) (1)
  43.     CreateObject(2093,538.45800781,-881.89099121,1303.20910645,0.00000000,0.00000000,0.00000000); //object(tv_ward_low) (1)
  44.     CreateObject(1828,542.19512939,-885.76055908,1303.20910645,0.00000000,0.00000000,0.25000000); //object(man_sdr_rug) (1)
  45.     CreateObject(1808,545.90661621,-885.06701660,1303.20910645,0.00000000,0.00000000,0.00000000); //object(cj_watercooler2) (1)
  46.     CreateObject(1782,538.64447021,-881.00097656,1304.53125000,0.00000000,0.00000000,46.00000000); //object(med_video_2) (1)
  47.     CreateObject(1518,545.11285400,-899.40350342,1305.91040039,0.00000000,0.00000000,180.00000000); //object(dyn_tv_2) (1)
  48.     CreateObject(1518,545.10742188,-899.40356445,1305.34631348,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (2)
  49.     CreateObject(1518,545.12335205,-899.40350342,1304.80615234,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (3)
  50.     CreateObject(1518,544.51165771,-899.40600586,1304.81445312,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (4)
  51.     CreateObject(1518,543.87957764,-899.40863037,1304.80163574,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (5)
  52.     CreateObject(1518,544.50030518,-899.40606689,1305.34936523,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (6)
  53.     CreateObject(1518,544.49261475,-899.40612793,1305.91467285,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (7)
  54.     CreateObject(1518,543.86474609,-899.40869141,1305.89624023,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (8)
  55.     CreateObject(1518,543.87677002,-899.40863037,1305.39355469,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (9)
  56.     CreateObject(1518,543.25714111,-899.41125488,1305.37646484,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (10)
  57.     CreateObject(1518,542.68493652,-899.41357422,1305.36877441,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (11)
  58.     CreateObject(1518,543.23846436,-899.41131592,1304.81054688,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (12)
  59.     CreateObject(1518,542.64154053,-899.41375732,1304.81884766,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (13)
  60.     CreateObject(1518,543.27471924,-899.41113281,1305.89794922,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (14)
  61.     CreateObject(1518,542.67034912,-899.41363525,1305.90209961,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (15)
  62.     CreateObject(1518,542.05541992,-899.41619873,1305.90039062,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (16)
  63.     CreateObject(1518,542.04455566,-899.41625977,1305.40185547,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (17)
  64.     CreateObject(1518,542.03594971,-899.41632080,1304.83764648,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (18)
  65.     CreateObject(1518,541.41210938,-899.41888428,1304.83605957,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (19)
  66.     CreateObject(1518,541.43322754,-899.41882324,1305.38500977,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (20)
  67.     CreateObject(1518,541.42791748,-899.41882324,1305.90441895,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (21)
  68.     CreateObject(1518,545.08819580,-899.40362549,1304.27722168,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (22)
  69.     CreateObject(1518,544.47937012,-899.40612793,1304.27648926,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (23)
  70.     CreateObject(1518,543.86425781,-899.40869141,1304.27001953,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (24)
  71.     CreateObject(1518,543.25720215,-899.41125488,1304.26696777,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (25)
  72.     CreateObject(1518,542.64837646,-899.41375732,1304.26843262,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (26)
  73.     CreateObject(1518,542.02648926,-899.41632080,1304.26843262,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (27)
  74.     CreateObject(1518,541.41204834,-899.41888428,1304.27294922,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (28)
  75.     CreateObject(2614,539.37841797,-899.36022949,1304.56909180,0.00000000,0.00000000,182.00000000); //object(cj_us_flag) (1)
  76.     CreateObject(1504,537.86712646,-890.91735840,1303.24243164,0.00000000,0.00000000,270.00000000); //object(gen_doorext06) (1)
  77.     CreateObject(16378,543.15722656,-896.06896973,1304.55700684,0.00000000,0.00000000,0.00000000); //object(des_byofficeint) (1)
  78.     CreateObject(1713,540.27014160,-881.14288330,1303.20910645,0.00000000,0.00000000,0.00000000); //object(kb_couch04) (1)
  79.     CreateObject(1713,538.62426758,-885.77636719,1303.20910645,0.00000000,0.00000000,90.00000000); //object(kb_couch04) (2)
  80.     CreateObject(2266,540.63299561,-880.85498047,1304.20068359,0.00000000,0.00000000,0.00000000); //object(frame_wood_5) (1)
  81.     CreateObject(11631,538.73754883,-896.50872803,1305.04101562,0.00000000,0.00000000,90.00000000); //object(ranch_desk) (1)
  82.     CreateObject(2605,549.20416260,-886.17803955,1303.60754395,0.00000000,0.00000000,338.75000000); //object(polce_desk1) (1)
  83.     CreateObject(2356,544.85723877,-881.74523926,1303.20910645,0.00000000,0.00000000,0.00000000); //object(police_off_chair) (1)
  84.     CreateObject(2356,539.77880859,-888.54437256,1303.20910645,0.00000000,0.00000000,97.00000000); //object(police_off_chair) (2)
  85.     CreateObject(2308,547.16613770,-891.12371826,1303.20910645,0.00000000,0.00000000,182.00000000); //object(med_office4_desk_4) (1)
  86.     CreateObject(2356,546.36993408,-891.36706543,1303.20910645,0.00000000,0.00000000,180.00000000); //object(police_off_chair) (3)
  87.     CreateObject(2198,538.62817383,-889.17987061,1303.20910645,0.00000000,0.00000000,84.00000000); //object(med_office2_desk_3) (1)
  88.     CreateObject(2356,538.94561768,-898.05426025,1303.79516602,0.00000000,0.00000000,187.99450684); //object(police_off_chair) (4)
  89.     CreateObject(2165,539.57958984,-898.87554932,1303.79516602,0.00000000,0.00000000,182.00000000); //object(med_office_desk_1) (1)
  90.     CreateObject(1998,544.02142334,-881.78778076,1303.20910645,0.00000000,0.00000000,0.75000000); //object(officedesk1l) (1)
  91.     CreateObject(2356,549.03320312,-887.15429688,1303.20910645,0.00000000,0.00000000,0.00000000); //object(police_off_chair) (5)
  92.     return CreateObject(2356,539.64062500,-896.23046875,1303.79516602,0.00000000,0.00000000,72.74597168); //object(police_off_chair) (6)
  93. }
  94.  
  95. public OnPlayerConnect(playerid)
  96. {
  97.     KeyState[playerid] = 0; return Camera[playerid] = 0;
  98. }
  99.  
  100. public OnPlayerCommandText(playerid, cmdtext[])
  101. {
  102.        if (strcmp("/camerasolta", cmdtext, true, 11) == 0)
  103.        {
  104.        if(!IsPlayerInRangeOfPoint(playerid, 1,1416.9581,-1691.9558,13.5469)) return SendClientMessage(playerid,0xFF0000AA," Voce Não Está no Local !!");
  105.        return ShowPlayerDialog(playerid, 3212, DIALOG_STYLE_MSGBOX," Painel - Câmera Solta"," Essa Câmera Solta é Especial.\n Você Leva a Câmera Para Onde Quiser\n Aperte 'Voar' Para Ir.","Voar","Cancelar");
  106.        }
  107. //==============================================================================
  108.        if (strcmp("/desligarc", cmdtext, true, 10) == 0)
  109.        {
  110.        TogglePlayerControllable(playerid, 1);
  111.        SetCameraBehindPlayer(playerid);
  112.        KillTimer(KeyTimer[playerid]);
  113.        }
  114. //==============================================================================
  115.        if (strcmp("/ircamera", cmdtext, true, 10) == 0)
  116.        {
  117.         SetPlayerPos(playerid,542.6953,-897.9803,1304.7952);
  118.         return SetPlayerInterior(playerid, 0);
  119.        }
  120. // =============================================================================
  121.        if (strcmp("/camera", cmdtext, true, 10) == 0)
  122.        {
  123.         if(!IsPlayerInRangeOfPoint(playerid, 1, 542.6953,-897.9803,1304.7952)) return SendClientMessage(playerid, COLOR_WHITE, "Você Não Está no Centro de Segurança!");
  124.  
  125.         new JFS1[110]; JFS++;
  126.         format(JFS1, sizeof(JFS1), "O {FF6347}Sistema de Câmera {AA3333}Tem{33CCFF} %d Visitas {AA3333}Desde Quando o Serve Foi Ligado!",JFS);
  127.         SendClientMessage(playerid,0xAA3333AA, JFS1);
  128.        
  129.         Camera[playerid] = 1;
  130.         return ShowPlayerDialog(playerid, CSEGURANCA, DIALOG_STYLE_LIST, "{0000FF}- Câmeras - Criado Por : Jonathan_Feitosa  - ", "{0000FF}Lugares Importantes\n{00F8FF}Ruas Importantes\n{DD30B4}Baladas\n{FFFF00}Interiores\n{FF0000}Pedágios\n{7A00FF}Desligar Camera", "Selecionar", "Sair");
  131.        }
  132. // =============================================================================
  133.        if (strcmp("/entrarceradeseguranca", cmdtext, true, 10) == 0)
  134.        {
  135.        if(IsPlayerInRangeOfPoint(playerid, 1,1412.0292,-1700.4216,13.5395)){
  136.        GameTextForPlayer(playerid, "~n~~n~~n~r~Seguranca ~b~Maxima", 4000, 5);
  137.        SetPlayerInterior(playerid, 0);
  138.        SetPlayerPos(playerid,538.6310,-891.6687,1304.2013);}
  139.        
  140.        if(IsPlayerInRangeOfPoint(playerid, 1,538.6310,-891.6687,1304.2013)){
  141.        SetPlayerInterior(playerid, 0);
  142.        return SetPlayerPos(playerid,1413.3787,-1702.2257,13.5396); }}
  143. // =============================================================================
  144.        if (strcmp("/desligarcamera", cmdtext, true, 10) == 0)
  145.        {
  146.        if(Camera[playerid] == 1){
  147.        Camera[playerid] = 0;
  148.        } else return SendClientMessage(playerid, COLOR_WHITE, " Você Não Está Usando a Camera! :C");
  149.        SetCameraBehindPlayer(playerid);
  150.        SetPlayerInterior(playerid,0);
  151.        TogglePlayerControllable(playerid, 1);
  152.        return SetPlayerPos(playerid, 542.6953,-897.9803,1304.7952);
  153.        }
  154. // =============================================================================
  155.        return 0;
  156. }
  157. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  158. {
  159.    if(dialogid == 3212)
  160.    {
  161.    if(response == 1)
  162.    {
  163.     SetPlayerInterior(playerid,0);
  164.     SendClientMessage(playerid, COLOR_WHITE, "Para Desligar a {2641FE}Câmera Solta {FFFFFF}Use {2641FE}/desligarc");
  165.     TogglePlayerControllable(playerid, 0);
  166.     GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  167.     GetPlayerFacingAngle(playerid, PCA[playerid]);
  168.     if(IsPlayerInAnyVehicle(playerid)){
  169.     GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);}
  170.     PCL[playerid][0] = PCP[playerid][0];
  171.     PCL[playerid][1] = PCP[playerid][1];
  172.     PCL[playerid][2] = PCP[playerid][2];
  173.     PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
  174.     PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
  175.     PCP[playerid][2] = PCP[playerid][2]+2.0;
  176.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  177.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  178.     KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 70, 1, "i", playerid);
  179.     }
  180.     }
  181. // ============ Cameras de Seguranças  By: Jonathan Feitosa =========================
  182.    if(dialogid == CSEGURANCA)
  183.    {
  184.         if(response)
  185.         {// 22
  186.             if(listitem == 0)
  187.             {
  188.             ShowPlayerDialog(playerid, CSEGURANCA+1, DIALOG_STYLE_LIST, "{0000FF}Cameras - Lugares Importantes -", "{00F8FF}Departamento de Policia\n{FF6347}24-7\n{33CCFF}Loja de Armas\n{9ACD32}Hospital\n{FF0000}Banco", "Espionar", "Sair");
  189.             }
  190.             if(listitem == 1) //Camera 2
  191.             {
  192.             ShowPlayerDialog(playerid, CSEGURANCA+2, DIALOG_STYLE_LIST, "{0000FF}Cameras - Ruas Importantes", "{00F8FF}Bairro Centro de Los Santos\n{FF6347}Bairro Pequeno Mexico\n{33CCFF}Bairro Idlewood\n{9ACD32}Bairro Downtown Los Santos\n{FF0000}Bairro Morro\n{2641FE}Bairro Parque Gleen\n{00F600}Praia Santa Maria\n{FF0000}Rua Estação", "Espionar", "Cancelar");
  193.             }
  194.             if(listitem == 2) //Camera 2
  195.             {
  196.             ShowPlayerDialog(playerid, CSEGURANCA+10, DIALOG_STYLE_LIST, "{0000FF}Cameras - Baladas", "{00F8FF}Alhamba\n{FF6347}Pig Pen", "Espionar", "Cancelar");
  197.             }
  198.             if(listitem == 3) //Interiores
  199.             {
  200.             ShowPlayerDialog(playerid, CSEGURANCA+11, DIALOG_STYLE_LIST, "{0000FF}Cameras - Interiores", "{00F8FF}Departamento de Policia\n{FF6347}Prefeitura\n{33CCFF}Banco\n{9ACD32}Loja De Armas\n{FF0000}24-7", "Espionar", "Cancelar");
  201.             }
  202.             if(listitem == 4) //Pedágios
  203.             {
  204.             ShowPlayerDialog(playerid, CSEGURANCA+12, DIALOG_STYLE_LIST, "{0000FF}Cameras - Pedágios", "{FF6347}Los Santos - San Fierro\n{00F8FF}San Fierro - Las Venturas\n{33CCFF}Las Venturas - Los Santos", "Espionar", "Cancelar");
  205.             }
  206.             if(listitem == 5) //Camera Sair
  207.             {
  208.             TogglePlayerControllable(playerid,1);
  209.             SetPlayerPos(playerid, 542.6953,-897.9803,1304.7952);
  210.             SetPlayerInterior(playerid, 0);
  211.           }
  212.         }
  213.       }
  214. // =============================================================================
  215.    if(dialogid == CSEGURANCA+1)
  216.    {
  217.         if(response) // Lugares Importantes !
  218.         {
  219.             if(listitem == 0) // Departamento de Policia - JFS OWNA !
  220.             {
  221.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  222.                 SetPlayerCameraPos(playerid, 1540.8064,-1646.7190,21.9511);
  223.                 SetPlayerCameraLookAt(playerid, 1537.5170,-1650.7240,20.1858);
  224.                 SetPlayerPos(playerid, 1540.8064,-1646.7190,-100);
  225.                 TogglePlayerControllable(playerid,0);
  226.                 SetPlayerInterior(playerid,0);
  227.             }
  228.             if(listitem == 1) // 24-7
  229.             {
  230.                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  231.                SetPlayerCameraPos(playerid, 1365.2867,-1748.6545,22.7734);
  232.                SetPlayerCameraLookAt(playerid, 1363.8175,-1748.6436,22.3906);
  233.                SetPlayerPos(playerid, 1365.2867,-1748.6545,-100);
  234.                TogglePlayerControllable(playerid,0);
  235.                SetPlayerInterior(playerid,0);
  236.             }
  237.             if(listitem == 2) // Loja de Arma
  238.             {
  239.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  240.                 SetPlayerCameraPos(playerid, 1756.4012,-1172.3580,23.8281);
  241.                 SetPlayerCameraLookAt(playerid, 1758.6932,-1172.0590,23.8281);
  242.                 SetPlayerPos(playerid, 1756.4012,-1172.3580,-100);
  243.                 TogglePlayerControllable(playerid,0);
  244.                 SetPlayerInterior(playerid,0);
  245.             }
  246.             if(listitem == 3) // Hospital
  247.             {
  248.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  249.                 SetPlayerCameraPos(playerid, 1179.7465,-1353.2474,19.4560);
  250.                 SetPlayerCameraLookAt(playerid, 1181.5865,-1351.5922,19.4502);
  251.                 SetPlayerPos(playerid, 1179.7465,-1353.2474,-100);
  252.                 TogglePlayerControllable(playerid,0);
  253.                 SetPlayerInterior(playerid,0);
  254.             }
  255.             if(listitem == 4) // Banco
  256.             {
  257.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  258.                 SetPlayerCameraPos(playerid, 1419.8663,-1045.7428,27.3906);
  259.                 SetPlayerCameraLookAt(playerid, 1422.1774,-1044.4663,27.3906);
  260.                 SetPlayerPos(playerid, 1419.8663,-1045.7428,-100);
  261.                 TogglePlayerControllable(playerid,0);
  262.                 SetPlayerInterior(playerid,0);
  263.             }
  264.       }
  265.     }
  266. // =============================================================================
  267.    if(dialogid == CSEGURANCA+2)
  268.    {
  269.         if(response) // RUAS/BAIRROS
  270.         {
  271.             if(listitem == 0) // Bairro CENTRO
  272.             {
  273.                ShowPlayerDialog(playerid, CSEGURANCA+3, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Centro de Los Santos", "{FFFF00}Rua Centro 1\n{00F600}Rua Centro 2", "Selecionar", "Cancelar");
  274.             }
  275.             if(listitem == 1) // bAIRRO Pequeno Mexico
  276.             {
  277.                ShowPlayerDialog(playerid, CSEGURANCA+4, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Pequeno Mexico", "{FFFF00}Rua Mexico 1\n{00F600}Rua Mexico 2", "Selecionar", "Cancelar");
  278.             }
  279.             if(listitem == 2) // Bairro Idlewood
  280.             {
  281.             ShowPlayerDialog(playerid, CSEGURANCA+5, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Idlewood", "{FFFF00}Rua Idlewood 1\n{00F600}Rua Idlewood 2\n{7491F6}Rua Idlewood 3\n{2641FE}Rua Idlewood 4\n{00D63D}Rua Idlewood 5", "Selecionar", "Cancelar");
  282.             }
  283.             if(listitem == 3) // Bairro Downtown Los Santos
  284.             {
  285.             ShowPlayerDialog(playerid, CSEGURANCA+6, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Downtown Los Santos", "{FFFF00}Rua Downtown 1\n{00F600}Rua Downtown 2\n{7491F6}Rua Downtown 3", "Selecionar", "Cancelar");
  286.             }
  287.             if(listitem == 4) // Bairro Morro
  288.             {
  289.             ShowPlayerDialog(playerid, CSEGURANCA+7, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Morro", "{FFFF00}Rua Morro 1\n{00F600}Rua Morro 2\n{7491F6}Rua Morro 3\nRua Morro 4", "Selecionar", "Cancelar");
  290.             }
  291.             if(listitem == 5) // Parque Glee
  292.             {
  293.             ShowPlayerDialog(playerid, CSEGURANCA+8, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Parque Gleen", "{FFFF00}Rua Parque Green 1\n{00F600}Rua Parque Green 2\n{7491F6}Rua Parque Green 3", "Selecionar", "Cancelar");
  294.             }
  295.             if(listitem == 6) // Praia Santa Maria
  296.             {
  297.             ShowPlayerDialog(playerid, CSEGURANCA+9, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Praia Santa Maria", "{FFFF00}Praia Santa Maria 1\n{00F600}Praia Santa Maria 2\n{7491F6}Praia Santa Maria 3", "Selecionar", "Cancelar");
  298.             }
  299.             if(listitem == 7) // Rua Estacão
  300.             {
  301.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  302.                 SetPlayerCameraPos(playerid, 1938.3961,-1933.5433,13.3828);
  303.                 SetPlayerCameraLookAt(playerid, 934.4586,-1934.7949,13.3828);
  304.                 SetPlayerPos(playerid, 1938.3961,-1933.5433,-100);
  305.                 TogglePlayerControllable(playerid,0);
  306.                 SetPlayerInterior(playerid,0);
  307.             }
  308.       }
  309.     }
  310. // ====================================================================================
  311.    if(dialogid == CSEGURANCA+3) // Bairro Centro de Los Santos
  312.    {
  313.         if(response)
  314.         {
  315.             if(listitem == 0) // 1
  316.             {
  317.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  318.                 SetPlayerCameraPos(playerid, 1671.9045,-1740.2220,13.5465);
  319.                 SetPlayerCameraLookAt(playerid, 1665.6132,-1739.1383,13.5450);
  320.                 SetPlayerPos(playerid, 1671.9045,-1740.2220,-100);
  321.                 TogglePlayerControllable(playerid,0);
  322.                 SetPlayerInterior(playerid,0);
  323.             }
  324.             if(listitem == 1) // 2
  325.             {
  326.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  327.                 SetPlayerCameraPos(playerid, 1744.9170,-1590.0386,13.5397);
  328.                 SetPlayerCameraLookAt(playerid, 1742.4379,-1590.1549,13.5423);
  329.                 SetPlayerPos(playerid, 1744.9170,-1590.0386,-100);
  330.                 TogglePlayerControllable(playerid,0);
  331.                 SetPlayerInterior(playerid,0);
  332.         }
  333.       }
  334.     }
  335. // =============================================================================
  336.    if(dialogid == CSEGURANCA+4) // Bairro Pequeno Mexico
  337.    {
  338.         if(response)
  339.         {
  340.             if(listitem == 0) // 1
  341.             {
  342.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  343.                 SetPlayerCameraPos(playerid, 1727.5045,-1738.7094,13.5469);
  344.                 SetPlayerCameraLookAt(playerid, 1729.3236,-1737.5027,13.5469);
  345.                 SetPlayerPos(playerid, 1727.5045,-1738.7094,-100);
  346.                 TogglePlayerControllable(playerid,0);
  347.                 SetPlayerInterior(playerid,0);
  348.             }
  349.             if(listitem == 1) // 2
  350.             {
  351.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  352.                 SetPlayerCameraPos(playerid, 1805.2159,-1839.0151,13.5781);
  353.                 SetPlayerCameraLookAt(playerid, 1798.6588,-1837.9792,13.5781);
  354.                 SetPlayerPos(playerid, 1805.2159,-1839.0151,-100);
  355.                 TogglePlayerControllable(playerid,0);
  356.                 SetPlayerInterior(playerid,0);
  357.         }
  358.       }
  359.     }
  360. // =============================================================================
  361.    if(dialogid == CSEGURANCA+5) // Bairro idlwood
  362.    {
  363.         if(response)
  364.         {
  365.             if(listitem == 0) // 1
  366.             {
  367.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  368.                 SetPlayerCameraPos(playerid, 1820.5284,-1605.0304,13.3766);
  369.                 SetPlayerCameraLookAt(playerid, 1821.2069,-1601.5466,13.3609);
  370.                 SetPlayerPos(playerid, 1820.5284,-1605.0304,-100);
  371.                 TogglePlayerControllable(playerid,0);
  372.                 SetPlayerInterior(playerid,0);
  373.             }
  374.             if(listitem == 1) // 2
  375.             {
  376.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  377.                 SetPlayerCameraPos(playerid, 1821.2452,-1848.9436,13.4141);
  378.                 SetPlayerCameraLookAt(playerid, 1820.7043,-1846.1687,13.4141);
  379.                 SetPlayerPos(playerid, 1821.2452,-1848.9436,-100);
  380.                 TogglePlayerControllable(playerid,0);
  381.                 SetPlayerInterior(playerid,0);
  382.             }
  383.             if(listitem == 2) // 3
  384.             {
  385.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  386.                 SetPlayerCameraPos(playerid, 1930.7804,-1764.3730,13.5391);
  387.                 SetPlayerCameraLookAt(playerid, 933.9102,-1763.2849,13.5469);
  388.                 SetPlayerPos(playerid, 1930.7804,-1764.3730,-100);
  389.                 TogglePlayerControllable(playerid,0);
  390.                 SetPlayerInterior(playerid,0);
  391.             }
  392.             if(listitem == 3) // 4
  393.             {
  394.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  395.                 SetPlayerCameraPos(playerid, 1862.5474,-1480.7346,13.3200);
  396.                 SetPlayerCameraLookAt(playerid, 1865.3745,-1481.5613,12.3825);
  397.                 SetPlayerPos(playerid, 1862.5474,-1480.7346,-100);
  398.                 TogglePlayerControllable(playerid,0);
  399.                 SetPlayerInterior(playerid,0);
  400.             }
  401.             if(listitem == 4) // 5
  402.             {
  403.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  404.                 SetPlayerCameraPos(playerid, 1805.2159,-1839.0151,13.5781);
  405.                 SetPlayerCameraLookAt(playerid, 1798.6588,-1837.9792,13.5781);
  406.                 SetPlayerPos(playerid, 1805.2159,-1839.0151,-100);
  407.                 TogglePlayerControllable(playerid,0);
  408.                 SetPlayerInterior(playerid,0);
  409.         }
  410.       }
  411.     }
  412. // =============================================================================
  413.    if(dialogid == CSEGURANCA+8) // Bairro Parque Gleen
  414.    {
  415.         if(response)
  416.         {
  417.             if(listitem == 0) // 1
  418.             {
  419.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  420.                 SetPlayerCameraPos(playerid, 1855.3892,-1268.3625,13.3906);
  421.                 SetPlayerCameraLookAt(playerid, 1855.1689,-1271.5760,13.3934);
  422.                 SetPlayerPos(playerid, 1855.3892,-1268.3625,-100);
  423.                 TogglePlayerControllable(playerid,0);
  424.                 SetPlayerInterior(playerid,0);
  425.             }
  426.             if(listitem == 1) // 2
  427.             {
  428.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  429.                 SetPlayerCameraPos(playerid, 1874.3866,-1135.7489,23.7344);
  430.                 SetPlayerCameraLookAt(playerid, 1878.0491,-1135.7958,23.7632);
  431.                 SetPlayerPos(playerid, 1874.3866,-1135.7489,-100);
  432.                 TogglePlayerControllable(playerid,0);
  433.                 SetPlayerInterior(playerid,0);
  434.             }
  435.             if(listitem == 2) // 3
  436.             {
  437.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  438.                 SetPlayerCameraPos(playerid, 1842.3285,-1188.6066,23.6503);
  439.                 SetPlayerCameraLookAt(playerid, 1838.7637,-1187.7839,23.8281);
  440.                 SetPlayerPos(playerid, 1842.3285,-1188.6066,-100);
  441.                 TogglePlayerControllable(playerid,0);
  442.                 SetPlayerInterior(playerid,0);
  443.         }
  444.       }
  445.     }
  446. // =============================================================================
  447.    if(dialogid == CSEGURANCA+6) // Bairro Downtown Los Santos
  448.    {
  449.         if(response)
  450.         {
  451.             if(listitem == 0) // 1
  452.             {
  453.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  454.                 SetPlayerCameraPos(playerid, 1581.3748,-1168.5712,24.0781);
  455.                 SetPlayerCameraLookAt(playerid, 1580.9467,-1166.5466,24.0781);
  456.                 SetPlayerPos(playerid, 1581.3748,-1168.5712,-100);
  457.                 TogglePlayerControllable(playerid,0);
  458.                 SetPlayerInterior(playerid,0);
  459.             }
  460.             if(listitem == 1) // 2
  461.             {
  462.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  463.                 SetPlayerCameraPos(playerid, 1376.6577,-1148.2861,23.8430);
  464.                 SetPlayerCameraLookAt(playerid, 1372.6255,-1148.2712,23.8430);
  465.                 SetPlayerPos(playerid, 1376.6577,-1148.2861,-100);
  466.                 TogglePlayerControllable(playerid,0);
  467.                 SetPlayerInterior(playerid,0);
  468.             }
  469.             if(listitem == 2) // 3
  470.             {
  471.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  472.                 SetPlayerCameraPos(playerid, 1453.2278,-952.8773,36.1234);
  473.                 SetPlayerCameraLookAt(playerid, 1458.9070,-953.4402,36.1235);
  474.                 SetPlayerPos(playerid, 1453.2278,-952.8773,-100);
  475.                 TogglePlayerControllable(playerid,0);
  476.                 SetPlayerInterior(playerid,0);
  477.         }
  478.       }
  479.     }
  480. // =============================================================================
  481.    if(dialogid == CSEGURANCA+7) // Bairro Morro
  482.    {
  483.         if(response)
  484.         {
  485.             if(listitem == 0) // 1
  486.             {
  487.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  488.                 SetPlayerCameraPos(playerid, 1943.0764,-980.5031,48.1086);
  489.                 SetPlayerCameraLookAt(playerid, 1947.7219,-980.4798,47.6856);
  490.                 SetPlayerPos(playerid, 1943.0764,-980.5031,-100);
  491.                 TogglePlayerControllable(playerid,0);
  492.                 SetPlayerInterior(playerid,0);
  493.             }
  494.             if(listitem == 1) // 2
  495.             {
  496.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  497.                 SetPlayerCameraPos(playerid, 2147.2004,-949.5068,72.7676);
  498.                 SetPlayerCameraLookAt(playerid, 2147.6794,-953.7840,72.1721);
  499.                 SetPlayerPos(playerid, 2147.2004,-949.5068,-100);
  500.                 TogglePlayerControllable(playerid,0);
  501.                 SetPlayerInterior(playerid,0);
  502.             }
  503.             if(listitem == 2) // 3
  504.             {
  505.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  506.                 SetPlayerCameraPos(playerid, 2449.0688,-895.5662,100.0895);
  507.                 SetPlayerCameraLookAt(playerid, 2453.9451,-900.0700,98.8847);
  508.                 SetPlayerPos(playerid, 2449.0688,-895.5662,-100);
  509.                 TogglePlayerControllable(playerid,0);
  510.                 SetPlayerInterior(playerid,0);
  511.             }
  512.             if(listitem == 3) // 4
  513.             {
  514.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  515.                 SetPlayerCameraPos(playerid, 2637.8315,-1005.6577,87.1044);
  516.                 SetPlayerCameraLookAt(playerid, 2635.7688,-1003.9021,87.1044);
  517.                 SetPlayerPos(playerid, 2637.8315,-1005.6577,-100);
  518.                 TogglePlayerControllable(playerid,0);
  519.                 SetPlayerInterior(playerid,0);
  520.             }
  521.           }
  522.         }
  523. //==============================================================================
  524. // Praia Santa Maria
  525.    if(dialogid == CSEGURANCA+9)
  526.    {
  527.         if(response)
  528.         {
  529.             if(listitem == 0) // 1
  530.             {
  531.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  532.                 SetPlayerCameraPos(playerid, 985.5192,-1854.5796,12.7954);
  533.                 SetPlayerCameraLookAt(playerid, 977.3477,-1854.4637,12.4131);
  534.                 SetPlayerPos(playerid, 985.5192,-1854.5796,-100);
  535.                 TogglePlayerControllable(playerid,0);
  536.                 SetPlayerInterior(playerid,0);
  537.             }
  538.             if(listitem == 1) // 2
  539.             {
  540.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  541.                 SetPlayerCameraPos(playerid, 836.1051,-1813.0375,12.4749);
  542.                 SetPlayerCameraLookAt(playerid, 836.4820,-1821.4585,12.2220);
  543.                 SetPlayerPos(playerid, 836.1051,-1813.0375,-100);
  544.                 TogglePlayerControllable(playerid,0);
  545.                 SetPlayerInterior(playerid,0);
  546.             }
  547.             if(listitem == 2) // 3
  548.             {
  549.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  550.                 SetPlayerCameraPos(playerid, 795.8688,-1819.4578,13.0234);
  551.                 SetPlayerCameraLookAt(playerid, 795.9167,-1823.6200,13.0234);
  552.                 SetPlayerPos(playerid, 795.8688,-1819.4578,-100);
  553.                 TogglePlayerControllable(playerid,0);
  554.                 SetPlayerInterior(playerid,0);
  555.             }
  556.           }
  557.         }
  558. //==============================================================================
  559. // Interiores
  560.    if(dialogid == CSEGURANCA+11)
  561.    {
  562.         if(response)
  563.         {
  564.             if(listitem == 0)// DP
  565.             {
  566.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  567.                 SetPlayerCameraPos(playerid, 242.9483,62.8970,1003.6406);
  568.                 SetPlayerCameraLookAt(playerid, 244.3916,63.9717,1003.6406);
  569.                 SetPlayerPos(playerid, 242.9483,62.8970,-100);
  570.                 TogglePlayerControllable(playerid,0);
  571.                 SetPlayerInterior(playerid, 6);
  572.             }
  573.             if(listitem == 1) //PREFEITURA
  574.             {
  575.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  576.                 SetPlayerCameraPos(playerid, 358.6505,188.1288,1008.3828);
  577.                 SetPlayerCameraLookAt(playerid, 361.6689,183.9034,1008.3828);
  578.                 SetPlayerPos(playerid, 358.6505,188.1288,-100);
  579.                 TogglePlayerControllable(playerid,0);
  580.                 SetPlayerInterior(playerid, 3);
  581.             }
  582.             if(listitem == 2) //BANCO
  583.             {
  584.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  585.                 SetPlayerCameraPos(playerid, 2316.6167,-0.2021,26.7422);
  586.                 SetPlayerCameraLookAt(playerid, 2314.6118,-4.0467,26.7422);
  587.                 SetPlayerPos(playerid, 2316.6167,-0.2021,-100);
  588.                 TogglePlayerControllable(playerid,0);
  589.                 SetPlayerInterior(playerid, 0);
  590.             }
  591.             if(listitem == 3) //LOJA DE ARMAS
  592.             {
  593.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  594.                 SetPlayerCameraPos(playerid, 2169.2224,1627.6809,999.9674);
  595.                 SetPlayerCameraLookAt(playerid, 2170.7542,1625.0159,999.9720);
  596.                 SetPlayerPos(playerid,  2169.2224,1627.6809,-100);
  597.                 TogglePlayerControllable(playerid,0);
  598.                 SetPlayerInterior(playerid, 1);
  599.             }
  600.             if(listitem == 4) //24-7
  601.             {
  602.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  603.                 SetPlayerCameraPos(playerid, -18.2992,-57.0826,1003.5469);
  604.                 SetPlayerCameraLookAt(playerid, -20.6372,-56.1016,1003.5469);
  605.                 SetPlayerPos(playerid, -18.2992,-57.0826,-100);
  606.                 TogglePlayerControllable(playerid,0);
  607.                 SetPlayerInterior(playerid, 6);
  608.             }
  609.           }
  610.         }
  611. //==============================================================================
  612. // Baladas
  613.    if(dialogid == CSEGURANCA+10)
  614.    {
  615.         if(response)
  616.         {
  617.             if(listitem == 0)// Alhamba
  618.             {
  619.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  620.                 SetPlayerCameraPos(playerid, 499.5854,-23.9717,1000.6797);
  621.                 SetPlayerCameraLookAt(playerid, 495.9297,-20.8388,1000.6719);
  622.                 SetPlayerPos(playerid, 499.5854,-23.9717,-100);
  623.                 TogglePlayerControllable(playerid,0);
  624.                 SetPlayerInterior(playerid, 17);
  625.             }
  626.             if(listitem == 1) //Pig Pen
  627.             {
  628.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  629.                 SetPlayerCameraPos(playerid, 1218.7828,8.4408,1000.9219);
  630.                 SetPlayerCameraLookAt(playerid, 1217.8180,3.7467,1000.9219);
  631.                 SetPlayerPos(playerid, 1218.7828,8.4408,-100);
  632.                 TogglePlayerControllable(playerid,0);
  633.                 SetPlayerInterior(playerid, 2);
  634.             }
  635.           }
  636.         }
  637. //==============================================================================
  638. // Pedágios
  639.    if(dialogid == CSEGURANCA+12)
  640.    {
  641.         if(response)
  642.         {
  643.             if(listitem == 0)// LS - SF
  644.             {
  645.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  646.                 SetPlayerCameraPos(playerid, 115.1625,-1559.1655,8.2282);
  647.                 SetPlayerCameraLookAt(playerid, 109.5031,-1556.6415,7.6505);
  648.                 SetPlayerPos(playerid, 115.1625,-1559.1655,-100);
  649.                 TogglePlayerControllable(playerid,0);
  650.                 SetPlayerInterior(playerid, 0);
  651.             }
  652.             if(listitem == 1) //SF - LS
  653.             {
  654.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  655.                 SetPlayerCameraPos(playerid, -2697.8081,1350.8698,55.8125);
  656.                 SetPlayerCameraLookAt(playerid, -2695.5850,1341.1179,55.8125);
  657.                 SetPlayerPos(playerid,-2697.8081,1350.8698,-100);
  658.                 TogglePlayerControllable(playerid,0);
  659.                 SetPlayerInterior(playerid, 0);
  660.             }
  661.             if(listitem == 2) //LV - LS
  662.             {
  663.                 SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
  664.                 SetPlayerCameraPos(playerid, 1728.3705,462.9771,30.4982);
  665.                 SetPlayerCameraLookAt(playerid, 1724.7896,453.3222,30.7527);
  666.                 SetPlayerPos(playerid, 1728.3705,462.9771,-100);
  667.                 TogglePlayerControllable(playerid,0);
  668.                 SetPlayerInterior(playerid, 0);
  669.             }
  670.           }
  671.         }
  672.    return 1;
  673.   }
  674.  
  675. public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
  676. {
  677.     if ((newkeys==KEY_SECONDARY_ATTACK)) {
  678.     OnPlayerCommandText(playerid,"/entrarceradeseguranca");}
  679.     if(newkeys == KEY_CROUCH)
  680.     {
  681.     KeyState[playerid] = 1;
  682.     }
  683.     else if(newkeys == KEY_SPRINT)
  684.     {
  685.     KeyState[playerid] = 2;
  686.     }
  687.     else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
  688.     {
  689.     KeyState[playerid] = 3;
  690.     }
  691.     else if(newkeys == KEY_WALK)
  692.     {
  693.     KeyState[playerid] = 4;
  694.     }
  695.     else if(newkeys == (KEY_WALK+KEY_SPRINT))
  696.     {
  697.     KeyState[playerid] = 5;
  698.     }
  699.     else
  700.     {
  701.     KeyState[playerid] = 0;
  702.     }
  703.     return 1;
  704. }
  705. forward CheckKeyPress(playerid);
  706. public CheckKeyPress(playerid)
  707. {
  708.     new keys, updown, leftright;
  709.     GetPlayerKeys(playerid, keys, updown, leftright);
  710.     if(KeyState[playerid] == 1 || KeyState[playerid] == 3){
  711.     if(leftright == KEY_RIGHT){
  712.     if(KeyState[playerid] == 3){
  713.     PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_FAST);}else{
  714.     PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_SLOW);}
  715.     if(PCA[playerid] <= 0){
  716.     PCA[playerid] = (360-PCA[playerid]);}
  717.     MovePlayerCamera(playerid);}
  718.     if(leftright == KEY_LEFT){
  719.     if(KeyState[playerid] == 3){
  720.     PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_FAST);}else{
  721.     PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_SLOW);}
  722.     if(PCA[playerid] >= 360){
  723.     PCA[playerid] = (PCA[playerid]-360);}
  724.     MovePlayerCamera(playerid);}
  725.     if(updown == KEY_UP){
  726.     if(PCL[playerid][2] < (PCP[playerid][2]+5)){
  727.     if(KeyState[playerid] == 3){
  728.     PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_FAST;}else{
  729.     PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_SLOW;}}
  730.     MovePlayerCamera(playerid);}
  731.     if(updown == KEY_DOWN){
  732.     if(PCL[playerid][2] > (PCP[playerid][2]-5)){
  733.     if(KeyState[playerid] == 3){
  734.     PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_FAST;}else{
  735.     PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_SLOW;}}
  736.     MovePlayerCamera(playerid);}}
  737.     if(KeyState[playerid] == 4 || KeyState[playerid] == 5){
  738.     if(updown == KEY_UP){
  739.     if(KeyState[playerid] == 4){
  740.     PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
  741.     PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
  742.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  743.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
  744.     else if(KeyState[playerid] == 5){
  745.     PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
  746.     PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
  747.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  748.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}
  749.     if(updown == KEY_DOWN){
  750.     if(KeyState[playerid] == 4){
  751.     PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
  752.     PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
  753.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  754.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
  755.     else if(KeyState[playerid] == 5){
  756.     PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
  757.     PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
  758.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  759.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}}
  760.     else if(KeyState[playerid] == 2 || KeyState[playerid] == 0){
  761.     if(leftright == KEY_RIGHT){
  762.     new Float:Angle;
  763.     Angle = PCA[playerid];
  764.     Angle -= 90.0;
  765.     if(KeyState[playerid] == 2){
  766.     PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  767.     PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  768.     PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  769.     PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);}else{
  770.     PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  771.     PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  772.     PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  773.     PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);}
  774.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  775.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
  776.     if(leftright == KEY_LEFT){
  777.     new Float:Angle;
  778.     Angle = PCA[playerid];
  779.     Angle += 90.0;
  780.     if(KeyState[playerid] == 2){
  781.     PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  782.     PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  783.     PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
  784.     PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);}else{
  785.     PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  786.     PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  787.     PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
  788.     PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);}
  789.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  790.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
  791.     if(updown == KEY_UP){
  792.     new Float:X, Float:Y, Float:Z;
  793.     if(KeyState[playerid] == 2){
  794.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
  795.     PCP[playerid][0] = X;
  796.     PCP[playerid][1] = Y;
  797.     PCP[playerid][2] = Z;
  798.     X = 0.0; Y=0.0; Z=0.0;
  799.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  800.     PCL[playerid][0] = X;
  801.     PCL[playerid][1] = Y;
  802.     PCL[playerid][2] = Z;
  803.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  804.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}else{
  805.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
  806.     PCP[playerid][0] = X;
  807.     PCP[playerid][1] = Y;
  808.     PCP[playerid][2] = Z;
  809.     X = 0.0; Y=0.0; Z=0.0;
  810.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  811.     PCL[playerid][0] = X;
  812.     PCL[playerid][1] = Y;
  813.     PCL[playerid][2] = Z;
  814.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  815.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}
  816.     if(updown == KEY_DOWN){
  817.     new Float:X, Float:Y, Float:Z;
  818.     if(KeyState[playerid] == 2){
  819.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
  820.     PCP[playerid][0] = X;
  821.     PCP[playerid][1] = Y;
  822.     PCP[playerid][2] = Z;
  823.     X = 0.0; Y=0.0; Z=0.0;
  824.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  825.     PCL[playerid][0] = X;
  826.     PCL[playerid][1] = Y;
  827.     PCL[playerid][2] = Z;
  828.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  829.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}else{
  830.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
  831.     PCP[playerid][0] = X;
  832.     PCP[playerid][1] = Y;
  833.     PCP[playerid][2] = Z;
  834.     X = 0.0; Y=0.0; Z=0.0;
  835.     GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
  836.     PCL[playerid][0] = X;
  837.     PCL[playerid][1] = Y;
  838.     PCL[playerid][2] = Z;
  839.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  840.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  841.     }
  842.    }
  843.   }
  844.  }
  845.  
  846. stock MovePlayerCamera(playerid)
  847. {
  848.     PCL[playerid][0] = PCP[playerid][0] + (floatmul(5.0, floatsin(-PCA[playerid], degrees)));
  849.     PCL[playerid][1] = PCP[playerid][1] + (floatmul(5.0, floatcos(-PCA[playerid], degrees)));
  850.     SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  851.     SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  852. }
  853.  
  854. GetCoordsOnLine3D(Float:startX, Float:startY, Float:startZ, Float:endX, Float:endY, Float:endZ, Float:length, &Float:RX, &Float:RY, &Float:RZ) //Original function by Nubotron. Slightly edited by me.
  855. {
  856.     RX = startX - endX;
  857.     RY = startY - endY;
  858.     RZ = startZ - endZ;
  859.     new Float:sqrt = floatsqroot((RX * RX) + (RY * RY) + (RZ * RZ));
  860.     if (sqrt < 0.01)
  861.         sqrt = 0.01;
  862.     RX = -length * (RX / sqrt) + startX;
  863.     RY = -length * (RY / sqrt) + startY;
  864.     RZ = -length * (RZ / sqrt) + startZ;
  865. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement