Problem with IsPlayerInRangeOfPoint
#1

Here is the cmd
pawn Код:
if(strcmp(cmd, "/camera", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsACop(playerid))
            {
                if(!IsPlayerInRangeOfPoint(playerid, 8, 211.6222,1811.9565,21.8594) || !IsPlayerInRangeOfPoint(playerid, 8, 212.9213,1825.0769,6.4141))
                {
                    SendClientMessage(playerid, COLOR_GREY, "   You are not at the Area51 Security Panel !");
                    return 1;
                }
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /camera [number 1 - 13]  (13 = OFF)");
                    return 1;
                }
                new number = strval(tmp);
                if(number < 1 || number > 13) { SendClientMessage(playerid, COLOR_GREY, "   Camera Number can't be below 1 or above 13 !"); return 1; }
                TogglePlayerControllable(playerid, 0);
                GetPlayerPos(playerid, Unspec[playerid][Coords][0],Unspec[playerid][Coords][1],Unspec[playerid][Coords][2]);
                if(number == 1) { SetPlayerCameraPos(playerid, 128.2116,1911.0291,23.7813); SetPlayerCameraLookAt(playerid, 133.8617,1940.9971,19.3121); }
                else if(number == 2) { SetPlayerCameraPos(playerid, 233.4934,1936.5295,34.8984); SetPlayerCameraLookAt(playerid, 235.3903,1988.7969,18.6478); }
                else if(number == 3) { SetPlayerCameraPos(playerid, 268.6047,1896.5977,34.8984); SetPlayerCameraLookAt(playerid, 312.8811,1940.6204,17.6406); }
                else if(number == 4) { SetPlayerCameraPos(playerid, 263.7832,1809.0145,34.8984); SetPlayerCameraLookAt(playerid, 305.4625,1822.1920,17.6406); }
                else if(number == 5) { SetPlayerCameraPos(playerid, 117.6801,1814.2014,46.6781); SetPlayerCameraLookAt(playerid, 192.1943,1818.0656,17.6406); }
                else if(number == 6) { SetPlayerCameraPos(playerid, 117.9687,1931.2218,22.4576); SetPlayerCameraLookAt(playerid, 106.2832,1875.4585,17.8692); }
                else if(number == 7) { SetPlayerCameraPos(playerid, 167.6275,1851.2277,34.8984); SetPlayerCameraLookAt(playerid, 218.8631,1906.2362,17.6406); }
                else if(number == 8) { SetPlayerCameraPos(playerid, 301.1332,1815.8678,5.7109); SetPlayerCameraLookAt(playerid, 251.3544,1816.7749,4.7175); }
                else if(number == 9) { SetPlayerCameraPos(playerid, 275.5638,1840.1913,9.3473); SetPlayerCameraLookAt(playerid, 331.4260,1839.1156,7.8281); }
                else if(number == 10) { SetPlayerCameraPos(playerid, 295.6248,1856.0695,8.8281); SetPlayerCameraLookAt(playerid, 329.4138,1855.5543,7.8281); }
                else if(number == 11) { SetPlayerCameraPos(playerid, 280.2268,1863.0325,9.7578); SetPlayerCameraLookAt(playerid, 265.2712,1854.5270,8.7578); }
                else if(number == 12) { SetPlayerCameraPos(playerid, 248.4294,1807.1490,8.5547); SetPlayerCameraLookAt(playerid, 249.0407,1840.2283,8.5701); }
                else if(number == 13)
                {
                    MedicBill[playerid] = 0;
                    TogglePlayerControllable(playerid, 1);
                    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel], Unspec[playerid][Coords][0], Unspec[playerid][Coords][1], Unspec[playerid][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
                    SpawnPlayer(playerid);
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GREY, "   You are not a Cop / Soldier !");
                return 1;
            }
        }
        return 1;
    }
If I do it like this with 2 different places it just say that I'm not at area 51 panel.
But if I only put 1 place to use the camera it works. Why?
Reply
#2

