Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update NetworkCreateSynchronisedScene.md #1143

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

koketoo
Copy link
Contributor

@koketoo koketoo commented Jul 24, 2024

Added an example code and a line in the description saying that the scene is replicated to everyone.

Added an example code and a line in the description saying that the scene is replicated to everyone.
Comment on lines +42 to +45
while not NetworkHasControlOfEntity(sceneObject) do
NetworkRequestControlOfEntity(sceneObject)
Wait(0)
end
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
while not NetworkHasControlOfEntity(sceneObject) do
NetworkRequestControlOfEntity(sceneObject)
Wait(0)
end

This native is recommended to not be used ans is very buggy/broken, also if the player created it they should be the owner of the prop

NetworkRequestControlOfEntity(sceneObject)
Wait(0)
end
local animRot, animCo, animDict = GetEntityRotation(sceneObject), GetEntityCoords(sceneObject), 'anim@heists@ornate_bank@grab_cash'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
local animRot, animCo, animDict = GetEntityRotation(sceneObject), GetEntityCoords(sceneObject), 'anim@heists@ornate_bank@grab_cash'
local animRot = GetEntityRotation(sceneObject)
local animCoords = GetEntityCoords(sceneObject)
local animDict = 'anim@heists@ornate_bank@grab_cash'

Having multiple definitions on one line is hard to read, some abbreviations make the code hard to read.

local cutScenes = {}

for i=1, #animPack do -- For every anim pack we have in our table we execute this once
cutScenes[i] = NetworkCreateSynchronisedScene(animCo, animRot, 2, true, false, 1065353216, 0, 1.3) -- We create the scene of our anim pack
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cutScenes[i] = NetworkCreateSynchronisedScene(animCo, animRot, 2, true, false, 1065353216, 0, 1.3) -- We create the scene of our anim pack
cutScenes[i] = NetworkCreateSynchronisedScene(animCoords, animRot, 2, true, false, 1065353216, 0, 1.3) -- We create the scene of our anim pack

## Examples
```lua
RegisterCommand('scenetest', function ()
RequestModel('hei_p_m_bag_var22_arm_s')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
RequestModel('hei_p_m_bag_var22_arm_s')
RequestModel(`hei_p_m_bag_var22_arm_s`)

```lua
RegisterCommand('scenetest', function ()
RequestModel('hei_p_m_bag_var22_arm_s')
while not HasModelLoaded('hei_p_m_bag_var22_arm_s') do Wait(0) end
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
while not HasModelLoaded('hei_p_m_bag_var22_arm_s') do Wait(0) end
while not HasModelLoaded(`hei_p_m_bag_var22_arm_s`) do Wait(0) end

NetworkAddPedToSynchronisedScene(PlayerPedId(), cutScenes[i], animDict, animPack[i][1], 1.5, -4.0, 1, 16, 1148846080, 0) -- We add the player with it's anim and some params that you can check in the native docs
NetworkAddEntityToSynchronisedScene(bag, cutScenes[i], animDict, animPack[i][2], 4.0, -8.0, 1) -- We add the bag because it also moves

if i==2 then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if i==2 then
if i == 2 then

end

NetworkStartSynchronisedScene(cutScenes[1])
Wait(1750)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If these can use GetAnimDuration then it probably should so it doesn't look like these are just magical numbers.


for i=1, #animPack do -- For every anim pack we have in our table we execute this once
cutScenes[i] = NetworkCreateSynchronisedScene(animCo, animRot, 2, true, false, 1065353216, 0, 1.3) -- We create the scene of our anim pack
NetworkAddPedToSynchronisedScene(PlayerPedId(), cutScenes[i], animDict, animPack[i][1], 1.5, -4.0, 1, 16, 1148846080, 0) -- We add the player with it's anim and some params that you can check in the native docs
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reuse the previously localized declared `PlayerPedId()


## Examples
```lua
RegisterCommand('scenetest', function ()
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Examples shouldn't be in a command.

DeleteObject(bag)
DeleteObject(sceneObject)
RemoveAnimDict(animDict)
SetModelAsNoLongerNeeded('hei_prop_hei_cash_trolly_01')
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
SetModelAsNoLongerNeeded('hei_prop_hei_cash_trolly_01')
SetModelAsNoLongerNeeded(`hei_prop_hei_cash_trolly_01`)

This can also probably be done directly after the model is created.

@@ -10,6 +10,7 @@ int NETWORK_CREATE_SYNCHRONISED_SCENE(float x, float y, float z, float xRot, flo

Creates a networked synchronized scene.
Be sure to actually start the scene with [`NETWORK_START_SYNCHRONISED_SCENE`](#_0x9A1B3FCDB36C8697) after you're done adding peds or entities to the scene.
The scenes are replicated to everyone.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The scenes are replicated to everyone.

Redundant information, this is what "networked" implies here.

@AvarianKnight AvarianKnight added the needs validation This looks good, but needs additional confirmation of suggested change. label Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs validation This looks good, but needs additional confirmation of suggested change.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants