Run time error, please help!
#1

[debug] Run time error 4: "Array index out of bounds"
[debug] Accessing element at index 999 past array upper bound 500
[debug] AMX backtrace:
[debug] #0 00086418 in public OnPlayerStateChange ( 0x00000000, 0x00000001, 0x00000008 ) from EXRPR46.amx

Can you explain the source of this problem?

OnPlayerStateChange code is working great. There is no errors on compile. it happens when player spawns.
Reply
#2

pls post some code from OnPlayerStateChange
Reply
#3

Quote:
Originally Posted by rospar
Посмотреть сообщение
pls post some code from OnPlayerStateChange
OnPlayerStateChange:

pawn Код:
if(newstate != 2) NOPTrigger[playerid] = 0;
    if(IsPlayerNPC(playerid))
    {
        if(newstate == PLAYER_STATE_SPECTATING)
        {
            TogglePlayerSpectating(playerid, false);
        }
        return 1;
    }
    if(GettingSpectated[playerid] != 999)
    {
        new spectator = GettingSpectated[playerid];
        if(!IsPlayerConnected(spectator))
        {
            GettingSpectated[playerid] = 999;
            Spectate[spectator] = 999;
        }

        if(newstate == PLAYER_STATE_DRIVER && PlayerInfo[spectator][pAdmin] >= 2 || newstate == PLAYER_STATE_PASSENGER && PlayerInfo[spectator][pAdmin] >= 2)
        {
            TogglePlayerSpectating(spectator, true);
            new carid = GetPlayerVehicleID( playerid );
            PlayerSpectateVehicle( spectator, carid );
            SetPVarInt(spectator, "SpecState", newstate);
        }
        else if(newstate == PLAYER_STATE_ONFOOT && PlayerInfo[spectator][pAdmin] >= 2)
        {
            TogglePlayerSpectating(spectator, true);
            PlayerSpectatePlayer( spectator, playerid );
            SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
            SetPVarInt(spectator, "SpecState", newstate);
        }
    }
    if(newstate == PLAYER_STATE_ONFOOT)
    {
        if(stationidv[GetPlayerVehicleID(playerid)] != 0)
        {
            StopAudioStreamForPlayer(playerid);
            //stationidp[playerid] = 0;
        }


        new spectator = GettingSpectated[playerid];
        if(PlayerInfo[spectator][pAdmin] >= 2) {
            // Preventing possible buffer overflows with the arrays
            TogglePlayerSpectating(spectator, true);
            PlayerSpectatePlayer( spectator, playerid );
            SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
            SetPVarInt(spectator, "SpecState", newstate);
            SetPlayerInterior( spectator, GetPlayerInterior( playerid ) );
            SetPlayerVirtualWorld( spectator, GetPlayerVirtualWorld( playerid ) );
        }

        if(oldstate == PLAYER_STATE_DRIVER)
        {
            SetPlayerWeaponsEx(playerid);
        }
        else if(oldstate == PLAYER_STATE_PASSENGER) SetPlayerWeaponsEx(playerid);

        if(ConnectedToPC[playerid] == 1337)//mdc
        {
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, "* You are now logged off the MDC.");
            ConnectedToPC[playerid] = 0;
        }
        if(TransportDuty[playerid] > 0)
        {
            if(TransportDuty[playerid] == 1)
            {
                TaxiDrivers -= 1;
            }
            else if(TransportDuty[playerid] == 2)
            {
                BusDrivers -= 1;
            }
            TransportDuty[playerid] = 0;
            new string[42];
            format(string, sizeof(string), "* You are now off duty and earned $%d.", TransportMoney[playerid]);
            SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
            GiveZexzMoney(playerid, TransportMoney[playerid]);
            ConsumingMoney[playerid] = 1; TransportValue[playerid] = 0; TransportMoney[playerid] = 0;
            SetPlayerColor(playerid, TEAM_HIT_COLOR);
            TransportTime[playerid] = 0;
            TransportCost[playerid] = 0;
        }
        if(TransportDriver[playerid] < 999)
        {
            new string[128];
            TransportMoney[TransportDriver[playerid]] += TransportCost[playerid];
            format(string, sizeof(string), "~w~The ride cost~n~~r~$%d",TransportCost[playerid]);
            GameTextForPlayer(playerid, string, 5000, 3);
            format(string, sizeof(string), "~w~Passenger left the taxi.~n~~g~Earned $%d",TransportCost[playerid]);
            GameTextForPlayer(TransportDriver[playerid], string, 5000, 3);
            GiveZexzMoney(playerid, -TransportCost[playerid]);

            new ip[32], ipex[32];
            GetPlayerIp(playerid, ip, sizeof(ip));
            GetPlayerIp(TransportDriver[playerid], ipex, sizeof(ipex));
            TaxiWarn[playerid][TransportDriver[playerid]] += TransportCost[playerid];
            if(TaxiWarn[playerid][TransportDriver[playerid]] >= 10000)
            {
                format(string, sizeof(string), "%s (IP:%s) has taxied %s (IP:%s) $%d in this session.", GetPlayerNameEx(playerid), ip, GetPlayerNameEx(TransportDriver[playerid]), ipex, TaxiWarn[playerid][TransportDriver[playerid]]);
                Log("logs/pay.log", string);
                ABroadCast(COLOR_YELLOW, string, 1);
            }
            TransportTime[TransportDriver[playerid]] = 0;
            TransportCost[TransportDriver[playerid]] = 0;
            TransportCost[playerid] = 0;
            TransportTime[playerid] = 0;
            TransportDriver[playerid] = 999;
        }
        TelePos[playerid][0] = 0.0;
        TelePos[playerid][1] = 0.0;
    }
    if(newstate == PLAYER_STATE_PASSENGER) // TAXI & BUSSES
    {
        if(stationidv[GetPlayerVehicleID(playerid)] != 0)
        {
            //new station[64];
            switch(stationidv[GetPlayerVehicleID(playerid)])
            {
                case 1: PlayAudioStreamForPlayer(playerid, "http://centovadirect.co.uk/tunein.php/sfernando/playlist.pls");
                case 2: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=172748");
                case 3: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=172748");
                case 4: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1628721");
                case 5: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283687");
                case 6: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1628932");
                case 7: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1756658");
                case 8: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200");
                case 9: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=2057197");
                case 10: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=18695");
                case 11: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=412093");
                case 12: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=181367");
                case 13: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275071");
                case 14: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=412093");
                case 15: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280356");
                case 16: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1279013");
                case 17: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281016");
                case 18: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280855");
                case 19: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1116397");
                case 20: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=2057543");
                case 21: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
                case 22: PlayAudioStreamForPlayer(playerid, "http://38.107.220.164:8014");
                case 23: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=847066");
            }
            if(stationidv[GetPlayerVehicleID(playerid)] != 0)
            {
                StopAudioStreamForPlayer(playerid);
                //stationidp[playerid] = Audio_PlayStreamed(playerid, station, false, true, false);
            }
        }
        new vehicleid = GetPlayerVehicleID(playerid);
        if(vehicleid == NGVehicles[12] ||
        vehicleid == NGVehicles[13] ||
        vehicleid == NGVehicles[14] ||
        vehicleid == NGVehicles[15] ||
        vehicleid == NGVehicles[16] ||
        vehicleid == NGVehicles[17])
        {
            TogglePlayerSpectating(playerid, 1);
            PlayerSpectateVehicle(playerid, vehicleid);
            SetPVarInt(playerid, "NGPassenger", 1);
            SetPVarInt(playerid, "NGPassengerVeh", vehicleid);
            SetPVarInt(playerid, "NGPassengerSkin", GetPlayerSkin(playerid));
            new Float:health, Float:armour;
            GetPlayerHealth(playerid, health);
            GetPlayerArmour(playerid, armour);
            SetPVarFloat(playerid, "NGPassengerHP", health);
            SetPVarFloat(playerid, "NGPassengerArmor", armour);
        }

        /*new gun,tmp;
        GetPlayerWeaponData(playerid,4,gun,tmp);
        #pragma unused tmp
        if(gun)SetPlayerArmedWeapon(playerid,gun);
        else SetPlayerArmedWeapon(playerid,0);*/

        if(PlayerInfo[playerid][pGuns][4] > 0)  SetPlayerArmedWeapon(playerid,PlayerInfo[playerid][pGuns][4]);
        else SetPlayerArmedWeapon(playerid,0);

        if( GetPVarInt( playerid, "ToBeEjected" ) >= 1 )
        {
            SetPVarInt( playerid, "ToBeEjected", 0 );
            RemovePlayerFromVehicle( playerid );
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid, X, Y, Z);
            SetPlayerPos(playerid, X, Y, Z+2);

            if(GetPVarInt(playerid, "Injured") == 1)
            {
                Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
                SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
                SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
                SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
                ClearAnimations(playerid);
                ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
            }
        }
        //SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));
        gLastCar[playerid] = vehicleid;
        foreach(Player, i)
        {
            if(IsPlayerInVehicle(i, vehicleid) && GetPlayerState(i) == 2 && TransportDuty[i] > 0)
            {
                if(PlayerInfo[playerid][pMoney] < TransportValue[i])
                {
                    new string[28];
                    format(string, sizeof(string), "* You need $%d to enter.", TransportValue[i]);
                    SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
                    RemovePlayerFromVehicle(playerid);
                    new Float:X, Float:Y, Float:Z;
                    GetPlayerPos(playerid, X, Y, Z);
                    SetPlayerPos(playerid, X, Y, Z+2);
                    TogglePlayerControllable(playerid, 1);
                }
                else
                {
                    new string[38];
                    if(TransportDuty[i] == 1)
                    {
                        format(string, sizeof(string), "* You paid $%d to the taxi driver.", TransportValue[i]);
                        SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Passenger %s has entered your taxi.", GetPlayerNameEx(playerid));
                        SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
                        TransportTime[i] = 1;
                        TransportTime[playerid] = 1;
                        TransportCost[playerid] = TransportValue[i];
                        TransportCost[i] = TransportValue[i];
                        TransportDriver[playerid] = i;
                    }
                    else if(TransportDuty[i] == 2)
                    {
                        format(string, sizeof(string), "* You paid $%d to the Taxi Driver.", TransportValue[i]);
                        SendClientMessageEx(playerid, COLOR_LIGHTBLUE, string);
                        format(string, sizeof(string), "* Passenger %s has entered your Taxi.", GetPlayerNameEx(playerid));
                        SendClientMessageEx(i, COLOR_LIGHTBLUE, string);
                    }
                    GiveZexzMoney(playerid, - TransportValue[i]);
                    TransportMoney[i] += TransportValue[i];
                }
            }
        }
    }
    if(newstate == PLAYER_STATE_WASTED)
    {
        if(GetPVarInt(playerid, "EventToken") == 0)
        {
            SetPVarInt(playerid, "MedicBill", 1);
        }
        if(ConnectedToPC[playerid] == 1337)//mdc
        {
            ConnectedToPC[playerid] = 0;
        }
        Seatbelt[playerid] = 0;
        Helmet[playerid] = 0;
    }
    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(stationidv[GetPlayerVehicleID(playerid)] != 0)
        {
            //new station[64];
            switch(stationidv[GetPlayerVehicleID(playerid)])
            {
                case 1: PlayAudioStreamForPlayer(playerid, "http://centovadirect.co.uk/tunein.php/sfernando/playlist.pls");
                case 2: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=172748");
                case 3: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=172748");
                case 4: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1628721");
                case 5: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1283687");
                case 6: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1628932");
                case 7: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1756658");
                case 8: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1377200");
                case 9: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=2057197");
                case 10: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=18695");
                case 11: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=412093");
                case 12: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=181367");
                case 13: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275071");
                case 14: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=412093");
                case 15: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280356");
                case 16: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1279013");
                case 17: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1281016");
                case 18: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280855");
                case 19: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1116397");
                case 20: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=2057543");
                case 21: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
                case 22: PlayAudioStreamForPlayer(playerid, "http://38.107.220.164:8014");
                case 23: PlayAudioStreamForPlayer(playerid, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=847066");
            }
            if(stationidv[GetPlayerVehicleID(playerid)] != 0)
            {
                StopAudioStreamForPlayer(playerid);
                //stationidp[playerid] = Audio_PlayStreamed(playerid, station, false, true, false);
            }
        }

        SetPlayerArmedWeapon(playerid, 0);

        new
            newcar = GetPlayerVehicleID(playerid),
            engine, lights, alarm, doors, bonnet, boot, objective, v;

        gLastCar[playerid] = newcar;

        foreach(Player, i) {
            v = GetPlayerVehicle(i, newcar);
            if(v != -1) {
                if(i == playerid) {

                    new
                        string[96];

                    format(string, sizeof(string),"You are the owner of this %s.", GetVehicleName(newcar));
                    SendClientMessageEx(playerid, COLOR_GREY, string);
                    if(PlayerVehicleInfo[i][v][pvTicket] != 0)
                    {
                        format(string, sizeof(string),"A $%d parking ticket was left on your vehicle. You must pay the ticket at the DMV in Dilimore.", PlayerVehicleInfo[i][v][pvTicket]);
                        SendClientMessageEx(playerid, COLOR_GREY, string);
                        SendClientMessageEx(playerid, COLOR_GREY, "Failure to pay this ticket as soon as possible will result in a fine, or even an arrest.");
                    }
                }
                else if(i == PlayerInfo[playerid][pVehicleKeysFrom]) {

                    new
                        string[64 + MAX_PLAYER_NAME];

                    format(string, sizeof(string),"You have the keys for this %s from owner %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
                    SendClientMessageEx(playerid, COLOR_GREY, string);
                }
                else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 1) {
                    GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
                    SetTimerEx("DisableVehicleAlarm", 20000, 0, "d",  newcar);
                }
                else if(PlayerVehicleInfo[i][v][pvLocked] == 1 && PlayerVehicleInfo[i][v][pvLock] == 2) {

                    new
                        string[49 + MAX_PLAYER_NAME];

                    if(PlayerInfo[playerid][pAdmin] < 2)
                    {
                        format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
                        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                        new Float:X, Float:Y, Float:Z, Float:HP;
                        GetPlayerPos(playerid, X, Y, Z);
                        SendAudioToRange(10300, 100, X, Y, Z, 20.0);
                        SetPlayerPos(playerid, X + 1, Y, Z);
                        RemovePlayerFromVehicle(playerid);
                        SetPVarInt(playerid, "IsFrozen", 1);
                        TogglePlayerControllable(playerid,0);
                        SetTimerEx("ReleasePlayer", 5000, 0, "d", playerid);
                        GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
                        GetPlayerHealth(playerid,HP);
                        SetPlayerHealth(playerid,HP-6);
                    }
                    else
                    {
                        format(string, sizeof(string), "Warning: This %s is owned by %s.", GetVehicleName(newcar), GetPlayerNameEx(i));
                        SendClientMessageEx(playerid, COLOR_GREY, string);
                    }
                }
                return 1;
            }
        }

        for(new f = 0; f < MAX_FAMILY; f++) {
            v = GetGangVehicle(f, newcar);
            if(v != -1) {
                new string[49 + MAX_PLAYER_NAME];
                if(PlayerInfo[playerid][pFMember] == f)
                {
                    format(string, sizeof(string), "You are in the family that owns this %s.", GetVehicleName(newcar));
                    SendClientMessageEx(playerid, COLOR_GREY, string);
                }
                else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 1)
                {
                    GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(newcar,engine,lights,VEHICLE_PARAMS_ON,doors,bonnet,boot,objective);
                    SetTimerEx("DisableVehicleAlarm", 20000, 0, "d",  newcar);
                }
                else if(FamilyVehicleInfo[f][v][fvLocked] == 1 && FamilyVehicleInfo[f][v][fvLock] == 2)
                {
                    format(string, sizeof(string), "* %s has been stunned by the electric anti-theft.",GetPlayerNameEx(playerid));
                    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                    new Float:X, Float:Y, Float:Z, Float:HP;
                    GetPlayerPos(playerid, X, Y, Z);
                    SendAudioToRange(10300, 100, X, Y, Z, 20.0);
                    SetPlayerPos(playerid, X + 1, Y, Z);
                    RemovePlayerFromVehicle(playerid);
                    new Float:slx, Float:sly, Float:slz;
                    GetPlayerPos(playerid, slx, sly, slz);
                    SetPlayerPos(playerid, slx, sly, slz);
                    SetPVarInt(playerid, "IsFrozen", 1);
                    TogglePlayerControllable(playerid,0);
                    SetTimerEx("ReleasePlayer", 6000, 0, "d", playerid);
                    GameTextForPlayer(playerid,"~r~STUNNED!",11000,3);
                    GetPlayerHealth(playerid,HP);
                    SetPlayerHealth(playerid,HP-6);
                }
                return 1;
            }
        }
        new vehicleid = newcar;
        if(IsVIPcar(vehicleid))
        {
            if(PlayerInfo[playerid][pDonateRank] > 0)
            {
                SendClientMessageEx(playerid, COLOR_YELLOW, "VIP: This is a VIP vehicle from the VIP garage, therefore it has unlimited fuel.");
            }
            else
            {
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz+1.3);
                PlayerPlaySound(playerid, 1130, slx, sly, slz+1.3);
                RemovePlayerFromVehicle(playerid);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not a VIP, this is a vehicle from the VIP Garage!");
            }
        }
        else if(IsAnAmbulance(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 4||PlayerInfo[playerid][pLeader] == 4)
            {
                if(LSFMDVehicles[13] == vehicleid && PlayerInfo[playerid][pRank] < 5)
                {
                    RemovePlayerFromVehicle(playerid);
                    new Float:slx, Float:sly, Float:slz;
                    GetPlayerPos(playerid, slx, sly, slz);
                    SetPlayerPos(playerid, slx, sly, slz);
                    NOPCheck(playerid);
                    SendClientMessageEx(playerid, COLOR_GRAD2, "Only ranks 5+ can drive this vehicle.");
                }
            }
            else
            {
                SendClientMessageEx(playerid,COLOR_GREY,"   You are not in the LSFMD!");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
            }
        }
        else if(IsAnCASTCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the CAST!");
            }
        }
        else if(IsAnBHFCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SA50/BHF!");
            }
        }
        else if(IsAnEPCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pMember] == 3 && PlayerInfo[playerid][pRank] >= 5)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SA5.0 Executive Protection Division!");
            }
        }
        else if(IsACopCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 1||PlayerInfo[playerid][pLeader] == 1)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the CAPD!");
            }
        }
        else if(IsASA50Car(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 10||PlayerInfo[playerid][pLeader] == 10)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SA50!");
            }
        }

        else if(IsATruckCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 14||PlayerInfo[playerid][pLeader] == 14)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the trucking faction!");
            }
        }

        else if(IsAHouse275Car(vehicleid))
        {
            TogglePlayerControllable(playerid, false);
            ShowPlayerDialog(playerid, House275CAR, DIALOG_STYLE_INPUT, "KeyPad", "Password:", "ENTER", "ENTER");
        }
        else if(IsAFBICar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 2||PlayerInfo[playerid][pLeader] == 2)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the FBI!");
            }
        }
        else if(IsAnNGARMCar(vehicleid))
        {
            if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 2 || PlayerInfo[playerid][pDivision] == 3 || PlayerInfo[playerid][pDivision] == 6 || PlayerInfo[playerid][pDivision] == 7))
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the NG ARM Division!");
            }
        }
        else if(vehicleid == LSFMDVehicles[12] || vehicleid == LSFMDVehicles[33] || vehicleid == LSFMDVehicles[34] || vehicleid == LSFMDVehicles[35])
        {
            if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 1)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Fire Department Division!");
            }
        }
        else if(vehicleid == LSFMDVehicles[37] || vehicleid == LSFMDVehicles[36])
        {
            if(PlayerInfo[playerid][pLeader] == 4 || PlayerInfo[playerid][pMember] == 4 && PlayerInfo[playerid][pDivision] == 2)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the Life Flight Division!");
            }
        }
        else if(IsAnNGAIRCar(vehicleid))
        {
            if((PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11) && (PlayerInfo[playerid][pDivision] == 1 || PlayerInfo[playerid][pDivision] == 4))
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SAAS AIR Division!");
            }
        }
        else if(IsAnNGCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SAAS!");
            }
        }
        else if(IsAnDOCCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 11||PlayerInfo[playerid][pLeader] == 11)
            {
            }
            else
            {
                NOPCheck(playerid);
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SAAS!");
            }
        }
        else if(IsAnMPSCar(vehicleid))
        {
            if(IsACop(playerid))
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You aren't in a LEO Faction.");
            }
        }
        else if(IsANewsCar(vehicleid))
        {
            if(PlayerInfo[playerid][pMember] == 9 ||PlayerInfo[playerid][pLeader] == 9)
            {
            }
            else
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid, COLOR_GRAD2, "You are not in the SANews!");
            }
        }
        else if(IsAPlane(vehicleid))
        {
            if(PlayerInfo[playerid][pFlyLic] != 1)
            {
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
                NOPCheck(playerid);
                SendClientMessageEx(playerid,COLOR_GREY,"You don't have a pilot license!");
            }
        }
        else if(IsAHelicopter(vehicleid))
        {
            PlayerInfo[playerid][pAGuns][GetWeaponSlot(46)] = 46;
            GivePlayerValidWeapon(playerid, 46, 2000);
        }
        else if(IsAnTaxi(vehicleid) || IsAnBus(vehicleid))
        {
            if(PlayerInfo[playerid][pJob] == 17 || PlayerInfo[playerid][pJob2] == 17 || PlayerInfo[playerid][pMember] == 10 || PlayerInfo[playerid][pLeader] == 10 || PlayerInfo[playerid][pTaxiLicense] == 1)
            {
            }
            else
            {
                SendClientMessageEx(playerid,COLOR_GREY,"   You are not a Taxi/Bus Driver!");
                RemovePlayerFromVehicle(playerid);
                new Float:slx, Float:sly, Float:slz;
                GetPlayerPos(playerid, slx, sly, slz);
                SetPlayerPos(playerid, slx, sly, slz);
            }
        }
        if( GetPVarInt( playerid, "ToBeEjected" ) >= 1 )
        {
            SetPVarInt( playerid, "ToBeEjected", 0 );
            RemovePlayerFromVehicle( playerid );
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid, X, Y, Z);
            SetPlayerPos(playerid, X, Y, Z+2);

            if(GetPVarInt(playerid, "Injured") == 1)
            {
                Streamer_UpdateEx(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
                SetPlayerPos(playerid, GetPVarFloat(playerid,"MedicX"), GetPVarFloat(playerid,"MedicY"), GetPVarFloat(playerid,"MedicZ"));
                SetPlayerVirtualWorld(playerid, GetPVarInt(playerid,"MedicVW"));
                SetPlayerInterior(playerid, GetPVarInt(playerid,"MedicInt"));
                ClearAnimations(playerid);
                ApplyAnimation(playerid, "KNIFE", "KILL_Knife_Ped_Die", 4.0, 0, 1, 1, 1, 0, 1);
            }
        }
        //if(lights == VEHICLE_PARAMS_UNSET) SetVehicleParamsEx(newcar,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
        TelePos[playerid][0] = 0.0;
        TelePos[playerid][1] = 0.0;
        //SetPVarInt(playerid, "LastWeapon", GetPlayerWeapon(playerid));
        if(IsARental(newcar) && gBike[playerid] == 0 && gBikeRenting[playerid] == 0)
        {
            TogglePlayerControllable(playerid,0);
            ShowPlayerDialog(playerid, RENTMENU, DIALOG_STYLE_LIST, "Unity Station's Rental Cars","15 Minutes - 1000$\n30 Minutes - 2000$\n1 Hour - 4000$", "Rent", "Cancel");
        }
        if(GetCarDealershipVehicleId(newcar) != -1 && GetCarDealershipVehicleId(newcar) == GetPVarInt(playerid, "editingcdveh")) return 1;
        if(GetCarDealershipVehicleId(newcar) != -1)
        {
            new string[57 + 20 + 4];
            format(string, sizeof(string),"Would you like to buy this %s?\n\nThis vehicle costs $%d.", GetVehicleName(newcar), CarDealershipInfo[GetCarDealershipId(newcar)][cdVehicleCost][GetCarDealershipVehicleId(newcar)]);
            ShowPlayerDialog(playerid,DIALOG_CDBUY,DIALOG_STYLE_MSGBOX,"Warning:",string,"Buy","Cancel");
            TogglePlayerControllable(playerid, false);
            return 1;
        }
        GetVehicleParamsEx(newcar,engine,lights,alarm,doors,bonnet,boot,objective);
        if((engine == VEHICLE_PARAMS_UNSET || engine == VEHICLE_PARAMS_OFF) && GetVehicleModel(newcar) != 509 && GetVehicleModel(newcar) != 481 && GetVehicleModel(newcar) != 510) {
            SendClientMessageEx(playerid, COLOR_WHITE, "This vehicle's engine is not running - if you wish to start it, type /car engine or Press ''Y''.");
        }
        else
        {
            if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 481 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 509 && GetVehicleModel(GetPlayerVehicleID(playerid)) != 510)
            {
                SetPVarInt(playerid, "fuelonoff", 1);
                FuelBar[playerid] = CreateProgressBar(550.00, 109.00, 55.50, 3.20, 866792447, 100.0);
                textdrawscount++;
                SetProgressBarValue(FuelBar[playerid], VehicleFuel[GetPlayerVehicleID(playerid)]);
                ShowProgressBarForPlayer(playerid, FuelBar[playerid]);
            }
        }
    }
    if((newstate == 2 || newstate == 3 || newstate == 7 || newstate == 9) && pTazer[playerid] == 1)
    {
        GivePlayerValidWeapon(playerid, pTazerReplace[playerid], 2000);
        pTazer[playerid] = 0;
    }
    if(newstate == PLAYER_STATE_SPAWNED)
    {
        if(ConnectedToPC[playerid] == 1337)//mdc
        {
            ConnectedToPC[playerid] = 0;
        }
        TelePos[playerid][0] = 0.0;
        TelePos[playerid][1] = 0.0;
        gPlayerSpawned[playerid] = 1;
        SafeTime[playerid] = 60;
    }
    IsPlayerSteppingInVehicle[playerid] = -1;
    return 1;
}
Reply
#4

