@citizenfx/client 2.0.5242-1 → 2.0.5251-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/natives_universal.d.ts +231 -100
- package/package.json +1 -1
package/natives_universal.d.ts
CHANGED
|
@@ -1790,8 +1790,9 @@ declare function SetTextEntry_2(GxtEntry: string): void;
|
|
|
1790
1790
|
* GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1");
|
|
1791
1791
|
* HUD::_0x17299B63C7683A2B(v_3);
|
|
1792
1792
|
* GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
|
|
1793
|
+
* @param textLabel a GXT text label
|
|
1793
1794
|
*/
|
|
1794
|
-
declare function BeginTextCommandScaleformString(
|
|
1795
|
+
declare function BeginTextCommandScaleformString(textLabel: string): void;
|
|
1795
1796
|
/**
|
|
1796
1797
|
* Called prior to adding a text component to the UI. After doing so, GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING is called.
|
|
1797
1798
|
* Examples:
|
|
@@ -1808,8 +1809,9 @@ declare function BeginTextCommandScaleformString(componentType: string): void;
|
|
|
1808
1809
|
* GRAPHICS::BEGIN_TEXT_COMMAND_SCALEFORM_STRING("STRTNM1");
|
|
1809
1810
|
* HUD::_0x17299B63C7683A2B(v_3);
|
|
1810
1811
|
* GRAPHICS::END_TEXT_COMMAND_SCALEFORM_STRING();
|
|
1812
|
+
* @param textLabel a GXT text label
|
|
1811
1813
|
*/
|
|
1812
|
-
declare function BeginTextComponent(
|
|
1814
|
+
declare function BeginTextComponent(textLabel: string): void;
|
|
1813
1815
|
|
|
1814
1816
|
/**
|
|
1815
1817
|
* Starts a text command to change the name of a blip displayed in the pause menu.
|
|
@@ -3016,7 +3018,7 @@ declare function CreateAudioSubmix(name: string): number;
|
|
|
3016
3018
|
* "DEFAULT_SCRIPTED_FLY_CAMERA"
|
|
3017
3019
|
* "TIMED_SPLINE_CAMERA"
|
|
3018
3020
|
*/
|
|
3019
|
-
declare function CreateCam(camName: string,
|
|
3021
|
+
declare function CreateCam(camName: string, active: boolean): number;
|
|
3020
3022
|
|
|
3021
3023
|
/**
|
|
3022
3024
|
* camName is always set to "DEFAULT_SCRIPTED_CAMERA" in Rockstar's scripts.
|
|
@@ -3821,7 +3823,17 @@ declare function DecorGetInt(entity: number, propertyName: string): number;
|
|
|
3821
3823
|
declare function DecorIsRegisteredAsType(propertyName: string, _type: number): boolean;
|
|
3822
3824
|
|
|
3823
3825
|
/**
|
|
3824
|
-
*
|
|
3826
|
+
* Decor types:
|
|
3827
|
+
* ```
|
|
3828
|
+
* enum eDecorType
|
|
3829
|
+
* {
|
|
3830
|
+
* DECOR_TYPE_FLOAT = 1,
|
|
3831
|
+
* DECOR_TYPE_BOOL = 2,
|
|
3832
|
+
* DECOR_TYPE_INT = 3,
|
|
3833
|
+
* DECOR_TYPE_UNK = 4,
|
|
3834
|
+
* DECOR_TYPE_TIME = 5
|
|
3835
|
+
* };
|
|
3836
|
+
* ```
|
|
3825
3837
|
*/
|
|
3826
3838
|
declare function DecorRegister(propertyName: string, _type: number): void;
|
|
3827
3839
|
|
|
@@ -4328,6 +4340,25 @@ declare function DoesExtraExist(vehicle: number, extraId: number): boolean;
|
|
|
4328
4340
|
|
|
4329
4341
|
declare function DoesGroupExist(groupId: number): boolean;
|
|
4330
4342
|
|
|
4343
|
+
/**
|
|
4344
|
+
* Used in pi_menu.c. Checks if there is a brief entry for specified value.
|
|
4345
|
+
* Values:
|
|
4346
|
+
* 0 - Dialogue brief
|
|
4347
|
+
* 1 - Help text brief
|
|
4348
|
+
* 2 - Mission Objective brief
|
|
4349
|
+
* @param briefValue A value indicating brief text.
|
|
4350
|
+
*/
|
|
4351
|
+
declare function DoesLatestBriefStringExist(briefValue: number): boolean;
|
|
4352
|
+
/**
|
|
4353
|
+
* Used in pi_menu.c. Checks if there is a brief entry for specified value.
|
|
4354
|
+
* Values:
|
|
4355
|
+
* 0 - Dialogue brief
|
|
4356
|
+
* 1 - Help text brief
|
|
4357
|
+
* 2 - Mission Objective brief
|
|
4358
|
+
* @param briefValue A value indicating brief text.
|
|
4359
|
+
*/
|
|
4360
|
+
declare function N_0x5e657ef1099edd65(briefValue: number): boolean;
|
|
4361
|
+
|
|
4331
4362
|
declare function DoesNavmeshBlockingObjectExist(p0: number): boolean;
|
|
4332
4363
|
declare function N_0x0eaeb0db4b132399(p0: number): boolean;
|
|
4333
4364
|
|
|
@@ -5452,9 +5483,9 @@ declare function EndTextCommandGetLineCount(x: number, y: number): number;
|
|
|
5452
5483
|
declare function EndTextCommandObjective(p0: boolean): void;
|
|
5453
5484
|
declare function N_0xcfdbdf5ae59ba0f4(p0: boolean): void;
|
|
5454
5485
|
|
|
5455
|
-
declare function EndTextCommandOverrideButtonText(
|
|
5456
|
-
declare function N_0xa86911979638106f(
|
|
5457
|
-
declare function EndTextCommandTimer(
|
|
5486
|
+
declare function EndTextCommandOverrideButtonText(buttonIndex: number): void;
|
|
5487
|
+
declare function N_0xa86911979638106f(buttonIndex: number): void;
|
|
5488
|
+
declare function EndTextCommandTimer(buttonIndex: number): void;
|
|
5458
5489
|
|
|
5459
5490
|
/**
|
|
5460
5491
|
* Draws the subtitle at middle center of the screen.
|
|
@@ -15640,7 +15671,13 @@ declare function N_0x563b65a643ed072e(weaponHash: string | number, vehicle: numb
|
|
|
15640
15671
|
*/
|
|
15641
15672
|
declare function IsVehicleWindowIntact(vehicle: number, windowIndex: number): boolean;
|
|
15642
15673
|
|
|
15674
|
+
/**
|
|
15675
|
+
* Returns true if a Warning Message or ReportUGC menu is active.
|
|
15676
|
+
*/
|
|
15643
15677
|
declare function IsWarningMessageActive(): boolean;
|
|
15678
|
+
/**
|
|
15679
|
+
* Returns true if a Warning Message or ReportUGC menu is active.
|
|
15680
|
+
*/
|
|
15644
15681
|
declare function IsMedicalDisabled(): boolean;
|
|
15645
15682
|
|
|
15646
15683
|
/**
|
|
@@ -15924,6 +15961,15 @@ declare function LocalizationGetSystemLanguage(): number;
|
|
|
15924
15961
|
*/
|
|
15925
15962
|
declare function N_0x497420e022796b3f(): number;
|
|
15926
15963
|
|
|
15964
|
+
/**
|
|
15965
|
+
* Updates the display of the MP/SP loading buttons, and locks the state so that other options are not displayed or changed. This can only be done once.
|
|
15966
|
+
*/
|
|
15967
|
+
declare function LockLoadingScreenButtons(): void;
|
|
15968
|
+
/**
|
|
15969
|
+
* Updates the display of the MP/SP loading buttons, and locks the state so that other options are not displayed or changed. This can only be done once.
|
|
15970
|
+
*/
|
|
15971
|
+
declare function N_0xb1577667c3708f9b(): void;
|
|
15972
|
+
|
|
15927
15973
|
/**
|
|
15928
15974
|
* Locks the minimap to the specified angle in integer degrees.
|
|
15929
15975
|
* angle: The angle in whole degrees. If less than 0 or greater than 360, unlocks the angle.
|
|
@@ -17227,9 +17273,13 @@ declare function N_0x3bd770d281982db5(p0: number, p1: number): number;
|
|
|
17227
17273
|
declare function N_0x3c5c1e2c2ff814b1(toggle: boolean): void;
|
|
17228
17274
|
|
|
17229
17275
|
/**
|
|
17276
|
+
* ```
|
|
17230
17277
|
* NativeDB Introduced: v1180
|
|
17278
|
+
* ```
|
|
17279
|
+
* Sets the given checkpoint target to the new coords
|
|
17280
|
+
* @param checkpointHandle the handle of a created checkpoint
|
|
17231
17281
|
*/
|
|
17232
|
-
declare function N_0x3c788e7f6438754d(
|
|
17282
|
+
declare function N_0x3c788e7f6438754d(checkpointHandle: number, x: number, y: number, z: number): void;
|
|
17233
17283
|
|
|
17234
17284
|
declare function N_0x3d9acb1eb139e702(): number;
|
|
17235
17285
|
|
|
@@ -17389,9 +17439,6 @@ declare function N_0x487912fd248efddf(p0: number, p1: number): boolean;
|
|
|
17389
17439
|
*/
|
|
17390
17440
|
declare function N_0x4879e4fe39074cdf(): boolean;
|
|
17391
17441
|
|
|
17392
|
-
declare function N_0x4895bdea16e7c080(p0: number): void;
|
|
17393
|
-
declare function EnableDeathbloodSeethrough(p0: number): void;
|
|
17394
|
-
|
|
17395
17442
|
/**
|
|
17396
17443
|
* Only found 3 times in decompiled scripts. Not a whole lot to go off of.
|
|
17397
17444
|
* MISC::_48F069265A0E4BEC(a_0, "Movie_Name_For_This_Player");
|
|
@@ -17755,11 +17802,6 @@ declare function N_0x5e3aa4ca2b6fb0ee(p0: number): void;
|
|
|
17755
17802
|
|
|
17756
17803
|
declare function N_0x5e569ec46ec21cae(vehicle: number, toggle: boolean): void;
|
|
17757
17804
|
|
|
17758
|
-
/**
|
|
17759
|
-
* DOES_*
|
|
17760
|
-
*/
|
|
17761
|
-
declare function N_0x5e657ef1099edd65(p0: number): boolean;
|
|
17762
|
-
|
|
17763
17805
|
/**
|
|
17764
17806
|
* example from completionpercentage_controller.ysc.c4
|
|
17765
17807
|
* if (STATS::_5EAD2BF6484852E4()) {
|
|
@@ -19204,8 +19246,6 @@ declare function N_0xb1381b97f70c7b30(): void;
|
|
|
19204
19246
|
|
|
19205
19247
|
declare function N_0xb13e88e655e5a3bc(): void;
|
|
19206
19248
|
|
|
19207
|
-
declare function N_0xb1577667c3708f9b(): void;
|
|
19208
|
-
|
|
19209
19249
|
declare function N_0xb17bc6453f6cf5ac(p0: number, p1: number): void;
|
|
19210
19250
|
|
|
19211
19251
|
declare function N_0xb1b6216ca2e7b55e(p0: number, p1: boolean, p2: boolean): void;
|
|
@@ -19846,9 +19886,13 @@ declare function N_0xdaf80797fc534bec(p0: number): void;
|
|
|
19846
19886
|
declare function N_0xdaf87174be7454ff(p0: number): boolean;
|
|
19847
19887
|
|
|
19848
19888
|
/**
|
|
19889
|
+
* ```
|
|
19849
19890
|
* NativeDB Introduced: v1180
|
|
19891
|
+
* ```
|
|
19892
|
+
* This native is used for the "larger" circular checkpoints, and sets the circle/ring around the checkpoint to point in the same direction as the inner arrow
|
|
19893
|
+
* @param checkpointHandle the handle of a created checkpoint
|
|
19850
19894
|
*/
|
|
19851
|
-
declare function N_0xdb1ea9411c8911ec(
|
|
19895
|
+
declare function N_0xdb1ea9411c8911ec(checkpointHandle: number): void;
|
|
19852
19896
|
|
|
19853
19897
|
declare function N_0xdb41d07a45a6d4b7(p0: number): number;
|
|
19854
19898
|
|
|
@@ -19882,8 +19926,6 @@ declare function N_0xdbf860cf1db8e599(p0: number): number;
|
|
|
19882
19926
|
*/
|
|
19883
19927
|
declare function N_0xdc6f8601faf2e893(entity: number, toggle: boolean): void;
|
|
19884
19928
|
|
|
19885
|
-
declare function N_0xdc9da9e8789f5246(): void;
|
|
19886
|
-
|
|
19887
19929
|
/**
|
|
19888
19930
|
* Always returns false.
|
|
19889
19931
|
* ```
|
|
@@ -22568,7 +22610,12 @@ declare function NetworkIsInTransition(): boolean;
|
|
|
22568
22610
|
|
|
22569
22611
|
declare function NetworkIsInTutorialSession(): boolean;
|
|
22570
22612
|
|
|
22571
|
-
|
|
22613
|
+
/**
|
|
22614
|
+
* Checks if the networkHandle is the same as any other user that is signed in on the local machine.
|
|
22615
|
+
* For example, if your console has two or more users signed in (on different controllers), the profile that is not controlling the game would be "inactive".
|
|
22616
|
+
* @return Returns true if the networkHandle is signed in on the same machine, but is not the main player.
|
|
22617
|
+
*/
|
|
22618
|
+
declare function NetworkIsInactiveProfile(networkHandle: number): [boolean, number];
|
|
22572
22619
|
|
|
22573
22620
|
declare function NetworkIsLocalPlayerInvincible(): boolean;
|
|
22574
22621
|
|
|
@@ -24415,6 +24462,15 @@ declare function N_0x84698ab38d0c6636(contextHash: string | number): boolean;
|
|
|
24415
24462
|
declare function PauseMenuIsContextMenuActive(): number;
|
|
24416
24463
|
declare function N_0x2a25adc48f87841f(): number;
|
|
24417
24464
|
|
|
24465
|
+
/**
|
|
24466
|
+
* Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
|
|
24467
|
+
*/
|
|
24468
|
+
declare function PauseMenuRedrawInstructionalButtons(p0: number): void;
|
|
24469
|
+
/**
|
|
24470
|
+
* Updates instructional buttons in Pause Menu after menu contexts have been toggled. p0 purpose is currently unknown, only 0 is used in scripts.
|
|
24471
|
+
*/
|
|
24472
|
+
declare function EnableDeathbloodSeethrough(p0: number): void;
|
|
24473
|
+
|
|
24418
24474
|
declare function PauseMenuSetBusySpinner(p0: boolean, p1: number, p2: number): void;
|
|
24419
24475
|
declare function N_0xc78e239ac5b2ddb9(p0: boolean, p1: number, p2: number): void;
|
|
24420
24476
|
|
|
@@ -28134,6 +28190,9 @@ declare function SetCinematicCamShakeAmplitude(p0: number): void;
|
|
|
28134
28190
|
*/
|
|
28135
28191
|
declare function SetCinematicModeActive(toggle: boolean): void;
|
|
28136
28192
|
|
|
28193
|
+
declare function SetCinematicNewsChannelActiveThisUpdate(): void;
|
|
28194
|
+
declare function N_0xdc9da9e8789f5246(): void;
|
|
28195
|
+
|
|
28137
28196
|
declare function SetClockDate(day: number, month: number, year: number): void;
|
|
28138
28197
|
|
|
28139
28198
|
/**
|
|
@@ -30500,7 +30559,11 @@ declare function SetParticleFxLoopedScale(ptfxHandle: number, scale: number): vo
|
|
|
30500
30559
|
declare function SetParticleFxNonLoopedAlpha(alpha: number): void;
|
|
30501
30560
|
|
|
30502
30561
|
/**
|
|
30503
|
-
*
|
|
30562
|
+
* Changes the colour of the particle effect that will be drawn next. The particle can be networked or non-networked, but it must be non-looped for this native to work.
|
|
30563
|
+
* The colour parameters accept RGB values on a scale from 0.0 to 1.0, therefore RGB values that follow the standard 0-255 scale can be easily used dividing said value by 255.
|
|
30564
|
+
* @param r The red component of the particle's colour, on a scale from 0.0 to 1.0.
|
|
30565
|
+
* @param g The green component of the particle's colour, on a scale from 0.0 to 1.0.
|
|
30566
|
+
* @param b The blue component of the particle's colour, on a scale from 0.0 to 1.0.
|
|
30504
30567
|
*/
|
|
30505
30568
|
declare function SetParticleFxNonLoopedColour(r: number, g: number, b: number): void;
|
|
30506
30569
|
|
|
@@ -31138,7 +31201,7 @@ declare function SetPedComponentVariation(ped: number, componentId: number, draw
|
|
|
31138
31201
|
* _0xB60EA2BA = 245,
|
|
31139
31202
|
* _0x536B0950 = 246,
|
|
31140
31203
|
* _0x0C754ACA = 247,
|
|
31141
|
-
*
|
|
31204
|
+
* CPED_CONFIG_FLAG_DisableVehicleSeatRandomAnimations = 248,
|
|
31142
31205
|
* _0x12659168 = 249,
|
|
31143
31206
|
* _0x1BDF2F04 = 250,
|
|
31144
31207
|
* _0x7728FAA3 = 251,
|
|
@@ -31991,7 +32054,7 @@ declare function SetPedPrimaryLookat(ped: number, lookAt: number): void;
|
|
|
31991
32054
|
* ### Related and useful natives
|
|
31992
32055
|
* [GET_NUMBER_OF_PED_PROP_DRAWABLE_VARIATIONS](#\_0x5FAF9754E789FB47)\
|
|
31993
32056
|
* [GET_NUMBER_OF_PED_PROP_TEXTURE_VARIATIONS](#\_0xA6E7F1CEB523E171)
|
|
31994
|
-
* [List of component/props ID](gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
|
|
32057
|
+
* [List of component/props ID](https://gtaxscripting.blogspot.com/2016/04/gta-v-peds-component-and-props.html) of player_two with examples
|
|
31995
32058
|
* @param ped The ped handle.
|
|
31996
32059
|
* @param componentId The component that you want to set.
|
|
31997
32060
|
* @param drawableId The drawable id that is going to be set.
|
|
@@ -32487,6 +32550,8 @@ declare function SetPlayerMeleeWeaponDefenseModifier(player: number, modifier: n
|
|
|
32487
32550
|
/**
|
|
32488
32551
|
* Set the model for a specific Player. Be aware that this will destroy the current Ped for the Player and create a new one, any reference to the old ped should be reset
|
|
32489
32552
|
* Make sure to request the model first and wait until it has loaded.
|
|
32553
|
+
* @param player The player to set the model for
|
|
32554
|
+
* @param model The hash of the model to use
|
|
32490
32555
|
*/
|
|
32491
32556
|
declare function SetPlayerModel(player: number, model: string | number): void;
|
|
32492
32557
|
|
|
@@ -35974,7 +36039,7 @@ declare function SetWeatherOwnedByNetwork(network: boolean): void;
|
|
|
35974
36039
|
declare function SetWeatherTypeNow(weatherType: string): void;
|
|
35975
36040
|
|
|
35976
36041
|
/**
|
|
35977
|
-
* Refer to [`
|
|
36042
|
+
* Refer to [`SET_WEATHER_TYPE_NOW`](#0x29B487C359E19889) for weather types.
|
|
35978
36043
|
*/
|
|
35979
36044
|
declare function SetWeatherTypeNowPersist(weatherType: string): void;
|
|
35980
36045
|
|
|
@@ -36124,7 +36189,23 @@ declare function ShiftLeft(value: number, bitShift: number): number;
|
|
|
36124
36189
|
|
|
36125
36190
|
declare function ShiftRight(value: number, bitShift: number): number;
|
|
36126
36191
|
|
|
36127
|
-
|
|
36192
|
+
/**
|
|
36193
|
+
* Shoots a bullet from the first vector to the second vector. The weapon used as weaponHash should already be loaded via REQUEST_WEAPON_ASSET, otherwise the bullet may fail to materialise.
|
|
36194
|
+
* @param x1 The X coordinate to start the shot at.
|
|
36195
|
+
* @param y1 The Y coordinate to start the shot at.
|
|
36196
|
+
* @param z1 The Z coordinate to start the shot at.
|
|
36197
|
+
* @param x2 The X coordinate the shot should end up at.
|
|
36198
|
+
* @param y2 The Y coordinate the shot should end up at.
|
|
36199
|
+
* @param z2 The Z coordinate the shot should end up at.
|
|
36200
|
+
* @param damage The amount of damage the bullet carries.
|
|
36201
|
+
* @param pureAccuracy Whether the bullet should have pinpoint accuracy.
|
|
36202
|
+
* @param weaponHash Hash of the weapon the bullet is used as ammunition for.
|
|
36203
|
+
* @param ownerPed Owner of the bullet, e.g. if the bullet kills someone the kill feed shows 'X was shot by ownerPed.'
|
|
36204
|
+
* @param isAudible Whether the bullet should be audible. Optional, defaults to true
|
|
36205
|
+
* @param isInvisible Whether the bullet should be invisible. Optional, defaults to false
|
|
36206
|
+
* @param speed Speed the bullet should fly at. Optional
|
|
36207
|
+
*/
|
|
36208
|
+
declare function ShootSingleBulletBetweenCoords(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, damage: number, pureAccuracy: boolean, weaponHash: string | number, ownerPed: number, isAudible: boolean, isInvisible: boolean, speed: number): void;
|
|
36128
36209
|
|
|
36129
36210
|
/**
|
|
36130
36211
|
* entity - entity to ignore
|
|
@@ -36654,30 +36735,13 @@ declare function StartEntityFire(entity: number): number;
|
|
|
36654
36735
|
/**
|
|
36655
36736
|
* Does the same as [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E), except blocking until the shape test completes.
|
|
36656
36737
|
* Use [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) instead. Literally. Rockstar named this correctly: it's expensive, and it's synchronous.
|
|
36657
|
-
* ```
|
|
36658
|
-
* This function casts a ray from Point1 to Point2 and returns it's ray handle. A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached.
|
|
36659
|
-
* You can use _GET_RAYCAST_RESULT to get the result of the raycast
|
|
36660
|
-
* Entity is an entity to ignore, such as the player.
|
|
36661
|
-
* Flags are intersection bit flags. They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably.
|
|
36662
|
-
* Flags:
|
|
36663
|
-
* 1: Intersect with map
|
|
36664
|
-
* 2: Intersect with vehicles (used to be mission entities?) (includes train)
|
|
36665
|
-
* 4: Intersect with peds? (same as 8)
|
|
36666
|
-
* 8: Intersect with peds? (same as 4)
|
|
36667
|
-
* 16: Intersect with objects
|
|
36668
|
-
* 32: Water?
|
|
36669
|
-
* 64: Unknown
|
|
36670
|
-
* 128: Unknown
|
|
36671
|
-
* 256: Intersect with vegetation (plants, coral. trees not included)
|
|
36672
|
-
* NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
|
|
36673
|
-
* ```
|
|
36674
36738
|
* @param x1 Starting X coordinate.
|
|
36675
36739
|
* @param y1 Starting Y coordinate.
|
|
36676
36740
|
* @param z1 Starting Z coordinate.
|
|
36677
36741
|
* @param x2 Ending X coordinate.
|
|
36678
36742
|
* @param y2 Ending Y coordinate.
|
|
36679
36743
|
* @param z2 Ending Z coordinate.
|
|
36680
|
-
* @param flags
|
|
36744
|
+
* @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
|
|
36681
36745
|
* @param entity An entity to ignore, or 0.
|
|
36682
36746
|
* @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
|
|
36683
36747
|
* @return A shape test handle.
|
|
@@ -36686,30 +36750,13 @@ declare function StartExpensiveSynchronousShapeTestLosProbe(x1: number, y1: numb
|
|
|
36686
36750
|
/**
|
|
36687
36751
|
* Does the same as [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E), except blocking until the shape test completes.
|
|
36688
36752
|
* Use [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) instead. Literally. Rockstar named this correctly: it's expensive, and it's synchronous.
|
|
36689
|
-
* ```
|
|
36690
|
-
* This function casts a ray from Point1 to Point2 and returns it's ray handle. A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached.
|
|
36691
|
-
* You can use _GET_RAYCAST_RESULT to get the result of the raycast
|
|
36692
|
-
* Entity is an entity to ignore, such as the player.
|
|
36693
|
-
* Flags are intersection bit flags. They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably.
|
|
36694
|
-
* Flags:
|
|
36695
|
-
* 1: Intersect with map
|
|
36696
|
-
* 2: Intersect with vehicles (used to be mission entities?) (includes train)
|
|
36697
|
-
* 4: Intersect with peds? (same as 8)
|
|
36698
|
-
* 8: Intersect with peds? (same as 4)
|
|
36699
|
-
* 16: Intersect with objects
|
|
36700
|
-
* 32: Water?
|
|
36701
|
-
* 64: Unknown
|
|
36702
|
-
* 128: Unknown
|
|
36703
|
-
* 256: Intersect with vegetation (plants, coral. trees not included)
|
|
36704
|
-
* NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
|
|
36705
|
-
* ```
|
|
36706
36753
|
* @param x1 Starting X coordinate.
|
|
36707
36754
|
* @param y1 Starting Y coordinate.
|
|
36708
36755
|
* @param z1 Starting Z coordinate.
|
|
36709
36756
|
* @param x2 Ending X coordinate.
|
|
36710
36757
|
* @param y2 Ending Y coordinate.
|
|
36711
36758
|
* @param z2 Ending Z coordinate.
|
|
36712
|
-
* @param flags
|
|
36759
|
+
* @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
|
|
36713
36760
|
* @param entity An entity to ignore, or 0.
|
|
36714
36761
|
* @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
|
|
36715
36762
|
* @return A shape test handle.
|
|
@@ -36718,30 +36765,13 @@ declare function CastRayPointToPoint(x1: number, y1: number, z1: number, x2: num
|
|
|
36718
36765
|
/**
|
|
36719
36766
|
* Does the same as [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E), except blocking until the shape test completes.
|
|
36720
36767
|
* Use [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E) instead. Literally. Rockstar named this correctly: it's expensive, and it's synchronous.
|
|
36721
|
-
* ```
|
|
36722
|
-
* This function casts a ray from Point1 to Point2 and returns it's ray handle. A simple ray cast will 'shoot' a line from point A to point B, and return whether or not the ray reached it's destination or if it hit anything and if it did hit anything, will return the handle of what it hit (entity handle) and coordinates of where the ray reached.
|
|
36723
|
-
* You can use _GET_RAYCAST_RESULT to get the result of the raycast
|
|
36724
|
-
* Entity is an entity to ignore, such as the player.
|
|
36725
|
-
* Flags are intersection bit flags. They tell the ray what to care about and what not to care about when casting. Passing -1 will intersect with everything, presumably.
|
|
36726
|
-
* Flags:
|
|
36727
|
-
* 1: Intersect with map
|
|
36728
|
-
* 2: Intersect with vehicles (used to be mission entities?) (includes train)
|
|
36729
|
-
* 4: Intersect with peds? (same as 8)
|
|
36730
|
-
* 8: Intersect with peds? (same as 4)
|
|
36731
|
-
* 16: Intersect with objects
|
|
36732
|
-
* 32: Water?
|
|
36733
|
-
* 64: Unknown
|
|
36734
|
-
* 128: Unknown
|
|
36735
|
-
* 256: Intersect with vegetation (plants, coral. trees not included)
|
|
36736
|
-
* NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
|
|
36737
|
-
* ```
|
|
36738
36768
|
* @param x1 Starting X coordinate.
|
|
36739
36769
|
* @param y1 Starting Y coordinate.
|
|
36740
36770
|
* @param z1 Starting Z coordinate.
|
|
36741
36771
|
* @param x2 Ending X coordinate.
|
|
36742
36772
|
* @param y2 Ending Y coordinate.
|
|
36743
36773
|
* @param z2 Ending Z coordinate.
|
|
36744
|
-
* @param flags
|
|
36774
|
+
* @param flags See [START_SHAPE_TEST_LOS_PROBE](#\_0x7EE9F5D83DD4F90E).
|
|
36745
36775
|
* @param entity An entity to ignore, or 0.
|
|
36746
36776
|
* @param p8 A bit mask with bits 1, 2 and/or 4, relating to collider types. 4 should usually be used.
|
|
36747
36777
|
* @return A shape test handle.
|
|
@@ -37073,44 +37103,96 @@ declare function StartScriptFire(X: number, Y: number, Z: number, maxChildren: n
|
|
|
37073
37103
|
|
|
37074
37104
|
declare function StartScriptPhoneConversation(p0: boolean, p1: boolean): void;
|
|
37075
37105
|
|
|
37106
|
+
/**
|
|
37107
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37108
|
+
*/
|
|
37076
37109
|
declare function StartShapeTestBound(entity: number, flags1: number, flags2: number): number;
|
|
37110
|
+
/**
|
|
37111
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37112
|
+
*/
|
|
37077
37113
|
declare function N_0x37181417ce7c8900(entity: number, flags1: number, flags2: number): number;
|
|
37078
37114
|
|
|
37115
|
+
/**
|
|
37116
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37117
|
+
*/
|
|
37079
37118
|
declare function StartShapeTestBoundingBox(entity: number, flags1: number, flags2: number): number;
|
|
37119
|
+
/**
|
|
37120
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37121
|
+
*/
|
|
37080
37122
|
declare function N_0x052837721a854ec7(entity: number, flags1: number, flags2: number): number;
|
|
37081
37123
|
|
|
37082
37124
|
/**
|
|
37083
37125
|
* For more information, see [`START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE`](#\_0x377906D8A31E5586) and [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E).
|
|
37084
|
-
|
|
37085
|
-
|
|
37126
|
+
* @param x Starting X coordinate.
|
|
37127
|
+
* @param y Starting Y coordinate.
|
|
37128
|
+
* @param z Starting Z coordinate.
|
|
37129
|
+
* @param x1 Ending X coordinate.
|
|
37130
|
+
* @param y1 Ending Y coordinate.
|
|
37131
|
+
* @param z1 Ending Z coordinate.
|
|
37132
|
+
* @param p9 Unknown, always 2 or 0
|
|
37133
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37134
|
+
* @param p12 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37135
|
+
*/
|
|
37136
|
+
declare function StartShapeTestBox(x: number, y: number, z: number, x1: number, y1: number, z1: number, rotX: number, rotY: number, rotZ: number, p9: number, flags: number, entity: number, p12: number): number;
|
|
37086
37137
|
/**
|
|
37087
37138
|
* For more information, see [`START_EXPENSIVE_SYNCHRONOUS_SHAPE_TEST_LOS_PROBE`](#\_0x377906D8A31E5586) and [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E).
|
|
37139
|
+
* @param x Starting X coordinate.
|
|
37140
|
+
* @param y Starting Y coordinate.
|
|
37141
|
+
* @param z Starting Z coordinate.
|
|
37142
|
+
* @param x1 Ending X coordinate.
|
|
37143
|
+
* @param y1 Ending Y coordinate.
|
|
37144
|
+
* @param z1 Ending Z coordinate.
|
|
37145
|
+
* @param p9 Unknown, always 2 or 0
|
|
37146
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37147
|
+
* @param p12 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37088
37148
|
*/
|
|
37089
|
-
declare function N_0xfe466162c4401d18(x: number, y: number, z: number, x1: number,
|
|
37149
|
+
declare function N_0xfe466162c4401d18(x: number, y: number, z: number, x1: number, y1: number, z1: number, rotX: number, rotY: number, rotZ: number, p9: number, flags: number, entity: number, p12: number): number;
|
|
37090
37150
|
|
|
37091
37151
|
/**
|
|
37092
37152
|
* Raycast from point to point, where the ray has a radius.
|
|
37093
|
-
*
|
|
37094
|
-
*
|
|
37095
|
-
*
|
|
37096
|
-
*
|
|
37097
|
-
*
|
|
37098
|
-
*
|
|
37153
|
+
* @param x1 Starting X coordinate.
|
|
37154
|
+
* @param y1 Starting Y coordinate.
|
|
37155
|
+
* @param z1 Starting Z coordinate.
|
|
37156
|
+
* @param x2 Ending X coordinate.
|
|
37157
|
+
* @param y2 Ending Y coordinate.
|
|
37158
|
+
* @param z2 Ending Z coordinate.
|
|
37159
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37160
|
+
* @param entity Entity to ignore, or 0.
|
|
37161
|
+
* @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37099
37162
|
*/
|
|
37100
37163
|
declare function StartShapeTestCapsule(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
|
|
37101
37164
|
/**
|
|
37102
37165
|
* Raycast from point to point, where the ray has a radius.
|
|
37103
|
-
*
|
|
37104
|
-
*
|
|
37105
|
-
*
|
|
37106
|
-
*
|
|
37107
|
-
*
|
|
37108
|
-
*
|
|
37166
|
+
* @param x1 Starting X coordinate.
|
|
37167
|
+
* @param y1 Starting Y coordinate.
|
|
37168
|
+
* @param z1 Starting Z coordinate.
|
|
37169
|
+
* @param x2 Ending X coordinate.
|
|
37170
|
+
* @param y2 Ending Y coordinate.
|
|
37171
|
+
* @param z2 Ending Z coordinate.
|
|
37172
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37173
|
+
* @param entity Entity to ignore, or 0.
|
|
37174
|
+
* @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37109
37175
|
*/
|
|
37110
37176
|
declare function Cast_3dRayPointToPoint(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
|
|
37111
37177
|
|
|
37112
37178
|
/**
|
|
37113
37179
|
* Asynchronously starts a line-of-sight (raycast) world probe shape test.
|
|
37180
|
+
* ```cpp
|
|
37181
|
+
* enum TraceFlags
|
|
37182
|
+
* {
|
|
37183
|
+
* None = 0,
|
|
37184
|
+
* IntersectWorld = 1,
|
|
37185
|
+
* IntersectVehicles = 2,
|
|
37186
|
+
* IntersectPedsSimpleCollision = 4,
|
|
37187
|
+
* IntersectPeds = 8,
|
|
37188
|
+
* IntersectObjects = 16,
|
|
37189
|
+
* IntersectWater = 32,
|
|
37190
|
+
* Unknown = 128,
|
|
37191
|
+
* IntersectFoliage = 256,
|
|
37192
|
+
* IntersectEverything = 4294967295
|
|
37193
|
+
* }
|
|
37194
|
+
* ```
|
|
37195
|
+
* NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
|
|
37114
37196
|
* Use the handle with [GET_SHAPE_TEST_RESULT](#\_0x3D87450E15D98694) or [GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL](#\_0x65287525D951F6BE) until it returns 0 or 2.
|
|
37115
37197
|
* @param x1 Starting X coordinate.
|
|
37116
37198
|
* @param y1 Starting Y coordinate.
|
|
@@ -37120,12 +37202,28 @@ declare function Cast_3dRayPointToPoint(x1: number, y1: number, z1: number, x2:
|
|
|
37120
37202
|
* @param z2 Ending Z coordinate.
|
|
37121
37203
|
* @param flags Flags.
|
|
37122
37204
|
* @param entity An entity to ignore, or 0.
|
|
37123
|
-
* @param p8 A bit mask with bits 1, 2
|
|
37205
|
+
* @param p8 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37124
37206
|
* @return A shape test handle.
|
|
37125
37207
|
*/
|
|
37126
37208
|
declare function StartShapeTestLosProbe(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
|
|
37127
37209
|
/**
|
|
37128
37210
|
* Asynchronously starts a line-of-sight (raycast) world probe shape test.
|
|
37211
|
+
* ```cpp
|
|
37212
|
+
* enum TraceFlags
|
|
37213
|
+
* {
|
|
37214
|
+
* None = 0,
|
|
37215
|
+
* IntersectWorld = 1,
|
|
37216
|
+
* IntersectVehicles = 2,
|
|
37217
|
+
* IntersectPedsSimpleCollision = 4,
|
|
37218
|
+
* IntersectPeds = 8,
|
|
37219
|
+
* IntersectObjects = 16,
|
|
37220
|
+
* IntersectWater = 32,
|
|
37221
|
+
* Unknown = 128,
|
|
37222
|
+
* IntersectFoliage = 256,
|
|
37223
|
+
* IntersectEverything = 4294967295
|
|
37224
|
+
* }
|
|
37225
|
+
* ```
|
|
37226
|
+
* NOTE: Raycasts that intersect with mission_entites (flag = 2) has limited range and will not register for far away entites. The range seems to be about 30 metres.
|
|
37129
37227
|
* Use the handle with [GET_SHAPE_TEST_RESULT](#\_0x3D87450E15D98694) or [GET_SHAPE_TEST_RESULT_INCLUDING_MATERIAL](#\_0x65287525D951F6BE) until it returns 0 or 2.
|
|
37130
37228
|
* @param x1 Starting X coordinate.
|
|
37131
37229
|
* @param y1 Starting Y coordinate.
|
|
@@ -37135,7 +37233,7 @@ declare function StartShapeTestLosProbe(x1: number, y1: number, z1: number, x2:
|
|
|
37135
37233
|
* @param z2 Ending Z coordinate.
|
|
37136
37234
|
* @param flags Flags.
|
|
37137
37235
|
* @param entity An entity to ignore, or 0.
|
|
37138
|
-
* @param p8 A bit mask with bits 1, 2
|
|
37236
|
+
* @param p8 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37139
37237
|
* @return A shape test handle.
|
|
37140
37238
|
*/
|
|
37141
37239
|
declare function N_0x7ee9f5d83dd4f90e(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flags: number, entity: number, p8: number): number;
|
|
@@ -37147,6 +37245,7 @@ declare function N_0x7ee9f5d83dd4f90e(x1: number, y1: number, z1: number, x2: nu
|
|
|
37147
37245
|
* it returns a ShapeTest handle that can be used with GET_SHAPE_TEST_RESULT.
|
|
37148
37246
|
* In its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7
|
|
37149
37247
|
* ```
|
|
37248
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37150
37249
|
*/
|
|
37151
37250
|
declare function StartShapeTestSurroundingCoords(flag: number, entity: number, flag2: number): [number, number[], number[]];
|
|
37152
37251
|
/**
|
|
@@ -37156,19 +37255,47 @@ declare function StartShapeTestSurroundingCoords(flag: number, entity: number, f
|
|
|
37156
37255
|
* it returns a ShapeTest handle that can be used with GET_SHAPE_TEST_RESULT.
|
|
37157
37256
|
* In its only usage in game scripts its called with flag set to 511, entity to player_ped_id and flag2 set to 7
|
|
37158
37257
|
* ```
|
|
37258
|
+
* See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E) for flags.
|
|
37159
37259
|
*/
|
|
37160
37260
|
declare function N_0xff6be494c7987f34(flag: number, entity: number, flag2: number): [number, number[], number[]];
|
|
37161
37261
|
|
|
37162
37262
|
/**
|
|
37163
37263
|
* Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
|
|
37264
|
+
* @param x1 Starting X coordinate.
|
|
37265
|
+
* @param y1 Starting Y coordinate.
|
|
37266
|
+
* @param z1 Starting Z coordinate.
|
|
37267
|
+
* @param x2 Ending X coordinate.
|
|
37268
|
+
* @param y2 Ending Y coordinate.
|
|
37269
|
+
* @param z2 Ending Z coordinate.
|
|
37270
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37271
|
+
* @param entity An entity to ignore, or 0.
|
|
37272
|
+
* @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37164
37273
|
*/
|
|
37165
37274
|
declare function StartShapeTestSweptSphere(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
|
|
37166
37275
|
/**
|
|
37167
37276
|
* Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
|
|
37277
|
+
* @param x1 Starting X coordinate.
|
|
37278
|
+
* @param y1 Starting Y coordinate.
|
|
37279
|
+
* @param z1 Starting Z coordinate.
|
|
37280
|
+
* @param x2 Ending X coordinate.
|
|
37281
|
+
* @param y2 Ending Y coordinate.
|
|
37282
|
+
* @param z2 Ending Z coordinate.
|
|
37283
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37284
|
+
* @param entity An entity to ignore, or 0.
|
|
37285
|
+
* @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37168
37286
|
*/
|
|
37169
37287
|
declare function N_0xe6ac6c45fbe83004(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
|
|
37170
37288
|
/**
|
|
37171
37289
|
* Performs the same type of trace as START_SHAPE_TEST_CAPSULE, but with some different hardcoded parameters.
|
|
37290
|
+
* @param x1 Starting X coordinate.
|
|
37291
|
+
* @param y1 Starting Y coordinate.
|
|
37292
|
+
* @param z1 Starting Z coordinate.
|
|
37293
|
+
* @param x2 Ending X coordinate.
|
|
37294
|
+
* @param y2 Ending Y coordinate.
|
|
37295
|
+
* @param z2 Ending Z coordinate.
|
|
37296
|
+
* @param flags See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
37297
|
+
* @param entity An entity to ignore, or 0.
|
|
37298
|
+
* @param p9 A bit mask with bits 1, 2, 4, or 7 relating to collider types. 4 and 7 are usually used.
|
|
37172
37299
|
*/
|
|
37173
37300
|
declare function StartShapeTestCapsule_2(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, radius: number, flags: number, entity: number, p9: number): number;
|
|
37174
37301
|
|
|
@@ -39047,11 +39174,15 @@ declare function TerraingridSetParams(x: number, y: number, z: number, p3: numbe
|
|
|
39047
39174
|
*/
|
|
39048
39175
|
declare function N_0x1c4fc5752bcd8e48(x: number, y: number, z: number, p3: number, rotation: number, p5: number, width: number, height: number, p8: number, scale: number, glowIntensity: number, normalHeight: number, heightDiff: number): void;
|
|
39049
39176
|
|
|
39050
|
-
|
|
39177
|
+
/**
|
|
39178
|
+
* Flags are identical to START_SHAPE_TEST\*, however, 128 is automatically set.
|
|
39179
|
+
* @param flag See [`START_SHAPE_TEST_LOS_PROBE`](#\_0x7EE9F5D83DD4F90E)
|
|
39180
|
+
*/
|
|
39181
|
+
declare function TestProbeAgainstAllWater(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number, flag: number): [boolean, number[]];
|
|
39051
39182
|
|
|
39052
39183
|
declare function TestProbeAgainstWater(x1: number, y1: number, z1: number, x2: number, y2: number, z2: number): [boolean, number[]];
|
|
39053
39184
|
|
|
39054
|
-
declare function TestVerticalProbeAgainstAllWater(x: number, y: number, z: number,
|
|
39185
|
+
declare function TestVerticalProbeAgainstAllWater(x: number, y: number, z: number, flag: number, height?: number): [boolean, number];
|
|
39055
39186
|
|
|
39056
39187
|
declare function TextureDownloadGetName(p0: number): string;
|
|
39057
39188
|
|