1594 lines
43 KiB
Scheme
Executable File
1594 lines
43 KiB
Scheme
Executable File
USING "globals.sch"
|
|
USING "commands_camera.sch"
|
|
USING "cutscene_public.sch"
|
|
USING "shop_private.sch"
|
|
USING "clearmissionarea.sch"
|
|
|
|
CONST_INT PROPERTY_CUTSCENE_HELP_TEXT_TIME 10000
|
|
|
|
// property cutscene stuff
|
|
|
|
// fill the attributes for a particular shot
|
|
PROC FILL_PROPERTY_CUTSCENE_SHOT_ATTRIBUTES(PROPERTY_ENUM thisProperty, INT iThisShot, VECTOR &vPos1, VECTOR &vRot1, FLOAT &fFOV1, VECTOR &vPos2, VECTOR &vRot2, FLOAT &fFOV2, INT &iInterpTime, INT &iShotTime, CAMERA_GRAPH_TYPE &graphTypePos, CAMERA_GRAPH_TYPE &graphTypeRot)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<2144.5, 4817.2, 41.8>>
|
|
vRot1 = <<4.0, 0.0, 159.1>>
|
|
fFOV1 = 29.9
|
|
|
|
vPos2 = <<2144.1, 4817.3, 41.8>>
|
|
vRot2 = <<4.0, 0.0, 159.1>>
|
|
fFOV2 = 29.9
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<2135.2, 4797.0, 41.0>>
|
|
vRot1 = <<2.6, 0.0, 147.5>>
|
|
fFOV1 = 33.6
|
|
|
|
vPos2 = <<2135.2, 4797.0, 41.0>>
|
|
vRot2 = <<2.6, 0.0, 177.3>>
|
|
fFOV2 = 33.6
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_DECEL
|
|
graphTypeRot = GRAPH_TYPE_DECEL
|
|
BREAK
|
|
|
|
CASE 2
|
|
vPos1 = <<2152.577393,4804.002441,41.511604>>
|
|
vRot1 = <<1.338220,-0.000025,146.946411>>
|
|
fFOV1 = 33.599998
|
|
|
|
vPos2 = <<2152.608643,4803.963867,41.369118>>
|
|
vRot2 = <<0.192390,-0.000025,147.109833>>
|
|
fFOV2 = 33.599998
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_DECEL
|
|
graphTypeRot = GRAPH_TYPE_DECEL
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_WEED_SHOP
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-1179.0, -1573.6, 5.0>>
|
|
vRot1 = <<26.9, 0.0, -85.8>>
|
|
fFOV1 = 40.0
|
|
|
|
vPos2 = <<-1179.0, -1573.6, 5.0>>
|
|
vRot2 = <<3.6, 0.0, -85.8>>
|
|
fFOV2 = 40.0
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_SIN_ACCEL_DECEL
|
|
BREAK
|
|
|
|
CASE 1
|
|
IF GET_TIMEOFDAY_HOUR(GET_CURRENT_TIMEOFDAY()) >= 9
|
|
AND GET_TIMEOFDAY_HOUR(GET_CURRENT_TIMEOFDAY()) <= 17
|
|
vPos1 = <<-1173.6, -1574.1, 4.8>>
|
|
vRot1 = <<0.3, 0.0, -31.2>>
|
|
fFOV1 = 40.0
|
|
|
|
vPos2 = <<-1173.3, -1574.2, 4.8>>
|
|
vRot2 = <<0.3, 0.0, -34.5>>
|
|
fFOV2 = 40.0
|
|
ELSE
|
|
vPos1 = <<-1178.843872,-1594.691162,4.659654>>
|
|
vRot1 = <<6.171611,-0.059865,-15.387971>>
|
|
fFOV1 = 34.478004
|
|
|
|
vPos2 = <<-1178.221191,-1595.112427,4.628079>>
|
|
vRot2 = <<4.898221,-0.059865,-14.482724>>
|
|
fFOV2 = 34.478004
|
|
ENDIF
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<1570.198975,-2208.991455,79.814644>>
|
|
vRot1 = <<2.059314,-0.000000,33.527603>>
|
|
fFOV1 = 39.708244
|
|
|
|
vPos2 = <<1569.858398,-2199.821777,88.119286>>
|
|
vRot2 = <<-1.668163,0.000000,36.773270>>
|
|
fFOV2 = 39.708244
|
|
|
|
iInterpTime = 21000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<1542.112427,-2104.840088,77.538567>>
|
|
vRot1 = <<-2.293454,-0.000000,144.152466>>
|
|
fFOV1 = 35.918034
|
|
|
|
vPos2 = <<1540.704102,-2105.141113,77.495590>>
|
|
vRot2 = <<-1.205724,-0.000000,140.675766>>
|
|
fFOV2 = 35.918034
|
|
|
|
iInterpTime = 14000
|
|
iShotTime = 14000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<1197.061646,2679.448242,39.215000>>
|
|
vRot1 = <<2.096360,-0.060617,152.333420>>
|
|
fFOV1 = 37.221195
|
|
|
|
vPos2 = <<1195.604004,2676.083984,39.334801>>
|
|
vRot2 = <<0.201093,-0.060612,152.868561>>
|
|
fFOV2 = 37.221195
|
|
|
|
iInterpTime = 10500
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<1180.356201,2645.067871,38.195461>>
|
|
vRot1 = <<-0.360282,-0.060618,139.270355>>
|
|
fFOV1 = 42.900002
|
|
|
|
vPos2 = <<1178.990601,2643.862305,38.184780>>
|
|
vRot2 = <<-0.360282,-0.060608,145.807434>>
|
|
fFOV2 = 42.900002
|
|
|
|
iInterpTime = 14000
|
|
iShotTime = 14000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_TAXI_LOT
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<912.141357,-144.136719,76.251495>>
|
|
vRot1 = <<18.068947,0.000000,148.570648>>
|
|
fFOV1 = 53.540928
|
|
|
|
vPos2 = <<911.683411,-144.886230,76.538055>>
|
|
vRot2 = <<15.969147,-0.000000,148.570648>>
|
|
fFOV2 = 53.540928
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<922.432251,-181.601715,74.519295>>
|
|
vRot1 = <<6.678218,-0.000000,71.903885>>
|
|
fFOV1 = 39.810390
|
|
|
|
vPos2 = <<920.133362,-185.072647,74.615295>>
|
|
vRot2 = <<4.337803,-0.000000,63.855148>>
|
|
fFOV2 = 39.810390
|
|
|
|
iInterpTime = 14000
|
|
iShotTime = 14000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-1591.725464,5229.636719,4.933816>>
|
|
vRot1 = <<3.142932,-0.000000,165.001678>>
|
|
fFOV1 = 37.912991
|
|
|
|
vPos2 = <<-1592.929932,5229.475098,4.959430>>
|
|
vRot2 = <<1.375998,0.000000,166.243240>>
|
|
fFOV2 = 37.912991
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-1606.4, 5269.9, 4.6>>
|
|
vRot1 = <<2.9, -0.1, -179.2>>
|
|
fFOV1 = 37.234703
|
|
|
|
vPos2 = <<-1606.0, 5270.0, 4.5>>
|
|
vRot2 = <<-4.4, -0.1, -162.1>>
|
|
fFOV2 = 37.234703
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 2
|
|
vPos1 = <<-1596.6, 5261.2, -1.6>>
|
|
vRot1 = <<9.6, 0.0, 174.2>>
|
|
fFOV1 = 37.234703
|
|
|
|
vPos2 = <<-1596.4, 5260.7, -1.5>>
|
|
vRot2 = <<7.6, 0.0, 173.4>>
|
|
fFOV2 = 37.234703
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<421.997894,-1621.681519,29.605589>>
|
|
vRot1 = <<1.747380,0.000000,101.346832>>
|
|
fFOV1 = 39.307011
|
|
|
|
vPos2 = <<420.266968,-1620.496216,29.645708>>
|
|
vRot2 = <<2.741723,-0.000000,113.306282>>
|
|
fFOV2 = 39.307011
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<403.211823,-1639.405396,29.650751>>
|
|
vRot1 = <<0.698972,-0.000000,1.880809>>
|
|
fFOV1 = 39.307011
|
|
|
|
vPos2 = <<404.081116,-1640.545166,29.636583>>
|
|
vRot2 = <<-1.204437,0.000000,-0.188429>>
|
|
fFOV2 = 39.307011
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_GOLF_CLUB
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-1418.670288,50.412415,55.505150>>
|
|
vRot1 = <<7.033136,-0.000000,-82.497063>>
|
|
fFOV1 = 50.000000
|
|
|
|
vPos2 = <<-1417.523560,50.625343,58.794369>>
|
|
vRot2 = <<1.384808,0.000000,-83.450989>>
|
|
fFOV2 = 50.000000
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-1232.220337,-22.753672,47.196873>>
|
|
vRot1 = <<5.359231,0.000000,52.316067>>
|
|
fFOV1 = 34.850487
|
|
|
|
vPos2 = <<-1229.331787,-18.982531,47.196873>>
|
|
vRot2 = <<5.359230,-0.000000,54.884293>>
|
|
fFOV2 = 34.850487
|
|
|
|
iInterpTime = 14000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<306.066071,176.824387,111.389626>>
|
|
vRot1 = <<17.968395,-0.000000,-95.278229>>
|
|
fFOV1 = 39.890751
|
|
|
|
vPos2 = <<306.959229,176.741852,108.623825>>
|
|
vRot2 = <<-3.555486,0.000000,-95.278229>>
|
|
fFOV2 = 39.890751
|
|
|
|
iInterpTime = 14000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<320.558563,155.137115,105.050873>>
|
|
vRot1 = <<5.145550,0.000000,-33.844719>>
|
|
fFOV1 = 41.696613
|
|
|
|
vPos2 = <<328.566895,151.884552,105.055260>>
|
|
vRot2 = <<4.726644,-0.000000,-16.290794>>
|
|
fFOV2 = 41.696613
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<403.889832,-712.528320,31.692900>>
|
|
vRot1 = <<25.835075,-0.000000,86.990822>>
|
|
fFOV1 = 40.421535
|
|
|
|
vPos2 = <<405.258209,-712.600281,30.672750>>
|
|
vRot2 = <<24.829134,-0.000000,86.990822>>
|
|
fFOV2 = 40.421535
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<414.815552,-713.632935,31.105515>>
|
|
vRot1 = <<6.276255,-0.000000,85.791985>>
|
|
fFOV1 = 44.031376
|
|
|
|
vPos2 = <<415.728271,-713.057190,28.831530>>
|
|
vRot2 = <<10.793771,0.000000,88.521378>>
|
|
fFOV2 = 44.031376
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-1446.829712,-193.720184,58.585129>>
|
|
vRot1 = <<-18.563808,0.000000,-117.764885>>
|
|
fFOV1 = 39.885876
|
|
|
|
vPos2 = <<-1446.694336,-192.533386,53.519138>>
|
|
vRot2 = <<-1.523578,0.000000,-122.914864>>
|
|
fFOV2 = 39.885876
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-1412.542969,-184.394852,48.729229>>
|
|
vRot1 = <<9.945754,0.000000,159.508240>>
|
|
fFOV1 = 49.939129
|
|
|
|
vPos2 = <<-1421.978149,-182.704178,48.748867>>
|
|
vRot2 = <<10.848495,-0.000000,-178.034286>>
|
|
fFOV2 = 49.939129
|
|
|
|
iInterpTime = 19000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-545.350708,268.765656,83.180801>>
|
|
vRot1 = <<23.855200,0.000001,39.411045>>
|
|
fFOV1 = 42.142265
|
|
|
|
vPos2 = <<-546.027954,269.589935,83.652527>>
|
|
vRot2 = <<26.712852,0.000001,39.545361>>
|
|
fFOV2 = 42.142265
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-548.033875,255.821228,85.222984>>
|
|
vRot1 = <<2.389024,0.141337,18.236391>>
|
|
fFOV1 = 39.610790
|
|
|
|
vPos2 = <<-554.224243,256.029083,85.303734>>
|
|
vRot2 = <<0.926027,0.141327,19.639772>>
|
|
fFOV2 = 39.610790
|
|
|
|
iInterpTime = 19000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<225.968124,352.725769,116.247543>>
|
|
vRot1 = <<-22.597023,-0.000000,-169.908859>>
|
|
fFOV1 = 37.964249
|
|
|
|
vPos2 = <<226.568726,350.289001,115.200737>>
|
|
vRot2 = <<-24.037203,0.000000,-175.112030>>
|
|
fFOV2 = 37.964249
|
|
|
|
iInterpTime = 10500
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<240.016800,358.654602,106.072250>>
|
|
vRot1 = <<7.502857,0.122835,145.494705>>
|
|
fFOV1 = 35.193241
|
|
|
|
vPos2 = <<235.551483,361.130280,106.086258>>
|
|
vRot2 = <<8.327662,0.122835,152.588959>>
|
|
fFOV2 = 35.193241
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-296.940277,6247.855957,31.770643>>
|
|
vRot1 = <<17.162809,-0.042345,10.145087>>
|
|
fFOV1 = 43.425690
|
|
|
|
vPos2 = <<-296.933044,6248.470703,31.970430>>
|
|
vRot2 = <<20.943153,-0.042345,11.089791>>
|
|
fFOV2 = 43.425690
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-306.024353,6241.386230,32.556404>>
|
|
vRot1 = <<8.206894,-0.000000,-11.017441>>
|
|
fFOV1 = 39.445808
|
|
|
|
vPos2 = <<-307.031464,6242.524902,32.680546>>
|
|
vRot2 = <<6.869367,-0.000000,9.408159>>
|
|
fFOV2 = 39.445808
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
SWITCH iThisShot
|
|
CASE 0
|
|
vPos1 = <<-2200.738281,4302.428223,48.159374>>
|
|
vRot1 = <<22.893482,-0.000001,-139.617188>>
|
|
fFOV1 = 42.401520
|
|
|
|
vPos2 = <<-2200.343994,4301.967285,48.955284>>
|
|
vRot2 = <<22.488050,0.000000,-138.379135>>
|
|
fFOV2 = 42.401520
|
|
|
|
iInterpTime = 7000
|
|
iShotTime = 7000
|
|
|
|
graphTypePos = GRAPH_TYPE_ACCEL
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
|
|
CASE 1
|
|
vPos1 = <<-2197.727295,4295.050781,49.726013>>
|
|
vRot1 = <<-1.363194,-0.000000,-164.522430>>
|
|
fFOV1 = 42.401520
|
|
|
|
vPos2 = <<-2199.888184,4290.552246,49.644714>>
|
|
vRot2 = <<-1.342801,0.000000,-154.377151>>
|
|
fFOV2 = 42.401520
|
|
|
|
iInterpTime = 13000
|
|
iShotTime = 13000
|
|
|
|
graphTypePos = GRAPH_TYPE_LINEAR
|
|
graphTypeRot = GRAPH_TYPE_LINEAR
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDPROC
|
|
|
|
// get help for property cutscene
|
|
FUNC STRING GET_HELP_FOR_PROPERTY_CUTSCENE(PROPERTY_ENUM thisProperty, INT iThisHelp)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_TRAF"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_TRAF2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_TRAF3"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_WEED_SHOP
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_WEED"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_WEED2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_CSCR"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_CSCR2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_CMSH"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_CMSH2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_CMSH3"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_TAXI_LOT
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_TAXI"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_TAXI2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_SOCO"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_SOCO2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_SOCO3"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_TOWI"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_TOWI2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_TOWI3"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_GOLF_CLUB
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_GOLF"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_GOLF2"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_CINV"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_CINV2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_CIND"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_CIND2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_CINM"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_CINM2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_BARTE"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_BARTE2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_BARPI"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_BARPI2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_BARHE"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_BARHE2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
SWITCH iThisHelp
|
|
CASE 0
|
|
RETURN "PROPR_HELP_BARHO"
|
|
BREAK
|
|
CASE 1
|
|
RETURN "PROPR_HELP_BARHO2"
|
|
BREAK
|
|
CASE 2
|
|
RETURN "PROPR_HELP_MANH"
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN "error"
|
|
ENDFUNC
|
|
|
|
// number shots for property cutscene
|
|
FUNC INT GET_NUMBER_PROPERTY_CUTSCENE_SHOTS(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
RETURN 3
|
|
BREAK
|
|
CASE PROPERTY_WEED_SHOP
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
CASE PROPERTY_TAXI_LOT
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
CASE PROPERTY_GOLF_CLUB
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
RETURN 2
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN 1
|
|
ENDFUNC
|
|
|
|
// number texts for property cutscene
|
|
FUNC INT GET_NUMBER_PROPERTY_CUTSCENE_HELP_TEXTS(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
CASE PROPERTY_WEED_SHOP
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
CASE PROPERTY_TAXI_LOT
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
RETURN 3
|
|
BREAK
|
|
CASE PROPERTY_GOLF_CLUB
|
|
RETURN 2
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN 1
|
|
ENDFUNC
|
|
|
|
FUNC INT GET_TIME_FOR_PROPERTY_CUTSCENE_HELP(PROPERTY_ENUM thisProperty, INT iHelp)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
CASE PROPERTY_WEED_SHOP
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
SWITCH iHelp
|
|
CASE 0
|
|
RETURN 7000
|
|
BREAK
|
|
CASE 1
|
|
RETURN 6000
|
|
BREAK
|
|
CASE 2
|
|
RETURN 7000
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_TAXI_LOT
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
SWITCH iHelp
|
|
CASE 0
|
|
RETURN 7000
|
|
BREAK
|
|
CASE 1
|
|
RETURN 7000
|
|
BREAK
|
|
CASE 2
|
|
RETURN 7000
|
|
BREAK
|
|
ENDSWITCH
|
|
BREAK
|
|
|
|
CASE PROPERTY_GOLF_CLUB
|
|
RETURN 7000
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN PROPERTY_CUTSCENE_HELP_TEXT_TIME
|
|
ENDFUNC
|
|
|
|
// get the sound to play for a property purchase
|
|
FUNC STRING GET_PROPERTY_PURCHASE_SOUND_AS_STRING(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
CASE PROPERTY_GOLF_CLUB
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
RETURN "PROPERTY_PURCHASE_LARGE"
|
|
BREAK
|
|
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
CASE PROPERTY_TAXI_LOT
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
RETURN "PROPERTY_PURCHASE_SMALL"
|
|
BREAK
|
|
|
|
DEFAULT
|
|
RETURN "PROPERTY_PURCHASE_MEDIUM"
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN "PROPERTY_PURCHASE_MEDIUM"
|
|
|
|
ENDFUNC
|
|
|
|
// do a property cutscene cam
|
|
PROC DO_PROPERTY_CUTSCENE_CAM(PROPERTY_ENUM thisProperty, INT &iShot)
|
|
VECTOR vCamPos1
|
|
VECTOR vCamRot1
|
|
FLOAT fCamFOV1
|
|
|
|
VECTOR vCamPos2
|
|
VECTOR vCamRot2
|
|
FLOAT fCamFOV2
|
|
|
|
INT iInterpTime
|
|
INT iShotTime
|
|
|
|
CAMERA_GRAPH_TYPE graphTypePos
|
|
CAMERA_GRAPH_TYPE graphTypeRot
|
|
|
|
FILL_PROPERTY_CUTSCENE_SHOT_ATTRIBUTES(thisProperty, iShot, vCamPos1, vCamRot1, fCamFOV1, vCamPos2, vCamRot2, fCamFOV2, iInterpTime, iShotTime, graphTypePos, graphTypeRot)
|
|
|
|
IF DOES_CAM_EXIST(g_PropertySystemData.camIndex1)
|
|
DESTROY_CAM(g_PropertySystemData.camIndex1)
|
|
ENDIF
|
|
g_PropertySystemData.camIndex1 = CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", TRUE)
|
|
|
|
IF DOES_CAM_EXIST(g_PropertySystemData.camIndex2)
|
|
DESTROY_CAM(g_PropertySystemData.camIndex2)
|
|
ENDIF
|
|
g_PropertySystemData.camIndex2 = CREATE_CAM("DEFAULT_SCRIPTED_CAMERA", TRUE)
|
|
|
|
SET_CAM_COORD(g_PropertySystemData.camIndex1, vCamPos1)
|
|
SET_CAM_ROT(g_PropertySystemData.camIndex1, vCamRot1)
|
|
SET_CAM_FOV(g_PropertySystemData.camIndex1, fCamFOV1)
|
|
|
|
SET_CAM_COORD(g_PropertySystemData.camIndex2, vCamPos2)
|
|
SET_CAM_ROT(g_PropertySystemData.camIndex2, vCamRot2)
|
|
SET_CAM_FOV(g_PropertySystemData.camIndex2, fCamFOV2)
|
|
|
|
SET_CAM_ACTIVE_WITH_INTERP(g_PropertySystemData.camIndex2, g_PropertySystemData.camIndex1, iInterpTime, graphTypePos, graphTypeRot)
|
|
RENDER_SCRIPT_CAMS(TRUE, FALSE)
|
|
|
|
SHAKE_CAM(g_PropertySystemData.camIndex1, "HAND_SHAKE", 0.25)
|
|
|
|
g_PropertySystemData.iNextCutsceneShotTime = GET_GAME_TIMER() + iShotTime
|
|
|
|
iShot++
|
|
ENDPROC
|
|
|
|
// do the help for a property cutscene
|
|
PROC DO_PROPERTY_CUTSCENE_HELP(PROPERTY_ENUM thisProperty, INT &iHelp)
|
|
IF HAS_ADDITIONAL_TEXT_LOADED(MINIGAME_TEXT_SLOT)
|
|
IF GET_GAME_TIMER() >= g_PropertySystemData.iCutsceneStartTime + 10
|
|
PRINT_HELP(GET_HELP_FOR_PROPERTY_CUTSCENE(thisProperty, iHelp), GET_TIME_FOR_PROPERTY_CUTSCENE_HELP(thisProperty, iHelp))
|
|
iHelp++
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
// get the for sale sign model
|
|
FUNC MODEL_NAMES GET_PROPERTY_FOR_SALE_SIGN_MODEL()
|
|
RETURN Prop_forSale_DYN_01//PROP_FORSALE_SIGN_FS
|
|
ENDFUNC
|
|
|
|
// release for sale sign model
|
|
PROC RELEASE_PROPERTY_FOR_SALE_SIGN_MODEL()
|
|
IF g_PropertySystemData.createForSaleSignState >= CREATE_FOR_SALE_SIGN_STATE_LOADING_MODEL
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(GET_PROPERTY_FOR_SALE_SIGN_MODEL())
|
|
ENDIF
|
|
g_PropertySystemData.createForSaleSignState = CREATE_FOR_SALE_SIGN_STATE_NOT_STARTED
|
|
ENDPROC
|
|
|
|
// delete the sign and reset to start state
|
|
PROC RESET_FOR_SALE_SIGN_CREATE_STATE(BOOL bDelete, BOOL bGrab = FALSE)
|
|
INT i
|
|
REPEAT NUMBER_PROPERTY_FOR_SALE_SIGNS i
|
|
IF DOES_ENTITY_EXIST(g_PropertySystemData.signObject[i])
|
|
IF bGrab
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_PropertySystemData.signObject[i], TRUE, TRUE)
|
|
ENDIF
|
|
|
|
IF bDelete
|
|
DELETE_OBJECT(g_PropertySystemData.signObject[i])
|
|
ELSE
|
|
SET_OBJECT_AS_NO_LONGER_NEEDED(g_PropertySystemData.signObject[i])
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
REPEAT COUNT_OF(PROPERTY_ENUM) i
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iPropertyBit[i], PROPERTY_UNSAVED_BIT_CREATED_FOR_SALE_SIGN)
|
|
ENDREPEAT
|
|
|
|
RELEASE_PROPERTY_FOR_SALE_SIGN_MODEL()
|
|
ENDPROC
|
|
|
|
// get the code id to run when a property has been purchased
|
|
FUNC CC_CodeID GET_PROPERTY_PURCHASE_CODE_ID_TO_RUN(PROPERTY_ENUM thisProperty, BOOL bPreCutscene)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
IF NOT bPreCutscene
|
|
RETURN CID_ACTIVATE_MINIGAME_TRAFFICKING
|
|
ENDIF
|
|
BREAK
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
IF bPreCutscene
|
|
RETURN CID_UNLOCK_SUBMERSIBLE
|
|
ENDIF
|
|
BREAK
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
IF bPreCutscene
|
|
RETURN CID_ACTIVATE_MINIGAME_TOWING
|
|
ENDIF
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN CID_BLANK
|
|
ENDFUNC
|
|
|
|
// run a code ID on property purchase
|
|
PROC RUN_PROPERTY_PURCHASE_CODE_ID(PROPERTY_ENUM thisProperty, BOOL bPreCutscene)
|
|
CC_CodeID doCodeID = GET_PROPERTY_PURCHASE_CODE_ID_TO_RUN(thisProperty, bPreCutscene)
|
|
IF doCodeID <> CID_BLANK
|
|
EXECUTE_CODE_ID(doCodeID, 0)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
// get the bank account to pay a property from
|
|
FUNC BANK_ACCOUNT_ACTION_SOURCE_BAAC GET_BANK_ACCOUNT_SOURCE_FOR_PROPERTY(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
RETURN BAAC_PROP_TOWING
|
|
BREAK
|
|
CASE PROPERTY_TAXI_LOT
|
|
RETURN BAAC_PROP_TAXI
|
|
BREAK
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
RETURN BAAC_PROP_ARMS
|
|
BREAK
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
RETURN BAAC_PROP_SONAR
|
|
BREAK
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
RETURN BAAC_PROP_CARMOD
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
RETURN BAAC_PROP_VCINEMA
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
RETURN BAAC_PROP_DCINEMA
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
RETURN BAAC_PROP_MCINEMA
|
|
BREAK
|
|
CASE PROPERTY_GOLF_CLUB
|
|
RETURN BAAC_PROP_GOLF
|
|
BREAK
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
RETURN BAAC_PROP_CSCRAP
|
|
BREAK
|
|
CASE PROPERTY_WEED_SHOP
|
|
RETURN BAAC_PROP_SMOKE
|
|
BREAK
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
RETURN BAAC_PROP_BAR_TEQUILA
|
|
BREAK
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
RETURN BAAC_PROP_BAR_PITCHERS
|
|
BREAK
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
RETURN BAAC_PROP_BAR_HEN
|
|
BREAK
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
RETURN BAAC_PROP_BAR_HOOKIES
|
|
BREAK
|
|
CASE PROPERTY_STRIP_CLUB
|
|
RETURN BAAC_STRIP_CLUB
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN BAAC_DEFAULT_DEBUG
|
|
ENDFUNC
|
|
|
|
// get the purchase price of a property
|
|
FUNC INT GET_PROPERTY_PURCHASE_PRICE(PROPERTY_ENUM thisProperty)
|
|
INT iPrice = 0
|
|
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_ARMS_TRAFFICKING
|
|
iPrice = 150000
|
|
BREAK
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
iPrice = 275000
|
|
BREAK
|
|
CASE PROPERTY_WEED_SHOP
|
|
iPrice = 204000
|
|
BREAK
|
|
CASE PROPERTY_TAXI_LOT
|
|
iPrice = 200000
|
|
BREAK
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
iPrice = 349000
|
|
BREAK
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
iPrice = 250000
|
|
BREAK
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
iPrice = 150000
|
|
BREAK
|
|
CASE PROPERTY_GOLF_CLUB
|
|
iPrice = 150000000
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
iPrice = 10000000
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
iPrice = 20000000
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
iPrice = 30000000
|
|
BREAK
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
iPrice = 2000000
|
|
BREAK
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
iPrice = 750000
|
|
BREAK
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
iPrice = 80000
|
|
BREAK
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
iPrice = 600000
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN iPrice
|
|
ENDFUNC
|
|
|
|
// end the property purchase cutscene
|
|
PROC END_PROPERTY_CUTSCENE(PROPERTY_ENUM thisProperty)
|
|
IF DOES_CAM_EXIST(g_PropertySystemData.camIndex1)
|
|
DESTROY_CAM(g_PropertySystemData.camIndex1)
|
|
ENDIF
|
|
IF DOES_CAM_EXIST(g_PropertySystemData.camIndex2)
|
|
DESTROY_CAM(g_PropertySystemData.camIndex2)
|
|
ENDIF
|
|
|
|
SET_SCRIPTS_SAFE_FOR_CUTSCENE(FALSE)
|
|
g_bCurrentlyBuyingProperty = FALSE // Prevent Chop running off when showing the buying property cutscene
|
|
DISABLE_CELLPHONE(FALSE)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), TRUE)
|
|
CLEAR_HELP()
|
|
CLEAR_PRINTS()
|
|
DISPLAY_RADAR(TRUE)
|
|
DISPLAY_HUD(TRUE)
|
|
RENDER_SCRIPT_CAMS(FALSE,FALSE)
|
|
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
|
|
IF thisProperty = PROPERTY_ARMS_TRAFFICKING
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(), 25)
|
|
ENDIF
|
|
|
|
SET_GAMEPLAY_CAM_RELATIVE_HEADING()
|
|
SET_GAMEPLAY_CAM_RELATIVE_PITCH()
|
|
|
|
IF DOES_ENTITY_EXIST(g_PropertySystemData.veh[0])
|
|
IF thisProperty = PROPERTY_ARMS_TRAFFICKING
|
|
DELETE_VEHICLE(g_PropertySystemData.veh[0])
|
|
ELSE
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(g_PropertySystemData.veh[0])
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF DOES_ENTITY_EXIST(g_PropertySystemData.veh[1])
|
|
DELETE_VEHICLE(g_PropertySystemData.veh[1])
|
|
ENDIF
|
|
|
|
RUN_PROPERTY_PURCHASE_CODE_ID(thisProperty, FALSE)
|
|
|
|
PAUSE_FLOW_HELP_QUEUE(FALSE)
|
|
|
|
SET_WANTED_LEVEL_MULTIPLIER(1.0)
|
|
SET_MAX_WANTED_LEVEL(5)
|
|
|
|
RELEASE_NAMED_SCRIPT_AUDIO_BANK("HUD_PROPERTY")
|
|
|
|
NEW_LOAD_SCENE_STOP()
|
|
IF STREAMVOL_IS_VALID(g_PropertySystemData.streamVolume)
|
|
STREAMVOL_DELETE(g_PropertySystemData.streamVolume)
|
|
ENDIF
|
|
|
|
IF IS_VALID_INTERIOR(g_PropertySystemData.interior)
|
|
IF IS_INTERIOR_READY(g_PropertySystemData.interior)
|
|
UNPIN_INTERIOR(g_PropertySystemData.interior)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_RUN_CUTSCENE)
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_PLAYING_MOCAP)
|
|
|
|
DEBIT_BANK_ACCOUNT(GET_CURRENT_PLAYER_PED_ENUM(), GET_BANK_ACCOUNT_SOURCE_FOR_PROPERTY(thisProperty), GET_PROPERTY_PURCHASE_PRICE(thisProperty))
|
|
|
|
MAKE_AUTOSAVE_REQUEST()
|
|
|
|
SET_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_DISPLAY_PURCHASED)
|
|
g_PropertySystemData.iManagementEventEndTime = GET_GAME_TIMER() + 1500
|
|
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(DEFAULT_FADE_TIME)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
PROC REMOVE_CONTROL_AND_HUD_FOR_PROPERTY_CUTSCENE()
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE)
|
|
DISPLAY_RADAR(FALSE)
|
|
DISPLAY_HUD(FALSE)
|
|
ENDPROC
|
|
|
|
// reset the streaming for mocap cutscene
|
|
PROC RESET_PROPERTY_ASSET_STREAMING(BOOL bRemoveCutscene = TRUE)
|
|
IF IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TRAFFICKING_ASSETS)
|
|
IF bRemoveCutscene
|
|
REMOVE_CUTSCENE()
|
|
SET_SRL_FORCE_PRESTREAM(SRL_PRESTREAM_DEFAULT)
|
|
ENDIF
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(CUBAN800)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(DUNE)
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TRAFFICKING_ASSETS)
|
|
ENDIF
|
|
|
|
IF IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TOWING_ASSETS)
|
|
SET_MODEL_AS_NO_LONGER_NEEDED(TOWTRUCK)
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TOWING_ASSETS)
|
|
ENDIF
|
|
|
|
IF IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_GOLF_CLUB_ASSETS)
|
|
IF STREAMVOL_IS_VALID(g_PropertySystemData.streamVolume)
|
|
STREAMVOL_DELETE(g_PropertySystemData.streamVolume)
|
|
ENDIF
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_GOLF_CLUB_ASSETS)
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
FUNC VECTOR GET_PROPERTY_CUTSCENE_REPOSTION_COORDS(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_WEED_SHOP
|
|
RETURN <<-1173.98413, -1573.37109, 3.37083>>
|
|
BREAK
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
RETURN <<410.72632, -1624.37292, 28.29278>>
|
|
BREAK
|
|
CASE PROPERTY_TAXI_LOT
|
|
RETURN <<901.96375, -178.59615, 72.95532>>
|
|
BREAK
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
RETURN <<-1585.41406, 5194.89355, 3.00912>>
|
|
BREAK
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
RETURN <<1177.81934, 2648.62061, 36.79923>>
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
RETURN <<337.51617, 171.56021, 102.22147>>
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
RETURN <<397.02444, -710.33325, 28.28472>>
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
RETURN <<-1424.19141, -198.89491, 46.30384>>
|
|
BREAK
|
|
CASE PROPERTY_GOLF_CLUB
|
|
RETURN <<-1341.13599, -16.49592, 50.81433>>
|
|
BREAK
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
RETURN <<1525.31177, -2112.94409, 75.64257>>
|
|
BREAK
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
RETURN <<-564.87378, 271.80304, 82.02014>>
|
|
BREAK
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
RETURN <<226.23177, 341.22311, 104.54834>>
|
|
BREAK
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
RETURN <<-298.25507, 6254.39600, 30.48323>>
|
|
BREAK
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
RETURN <<-2199.22046, 4296.41455, 47.52314>>
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN GET_ENTITY_COORDS(PLAYER_PED_ID())
|
|
ENDFUNC
|
|
|
|
FUNC FLOAT GET_PROPERTY_CUTSCENE_REPOSTION_HEADING(PROPERTY_ENUM thisProperty)
|
|
SWITCH thisProperty
|
|
CASE PROPERTY_WEED_SHOP
|
|
RETURN 122.4
|
|
BREAK
|
|
CASE PROPERTY_TOWING_IMPOUND
|
|
RETURN -133.2
|
|
BREAK
|
|
CASE PROPERTY_TAXI_LOT
|
|
RETURN -125.3
|
|
BREAK
|
|
CASE PROPERTY_SONAR_COLLECTIONS
|
|
RETURN -63.9
|
|
BREAK
|
|
CASE PROPERTY_CAR_MOD_SHOP
|
|
RETURN -48.2
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_VINEWOOD
|
|
RETURN 162.1
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_DOWNTOWN
|
|
RETURN -88.8
|
|
BREAK
|
|
CASE PROPERTY_CINEMA_MORNINGWOOD
|
|
RETURN 1.5
|
|
BREAK
|
|
CASE PROPERTY_GOLF_CLUB
|
|
RETURN -165.8
|
|
BREAK
|
|
CASE PROPERTY_CAR_SCRAP_YARD
|
|
RETURN -92.2
|
|
BREAK
|
|
CASE PROPERTY_BAR_TEQUILALA
|
|
RETURN 174.7
|
|
BREAK
|
|
CASE PROPERTY_BAR_PITCHERS
|
|
RETURN -19.7
|
|
BREAK
|
|
CASE PROPERTY_BAR_HEN_HOUSE
|
|
RETURN -138.7
|
|
BREAK
|
|
CASE PROPERTY_BAR_HOOKIES
|
|
RETURN 72.4
|
|
BREAK
|
|
ENDSWITCH
|
|
|
|
RETURN GET_ENTITY_HEADING(PLAYER_PED_ID())
|
|
ENDFUNC
|
|
|
|
FUNC VECTOR CONVERT_ROTATION2_TO_DIRECTION_VECTOR(VECTOR vRot)
|
|
RETURN <<-SIN(vRot.z) * COS(vRot.x), COS(vRot.z) * COS(vRot.x), SIN(vRot.x)>>
|
|
ENDFUNC
|
|
|
|
// do the purchase cutscene for a property
|
|
PROC RUN_PROPERTY_CUTSCENE(PROPERTY_ENUM thisProperty)
|
|
RESET_SHOP_HELP_DELAY()
|
|
|
|
IF thisProperty = PROPERTY_TOWING_IMPOUND
|
|
IF IS_VEHICLE_DRIVEABLE(g_PropertySystemData.veh[0])
|
|
SET_FORCE_HD_VEHICLE(g_PropertySystemData.veh[0], TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_SETUP_CUTSCENE)
|
|
DISABLE_CELLPHONE(TRUE)
|
|
CLEAR_HELP()
|
|
CLEAR_PRINTS()
|
|
g_bCurrentlyBuyingProperty = TRUE // Prevent Chop running off when showing the buying property cutscene
|
|
SET_SCRIPTS_SAFE_FOR_CUTSCENE(TRUE)
|
|
PAUSE_FLOW_HELP_QUEUE(TRUE)
|
|
|
|
SET_WANTED_LEVEL_MULTIPLIER(0.0)
|
|
SET_MAX_WANTED_LEVEL(0)
|
|
SET_PLAYER_WANTED_LEVEL(PLAYER_ID(), 0)
|
|
SET_PLAYER_WANTED_LEVEL_NOW(PLAYER_ID())
|
|
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TRAFFICKING_ASSETS)
|
|
REMOVE_CONTROL_AND_HUD_FOR_PROPERTY_CUTSCENE()
|
|
ENDIF
|
|
|
|
g_PropertySystemData.iCutsceneShot = 0
|
|
g_PropertySystemData.iCutsceneHelp = 0
|
|
|
|
g_PropertySystemData.bDone1stPersonFlash = FALSE
|
|
|
|
g_PropertySystemData.iCutsceneStartTime = GET_GAME_TIMER()
|
|
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_REQUESTED_TRAFFICKING_ASSETS)
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
|
|
|
|
CLEAR_AREA_OF_PEDS(GET_PROPERTY_CUTSCENE_REPOSTION_COORDS(thisProperty), 2.0)
|
|
CLEAR_AREA_OF_PROJECTILES(GET_ENTITY_COORDS(PLAYER_PED_ID()), 100)
|
|
STOP_FIRE_IN_RANGE(GET_ENTITY_COORDS(PLAYER_PED_ID()), 100)
|
|
REMOVE_PARTICLE_FX_IN_RANGE(GET_ENTITY_COORDS(PLAYER_PED_ID()), 20)
|
|
|
|
IF thisProperty = PROPERTY_TOWING_IMPOUND
|
|
RESOLVE_VEHICLES_INSIDE_ANGLED_AREA(<<404.38449, -1635.44800, 28.29194>>, <<397.61618, -1630.03479, 33.43343>>, 4.5, <<404.29468, -1629.50781, 28.29194>>, -127.8, TRUE, FALSE, TRUE)
|
|
g_PropertySystemData.veh[0] = CREATE_VEHICLE(TOWTRUCK, << 401.6467, -1633.3079, 29.25 >>, -128.47)
|
|
SET_VEHICLE_COLOUR_COMBINATION(g_PropertySystemData.veh[0], 0)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(g_PropertySystemData.veh[0])
|
|
SET_VEHICLE_AS_NO_LONGER_NEEDED(g_PropertySystemData.veh[0])
|
|
ENDIF
|
|
|
|
CLEAR_PED_TASKS_IMMEDIATELY(PLAYER_PED_ID())
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), GET_PROPERTY_CUTSCENE_REPOSTION_COORDS(thisProperty))
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(), GET_PROPERTY_CUTSCENE_REPOSTION_HEADING(thisProperty))
|
|
|
|
DO_PROPERTY_CUTSCENE_CAM(thisProperty, g_PropertySystemData.iCutsceneShot)
|
|
DO_PROPERTY_CUTSCENE_HELP(thisProperty, g_PropertySystemData.iCutsceneHelp)
|
|
|
|
RESET_PROPERTY_ASSET_STREAMING()
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_PLAYING_MOCAP)
|
|
|
|
IF thisProperty = PROPERTY_GOLF_CLUB
|
|
g_PropertySystemData.streamVolume = STREAMVOL_CREATE_FRUSTUM(<<-1232.220337,-22.753672,47.196873>>, CONVERT_ROTATION2_TO_DIRECTION_VECTOR(<<5.359231,0.000000,52.316067>>), 100, FLAG_MAPDATA)
|
|
ELIF thisProperty = PROPERTY_CAR_MOD_SHOP
|
|
//g_PropertySystemData.streamVolume = STREAMVOL_CREATE_FRUSTUM(<<1180.356201,2645.067871,38.195461>>, CONVERT_ROTATION2_TO_DIRECTION_VECTOR(<<-0.360282,-0.060618,139.270355>>), 30, FLAG_MAPDATA)
|
|
NEW_LOAD_SCENE_START_SPHERE((<<1175.7, 2639.3, 38.1>>), 20.0)
|
|
g_PropertySystemData.interior = GET_INTERIOR_AT_COORDS(<<1175.7, 2639.3, 38.1>>)
|
|
PIN_INTERIOR_IN_MEMORY(g_PropertySystemData.interior)
|
|
ENDIF
|
|
ELSE
|
|
REGISTER_ENTITY_FOR_CUTSCENE(PLAYER_PED_ID(), "Trevor", CU_ANIMATE_EXISTING_SCRIPT_ENTITY)
|
|
REGISTER_ENTITY_FOR_CUTSCENE(g_PropertySystemData.ped, "Oscar", CU_CREATE_AND_ANIMATE_NEW_SCRIPT_ENTITY, CSB_OSCAR)
|
|
|
|
START_CUTSCENE(CUTSCENE_SUPPRESS_FP_TRANSITION_FLASH)
|
|
SET_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_PLAYING_MOCAP)
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_CLEARED_FOR_MOCAP)
|
|
ENDIF
|
|
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_DONE_PURCHASE_SOUND)
|
|
|
|
REQUEST_ADDITIONAL_TEXT("PROPR", MINIGAME_TEXT_SLOT)
|
|
|
|
SET_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_SETUP_CUTSCENE)
|
|
ENDIF
|
|
|
|
// play sound
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_DONE_PURCHASE_SOUND)
|
|
IF REQUEST_SCRIPT_AUDIO_BANK("HUD_PROPERTY")
|
|
PLAY_SOUND_FRONTEND(-1, GET_PROPERTY_PURCHASE_SOUND_AS_STRING(thisProperty), "HUD_PROPERTY_SOUNDSET")
|
|
SET_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_DONE_PURCHASE_SOUND)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_PLAYING_MOCAP)
|
|
IF NOT IS_HELP_MESSAGE_BEING_DISPLAYED()
|
|
IF g_PropertySystemData.iCutsceneHelp < GET_NUMBER_PROPERTY_CUTSCENE_HELP_TEXTS(thisProperty)
|
|
DO_PROPERTY_CUTSCENE_HELP(thisProperty, g_PropertySystemData.iCutsceneHelp)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_CUTSCENE_SKIP_BUTTON_JUST_PRESSED()
|
|
AND GET_GAME_TIMER() >= g_PropertySystemData.iCutsceneStartTime + 1000
|
|
DO_SCREEN_FADE_OUT(DEFAULT_FADE_TIME)
|
|
WHILE NOT IS_SCREEN_FADED_OUT()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
END_PROPERTY_CUTSCENE(thisProperty)
|
|
ELSE
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("mission_repeat_controller")) > 0
|
|
END_PROPERTY_CUTSCENE(thisProperty)
|
|
ELSE
|
|
IF NOT g_PropertySystemData.bDone1stPersonFlash
|
|
IF GET_FOLLOW_PED_CAM_VIEW_MODE() = CAM_VIEW_MODE_FIRST_PERSON
|
|
IF GET_GAME_TIMER() >= g_PropertySystemData.iNextCutsceneShotTime - 300
|
|
IF g_PropertySystemData.iCutsceneShot >= GET_NUMBER_PROPERTY_CUTSCENE_SHOTS(thisProperty)
|
|
ANIMPOSTFX_PLAY("CamPushInNeutral", 0, FALSE)
|
|
PLAY_SOUND_FRONTEND(-1, "1st_Person_Transition", "PLAYER_SWITCH_CUSTOM_SOUNDSET")
|
|
g_PropertySystemData.bDone1stPersonFlash = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF GET_GAME_TIMER() >= g_PropertySystemData.iNextCutsceneShotTime
|
|
IF g_PropertySystemData.iCutsceneShot < GET_NUMBER_PROPERTY_CUTSCENE_SHOTS(thisProperty)
|
|
DO_PROPERTY_CUTSCENE_CAM(thisProperty, g_PropertySystemData.iCutsceneShot)
|
|
NEW_LOAD_SCENE_STOP()
|
|
IF STREAMVOL_IS_VALID(g_PropertySystemData.streamVolume)
|
|
STREAMVOL_DELETE(g_PropertySystemData.streamVolume)
|
|
ENDIF
|
|
ELSE
|
|
END_PROPERTY_CUTSCENE(thisProperty)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
IF NOT IS_BITMASK_AS_ENUM_SET(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_CLEARED_FOR_MOCAP)
|
|
IF IS_CUTSCENE_PLAYING()
|
|
IF thisProperty = PROPERTY_ARMS_TRAFFICKING
|
|
VEHICLE_INDEX lastVehicle = GET_PLAYERS_LAST_VEHICLE()
|
|
IF IS_VEHICLE_DRIVEABLE(lastVehicle)
|
|
IF GET_ENTITY_MODEL(lastVehicle) <> CUBAN800
|
|
RESOLVE_VEHICLES_INSIDE_ANGLED_AREA(<<2139.966, 4771.064, 40.040>>, <<2127.725, 4795.483, 44.119>>, 25, <<2148.30200, 4808.09229, 40.19440>>, 116.6, TRUE, FALSE, TRUE)
|
|
RESOLVE_VEHICLES_INSIDE_ANGLED_AREA(<<2153.35938, 4795.98877, 40.18427>>, <<2147.13135, 4800.27588, 44.07146>>, 5, <<2148.30200, 4808.09229, 40.19440>>, 116.6, TRUE, FALSE, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
CLEAR_AREA_OF_VEHICLES(<<2136.1331, 4780.5635, 39.9702>>, 8.0)
|
|
CLEAR_AREA_OF_PROJECTILES(<<2136.1331, 4780.5635, 39.9702>>, 100)
|
|
STOP_FIRE_IN_RANGE(<<2136.1331, 4780.5635, 39.9702>>, 100)
|
|
REMOVE_PARTICLE_FX_IN_RANGE(<<2136.1331, 4780.5635, 39.9702>>, 20)
|
|
g_PropertySystemData.veh[0] = CREATE_VEHICLE(CUBAN800, <<2136.1331, 4780.5635, 39.9702>>, 25.29)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(g_PropertySystemData.veh[0])
|
|
SET_VEHICLE_COLOUR_COMBINATION(g_PropertySystemData.veh[0], 2)
|
|
FREEZE_ENTITY_POSITION(g_PropertySystemData.veh[0], TRUE)
|
|
|
|
g_PropertySystemData.veh[1] = CREATE_VEHICLE(DUNE, <<2149.73, 4798.49, 40.57>>, 55.47)
|
|
SET_VEHICLE_ON_GROUND_PROPERLY(g_PropertySystemData.veh[1])
|
|
ENDIF
|
|
RESET_PROPERTY_ASSET_STREAMING(FALSE)
|
|
|
|
REMOVE_CONTROL_AND_HUD_FOR_PROPERTY_CUTSCENE()
|
|
RESET_FOR_SALE_SIGN_CREATE_STATE(TRUE)
|
|
SET_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_CLEARED_FOR_MOCAP)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT DOES_ENTITY_EXIST(g_PropertySystemData.ped)
|
|
IF DOES_ENTITY_EXIST(GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("Oscar"))
|
|
g_PropertySystemData.ped = GET_PED_INDEX_FROM_ENTITY_INDEX(GET_ENTITY_INDEX_OF_REGISTERED_ENTITY("Oscar"))
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Trevor")
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_REGISTERED_ENTITY("Oscar")
|
|
IF DOES_ENTITY_EXIST(g_PropertySystemData.ped)
|
|
DELETE_PED(g_PropertySystemData.ped)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF CAN_SET_EXIT_STATE_FOR_CAMERA()
|
|
WHILE IS_SCREEN_FADING_OUT()
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
IF thisProperty = PROPERTY_ARMS_TRAFFICKING
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), FALSE)
|
|
ENDIF
|
|
|
|
DO_PROPERTY_CUTSCENE_CAM(thisProperty, g_PropertySystemData.iCutsceneShot)
|
|
DO_PROPERTY_CUTSCENE_HELP(thisProperty, g_PropertySystemData.iCutsceneHelp)
|
|
CLEAR_BITMASK_AS_ENUM(g_PropertySystemData.iSystemBit, PROPERTY_SYSTEM_BIT_PLAYING_MOCAP)
|
|
IF IS_SCREEN_FADED_OUT()
|
|
DO_SCREEN_FADE_IN(DEFAULT_FADE_TIME)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("mission_repeat_controller")) > 0
|
|
STOP_CUTSCENE()
|
|
END_PROPERTY_CUTSCENE(thisProperty)
|
|
ENDIF
|
|
ENDIF
|
|
ENDPROC
|