error Array index out of bounds
#1

usando crashdetected,en la consola me sale:
Quote:

[16:44:12] [debug] Run time error 4: "Array index out of bounds"
[16:44:12] [debug] Accessing element at index 565735131 past array upper bound 127
[16:44:12] [debug] AMX backtrace:
[16:44:12] [debug] #0 000be00c in public PlayVehicleRadioForPlayer (26, 565735131) from DM.amx
[16:44:12] [debug] #1 000ba77c in public OnPlayerStateChange (26, 3, 1) from DM.amx

como lo soluciono ? aca estan las public's de los errores
pawn Код:
public PlayVehicleRadioForPlayer(playerid,online)
    {
        if(playerid != INVALID_PLAYER_ID)
    {
        format(string2,sizeof(string2),"%s",RadioParams[online][0]);
        GameTextForPlayer(playerid,string2,3500,5);
        if(online == 0)
        {
            StopAudioStreamForPlayer(playerid);
            return 1;
        }
        StopAudioStreamForPlayer(playerid);
        PlayAudioStreamForPlayer(playerid,RadioParams[online][1]);
        }
        return 1;
    }
pawn Код:
public OnPlayerStateChange(playerid, newstate, oldstate) {

    if(playerid != INVALID_PLAYER_ID)
    {
    if (newstate == PLAYER_STATE_DRIVER)
{
    SetPlayerArmedWeapon(playerid, 0);
    }

    switch(newstate) {
        case PLAYER_STATE_ONFOOT: {
            switch(oldstate) {
                case PLAYER_STATE_DRIVER: OnPlayerExitVehicle(playerid,255);
                case PLAYER_STATE_PASSENGER: OnPlayerExitVehicle(playerid,255);
            }
        }
    }

    if(newstate == PLAYER_STATE_ONFOOT)
    {
        if(SaltosBici[playerid] > 1) SaltosBici[playerid] = 1;
    }

    if( newstate == PLAYER_STATE_DRIVER )
    {
    modelid3[playerid]= GetVehicleModel(GetPlayerVehicleID(playerid));

    if(GetPlayerState(playerid)==2)
    {
    new vehicleid=GetPlayerVehicleID(playerid);
    AddVehicleComponent(vehicleid,1010);
    }

    return 1;
    }

        if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
    {

        new veh = GetPlayerVehicleID(playerid);
        if(IsAVel(veh)) return 0;
        new seat = GetPlayerVehicleSeat(playerid);
        if(seat != 0)
        {
            PassengerInCar[veh][seat] = playerid;
            PassengerSeat[playerid] = seat;
            OldCar[playerid] = veh;
        }
        PlayVehicleRadioForPlayer(playerid,VehRadio[veh]);
    }
    if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER)
    {

        new veh = GetPlayerVehicleID(playerid);
        if(IsAVel(veh)) return 0;
        StopAudioStreamForPlayer(playerid);
        if(OldCar[playerid] != INVALID_VEHICLE_ID)
        {
            PassengerInCar[OldCar[playerid]][PassengerSeat[playerid]] = INVALID_PLAYER_ID;
            OldCar[playerid] = INVALID_VEHICLE_ID;
        }
    }


    if( oldstate == PLAYER_STATE_DRIVER )
    {
    modelid3[playerid]= 0;
    }
    }
    return 1;
}
Reply
#2

Usted tuvo un desbordamiento de una matriz, probablemente 'RadioParams'. Muйstranos tu definiciуn.

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)