pawn Код:
if(strcmp(cmd, "/camera", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsACop(playerid))
            {
                if( IsPlayerInRangeOfPoint(playerid, 8, 211.6222,1811.9565,21.8594) || IsPlayerInRangeOfPoint(playerid, 8, 212.9213,1825.0769,6.4141))
                {
 
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /camera [number 1 - 13]  (13 = OFF)");
                    return 1;
                }
                new number = strval(tmp);
                if(number < 1 || number > 13) { SendClientMessage(playerid, COLOR_GREY, "   Camera Number can't be below 1 or above 13 !"); return 1; }
                TogglePlayerControllable(playerid, 0);
                GetPlayerPos(playerid, Unspec[playerid][Coords][0],Unspec[playerid][Coords][1],Unspec[playerid][Coords][2]);
                if(number == 1) { SetPlayerCameraPos(playerid, 128.2116,1911.0291,23.7813); SetPlayerCameraLookAt(playerid, 133.8617,1940.9971,19.3121); }
                else if(number == 2) { SetPlayerCameraPos(playerid, 233.4934,1936.5295,34.8984); SetPlayerCameraLookAt(playerid, 235.3903,1988.7969,18.6478); }
                else if(number == 3) { SetPlayerCameraPos(playerid, 268.6047,1896.5977,34.8984); SetPlayerCameraLookAt(playerid, 312.8811,1940.6204,17.6406); }
                else if(number == 4) { SetPlayerCameraPos(playerid, 263.7832,1809.0145,34.8984); SetPlayerCameraLookAt(playerid, 305.4625,1822.1920,17.6406); }
                else if(number == 5) { SetPlayerCameraPos(playerid, 117.6801,1814.2014,46.6781); SetPlayerCameraLookAt(playerid, 192.1943,1818.0656,17.6406); }
                else if(number == 6) { SetPlayerCameraPos(playerid, 117.9687,1931.2218,22.4576); SetPlayerCameraLookAt(playerid, 106.2832,1875.4585,17.8692); }
                else if(number == 7) { SetPlayerCameraPos(playerid, 167.6275,1851.2277,34.8984); SetPlayerCameraLookAt(playerid, 218.8631,1906.2362,17.6406); }
                else if(number == 8) { SetPlayerCameraPos(playerid, 301.1332,1815.8678,5.7109); SetPlayerCameraLookAt(playerid, 251.3544,1816.7749,4.7175); }
                else if(number == 9) { SetPlayerCameraPos(playerid, 275.5638,1840.1913,9.3473); SetPlayerCameraLookAt(playerid, 331.4260,1839.1156,7.8281); }
                else if(number == 10) { SetPlayerCameraPos(playerid, 295.6248,1856.0695,8.8281); SetPlayerCameraLookAt(playerid, 329.4138,1855.5543,7.8281); }
                else if(number == 11) { SetPlayerCameraPos(playerid, 280.2268,1863.0325,9.7578); SetPlayerCameraLookAt(playerid, 265.2712,1854.5270,8.7578); }
                else if(number == 12) { SetPlayerCameraPos(playerid, 248.4294,1807.1490,8.5547); SetPlayerCameraLookAt(playerid, 249.0407,1840.2283,8.5701); }
                else if(number == 13)
                {
                    MedicBill[playerid] = 0;
                    TogglePlayerControllable(playerid, 1);
                    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel], Unspec[playerid][Coords][0], Unspec[playerid][Coords][1], Unspec[playerid][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
                    SpawnPlayer(playerid);
                }
                }
 
            }else return SendClientMessage(playerid, COLOR_GREY, "   You are not at the Area51 Security Panel !");
        }else return SendClientMessage(playerid, COLOR_GREY, "   You are not a Cop / Soldier !");
    }  
return 1;
    }
Reply
#3

That crash pawno
Reply
#4

sorry but there was a key more.

