[Ajuda] Fs De Bugada No Meu Gm
#1

Olб Galera Quero QUe Me Ajudem ,Coloquei a Fs Sistemas de Cameras v 2 ,So que ela ta com um bug as cameras nao movimenta fica parada ,Era pra se movimentar apertando as setas e o w,a,s,d Mais Nao Ta movimentando ta travada

e outra coisa mudei a posiзгo da central de seguranзa ai ficou com um bug pra entrar tem que segurar F se nao Entra e sai rapido So esses dois bugs

Camera Nao Movimenta e Tem Que Segurar F Pra Poder entrar Espero que me ajudem to quebrando a cabeзa aqui mais nao tou conseguindo Vou posta o codigo

Код:
/* CRIADO POR : Jonathan Feitosa               ============  |======    ========
    NAO REMOVA OS CREDITOS                          |        |          |
    CRIADO DO 0 SEM AJUDA !                         |        |          |======|
    PERMIЗГO PARA POSTAR ADD :                      |        |======           |
    john_feat@hotmail.com                           |        |                 |
    Qualquer BUG/DICA/DЪVIDAS ADD O MSN !           |        |                 |
                                             _______|	     |          =======|
Crйditos : Sandra
		   Piter Mentos
===============================================================================*/

#include <a_samp>
#define COLOR_WHITE 0xFFFFFFAA
#define CSEGURANCA 9234
//==============================================================================
#define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
#define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
#define SPEED_ROTATE_UPDOWN_SLOW 0.05
#define SPEED_ROTATE_UPDOWN_FAST 0.15
#define SPEED_MOVE_UPDOWN_SLOW 0.25
#define SPEED_MOVE_UPDOWN_FAST 1.0
#define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
#define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
#define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
#define SPEED_MOVE_LEFTRIGHT_FAST 2.0
new Float:PCP[MAX_PLAYERS][3], Float:PCL[MAX_PLAYERS][3], Float:PCA[MAX_PLAYERS], KeyTimer[MAX_PLAYERS], KeyState[MAX_PLAYERS];
// =============================================================================
new JFS, Camera[MAX_PLAYERS];
#if defined FILTERSCRIPT
#else
#endif

