TASK_START_SCENARIO_IN_PLACE_HASH
conditionalHash (optionally): Every conditional anim has requirements to play it.
0x524B54361229154FTaskStartScenarioInPlaceHashSignature
void TASK_START_SCENARIO_IN_PLACE_HASH(Ped ped, Hash scenarioHash, int duration, BOOL playEnterAnim, Hash conditionalHash, float heading, BOOL idleForever);Parameters
| Name | Type | Description |
|---|---|---|
ped | Ped | — |
scenarioHash | Hash | — |
duration | int | — |
playEnterAnim | BOOL | — |
conditionalHash | Hash | — |
heading | float | — |
idleForever | BOOL | — |
Returns void
Description
https://github.com/femga/rdr3_discoveries/blob/master/animations/scenarios
Params: duration in milliseconds
conditionalHash (optionally):
0 = play random conditional anim.
Every conditional anim has requirements to play it.
If requirements are not met, ped plays random allowed conditional anim or can be stuck.
For example, this scenario type has possible conditional anim WORLD_HUMAN_LEAN_BACK_WALL_SMOKING_MALE_D, but it can not be played by player, because condition is set to NOT be CAIConditionIsPlayer (check file amb_rest.meta and amb_rest_CA.meta with OPENIV to clarify requirements).
Usage
TaskStartScenarioInPlaceHash(ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, idleForever)
-- always works, by hash
Citizen.InvokeNative(0x524B54361229154F, ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, idleForever)JavaScript and C#
TaskStartScenarioInPlaceHash(ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, idleForever);
// by hash
Citizen.invokeNative('0x524B54361229154F', ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading + 0.0000001, idleForever);Function.Call((Hash)0x524B54361229154F, ped, scenarioHash, duration, playEnterAnim, conditionalHash, heading, idleForever);- Hash parameters: the named function also accepts a string and hashes it for you;
Citizen.InvokeNativeneeds the number — passjoaat("name")or a backtick literal like`name`. - Float parameters: Lua integers (
10, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write10.0orvalue + 0.0. The generated JS wrappers add0.0000001to non-zero floats for the same reason.
Sources
Something wrong or missing? Contribute a verified note — corrections ship through pull requests.