What was the last thing you done or edited here?

EDIT:If im right the runtime error just means that you tried to set array to bigger than it is already created.
Reply
#5

Quote:
Originally Posted by Dziugsas
Посмотреть сообщение
What was the last thing you done or edited here?
I didn't edited any thing under OnPlayerStateChange. I just removed some textdraw which made problems to my dialogs and got me some of those warning on the past. but now after i removed the actual textdraw it seems like there is new problem but with OnPlayerStateChange.
Reply
#6

It think your problem is the GettingSpectated[playerid] = 999; you probably made (new GettingSpectated[MAX_PLAYERS] and the max players are 500 and that gets you out of bounds.Try setting lower than 500.
Reply
#7

Quote:
Originally Posted by Dziugsas
Посмотреть сообщение
It think your problem is the GettingSpectated[playerid] = 999; you probably made (new GettingSpectated[MAX_PLAYERS] and the max players are 500 and that gets you out of bounds.Try setting lower than 500.
The max players are 100 actually. and this problem was never there before. as you see its a GF edit it came like that im pretty sure that MAX_PLAYERS means playerid from all the players in the server and 999 is just the variable is 999. which is ok.
Reply
#8

Quote:
Originally Posted by maximthepain
Посмотреть сообщение
The max players are 100 actually. and this problem was never there before. as you see its a GF edit it came like that im pretty sure that MAX_PLAYERS means playerid from all the players in the server and 999 is just the variable is 999. which is ok.
Just try.You wont get hurt.
Reply
#9

Quote:
Originally Posted by Dziugsas
Посмотреть сообщение
Just try.You wont get hurt.
Actually. I tried that and the error is gone!

Thanks friend! I hope it doesn't bug the spectate function
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)