public OnFilterScriptInit()
{
    Create3DTextLabel("Secretaria de\nSeguranзa", 0xF68E00F6, 1798.3790,-1578.7922,14.0906,92,0,0); // ENTRADA Cвmera
    Create3DTextLabel("Use /camera", 0xF68E00F6, 542.6953,-897.9803,1304.7952,60.0,0);
    Create3DTextLabel("Painel", 0xF68E00F6, 1824.6990,-1538.1650,13.5469,79.7544,0,0);
    AddStaticPickup(1318, 23, 1824.6990,-1538.1650,13.5469); // painel
	AddStaticPickup(1318, 23, 542.6953,-897.9803,1304.7952); // Cвmera
    AddStaticPickup(1318, 23, 538.6310,-891.6687,1304.2013); // Cвmera Saida Seta
    AddStaticPickup(1318, 1, 1798.3790,-1578.7922,14.0906); // Cвmera Entrada Seta < */
	CreateObject(16150,541.76556396,-886.17199707,1303.20129395,0.00000000,0.00000000,0.00000000); //object(ufo_barinterior) (1)
	CreateObject(2093,538.45800781,-881.89099121,1303.20910645,0.00000000,0.00000000,0.00000000); //object(tv_ward_low) (1)
	CreateObject(1828,542.19512939,-885.76055908,1303.20910645,0.00000000,0.00000000,0.25000000); //object(man_sdr_rug) (1)
	CreateObject(1808,545.90661621,-885.06701660,1303.20910645,0.00000000,0.00000000,0.00000000); //object(cj_watercooler2) (1)
	CreateObject(1782,538.64447021,-881.00097656,1304.53125000,0.00000000,0.00000000,46.00000000); //object(med_video_2) (1)
	CreateObject(1518,545.11285400,-899.40350342,1305.91040039,0.00000000,0.00000000,180.00000000); //object(dyn_tv_2) (1)
	CreateObject(1518,545.10742188,-899.40356445,1305.34631348,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (2)
	CreateObject(1518,545.12335205,-899.40350342,1304.80615234,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (3)
	CreateObject(1518,544.51165771,-899.40600586,1304.81445312,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (4)
	CreateObject(1518,543.87957764,-899.40863037,1304.80163574,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (5)
	CreateObject(1518,544.50030518,-899.40606689,1305.34936523,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (6)
	CreateObject(1518,544.49261475,-899.40612793,1305.91467285,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (7)
	CreateObject(1518,543.86474609,-899.40869141,1305.89624023,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (8)
	CreateObject(1518,543.87677002,-899.40863037,1305.39355469,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (9)
	CreateObject(1518,543.25714111,-899.41125488,1305.37646484,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (10)
	CreateObject(1518,542.68493652,-899.41357422,1305.36877441,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (11)
	CreateObject(1518,543.23846436,-899.41131592,1304.81054688,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (12)
	CreateObject(1518,542.64154053,-899.41375732,1304.81884766,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (13)
	CreateObject(1518,543.27471924,-899.41113281,1305.89794922,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (14)
	CreateObject(1518,542.67034912,-899.41363525,1305.90209961,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (15)
	CreateObject(1518,542.05541992,-899.41619873,1305.90039062,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (16)
	CreateObject(1518,542.04455566,-899.41625977,1305.40185547,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (17)
	CreateObject(1518,542.03594971,-899.41632080,1304.83764648,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (18)
	CreateObject(1518,541.41210938,-899.41888428,1304.83605957,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (19)
	CreateObject(1518,541.43322754,-899.41882324,1305.38500977,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (20)
	CreateObject(1518,541.42791748,-899.41882324,1305.90441895,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (21)
	CreateObject(1518,545.08819580,-899.40362549,1304.27722168,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (22)
	CreateObject(1518,544.47937012,-899.40612793,1304.27648926,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (23)
	CreateObject(1518,543.86425781,-899.40869141,1304.27001953,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (24)
	CreateObject(1518,543.25720215,-899.41125488,1304.26696777,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (25)
	CreateObject(1518,542.64837646,-899.41375732,1304.26843262,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (26)
	CreateObject(1518,542.02648926,-899.41632080,1304.26843262,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (27)
	CreateObject(1518,541.41204834,-899.41888428,1304.27294922,0.00000000,0.00000000,179.99450684); //object(dyn_tv_2) (28)
	CreateObject(2614,539.37841797,-899.36022949,1304.56909180,0.00000000,0.00000000,182.00000000); //object(cj_us_flag) (1)
	CreateObject(1504,537.86712646,-890.91735840,1303.24243164,0.00000000,0.00000000,270.00000000); //object(gen_doorext06) (1)
	CreateObject(16378,543.15722656,-896.06896973,1304.55700684,0.00000000,0.00000000,0.00000000); //object(des_byofficeint) (1)
	CreateObject(1713,540.27014160,-881.14288330,1303.20910645,0.00000000,0.00000000,0.00000000); //object(kb_couch04) (1)
	CreateObject(1713,538.62426758,-885.77636719,1303.20910645,0.00000000,0.00000000,90.00000000); //object(kb_couch04) (2)
	CreateObject(2266,540.63299561,-880.85498047,1304.20068359,0.00000000,0.00000000,0.00000000); //object(frame_wood_5) (1)
	CreateObject(11631,538.73754883,-896.50872803,1305.04101562,0.00000000,0.00000000,90.00000000); //object(ranch_desk) (1)
	CreateObject(2605,549.20416260,-886.17803955,1303.60754395,0.00000000,0.00000000,338.75000000); //object(polce_desk1) (1)
	CreateObject(2356,544.85723877,-881.74523926,1303.20910645,0.00000000,0.00000000,0.00000000); //object(police_off_chair) (1)
	CreateObject(2356,539.77880859,-888.54437256,1303.20910645,0.00000000,0.00000000,97.00000000); //object(police_off_chair) (2)
	CreateObject(2308,547.16613770,-891.12371826,1303.20910645,0.00000000,0.00000000,182.00000000); //object(med_office4_desk_4) (1)
	CreateObject(2356,546.36993408,-891.36706543,1303.20910645,0.00000000,0.00000000,180.00000000); //object(police_off_chair) (3)
	CreateObject(2198,538.62817383,-889.17987061,1303.20910645,0.00000000,0.00000000,84.00000000); //object(med_office2_desk_3) (1)
	CreateObject(2356,538.94561768,-898.05426025,1303.79516602,0.00000000,0.00000000,187.99450684); //object(police_off_chair) (4)
	CreateObject(2165,539.57958984,-898.87554932,1303.79516602,0.00000000,0.00000000,182.00000000); //object(med_office_desk_1) (1)
	CreateObject(1998,544.02142334,-881.78778076,1303.20910645,0.00000000,0.00000000,0.75000000); //object(officedesk1l) (1)
	CreateObject(2356,549.03320312,-887.15429688,1303.20910645,0.00000000,0.00000000,0.00000000); //object(police_off_chair) (5)
	return CreateObject(2356,539.64062500,-896.23046875,1303.79516602,0.00000000,0.00000000,72.74597168); //object(police_off_chair) (6)
}

public OnPlayerConnect(playerid)
{
	KeyState[playerid] = 0; return Camera[playerid] = 0;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
 	   if (strcmp("/camerasolta", cmdtext, true, 11) == 0)
	   {
 	   if(!IsPlayerInRangeOfPoint(playerid, 1,1824.6990,-1538.1650,13.5469)) return SendClientMessage(playerid,0xFF0000AA," Voce Nгo Estб no Local !!");
 	   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");
 	   }
//==============================================================================
       if (strcmp("/desligarc", cmdtext, true, 10) == 0)
	   {
       TogglePlayerControllable(playerid, 1);
       SetCameraBehindPlayer(playerid);
       KillTimer(KeyTimer[playerid]);
 	   }
       {
if(strcmp(cmdtext, "/entrar", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 4.0, 1798.3790,-1578.7922,14.0906))
{
SetPlayerPos(playerid, 538.9589,-891.6457,1304.2013);
SendClientMessage(playerid, COLOR_WHITE, "Seja Bem Vindo A Secretaria De Seguranзa !.");
GivePlayerMoney(playerid, -50);
}
return 1;
}
if(strcmp(cmdtext, "/sair", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 538.9589,-891.6457,1304.2013))
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1798.3790,-1578.7922,14.0906);
SendClientMessage(playerid, COLOR_WHITE, "Agradecemos Sua Presenзa!");
}
return 1;
}

}

       if(strcmp(cmdtext, "/irsenasp", true) == 0)
       {
        SetPlayerPos(playerid,542.6953,-897.9803,1304.7952);
        SetPlayerInterior(playerid, 0);
     }
// =============================================================================
	   if (strcmp("/camera", cmdtext, true, 10) == 0)
	   {
		if(!IsPlayerInRangeOfPoint(playerid, 1, 542.6953,-897.9803,1304.7952)) return SendClientMessage(playerid, COLOR_WHITE, "Vocк Nгo Estб no Centro de Seguranзa!");

        new JFS1[110]; JFS++;
        format(JFS1, sizeof(JFS1), "O {FF6347}Sistema de Cвmera {AA3333}Tem{33CCFF} %d Visitas {AA3333}Desde Quando o Serve Foi Ligado!",JFS);
        SendClientMessage(playerid,0xAA3333AA, JFS1);
        
		Camera[playerid] = 1;
		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");
 	   }
// =============================================================================
       if (strcmp("/entrarsenasp", cmdtext, true, 10) == 0)
       {
       if(IsPlayerInRangeOfPoint(playerid, 1,1798.3790,-1578.7922,14.0906)){
       GameTextForPlayer(playerid, "Senasp", 4000, 5);
       SetPlayerInterior(playerid, 0);
       SetPlayerPos(playerid,538.9589,-891.6457,1304.2013);}
       
       if(IsPlayerInRangeOfPoint(playerid, 1,538.9589,-891.6457,1304.2013)){
       SetPlayerInterior(playerid, 0);
       return SetPlayerPos(playerid,1798.3790,-1578.7922,14.0906); }}
// =============================================================================
       if (strcmp("/desligarcamera", cmdtext, true, 10) == 0)
       {
       if(Camera[playerid] == 1){
	   Camera[playerid] = 0;
	   } else return SendClientMessage(playerid, COLOR_WHITE, " Vocк Nгo Estб Usando a Camera! :C");
       SetCameraBehindPlayer(playerid);
	   SetPlayerInterior(playerid,0);
	   TogglePlayerControllable(playerid, 1);
  	   return SetPlayerPos(playerid, 542.6953,-897.9803,1304.7952);
       }
// =============================================================================
       return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == 3212)
   {
   if(response == 1)
   {
    SetPlayerInterior(playerid,0);
    SendClientMessage(playerid, COLOR_WHITE, "Para Desligar a {2641FE}Cвmera Solta {FFFFFF}Use {2641FE}/desligarc");
 	TogglePlayerControllable(playerid, 0);
 	GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
 	GetPlayerFacingAngle(playerid, PCA[playerid]);
 	if(IsPlayerInAnyVehicle(playerid)){
    GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);}
    PCL[playerid][0] = PCP[playerid][0];
    PCL[playerid][1] = PCP[playerid][1];
  	PCL[playerid][2] = PCP[playerid][2];
    PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
  	PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
  	PCP[playerid][2] = PCP[playerid][2]+2.0;
  	SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
  	SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
  	KeyTimer[playerid] = SetTimerEx("CheckKeyPress", 70, 1, "i", playerid);
	}
	}
// ============ Cameras de Seguranзas  By: Jonathan Feitosa =========================
   if(dialogid == CSEGURANCA)
   {
        if(response)
        {// 22
            if(listitem == 0)
            {
            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");
			}
            if(listitem == 1) //Camera 2
            {
            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");
            }
            if(listitem == 2) //Camera 2
            {
            ShowPlayerDialog(playerid, CSEGURANCA+10, DIALOG_STYLE_LIST, "{0000FF}Cameras - Baladas", "{00F8FF}Alhamba\n{FF6347}Pig Pen", "Espionar", "Cancelar");
            }
            if(listitem == 3) //Interiores
            {
            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");
            }
            if(listitem == 4) //Pedбgios
            {
            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");
            }
			if(listitem == 5) //Camera Sair
            {
            TogglePlayerControllable(playerid,1);
            SetPlayerPos(playerid, 542.6953,-897.9803,1304.7952);
		    SetPlayerInterior(playerid, 0);
          }
        }
      }
// =============================================================================
   if(dialogid == CSEGURANCA+1)
   {
        if(response) // Lugares Importantes !
        {
            if(listitem == 0) // Departamento de Policia - JFS OWNA !
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1540.8064,-1646.7190,21.9511);
                SetPlayerCameraLookAt(playerid, 1537.5170,-1650.7240,20.1858);
                SetPlayerPos(playerid, 1540.8064,-1646.7190,-100);
                TogglePlayerControllable(playerid,0);
		        SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 24-7
            {
               SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
               SetPlayerCameraPos(playerid, 1365.2867,-1748.6545,22.7734);
               SetPlayerCameraLookAt(playerid, 1363.8175,-1748.6436,22.3906);
               SetPlayerPos(playerid, 1365.2867,-1748.6545,-100);
               TogglePlayerControllable(playerid,0);
               SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // Loja de Arma
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1756.4012,-1172.3580,23.8281);
                SetPlayerCameraLookAt(playerid, 1758.6932,-1172.0590,23.8281);
                SetPlayerPos(playerid, 1756.4012,-1172.3580,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 3) // Hospital
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1179.7465,-1353.2474,19.4560);
                SetPlayerCameraLookAt(playerid, 1181.5865,-1351.5922,19.4502);
                SetPlayerPos(playerid, 1179.7465,-1353.2474,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 4) // Banco
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1419.8663,-1045.7428,27.3906);
                SetPlayerCameraLookAt(playerid, 1422.1774,-1044.4663,27.3906);
                SetPlayerPos(playerid, 1419.8663,-1045.7428,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+2)
   {
        if(response) // RUAS/BAIRROS
        {
            if(listitem == 0) // Bairro CENTRO
            {
               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");
            }
            if(listitem == 1) // bAIRRO Pequeno Mexico
            {
               ShowPlayerDialog(playerid, CSEGURANCA+4, DIALOG_STYLE_LIST, "{33CCFF}Cameras - Bairro Pequeno Mexico", "{FFFF00}Rua Mexico 1\n{00F600}Rua Mexico 2", "Selecionar", "Cancelar");
            }
            if(listitem == 2) // Bairro Idlewood
            {
            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");
            }
            if(listitem == 3) // Bairro Downtown Los Santos
            {
            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");
            }
            if(listitem == 4) // Bairro Morro
            {
            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");
            }
            if(listitem == 5) // Parque Glee
            {
            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");
            }
            if(listitem == 6) // Praia Santa Maria
            {
            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");
            }
            if(listitem == 7) // Rua Estacгo
			{
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1938.3961,-1933.5433,13.3828);
                SetPlayerCameraLookAt(playerid, 934.4586,-1934.7949,13.3828);
                SetPlayerPos(playerid, 1938.3961,-1933.5433,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
      }
    }
// ====================================================================================
   if(dialogid == CSEGURANCA+3) // Bairro Centro de Los Santos
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1671.9045,-1740.2220,13.5465);
                SetPlayerCameraLookAt(playerid, 1665.6132,-1739.1383,13.5450);
                SetPlayerPos(playerid, 1671.9045,-1740.2220,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1744.9170,-1590.0386,13.5397);
                SetPlayerCameraLookAt(playerid, 1742.4379,-1590.1549,13.5423);
                SetPlayerPos(playerid, 1744.9170,-1590.0386,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
        }
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+4) // Bairro Pequeno Mexico
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1727.5045,-1738.7094,13.5469);
                SetPlayerCameraLookAt(playerid, 1729.3236,-1737.5027,13.5469);
                SetPlayerPos(playerid, 1727.5045,-1738.7094,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1805.2159,-1839.0151,13.5781);
                SetPlayerCameraLookAt(playerid, 1798.6588,-1837.9792,13.5781);
                SetPlayerPos(playerid, 1805.2159,-1839.0151,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
		}
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+5) // Bairro idlwood
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1820.5284,-1605.0304,13.3766);
                SetPlayerCameraLookAt(playerid, 1821.2069,-1601.5466,13.3609);
                SetPlayerPos(playerid, 1820.5284,-1605.0304,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1821.2452,-1848.9436,13.4141);
                SetPlayerCameraLookAt(playerid, 1820.7043,-1846.1687,13.4141);
                SetPlayerPos(playerid, 1821.2452,-1848.9436,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // 3
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1930.7804,-1764.3730,13.5391);
                SetPlayerCameraLookAt(playerid, 933.9102,-1763.2849,13.5469);
                SetPlayerPos(playerid, 1930.7804,-1764.3730,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 3) // 4
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1862.5474,-1480.7346,13.3200);
                SetPlayerCameraLookAt(playerid, 1865.3745,-1481.5613,12.3825);
                SetPlayerPos(playerid, 1862.5474,-1480.7346,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 4) // 5
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1805.2159,-1839.0151,13.5781);
                SetPlayerCameraLookAt(playerid, 1798.6588,-1837.9792,13.5781);
                SetPlayerPos(playerid, 1805.2159,-1839.0151,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
        }
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+8) // Bairro Parque Gleen
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1855.3892,-1268.3625,13.3906);
                SetPlayerCameraLookAt(playerid, 1855.1689,-1271.5760,13.3934);
                SetPlayerPos(playerid, 1855.3892,-1268.3625,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1874.3866,-1135.7489,23.7344);
                SetPlayerCameraLookAt(playerid, 1878.0491,-1135.7958,23.7632);
                SetPlayerPos(playerid, 1874.3866,-1135.7489,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // 3
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1842.3285,-1188.6066,23.6503);
                SetPlayerCameraLookAt(playerid, 1838.7637,-1187.7839,23.8281);
                SetPlayerPos(playerid, 1842.3285,-1188.6066,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
        }
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+6) // Bairro Downtown Los Santos
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1581.3748,-1168.5712,24.0781);
                SetPlayerCameraLookAt(playerid, 1580.9467,-1166.5466,24.0781);
                SetPlayerPos(playerid, 1581.3748,-1168.5712,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1376.6577,-1148.2861,23.8430);
                SetPlayerCameraLookAt(playerid, 1372.6255,-1148.2712,23.8430);
                SetPlayerPos(playerid, 1376.6577,-1148.2861,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // 3
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1453.2278,-952.8773,36.1234);
                SetPlayerCameraLookAt(playerid, 1458.9070,-953.4402,36.1235);
                SetPlayerPos(playerid, 1453.2278,-952.8773,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
        }
      }
    }
// =============================================================================
   if(dialogid == CSEGURANCA+7) // Bairro Morro
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1943.0764,-980.5031,48.1086);
                SetPlayerCameraLookAt(playerid, 1947.7219,-980.4798,47.6856);
                SetPlayerPos(playerid, 1943.0764,-980.5031,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 2147.2004,-949.5068,72.7676);
                SetPlayerCameraLookAt(playerid, 2147.6794,-953.7840,72.1721);
                SetPlayerPos(playerid, 2147.2004,-949.5068,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // 3
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 2449.0688,-895.5662,100.0895);
                SetPlayerCameraLookAt(playerid, 2453.9451,-900.0700,98.8847);
                SetPlayerPos(playerid, 2449.0688,-895.5662,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 3) // 4
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 2637.8315,-1005.6577,87.1044);
                SetPlayerCameraLookAt(playerid, 2635.7688,-1003.9021,87.1044);
                SetPlayerPos(playerid, 2637.8315,-1005.6577,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
          }
        }
//==============================================================================
// Praia Santa Maria
   if(dialogid == CSEGURANCA+9)
   {
        if(response)
        {
            if(listitem == 0) // 1
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 985.5192,-1854.5796,12.7954);
                SetPlayerCameraLookAt(playerid, 977.3477,-1854.4637,12.4131);
                SetPlayerPos(playerid, 985.5192,-1854.5796,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 1) // 2
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 836.1051,-1813.0375,12.4749);
                SetPlayerCameraLookAt(playerid, 836.4820,-1821.4585,12.2220);
                SetPlayerPos(playerid, 836.1051,-1813.0375,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
            if(listitem == 2) // 3
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 795.8688,-1819.4578,13.0234);
                SetPlayerCameraLookAt(playerid, 795.9167,-1823.6200,13.0234);
                SetPlayerPos(playerid, 795.8688,-1819.4578,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid,0);
            }
          }
        }
//==============================================================================
// Interiores
   if(dialogid == CSEGURANCA+11)
   {
        if(response)
        {
            if(listitem == 0)// DP
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 242.9483,62.8970,1003.6406);
                SetPlayerCameraLookAt(playerid, 244.3916,63.9717,1003.6406);
                SetPlayerPos(playerid, 242.9483,62.8970,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 6);
            }
            if(listitem == 1) //PREFEITURA
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 358.6505,188.1288,1008.3828);
                SetPlayerCameraLookAt(playerid, 361.6689,183.9034,1008.3828);
                SetPlayerPos(playerid, 358.6505,188.1288,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 3);
            }
            if(listitem == 2) //BANCO
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 2316.6167,-0.2021,26.7422);
                SetPlayerCameraLookAt(playerid, 2314.6118,-4.0467,26.7422);
                SetPlayerPos(playerid, 2316.6167,-0.2021,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 0);
            }
            if(listitem == 3) //LOJA DE ARMAS
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 2169.2224,1627.6809,999.9674);
                SetPlayerCameraLookAt(playerid, 2170.7542,1625.0159,999.9720);
                SetPlayerPos(playerid,  2169.2224,1627.6809,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 1);
            }
            if(listitem == 4) //24-7
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, -18.2992,-57.0826,1003.5469);
                SetPlayerCameraLookAt(playerid, -20.6372,-56.1016,1003.5469);
                SetPlayerPos(playerid, -18.2992,-57.0826,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 6);
            }
          }
        }
