ruslan14141414 1 Опубликовано 4 февраля, 2016 помогите пожалуйста исправить forward Drift(); public Drift(){ new Float:Angle1, Float:Angle2, Float:BySpeed, s[256]; new Float:Z; new Float:X; new Float:Y; new Float:SpeedX; for(new g=0;g<200;g++){ GetPlayerPos(g, X, Y, Z); SpeedX = floatsqroot(floatadd(floatadd(floatpower(floatabs(floatsub(X,SavedPos[ g ][ sX ])),2),floatpower(floatabs(floatsub(Y,SavedPos[ g ][ sY ])),2)),floatpower(floatabs(floatsub(Z,SavedPos[ g ][ sZ ])),2))); Angle1 = ReturnPlayerAngle(g); Angle2 = GetPlayerTheoreticAngle(g); BySpeed = floatmul(SpeedX, 12); new model = GetPlayerVehicleID(g); if(model == DriftCars[0] && model == DriftCars[1] || model == DriftCars[2] || model == DriftCars[3] || model == DriftCars[4] || model == DriftCars[5] || model == DriftCars[6] || model == DriftCars[7] || model == DriftCars[8] || model == DriftCars[9] || model == DriftCars[10] || model == DriftCars[11] || model == DriftCars[12] || model == DriftCars[13] || model == DriftCars[14] || model == DriftCars[15] || model == DriftCars[16] || model == DriftCars[17] || model == DriftCars[18] || model == DriftCars[19] || model == DriftCars[20] || model == DriftCars[21] || model == DriftCars[22] || model == DriftCars[23] || model == DriftCars[24] || model == DriftCars[25] || model == DriftCars[26] || model == DriftCars[27] || model == DriftCars[28] || model == DriftCars[29] || model == DriftCars[30]) { if(IsPlayerInAnyVehicle(g) == 1 && GetPlayerState(g) == PLAYER_STATE_DRIVER && floatabs(floatsub(Angle1, Angle2)) > DRIFT_MINKAT && floatabs(floatsub(Angle1, Angle2)) < DRIFT_MAXKAT && BySpeed > DRIFT_SPEED){ if(PlayerDriftCancellation[g] > 0)KillTimer(PlayerDriftCancellation[g]); PlayerDriftCancellation[g] = 0; pStats[g][pScore] ++; DriftPointsNow[g] += 50; PlayerDriftCancellation[g] = SetTimerEx("DriftCancellation", 3000, 0, "d", g); } if(DriftPointsNow[g] > 0){ format(s, sizeof(s), "+%d$", DriftPointsNow[g]); TextDrawSetString(Drifter[g], s); TextDrawShowForPlayer(g, Drifter[g]); } SavedPos[ g ][ sX ] = X; SavedPos[ g ][ sY ] = Y; SavedPos[ g ][ sZ ] = Z; } } } [10:47:43] [debug] #0 001731b0 in public Drift () at C:\Users\admin\Desktop\Новая папка (10)\Drift\gamemodes\Drift.pwn:27420 [10:47:43] [debug] Run time error 4: "Array index out of bounds" [10:47:43] [debug] Accessing element at index 100 past array upper bound 99 вот это строка SpeedX = floatsqroot(floatadd(floatadd(floatpower(floatabs(floatsub(X,SavedPos[ g ][ sX ])),2),floatpower(floatabs(floatsub(Y,SavedPos[ g ][ sY ])),2)),floatpower(floatabs(floatsub(Z,SavedPos[ g ][ sZ ])),2))); Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Smolin 1,410 Опубликовано 4 февраля, 2016 for(new g=0;g<200;g++) замени на for(new g=0; g<MAX_PLAYERS; g++) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты