20.03.2016, 15:48
Ive never faced that problem before,anyone have solution?
Код:
[debug] AMX backtrace: [debug] #0 00035280 in public VehicleListener () from rp.amx [debug] Accessing element at index 65535 past array upper bound 1999
Код:
public VehicleListener() { if(derby_sys_countdown > 0) { derby_sys_countdown --; } if(derby_sys_countdown <= 4 && derby_sys_countdown > 0) { new str[64]; format(str,sizeof(str),"DERBY STARTS IN: %d",(derby_sys_countdown - 1)); for(new a = 0; a < MAX_PLAYERS; a ++) { if(IsPlayerConnectedEx(a)) { if(derby_sys_driver[a]) { GameTextForPlayer(a,str,1000,5); if(derby_sys_countdown >= 2) { PlayerPlaySound(a,1056,0.0,0.0,0.0); } else if(derby_sys_countdown == 1) { PlayerPlaySound(a,1057,0.0,0.0,0.0); TogglePlayerControllable(a,1); } } } } } if(nascar_sys_countdown > 0) { nascar_sys_countdown --; } if(nascar_sys_countdown <= 4 && nascar_sys_countdown > 0) { new str[64]; format(str,sizeof(str),"RACE STARTS IN: %d",(nascar_sys_countdown - 1)); for(new a = 0; a < MAX_PLAYERS; a ++) { if(IsPlayerConnectedEx(a)) { if(nascar_sys_driver[a]) { GameTextForPlayer(a,str,1000,5); if(nascar_sys_countdown >= 2) { PlayerPlaySound(a,1056,0.0,0.0,0.0); } else if(nascar_sys_countdown == 1) { PlayerPlaySound(a,1057,0.0,0.0,0.0); TogglePlayerControllable(a,1); RefreshNascarStage(a); } } } } } for(new slot = 0; slot < MAX_RP_VEHICLES; slot ++) { if(VehicleInfo[slot][vVehicle] > -1) { if(sync_engine_off[VehicleInfo[slot][vVehicle]]) { StopEngine(VehicleInfo[slot][vVehicle]); sync_engine_off[VehicleInfo[slot][vVehicle]] = 0; } if(sync_attribs[VehicleInfo[slot][vVehicle]]) { AddVehicleMods(VehicleInfo[slot][vVehicle]); ResyncColors(VehicleInfo[slot][vVehicle]); sync_attribs[VehicleInfo[slot][vVehicle]] = 0; } if(VehicleInfo[slot][vSelling] > -1) { if(gettime() >= VehicleInfo[slot][vSellingExpire]) { if(!vehicle_creating) { vehicle_creating = 1; SendMail(VehicleInfo[slot][vOwner],"Your sale has expired","Unfortunatelly your vehicle sale has expired, we couldnt find anyone that wanted your car!","Palomino Creek Used Vehicles",(slot + 20000)); VehicleInfo[slot][vSelling] = -1; VehicleInfo[slot][vSellingExpire] = 0; VehicleInfo[slot][vSellingPrice] = 0; DestroyVehicle(VehicleInfo[slot][vVehicle]); VehicleInfo[slot][vVehicle] = CreateVehicle(VehicleInfo[slot][vModel],VehicleInfo[slot][vSpawnX],VehicleInfo[slot][vSpawnY],VehicleInfo[slot][vSpawnZ],VehicleInfo[slot][vSpawnR],VehicleInfo[slot][vColor1],VehicleInfo[slot][vColor2],-1); if(strlen(VehicleInfo[slot][vPlate])) { SetVehicleNumberPlate(VehicleInfo[slot][vVehicle],VehicleInfo[slot][vPlate]); } sync_attribs[VehicleInfo[slot][vVehicle]] = 1; sync_engine_off[VehicleInfo[slot][vVehicle]] = 1; for(new bizes = 0; bizes < MAX_BIZES; bizes ++) { if(BizInfo[bizes][bType] == BIZ_TYPE_VAUCTION) { for(new z = 0; z < 5; z ++) { if(used_vehicle_slots[bizes][z] == slot) { DestroyPickup(used_vehicle_pickups[bizes][z]); used_vehicle_slots[bizes][z] = -1; used_vehicle_pickups[bizes][z] = 0; } } } } vehicle_creating = 0; } } } if(IsEngineOn(VehicleInfo[slot][vVehicle]) && !sync_engine_off[VehicleInfo[slot][vVehicle]] && !IsPushbike(GetVehicleModel(VehicleInfo[slot][vVehicle]))) { if(fuel_interval[VehicleInfo[slot][vVehicle]] <= 0) { VehicleInfo[slot][vFuel] --; fuel_interval[VehicleInfo[slot][vVehicle]] = FetchFuelInterval(VehicleInfo[slot][vVehicle]); FuelCheck(VehicleInfo[slot][vVehicle]); } else if(fuel_interval[VehicleInfo[slot][vVehicle]] > 0) { fuel_interval[VehicleInfo[slot][vVehicle]] --; } } if(vehicle_alarm_time[VehicleInfo[slot][vVehicle]] == 1) { StopAlarm(VehicleInfo[slot][vVehicle]); vehicle_alarm_time[VehicleInfo[slot][vVehicle]] = 0; } if(vehicle_alarm_time[VehicleInfo[slot][vVehicle]] > 1) { vehicle_alarm_time[VehicleInfo[slot][vVehicle]] --; } if(VehicleInfo[slot][vDeathTime] == 1) { new vehowner = -1; for(new a = 0; a < MAX_PLAYERS; a ++) { if(IsPlayerConnectedEx(a)) { if(CharacterInfo[a][active_character[a]][cID] == VehicleInfo[slot][vOwner]) { vehowner = a; } } } if(vehowner > -1) { new vname[256]; new str[256]; GetVehicleNameByModel(VehicleInfo[slot][vModel],vname); format(str,sizeof(str),"You failed to redeem your %s in time. You have lost it!",vname); SendClientMessageA(vehowner,COLOR_LIGHTRED,str); VehicleInfo[slot][vOwner] = 0; VehicleInfo[slot][vInsurance] = 0; VehicleInfo[slot][vDestroyed] = 0; VehicleInfo[slot][vModel] = 0; VehicleInfo[slot][vSpawnX] = 0.0; VehicleInfo[slot][vSpawnY] = 0.0; VehicleInfo[slot][vSpawnZ] = 0.0; VehicleInfo[slot][vDeathTime] = 0; format(str,sizeof(str),"UPDATE rp_vehicles SET truncated = 1 WHERE id = '%d'",VehicleInfo[slot][vID]); mysql_query(str,slot); } } if(VehicleInfo[slot][vDeathTime] > 1) { VehicleInfo[slot][vDeathTime] --; } if(startup_delay[VehicleInfo[slot][vVehicle]] > 0) { startup_delay[VehicleInfo[slot][vVehicle]] --; if(startup_delay[VehicleInfo[slot][vVehicle]] == 0 && IsPlayerInVehicle(startup_delay_sender[VehicleInfo[slot][vVehicle]],VehicleInfo[slot][vVehicle])) { new vname[128]; GetVehicleNameByModel(GetVehicleModel(VehicleInfo[slot][vVehicle]),vname); new str[128]; format(str,sizeof(str),"starts the %s's engine",vname); SendEmote(startup_delay_sender[VehicleInfo[slot][vVehicle]],str); StartEngine(VehicleInfo[slot][vVehicle]); startup_delay_sender[VehicleInfo[slot][vVehicle]] = -1; } else if(startup_delay[VehicleInfo[slot][vVehicle]] == 0) { startup_delay_sender[VehicleInfo[slot][vVehicle]] = -1; } } } } for(new i = 0; i < MAX_VEHICLES; i ++) { if(GetVehicleDistanceFromPoint(i,vpos[i][0],vpos[i][1],vpos[i][2]) > 15.0 && vpos[i][0] != 0.0 && vpos[i][1] != 0.0 && vpos[i][2] != 0.0) { if(!IsAnyPlayerInVehicle(i)) { SetVehiclePosEx(i,vpos[i][0],vpos[i][1],vpos[i][2]); SetVehicleZAngle(i,vpos[i][3]); printf("Vehicle ID: %d just travelled more than 15 meters with no one in it! Resetting its position."); } } new Float:X, Float:Y, Float:Z, Float:R; GetVehiclePos(i,X,Y,Z); GetVehicleZAngle(i,R); vpos[i][0] = X; vpos[i][1] = Y; vpos[i][2] = Z; vpos[i][3] = R; } }