pawn Код:
if(strcmp(cmd, "/camera", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsACop(playerid))
            {
                if( IsPlayerInRangeOfPoint(playerid, 8, 211.6222,1811.9565,21.8594) || IsPlayerInRangeOfPoint(playerid, 8, 212.9213,1825.0769,6.4141))
                {
 
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) {
                    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /camera [number 1 - 13]  (13 = OFF)");
                    return 1;
                }
                new number = strval(tmp);
                if(number < 1 || number > 13) { SendClientMessage(playerid, COLOR_GREY, "   Camera Number can't be below 1 or above 13 !"); return 1; }
                TogglePlayerControllable(playerid, 0);
                GetPlayerPos(playerid, Unspec[playerid][Coords][0],Unspec[playerid][Coords][1],Unspec[playerid][Coords][2]);
                if(number == 1) { SetPlayerCameraPos(playerid, 128.2116,1911.0291,23.7813); SetPlayerCameraLookAt(playerid, 133.8617,1940.9971,19.3121); }
                else if(number == 2) { SetPlayerCameraPos(playerid, 233.4934,1936.5295,34.8984); SetPlayerCameraLookAt(playerid, 235.3903,1988.7969,18.6478); }
                else if(number == 3) { SetPlayerCameraPos(playerid, 268.6047,1896.5977,34.8984); SetPlayerCameraLookAt(playerid, 312.8811,1940.6204,17.6406); }
                else if(number == 4) { SetPlayerCameraPos(playerid, 263.7832,1809.0145,34.8984); SetPlayerCameraLookAt(playerid, 305.4625,1822.1920,17.6406); }
                else if(number == 5) { SetPlayerCameraPos(playerid, 117.6801,1814.2014,46.6781); SetPlayerCameraLookAt(playerid, 192.1943,1818.0656,17.6406); }
                else if(number == 6) { SetPlayerCameraPos(playerid, 117.9687,1931.2218,22.4576); SetPlayerCameraLookAt(playerid, 106.2832,1875.4585,17.8692); }
                else if(number == 7) { SetPlayerCameraPos(playerid, 167.6275,1851.2277,34.8984); SetPlayerCameraLookAt(playerid, 218.8631,1906.2362,17.6406); }
                else if(number == 8) { SetPlayerCameraPos(playerid, 301.1332,1815.8678,5.7109); SetPlayerCameraLookAt(playerid, 251.3544,1816.7749,4.7175); }
                else if(number == 9) { SetPlayerCameraPos(playerid, 275.5638,1840.1913,9.3473); SetPlayerCameraLookAt(playerid, 331.4260,1839.1156,7.8281); }
                else if(number == 10) { SetPlayerCameraPos(playerid, 295.6248,1856.0695,8.8281); SetPlayerCameraLookAt(playerid, 329.4138,1855.5543,7.8281); }
                else if(number == 11) { SetPlayerCameraPos(playerid, 280.2268,1863.0325,9.7578); SetPlayerCameraLookAt(playerid, 265.2712,1854.5270,8.7578); }
                else if(number == 12) { SetPlayerCameraPos(playerid, 248.4294,1807.1490,8.5547); SetPlayerCameraLookAt(playerid, 249.0407,1840.2283,8.5701); }
                else if(number == 13)
                {
                    MedicBill[playerid] = 0;
                    TogglePlayerControllable(playerid, 1);
                    SetSpawnInfo(playerid, PlayerInfo[playerid][pTeam], PlayerInfo[playerid][pModel], Unspec[playerid][Coords][0], Unspec[playerid][Coords][1], Unspec[playerid][Coords][2], 10.0, -1, -1, -1, -1, -1, -1);
                    SpawnPlayer(playerid);
                }
 
            }else return SendClientMessage(playerid, COLOR_GREY, "   You are not at the Area51 Security Panel !");
        }else return SendClientMessage(playerid, COLOR_GREY, "   You are not a Cop / Soldier !");
    }  
    return 1;
    }
Reply
#5

do not use ! with isplayerinrangeofpoint if it doesn't help then use this code too.
pawn Код:
else if(!strlen(tmp)) {
try with it . not sure but i think it will help.
Reply
#6

Soloved now. The problem was that I was failing with the ||... It was supose to be && insted.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)