//==============================================================================
// Baladas
   if(dialogid == CSEGURANCA+10)
   {
        if(response)
        {
            if(listitem == 0)// Alhamba
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 499.5854,-23.9717,1000.6797);
                SetPlayerCameraLookAt(playerid, 495.9297,-20.8388,1000.6719);
                SetPlayerPos(playerid, 499.5854,-23.9717,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 17);
            }
            if(listitem == 1) //Pig Pen
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1218.7828,8.4408,1000.9219);
                SetPlayerCameraLookAt(playerid, 1217.8180,3.7467,1000.9219);
                SetPlayerPos(playerid, 1218.7828,8.4408,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 2);
            }
          }
        }
//==============================================================================
// Pedбgios
   if(dialogid == CSEGURANCA+12)
   {
        if(response)
        {
            if(listitem == 0)// LS - SF
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 115.1625,-1559.1655,8.2282);
                SetPlayerCameraLookAt(playerid, 109.5031,-1556.6415,7.6505);
                SetPlayerPos(playerid, 115.1625,-1559.1655,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 0);
            }
            if(listitem == 1) //SF - LS
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, -2697.8081,1350.8698,55.8125);
                SetPlayerCameraLookAt(playerid, -2695.5850,1341.1179,55.8125);
                SetPlayerPos(playerid,-2697.8081,1350.8698,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 0);
            }
            if(listitem == 2) //LV - LS
            {
                SendClientMessage(playerid, COLOR_WHITE, " >> Para Desligar a Camera Use: {2641FE}/desligarcamera <<");
                SetPlayerCameraPos(playerid, 1728.3705,462.9771,30.4982);
				SetPlayerCameraLookAt(playerid, 1724.7896,453.3222,30.7527);
                SetPlayerPos(playerid, 1728.3705,462.9771,-100);
                TogglePlayerControllable(playerid,0);
                SetPlayerInterior(playerid, 0);
            }
          }
		}
   return 1;
  }
 
public OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
    if ((newkeys==KEY_SECONDARY_ATTACK)) {
    OnPlayerCommandText(playerid,"/entrar");}

    OnPlayerCommandText(playerid,"/sair");
    if(newkeys == KEY_CROUCH)
    {
    KeyState[playerid] = 1;
    }
    else if(newkeys == KEY_SPRINT)
    {
    KeyState[playerid] = 2;
    }
    else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
    {
    KeyState[playerid] = 3;
    }
    else if(newkeys == KEY_WALK)
    {
    KeyState[playerid] = 4;
    }
    else if(newkeys == (KEY_WALK+KEY_SPRINT))
    {
    KeyState[playerid] = 5;
    }
    else
    {
    KeyState[playerid] = 0;
    }
    return 1;
}
forward CheckKeyPress(playerid);
public CheckKeyPress(playerid)
{
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
    if(KeyState[playerid] == 1 || KeyState[playerid] == 3){
    if(leftright == KEY_RIGHT){
    if(KeyState[playerid] == 3){
    PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_FAST);}else{
    PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_SLOW);}
    if(PCA[playerid] <= 0){
    PCA[playerid] = (360-PCA[playerid]);}
    MovePlayerCamera(playerid);}
    if(leftright == KEY_LEFT){
	if(KeyState[playerid] == 3){
    PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_FAST);}else{
    PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_SLOW);}
    if(PCA[playerid] >= 360){
    PCA[playerid] = (PCA[playerid]-360);}
    MovePlayerCamera(playerid);}
    if(updown == KEY_UP){
    if(PCL[playerid][2] < (PCP[playerid][2]+5)){
    if(KeyState[playerid] == 3){
    PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_FAST;}else{
    PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_SLOW;}}
    MovePlayerCamera(playerid);}
	if(updown == KEY_DOWN){
    if(PCL[playerid][2] > (PCP[playerid][2]-5)){
    if(KeyState[playerid] == 3){
	PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_FAST;}else{
    PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_SLOW;}}
    MovePlayerCamera(playerid);}}
    if(KeyState[playerid] == 4 || KeyState[playerid] == 5){
	if(updown == KEY_UP){
    if(KeyState[playerid] == 4){
    PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
    PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
	else if(KeyState[playerid] == 5){
    PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
    PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}
    if(updown == KEY_DOWN){
    if(KeyState[playerid] == 4){
    PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
    PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
	else if(KeyState[playerid] == 5){
    PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
    PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}}
    else if(KeyState[playerid] == 2 || KeyState[playerid] == 0){
    if(leftright == KEY_RIGHT){
    new Float:Angle;
    Angle = PCA[playerid];
    Angle -= 90.0;
    if(KeyState[playerid] == 2){
	PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
	PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
 	PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);}else{
    PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);}
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
    if(leftright == KEY_LEFT){
    new Float:Angle;
    Angle = PCA[playerid];
    Angle += 90.0;
    if(KeyState[playerid] == 2){
    PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);}else{
    PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
    PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);}
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}
    if(updown == KEY_UP){
    new Float:X, Float:Y, Float:Z;
    if(KeyState[playerid] == 2){
    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);
    PCP[playerid][0] = X;
    PCP[playerid][1] = Y;
    PCP[playerid][2] = Z;
    X = 0.0; Y=0.0; Z=0.0;
    GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
    PCL[playerid][0] = X;
    PCL[playerid][1] = Y;
    PCL[playerid][2] = Z;
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}else{
    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);
    PCP[playerid][0] = X;
    PCP[playerid][1] = Y;
    PCP[playerid][2] = Z;
    X = 0.0; Y=0.0; Z=0.0;
    GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
    PCL[playerid][0] = X;
    PCL[playerid][1] = Y;
    PCL[playerid][2] = Z;
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}}
    if(updown == KEY_DOWN){
    new Float:X, Float:Y, Float:Z;
    if(KeyState[playerid] == 2){
    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);
    PCP[playerid][0] = X;
    PCP[playerid][1] = Y;
    PCP[playerid][2] = Z;
    X = 0.0; Y=0.0; Z=0.0;
    GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
    PCL[playerid][0] = X;
    PCL[playerid][1] = Y;
    PCL[playerid][2] = Z;
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);}else{
    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);
    PCP[playerid][0] = X;
    PCP[playerid][1] = Y;
    PCP[playerid][2] = Z;
    X = 0.0; Y=0.0; Z=0.0;
    GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
    PCL[playerid][0] = X;
    PCL[playerid][1] = Y;
    PCL[playerid][2] = Z;
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
    }
   }
  }
 }
 
stock MovePlayerCamera(playerid)
{
    PCL[playerid][0] = PCP[playerid][0] + (floatmul(5.0, floatsin(-PCA[playerid], degrees)));
    PCL[playerid][1] = PCP[playerid][1] + (floatmul(5.0, floatcos(-PCA[playerid], degrees)));
    SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
    SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
}

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.
{
    RX = startX - endX;
    RY = startY - endY;
    RZ = startZ - endZ;
    new Float:sqrt = floatsqroot((RX * RX) + (RY * RY) + (RZ * RZ));
    if (sqrt < 0.01)
        sqrt = 0.01;
    RX = -length * (RX / sqrt) + startX;
    RY = -length * (RY / sqrt) + startY;
    RZ = -length * (RZ / sqrt) + startZ;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)