//Compile out Title Update changes to header functions. //Must be before includes. //CONST_INT USE_TU_CHANGES 0 // Removed by Kenneth R. USING "rage_builtins.sch" USING "globals.sch" USING "commands_camera.sch" USING "commands_pad.sch" USING "commands_script.sch" USING "commands_vehicle.sch" USING "commands_path.sch" USING "flow_public_core_override.sch" USING "commands_ped.sch" USING "commands_task.sch" USING "selector_public.sch" using "dialogue_public.sch" USING "commands_audio.sch" USING "drunk_public.sch" USING "beam_effect.sch" USING "CompletionPercentage_public.sch" USING "commands_graphics.sch" //using "cutscene_builder.sch" USING "replay_public.sch" using "ped_component_public.sch" USING "script_blips.sch" USING "script_ped.sch" USING "locates_public.sch" USING "player_ped_public.sch" #if IS_DEBUG_BUILD float fLastDesiredSpeed //vector vLastCoord float fZOffset float fRecSpeed[3] vector fixHeight vector vTakeoff float fTargetHeight[9] vector vFormationTarget[15] int checkPointStage /* //ped_index pedLamar,pedDrunk WIDGET_GROUP_ID thisWidget vector vLamar,vDrunkOffset float hDrunkOffset,hLamar bool bStart */ /* bool bPlay, bplaying,bsetDrunkStartToPlayer vector vDrunk,vLamar,vLamarTarget,vWalkTo,vShift,vNudgeThisFrame,vnew float hDrunk,hLamar,fGap, fLastGap WIDGET_GROUP_ID thisWidget PED_INDEX pedLamar,peddrunk int flag,iNudgeSteps SEQUENCE_INDEX seq */ vehicle_index dummyVehicle VEHICLE_INDEX vehLazer[3] vehicle_INdex vehPlayer int iStartTime enum enumProgress COUNTDOWN, FLYING, ENDED endenum enumProgress eProgress //debug bool wBredoVeh int wIveh float wFRecTime float lastRecTime bool bWidgetMade WIDGET_GROUP_ID wFormation, wRecord enum edebugState eDebugPending, eDebugWaitForVeh, eDebugWaitForPlayerOverride, eDebugOverridingRecording endenum edebugState debugState proc cleanup() int i repeat count_of(vehLazer) i if does_entity_exist(vehLazer[i]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[i]) STOP_PLAYBACK_RECORDED_VEHICLE(vehLazer[i]) ENDIF IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehLazer[i]) STOP_RECORDING_ALL_VEHICLES() ENDIF wait(0) DELETE_vehicle(vehLazer[i]) endif endrepeat if does_entity_exist(vehPlayer) SET_ENTITY_COORDS(player_ped_id(),get_entity_coords(player_ped_id())) IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehPlayer) STOP_RECORDING_ALL_VEHICLES() ENDIF DELETE_vehicle(vehPlayer) ENDIF if DOES_WIDGET_GROUP_EXIST(wFormation) DELETE_WIDGET_GROUP(wFormation) endif endproc PROC resetMission() int i SET_MAX_WANTED_LEVEL(0) SET_WANTED_LEVEL_MULTIPLIER(0.0) SET_PLAYER_WANTED_LEVEL(player_id(),0) SET_PLAYER_WANTED_LEVEL_NOW(player_id()) SUPPRESS_RESTRICTED_AREA_WANTED_LEVEL(AC_AIRPORT_AIRSIDE,true) SET_VEHICLE_POPULATION_BUDGET(0) REQUEST_VEHICLE_RECORDING(120,"pilotSchool") REQUEST_VEHICLE_RECORDING(121,"pilotSchool") REQUEST_VEHICLE_RECORDING(122,"pilotSchool") REQUEST_MODEL(LAZER) while not HAS_VEHICLE_RECORDING_BEEN_LOADED(120,"pilotSchool") or not HAS_VEHICLE_RECORDING_BEEN_LOADED(121,"pilotSchool") or not HAS_VEHICLE_RECORDING_BEEN_LOADED(122,"pilotSchool") or not HAS_MODEL_LOADED(LAZER) WAIT(0) ENDWHILE SET_DEBUG_LINES_AND_SPHERES_DRAWING_ACTIVE(true) repeat count_of(vehLazer) i IF DOES_ENTITY_EXIST(vehLazer[i]) DELETE_VEHICLE(vehLazer[i]) ENDIF endrepeat IF DOES_ENTITY_EXIST(vehPlayer) SET_ENTITY_COORDS(player_ped_id(),GET_ENTITY_COORDS(player_ped_id())) delete_vehicle(vehPlayer) ENDIF vehLazer[0] = CREATE_VEHICLE(LAZER,GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME(120,0,"pilotSchool")) vehLazer[1] = CREATE_VEHICLE(LAZER,GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME(121,0,"pilotSchool")) vehLazer[2] = CREATE_VEHICLE(LAZER,GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME(122,0,"pilotSchool")) dummyVehicle = CREATE_VEHICLE(LAZER,GET_POSITION_OF_VEHICLE_RECORDING_AT_TIME(120,0,"pilotSchool")) SET_ENTITY_VISIBLE(dummyVehicle,false) SET_ENTITY_COLLISION(dummyVehicle,false) SET_ENTITY_DYNAMIC(dummyVehicle,false) vehPlayer = CREATE_VEHICLE(LAZER,<<-960.0587, -3360.9028, 12.9444>>,60.4) SET_VEHICLE_USED_FOR_PILOT_SCHOOL(vehPlayer,true) SET_VEHICLE_USED_FOR_PILOT_SCHOOL(vehLazer[0],true) SET_VEHICLE_USED_FOR_PILOT_SCHOOL(vehLazer[1],true) SET_VEHICLE_USED_FOR_PILOT_SCHOOL(vehLazer[2],true) SET_PLANE_TURBULENCE_MULTIPLIER(vehPlayer,0.0) SET_PLANE_TURBULENCE_MULTIPLIER(vehLazer[0],0.0) SET_PLANE_TURBULENCE_MULTIPLIER(vehLazer[1],0.0) SET_PLANE_TURBULENCE_MULTIPLIER(vehLazer[2],0.0) SET_ENTITY_ROTATION(vehLazer[0],GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME(120,0,"pilotSchool")) SET_ENTITY_ROTATION(vehLazer[1],GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME(121,0,"pilotSchool")) SET_ENTITY_ROTATION(vehLazer[2],GET_ROTATION_OF_VEHICLE_RECORDING_AT_TIME(122,0,"pilotSchool")) SET_VEHICLE_ON_GROUND_PROPERLY(vehPlayer) SET_ENTITY_ROTATION(vehPlayer,<<0,0,60.4>>) SET_GAMEPLAY_CAM_RELATIVE_HEADING(0) iStartTime = GET_GAME_TIMER() + 3000 if not IS_PED_INJURED(PLAYER_PED_ID()) SET_PED_INTO_VEHICLE(player_ped_id(),vehPlayer) ENDIF eProgress = COUNTDOWN IF DOES_WIDGET_GROUP_EXIST(wRecord) DELETE_WIDGET_GROUP(wRecord) ENDIF IF NOT DOES_WIDGET_GROUP_EXIST(wFormation) wFormation = START_WIDGET_GROUP("FORMATION") STOP_WIDGET_GROUP() ENDIF SET_CURRENT_WIDGET_GROUP(wFormation) wRecord = START_WIDGET_GROUP("Record") add_widget_Bool("Redo vehicle",wBredoVeh) ADD_WIDGET_INT_SLIDER("veh",wIveh,0,2,1) STOP_WIDGET_GROUP() checkPointStage = 0 START_WIDGET_GROUP("Take Off") ADD_WIDGET_VECTOR_SLIDER("Take off point",vTakeoff,-4000,3000,1.0) ADD_WIDGET_FLOAT_SLIDER("Target Height",fTargetHeight[0],0,200,0.5) ADD_WIDGET_VECTOR_SLIDER("Target Coord",vFormationTarget[0],-4000,3000,1.0) STOP_WIDGET_GROUP() START_WIDGET_GROUP("Turn to") ADD_WIDGET_FLOAT_SLIDER("Target Height",fTargetHeight[1],0,200,0.5) ADD_WIDGET_VECTOR_SLIDER("Target Coord",vFormationTarget[1],-4000,3000,1.0) STOP_WIDGET_GROUP() CLEAR_CURRENT_WIDGET_GROUP(wFormation) ENDPROC FUNC FLOAT SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehicle_index leadVehicle, vehicle_index vehChasing, vehicle_index vehToAlter, vector vOffset, float fLeaderRecSpeed=1.0, float fMinSpeed=0.8, float fMaxSpeed=1.2) float fNewSpeed = 1.0 IF IS_VEHICLE_DRIVEABLE(leadVehicle) AND IS_VEHICLE_DRIVEABLE(vehChasing) AND IS_VEHICLE_DRIVEABLE(vehToAlter) // IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(leadVehicle) // IF GET_TIME_POSITION_IN_RECORDING(leadVehicle) < 24000 // OR GET_TIME_POSITION_IN_RECORDING(leadVehicle) > 44000 vector vChasing vector vTarget // vector vNormal //vector vResult float fHeading float fLeadHeading float fHeadingVariance float fDistanceToLead float fOffsetToLead float fMultiplyer vChasing = GET_ENTITY_COORDS(vehChasing) vTarget = GET_OFFSET_FROM_ENTITY_IN_WORLD_COORDS(leadVehicle,vOffset) fLeadHeading = GET_ENTITY_HEADING(leadVehicle) fHeading = GET_HEADING_FROM_COORDS(vChasing,vTarget) fHeadingVariance = fHeading - fLeadHeading fDistanceToLead = GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehChasing,vTarget) fOffsetToLead = COS(fHeadingVariance) * fDistanceToLead float pitch = GET_ENTITY_PITCH(leadVehicle) if pitch > 90.0 OR pitch < -90.0 fOffsetToLead *= -1.0 endif fMultiplyer = 1.0 if vehChasing = vehToAlter fMultiplyer*=-1.0 endif fNewSpeed = fLeaderRecSpeed + ((-fOffsetToLead * fMultiplyer) / 100.0) //cprintln(debug_trevor3,fNewSpeed," ",fOffsetToLead," ",fMultiplyer," ",fLeaderRecSpeed) if fNewSpeed < fMinSpeed fNewSpeed = fMinSpeed endif if fNewSpeed > fMaxSpeed fNewSpeed = fMaxSpeed endif if ABSF(fNewSpeed-1.0) < 0.02 fNewSpeed = 1.0 endif SET_PLAYBACK_SPEED(vehToAlter,fNewSpeed) cprintln(debug_trevor3,fNewSpeed," ",fLeadHeading," ",fHeading," ",fHeadingVariance," ",fDistanceToLead," ",fOffsetToLead) DRAW_DEBUG_SPHERE(vTarget,0.5,255,0,0,120) fMaxSpeed = fMaxSpeed fMinSpeed=fMinSpeed vOffset=vOffset /* float fLeadHeading fLeadHeading = GET_ENTITY_HEADING(leadVehicle) * -1.0 vNormal = <> vNormal = NORMALISE_VECTOR(vNormal) GET_LINE_PLANE_INTERSECT(vResult,vChasing,vNormal*500.0,vNormal,vFlyTo) float fRange = GET_DISTANCE_BETWEEN_COORDS(vResult,vChasing) float relHeading = GET_ENTITY_HEADING(vehChasing) - fHeading if vehChasing = vehplayer cprintln(debug_trevor3,fHeading," ",relHeading) endif if absf(relHeading) > 180 if relHeading < 0 relHeading += 360 else relHeading -=360 endif endif float fDist,fMultiplyer fDist = GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehChasing,vFlyTo,false) * absf(cos(relHeading)) if absf(relHeading) > 90 fMultiplyer = -1.0 else fMultiplyer = 1.0 endif if vehChasing = vehToAlter fMultiplyer*=-1.0 endif fNewSpeed = fLeaderRecSpeed + ((-fdist * fMultiplyer) / 100.0) //intercept speed //cprintln(debug_trevor3,"heading= ",fHeading," ent heading = ",GET_ENTITY_HEADING(vehChasing)," fDist= ",fDist," relHeading= ", relHeading , " fMultiplyer = " , fMultiplyer , " (-fdist * fMultiplyer) = " , (-fdist * fMultiplyer), " fNewSpeed = " , fNewSpeed) if fNewSpeed < fMinSpeed fNewSpeed = fMinSpeed endif if fNewSpeed > fMaxSpeed fNewSpeed = fMaxSpeed endif // cprintln(debug_trevor3,GET_GAME_TIMER()) // IF GET_DISTANCE_BETWEEN_ENTITIES(leadVehicle,vehToAlter) < 100 SET_PLAYBACK_SPEED(vehToAlter,fNewSpeed) // cprintln(debug_trevor3,"veh = ",native_to_int(vehToAlter)," fNewSpeed = ",fNewSpeed) // ELSE // fNewSpeed = 1.0 // SET_PLAYBACK_SPEED(vehToAlter,fNewSpeed) // ENDIF */ // ENDIF ENDIF RETURN fNewSpeed ENDFUNC PROC GET_PLANE_TO_HEIGHT(vehicle_index vehToAlter, float fGetToHeight, bool withRotation, bool withVelocity) IF IS_VEHICLE_DRIVEABLE(vehToAlter) vector vRot vector VCoord float vel float currentPitch float interceptTime float heightOffset float targetPitch float interceptZspeed float targetZspeed vCoord = GET_ENTITY_COORDS(vehToAlter) heightOffset = (fGetToHeight - VCoord.z) IF withRotation vrot = GET_ENTITY_ROTATION(vehToAlter) currentPitch = vRot.x vel = GET_ENTITY_SPEED(vehToAlter) interceptZspeed = sin(currentPitch) * vel interceptTime = heightOffset / interceptZspeed IF interceptTime < 2.0 targetZspeed = heightOffset / 2 targetPitch = ASIN(targetZspeed / vel) if absf(targetPitch - vRot.x) > 30.0 * timestep() if targetPitch > vRot.x targetPitch = vRot.x + 30.0 * timestep() else targetPitch = vRot.x - 30.0 * timestep() endif endif SET_ENTITY_ROTATION(vehToAlter,<>) // cprintln(debug_trevor3,"target pitch = ",targetPitch," actual pitch = ",currentPitch," vel = ",vel," interceptZspeed = ",interceptZspeed," height diff= ",heightOffset," interceptTime = ",interceptTime," targetZspeed = ",targetZspeed) ENDIF ENDIF IF withVelocity vector vPlayerSpeed vPlayerspeed = GET_ENTITY_VELOCITY(vehToAlter) SET_ENTITY_VELOCITY(vehToAlter,<>) ENDIF ENDIF ENDPROC PROC FORCE_PLANE_VERT_ROT(vehicle_index vehToAlter) vector vRot IF IS_VEHICLE_DRIVEABLE(vehToAlter) vRot = GET_ENTITY_ROTATION(vehToAlter) IF GET_ENTITY_PITCH(vehToAlter) > 90.0 vRot.x = 90.0 SET_ENTITY_ROTATION(vehToAlter,vRot) ENDIF cprintln(debug_trevor3,"Pitch = ",vRot.x," ",GET_ENTITY_PITCH(vehToAlter)) ENDIF ENDPROC PROC FORCE_PLAYER_VEH_HEIGHT(vehicle_index vehToAlter,vehicle_index vehToMatch, float offset = 0.0) IF IS_VEHICLE_DRIVEABLE(vehToAlter) AND IS_VEHICLE_DRIVEABLE(vehToMatch) //force player's vehicle to be correct height. vector vRot vector vPLayer,vLead float fVDist vRot = GET_ENTITY_ROTATION(vehToAlter) vRot=vRot vLead = GET_ENTITY_COORDS(vehToMatch) vPlayer = GET_ENTITY_COORDS(vehToAlter) if vehToAlter = vehToMatch fVDist = offset-vLead.z cprintln(debug_trevor3,"fix height = ",fixHeight.z," fVDist = ",fVDist) else fVDist = vLead.z-vPlayer.z+offset endif vector vPlayerSpeed vPlayerspeed = GET_ENTITY_VELOCITY(vehToAlter) IF absi(GET_CONTROL_VALUE(player_control,INPUT_VEH_FLY_PITCH_UD) - 128) < 5 and absf(vRot.x) < 5.0 and absf(vRot.y) < 5.0 and absf(fVDist) < 6.0 and IS_ENTITY_IN_AIR(vehToAlter) and GET_ENTITY_SPEED(vehToAlter) > 15.0 and GET_DISTANCE_BETWEEN_COORDS(vLead,vPlayer) < 150.0 //check if player isn't doing much to the float fRequiredZSpeed if absf(fVDist) < 3.0 fRequiredZSpeed = absf(fVdist) / 1.0 endif if absf(fVdist) >= 3.0 fRequiredZSpeed = absf(fVdist) / 1.0 endif if fVDist < 0.0 fRequiredZSpeed *= -1.0 endif fLastDesiredSpeed = fRequiredZSpeed //vector vCoord //vCoord = GET_ENTITY_COORDS(vehToAlter) //vector vDiff = vCoord - vLastCoord //vLastCoord = vCoord //float zSpeed //zSpeed = vDiff.z / timestep() //cprintln(debug_trevor3,"Required Speed = ",fRequiredZSpeed," offset = ",fZOffset) IF fLastDesiredSpeed > vPlayerspeed.z fZOffset += 2.5*timestep() endif IF fLastDesiredSpeed < vPlayerspeed.z fZOffset -= 2.5*timestep() endif fRequiredZSpeed += fZOffset // cprintln(debug_trevor3,"2) Required Speed = ", fRequiredZSpeed," vPlayerspeed.z = ",vPlayerspeed.z) IF fRequiredZSpeed - vPlayerspeed.z < -1.0 fRequiredZSpeed = vPlayerspeed.z - 1.0 endif IF fRequiredZSpeed - vPlayerspeed.z > 1.0 fRequiredZSpeed = vPlayerspeed.z + 1.0 endif // cprintln(debug_trevor3,"3) Required Speed = ", fRequiredZSpeed) //SET_ENTITY_HAS_GRAVITY(vehToAlter,false) vPlayerspeed = <> // IF fVDist < -1.0 vPlayerspeed -= <<0,0,absf(fRequiredZSpeed)>> ENDIF // IF fVDist > 1.0 vPlayerspeed += <<0,0,absf(fRequiredZSpeed)>> ENDIF SET_ENTITY_VELOCITY(vehToAlter,vPlayerSpeed) endif endif ENDPROC FUNC VECTOR GET_PLANE_OFFSET(vector vCoord,float heading, vector offset) float fXa,fYa,fxb,fyb heading *= -1.0 fxa = cos(heading) * offset.x fya = sin(heading) * offset.x * -1.0 fxb = sin(heading) * offset.y fyb = cos(heading) * offset.y RETURN vCoord+<> ENDFUNC PROC doDebug() IF wBredoVeh IF wIveh = 0 DRAW_DEBUG_SPHERE(vTakeoff,3.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_SPHERE(<>,5.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_LINE(<>,vFormationTarget[0],0,255,0,255) vTakeoff=vTakeoff DRAW_DEBUG_LINE(vFormationTarget[0],vFormationTarget[1],0,255,0,255) DRAW_DEBUG_SPHERE(vFormationTarget[1],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[2],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[3],5.0,255,0,0,100) DRAW_DEBUG_LINE(vFormationTarget[2],vFormationTarget[3],0,255,0,255) DRAW_DEBUG_SPHERE(vFormationTarget[4],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[5],5.0,255,0,0,100) DRAW_DEBUG_LINE(vFormationTarget[4],vFormationTarget[5],0,255,0,255) DRAW_DEBUG_SPHERE(vFormationTarget[6],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[7],5.0,255,0,0,100) DRAW_DEBUG_LINE(vFormationTarget[6],vFormationTarget[7],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[2],vFormationTarget[5],0,255,0,255) ENDIF IF wIveh = 1 DRAW_DEBUG_SPHERE(GET_PLANE_OFFSET(<<-1228.9534, -3205.4641, 12.9444>>,59.9,<<-10,-20,0>>),3.0,255,0,0,100) DRAW_DEBUG_SPHERE(GET_PLANE_OFFSET(<<-1228.9534, -3205.4641, 85.0>>,59.9,<<-20,-20,0>>),3.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_SPHERE(<>,5.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_LINE(GET_PLANE_OFFSET(<<-1228.9534, -3205.4641, 85.0>>,59.9,<<-20,-20,0>>),vFormationTarget[0],0,255,0,255) vTakeoff=vTakeoff DRAW_DEBUG_LINE(vFormationTarget[1],vFormationTarget[2],0,255,0,255) DRAW_DEBUG_SPHERE(vFormationTarget[1],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[2],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[3],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[4],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[5],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[6],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[7],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[8],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[9],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[10],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[11],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[12],5.0,255,0,0,100) DRAW_DEBUG_LINE(vFormationTarget[3],vFormationTarget[4],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[4],vFormationTarget[5],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[5],vFormationTarget[6],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[6],vFormationTarget[7],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[7],vFormationTarget[8],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[9],vFormationTarget[10],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[11],vFormationTarget[12],0,255,0,255) ELIF wIveh = 2 DRAW_DEBUG_SPHERE(GET_PLANE_OFFSET(<<-1228.9534, -3205.4641, 12.9444>>,59.9,<<10,-20,0>>),3.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_SPHERE(GET_PLANE_OFFSET(<<-1228.9534, -3205.4641, 85.0>>,59.9,<<20,-20,0>>),3.0,255,0,0,100) DRAW_DEBUG_SPHERE(<>,5.0,255,0,0,100) vTakeoff=vTakeoff DRAW_DEBUG_LINE(<>,vFormationTarget[0],0,255,0,255) vTakeoff=vTakeoff DRAW_DEBUG_LINE(vFormationTarget[1],vFormationTarget[2],0,255,0,255) DRAW_DEBUG_SPHERE(vFormationTarget[1],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[2],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[3],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[4],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[5],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[6],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[7],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[8],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[9],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[10],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[11],5.0,255,0,0,100) DRAW_DEBUG_SPHERE(vFormationTarget[12],5.0,255,0,0,100) DRAW_DEBUG_LINE(vFormationTarget[3],vFormationTarget[4],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[4],vFormationTarget[5],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[5],vFormationTarget[6],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[6],vFormationTarget[7],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[7],vFormationTarget[8],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[9],vFormationTarget[10],0,255,0,255) DRAW_DEBUG_LINE(vFormationTarget[11],vFormationTarget[12],0,255,0,255) ENDIF SWITCH debugState CASE eDebugPending cprintln(debug_trevor3,"Start bollox") iF wIveh = 0 cprintln(debug_trevor3,"iVeh = 0????") vTakeoff = <<-1228.9534, -3205.4641, 12.9444>> fTargetHeight[0] = 85.0 vFormationTarget[0] = <<-2700.6768, -2358.4080, 85.0>> vFormationTarget[1] = <<-3352.5100, -1980.7301, 85>> vFormationTarget[2] = <<-3196.3120, -1198.5851, 85>> //-3759.4558, -1192.6437, 75 vFormationTarget[3] = <<226.0905, -1215.6815, 85>> //start loop vFormationTarget[4] = <<279.6717, -1216.0490, 60>> //end loop vFormationTarget[5] = <<923.0837, -1219.3074, 60>> //start vertical vFormationTarget[6] = <<915.7158, -1222.3358, 194.0>> vFormationTarget[7] = <<87.5748, -1214.8563, 194.0>> ELIF wIveh = 1 vTakeoff = <<-1173.690430,-3250.503418,12.9444>> fTargetHeight[0] = 85.0 vFormationTarget[0] = <<-2378.7422, -2543.9849, 85.0>> vFormationTarget[1] = <<-2378.7422, -2543.9849, 85.0>> vFormationTarget[2] = <<-3352.5100, -1980.7301, 85>> vFormationTarget[3] = <<-3196.3120, -1198.5851, 85>> //-3759.4558, -1192.6437, 75 vFormationTarget[4] = <<-3029.6733, -1199.4188, 85>> vFormationTarget[5] = <<-2770.8884, -1200.6942, 100>> vFormationTarget[6] = <<-1364.1387, -1207.7056, 100>> //change to square formation vFormationTarget[7] = <<-1168.3983, -1208.6884, 85>> vFormationTarget[8] = <<226.0905, -1215.6815, 85>> vFormationTarget[9] = <<279.6717, -1216.0490, 60>> //end loop vFormationTarget[10] = <<923.0837, -1219.3074, 60>> //start vertical vFormationTarget[11] = <<915.7158, -1222.3358, 194.0>> vFormationTarget[12] = <<87.5748, -1214.8563, 194.0>> float fHeading fHeading = GET_HEADING_FROM_COORDS(vFormationTarget[1],vFormationTarget[2]) vFormationTarget[0] = GET_PLANE_OFFSET(vFormationTarget[0],fHeading,<<-20,-20,0>>) vTakeoff = GET_PLANE_OFFSET(vTakeoff,fHeading,<<-20,-20,0>>) fHeading = GET_HEADING_FROM_COORDS(vFormationTarget[7],vFormationTarget[8]) vFormationTarget[7] = GET_PLANE_OFFSET(vFormationTarget[7],fHeading-90.0,<<0,-15,0>>) vFormationTarget[8] = GET_PLANE_OFFSET(vFormationTarget[8],fHeading-90.0,<<0,-15,0>>) vFormationTarget[9] = GET_PLANE_OFFSET(vFormationTarget[9],fHeading-90.0,<<0,-15,0>>) vFormationTarget[10] = GET_PLANE_OFFSET(vFormationTarget[10],fHeading-90.0,<<0,-15,0>>) vFormationTarget[11] = GET_PLANE_OFFSET(vFormationTarget[11],fHeading-90.0,<<0,-15,0>>) vFormationTarget[12] = GET_PLANE_OFFSET(vFormationTarget[12],fHeading-90.0,<<0,-15,0>>) ELSE vTakeoff = <<-1228.9534, -3205.4641, 12.9444>> fTargetHeight[0] = 85.0 vFormationTarget[0] = <<-2378.7422, -2543.9849, 85.0>> vFormationTarget[1] = <<-2378.7422, -2543.9849, 85.0>> vFormationTarget[2] = <<-3352.5100, -1980.7301, 85>> vFormationTarget[3] = <<-3196.3120, -1198.5851, 85>> //-3759.4558, -1192.6437, 75 vFormationTarget[4] = <<-3029.6733, -1199.4188, 85>> vFormationTarget[5] = <<-2770.8884, -1200.6942, 130>> vFormationTarget[6] = <<-1364.1387, -1207.7056, 130>> //change to square formation vFormationTarget[7] = <<-1168.3983, -1208.6884, 85>> vFormationTarget[8] = <<226.0905, -1215.6815, 85>> vFormationTarget[9] = <<279.6717, -1216.0490, 60>> //end loop vFormationTarget[10] = <<923.0837, -1219.3074, 60>> //start vertical vFormationTarget[11] = <<915.7158, -1222.3358, 194.0>> vFormationTarget[12] = <<87.5748, -1214.8563, 194.0>> float fHeading fHeading = GET_HEADING_FROM_COORDS(vFormationTarget[1],vFormationTarget[2]) vFormationTarget[0] = GET_PLANE_OFFSET(vFormationTarget[0],fHeading,<<20,-20,0>>) vTakeoff = GET_PLANE_OFFSET(vTakeoff,fHeading,<<20,-20,0>>) fHeading = GET_HEADING_FROM_COORDS(vFormationTarget[7],vFormationTarget[8]) // vFormationTarget[7] = GET_PLANE_OFFSET(vFormationTarget[7],fHeading,<<0,0,0>>) // vFormationTarget[8] = GET_PLANE_OFFSET(vFormationTarget[8],fHeading,<<-7.5,0,15>>) // vFormationTarget[9] = GET_PLANE_OFFSET(vFormationTarget[9],fHeading,<<-7.5,0,15>>) // vFormationTarget[10] = GET_PLANE_OFFSET(vFormationTarget[10],fHeading,<<-7.5,0,15>>) // vFormationTarget[11] = GET_PLANE_OFFSET(vFormationTarget[11],fHeading,<<-7.5,0,15>>) // vFormationTarget[12] = GET_PLANE_OFFSET(vFormationTarget[12],fHeading,<<-7.5,0,15>>) endif resetMission() debugState = eDebugWaitForVeh BREAK CASE eDebugWaitForVeh IF DOES_ENTITY_EXIST(vehLazer[wIveh]) IF IS_VEHICLE_DRIVEABLE(vehLazer[wIveh]) SET_PED_INTO_VEHICLE(player_ped_id(),vehLazer[wIveh]) debugState = eDebugWaitForPlayerOverride ENDIF ENDIF BREAK CASE eDebugWaitForPlayerOverride IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[wIveh]) IF NOT bWidgetMade SET_CURRENT_WIDGET_GROUP(wRecord) float fDuration int iRec iRec = 120+wIveh cprintln(debug_trevor3,"rec: ",wIveh) fDuration = GET_TOTAL_DURATION_OF_VEHICLE_RECORDING(iRec,"pilotSchool") //SWITCH aVeh //CASE aVeh //iDuration = GET_TOTAL_DURATION_OF_VEHICLE_RECORDING(121,"pilotSchool") //BREAK // CASE vehLazer[1] iDuration = GET_TOTAL_DURATION_OF_VEHICLE_RECORDING(122,"pilotSchool") BREAK // CASE vehLazer[2] iDuration = GET_TOTAL_DURATION_OF_VEHICLE_RECORDING(123,"pilotSchool") BREAK //ENDSWITCH bWidgetMade = true ADD_WIDGET_FLOAT_SLIDER("Rec Time",wFRecTime,0,fDuration,0.1) lastRecTime = 0 CLEAR_CURRENT_WIDGET_GROUP(wRecord) ENDIF IF wFRecTime != lastRecTime lastRecTime = GET_TIME_POSITION_IN_RECORDING(vehLazer[wIveh]) SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehLazer[wIveh],wFRecTime-lastRecTime) IF wIveh != 0 SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehLazer[0],wFRecTime-lastRecTime) ENDIF IF wIveh != 1 SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehLazer[1],wFRecTime-lastRecTime) ENDIF IF wIveh != 2 SKIP_TIME_IN_PLAYBACK_RECORDED_VEHICLE(vehLazer[2],wFRecTime-lastRecTime) ENDIF lastRecTime = wFRecTime ELSE wFRecTime = GET_TIME_POSITION_IN_RECORDING(vehLazer[wIveh]) lastRecTime = wFRecTime ENDIF ENDIF IF absi(GET_CONTROL_VALUE(player_control,INPUT_VEH_FLY_PITCH_UD) - 128) > 5 OR absi(GET_CONTROL_VALUE(player_control,INPUT_VEH_FLY_ROLL_LR) - 128) > 5 OR IS_CONTROL_PRESSED(player_control,INPUT_VEH_FLY_YAW_RIGHT) OR IS_CONTROL_PRESSED(player_control,INPUT_VEH_FLY_YAW_LEFT) OR IS_CONTROL_PRESSED(player_control,INPUT_VEH_FLY_THROTTLE_UP) IF IS_VEHICLE_DRIVEABLE(vehLazer[wIveh]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[wIveh]) START_RECORDING_VEHICLE_TRANSITION_FROM_PLAYBACK(vehLazer[wIveh],999,"pilotSchool",true) debugState = eDebugOverridingRecording ENDIF ENDIF ENDIF BREAK CASE eDebugOverridingRecording IF IS_VEHICLE_DRIVEABLE(vehLazer[wIveh]) IF IS_CONTROL_JUST_PRESSED(FRONTEND_CONTROL,INPUT_FRONTEND_X) IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehLazer[wIveh]) STOP_RECORDING_ALL_VEHICLES() debugState = eDebugPending wBredoVeh = false ENDIF ENDIF ENDIF BREAK ENDSWITCH ELSE IF debugState != eDebugPending IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehLazer[wIveh]) STOP_RECORDING_ALL_VEHICLES() ENDIF debugState = eDebugPending bWidgetMade = false ENDIF ENDIF ENDPROC SCRIPT SET_MISSION_FLAG(TRUE) ADD_SCENARIO_BLOCKING_AREA( -<<10000,100000,10000>>,<<10000,100000,10000>>) resetMission() cprintln(debug_Trevor3,"Launch B") /* REQUEST_ANIM_DICT("missarmenian2") REQUEST_MODEL(A_M_M_BEACH_01) REQUEST_MODEL(A_M_Y_GENSTREET_02) REQUEST_WAYPOINT_RECORDING("arm2_20") while not HAS_ANIM_DICT_LOADED("missarmenian2") or not HAS_MODEL_LOADED(A_M_M_BEACH_01) or not HAS_MODEL_LOADED(A_M_Y_GENSTREET_02) or not GET_IS_WAYPOINT_RECORDING_LOADED("arm2_20") WAIT(0) ENDWHILE if not IS_PED_INJURED(PLAYER_PED_ID()) SET_ENTITY_COORDS(PLAYER_PED_ID(),<< -1122.7813, -1598.0078, 3.3921 >>) SET_ENTITY_HEADING(PLAYER_PED_ID(),217) ENDIF //pedLamar = CREATE_PED(PEDTYPE_MISSION,A_M_M_BEACH_01,<< -1124.9785, -1597.2457, 3.3594 >>,212) //pedDrunk = CREATE_PED(PEDTYPE_MISSION,A_M_M_BEACH_01,<< -1105.9553, -1600.7543, 3.6621 >>, 148.1510) vDrunk = << -1113.1440, -1606.1331, 3.5971 >> hDrunk = -150 vLamar = << -1126.9425, -1595.3152, 3.3120 >> vLamarTarget = << -1116.4960, -1602.7670, 3.3594 >> hLamar = 221.5007 thisWidget = START_WIDGET_GROUP("ARM2 anim test") ADD_WIDGET_BOOL("Start",bPlay) ADD_WIDGET_BOOL("set to player pos",bsetDrunkStartToPlayer) ADD_WIDGET_VECTOR_SLIDER("Lamar start",vLamar,-1700.0,5.0,0.01) ADD_WIDGET_FLOAT_SLIDER("Lamar heading",hLamar,-360.0,360.0,0.01) ADD_WIDGET_VECTOR_SLIDER("Drunk start",vDrunk,-1700.0,5.0,0.01) ADD_WIDGET_FLOAT_SLIDER("Drunk heading",hDrunk,-360.0,360.0,0.01) STOP_WIDGET_GROUP() */ WHILE (TRUE) TEXT_LABEL_7 txtLbl float fBlah SET_MAX_WANTED_LEVEL(0) SET_WANTED_LEVEL_MULTIPLIER(0.0) SET_PLAYER_WANTED_LEVEL(player_id(),0) SET_PLAYER_WANTED_LEVEL_NOW(player_id()) SET_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0.0) SET_RANDOM_VEHICLE_DENSITY_MULTIPLIER_THIS_FRAME(0.0) // SUPPRESS_RESTRICTED_AREA_WANTED_LEVEL(AC_AIRPORT_AIRSIDE,true) IF (IS_KEYBOARD_KEY_JUST_PRESSED(KEY_F)) cleanup() TERMINATE_THIS_THREAD() ENDIF doDebug() SWITCH eProgress CASE COUNTDOWN txtLbl = "" fBlah = ((iStartTime - GET_GAME_TIMER()) / 1000.0) txtLbl += ceil(fBlah) fixHeight.z = 0 // PRINT_STRING_WITH_LITERAL_STRING("STRING",txtLbl,10,1) DRAW_DEBUG_TEXT_2D(txtLbl,<<0.5,0.8,0>>) IF GET_GAME_TIMER() > iStartTime iStartTime = 0 IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) START_PLAYBACK_RECORDED_VEHICLE(vehLazer[0],120,"pilotSchool") ENDIF IF IS_VEHICLE_DRIVEABLE(vehLazer[1]) START_PLAYBACK_RECORDED_VEHICLE(vehLazer[1],121,"pilotSchool") ENDIf IF IS_VEHICLE_DRIVEABLE(vehLazer[2]) START_PLAYBACK_RECORDED_VEHICLE(vehLazer[2],122,"pilotSchool") ENDIf //START_RECORDING_VEHICLE(vehLazer[1],121,"pilotSchool",true) eProgress = FLYING ENDIF BREAK CASE FLYING IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) txtLbl = "" fBlah = GET_TIME_POSITION_IN_RECORDING(vehLazer[0]) / 1000.0 txtlbl += ceil(fBlah) DRAW_DEBUG_TEXT_2D(txtLbl,<<0.5,0.8,0>>) txtLbl = "" fBlah = fRecSpeed[0] txtlbl += floor(fBlah) txtlbl += "." txtlbl += floor((fBlah - floor(fBlah)) * 100.0) DRAW_DEBUG_TEXT_2D(txtLbl,<<0.3,0.9,0>>) else IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehplayer) cprintln(debug_Trevor3,"Recording finished") STOP_RECORDING_ALL_VEHICLES() eProgress = ENDED ENDIF ENDIF IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[1]) txtLbl = "" fBlah = fRecSpeed[1] txtlbl += floor(fBlah) txtlbl += "." txtlbl += floor((fBlah - floor(fBlah)) * 100.0) DRAW_DEBUG_TEXT_2D(txtLbl,<<0.5,0.9,0>>) ENDIF IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[2]) txtLbl = "" fBlah = fRecSpeed[2] txtlbl += floor(fBlah) txtlbl += "." txtlbl += floor((fBlah - floor(fBlah)) * 100.0) DRAW_DEBUG_TEXT_2D(txtLbl,<<0.7,0.9,0>>) ENDIF ELSE IF IS_RECORDING_GOING_ON_FOR_VEHICLE(vehplayer) cprintln(debug_Trevor3,"Recording finished b") STOP_RECORDING_ALL_VEHICLES() eProgress = ENDED ENDIF ENDIF BREAK ENDSWITCH //make sure second lazer is in line with first if wBredoVeh // switch wIveh // CASE 0 fRecSpeed[0] = 1.0 // SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-60,0>>) // fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) // fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) switch wIveh CASE 0 SWITCH checkPointStage CASE 0 /* IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) STOP_PLAYBACK_RECORDED_VEHICLE(vehLazer[0]) CPRINTLN(Debug_TREVOR3,"SKIP") checkPointStage =2 SET_ENTITY_COORDS(vehLazer[0],<<-246.5569, -1209.7578, 85.0048>>) SET_ENTITY_HEADING(vehLazer[0],270) SET_VEHICLE_FORWARD_SPEED(vehLazer[0],50.0) SET_GAMEPLAY_CAM_FOLLOW_PED_THIS_UPDATE(player_ped_id()) ENDIF ENDIF*/ GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[2]) < 5.0 checkPointStage++ ENDIF BREAK CASE 1 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],FALSE,TRUE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[3]) < 15.0 checkPointStage++ ENDIF BREAK CASE 2 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[3]) < 5.0 checkPointStage++ ENDIF BREAK CASE 3 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[4]) < 10.0 checkPointStage++ ENDIF BREAK CASE 4 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[4].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[5]) < 10.0 checkPointStage++ ENDIF BREAK CASE 5 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[6]) < 10.0 //in vertical checkPointStage++ ENDIF BREAK CASE 6 //FORCE_PLANE_VERT_ROT(vehLazer[wIveh]) GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[7].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[7]) < 10.0 //in vertical checkPointStage++ ENDIF BREAK ENDSWITCH BREAK CASE 1 IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[2]) SET_PLAYBACK_SPEED(vehLazer[2],0.01) ENDIF cprintln(debug_trevor3,"checkPointStage = ",checkPointStage) SWITCH checkPointStage CASE 0 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[2]) < 5.0 checkPointStage++ ENDIF BREAK CASE 1 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],FALSE,TRUE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[3]) < 15.0 checkPointStage++ ENDIF BREAK CASE 2 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[4]) < 15.0 checkPointStage++ ENDIF BREAK CASE 3 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],100.0,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[6]) < 10.0 checkPointStage++ ENDIF BREAK CASE 4 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[7].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[8]) < 10.0 checkPointStage++ ENDIF BREAK CASE 5 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[9]) < 10.0 checkPointStage++ ENDIF BREAK CASE 6 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[10].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[10]) < 10.0 checkPointStage++ ENDIF BREAK CASE 7 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[11]) < 10.0 checkPointStage++ ENDIF BREAK CASE 8 //FORCE_PLANE_VERT_ROT(vehLazer[wIveh]) GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[12].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[12]) < 10.0 checkPointStage++ ENDIF BREAK ENDSWITCH BREAK CASE 2 SWITCH checkPointStage CASE 0 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[2]) < 5.0 checkPointStage++ ENDIF BREAK CASE 1 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],FALSE,TRUE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[3]) < 15.0 checkPointStage++ ENDIF BREAK CASE 2 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],fTargetHeight[0],TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[4]) < 15.0 checkPointStage++ ENDIF BREAK CASE 3 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],130.0,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[6]) < 10.0 checkPointStage++ ENDIF BREAK CASE 4 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[7].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[8]) < 10.0 checkPointStage++ ENDIF BREAK CASE 5 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[9]) < 10.0 checkPointStage++ ENDIF BREAK CASE 6 GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[10].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[10]) < 10.0 checkPointStage++ ENDIF BREAK CASE 7 IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[11]) < 10.0 checkPointStage++ ENDIF BREAK CASE 8 //FORCE_PLANE_VERT_ROT(vehLazer[wIveh]) GET_PLANE_TO_HEIGHT(vehLazer[wIveh],vFormationTarget[12].z,TRUE,FALSE) IF GET_DISTANCE_BETWEEN_ENTITY_AND_COORD(vehLazer[wIveh],vFormationTarget[12]) < 10.0 checkPointStage++ ENDIF BREAK ENDSWITCH IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) TEXT_LABEL_15 txtlblB txtlblB = "" txtlblB += FLOOR(GET_TIME_POSITION_IN_RECORDING(vehLazer[0])) DRAW_DEBUG_TEXT(txtlblB,GET_ENTITY_COORDS(vehLazer[0]) + <<0,0,2>>) fBlah = GET_TIME_POSITION_IN_RECORDING(vehLazer[0]) if fBlah < 31780 fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) elif fBlah < 61000 fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,-30,0>>,fRecSpeed[0],1.0) elif fBlah < 84000 fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,0,20>>,fRecSpeed[0],1.0) elif fBlah < 84000 fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,0,0>>,fRecSpeed[0],1.0) elif fBlah < 113000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[0],vehLazer[0],<<-20,0,0>>,1.0,1.0,1.0) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,0,0>>,1.0,1.0,1.0) elif fBlah < 123000 fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,0,0>>,fRecSpeed[0],1.0) elif fBlah < 127000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[0],vehLazer[0],<<-20,0,0>>,1.0,1.0,1.0) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,0,0>>,1.0,1.0,1.0) else fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<20,0,0>>,fRecSpeed[0],1.0) endif endif endif BREAK ENDSWITCH /* BREAK CASE 1 IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) /* fBlah = GET_TIME_POSITION_IN_RECORDING(vehLazer[0]) if fBlah < 25000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[0],<<-20,-30,0>>) //SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehLazer[1],vehLazer[0],0) elIf fBlah < 40000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[0],<<20,0,-15>>,1,1.0,1.0) //SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehLazer[1],vehLazer[0],-15) elif fBlah < 68000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[0],<<20,0,-15>>) //SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehLazer[1],vehLazer[0],-15) else fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[0],<<0,-30,0>>,1,0.8,1.3) //SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-60,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehLazer[1],vehLazer[0],0) endif else if fixHeight.z = 0 FORCE_PLAYER_VEH_HEIGHT(vehLazer[1],vehLazer[0],fixHeight.z) endif endif endif BREAK endswitch*/ else IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) TEXT_LABEL_15 txtlblB txtlblB = "" txtlblB += FLOOR(GET_TIME_POSITION_IN_RECORDING(vehLazer[0])) DRAW_DEBUG_TEXT(txtlblB,GET_ENTITY_COORDS(vehLazer[0]) + <<0,0,2>>) fBlah = GET_TIME_POSITION_IN_RECORDING(vehLazer[0]) if fBlah < 29000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-60,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 34000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-120,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-90,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-90,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 61000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-90,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-60,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 84000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-25,30>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,-10,15>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-30,45>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0],30.0) elif fBlah < 87000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,00>>,1.15,1.15,1.15) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,1.15,1.15,1.15) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,1.15,1.15,1.15) elif fBlah < 107000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 113000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,0>>,1.0,1.0,1.0) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,1.0,1.0,1.0) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,1.0,1.0,1.0) elif fBlah < 123000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 127000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,0>>,1.0,1.0,1.0) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,1.0,1.0,1.0) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,1.0,1.0,1.0) else fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<15,-30,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-15,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-20,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) endif endif endif /* IF IS_VEHICLE_DRIVEABLE(vehLazer[0]) IF IS_PLAYBACK_GOING_ON_FOR_VEHICLE(vehLazer[0]) fBlah = GET_TIME_POSITION_IN_RECORDING(vehLazer[0]) If fBlah < 25000 // cprintln(debug_trevor3,"STARTIT") fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-60,0>>) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0]) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0]) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0]) elif fBlah < 34000 // cprintln(debug_trevor3,"STARTIT 2") fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-60,0>>,1,1,1) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<-20,-30,0>>,fRecSpeed[0],1,1) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<20,-30,0>>,fRecSpeed[0],1,1) elif fBlah < 68000 // cprintln(debug_trevor3,"STARTIT 3") fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-20,-15>>,1,0.7) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<20,0,-15>>,fRecSpeed[0],0.6,1.5) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<-20,0,-15>>,fRecSpeed[0],0.6,1.5) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0],-15) elif fBlah < 74000 fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-90,0>>,1,1.2,1.3) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,-60,0>>,fRecSpeed[0],1,1.1) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-30,0>>,fRecSpeed[0],1,1.1) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0],0) else fRecSpeed[0] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehPlayer,vehLazer[0],<<0,-110,0>>,1,0.8,1.4) fRecSpeed[1] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[1],vehLazer[1],<<0,-60,0>>,fRecSpeed[0],0.8,1.4) fRecSpeed[2] = SET_VEHICLE_RECORDING_ADJUSTED_BY_ENTITY(vehLazer[0],vehLazer[2],vehLazer[2],<<0,-30,0>>,fRecSpeed[0],0.8,1.4) FORCE_PLAYER_VEH_HEIGHT(vehPlayer,vehLazer[0],0) endif endif endif*/ endif WAIT(0) endwhile ENDSCRIPT #ENDIF #IF IS_FINAL_BUILD SCRIPT ENDSCRIPT #ENDIF