[FREE][QBCore] Waypoint Placeables

Waypoint Placeables is a framework that provides a simple mechanism to create useable items that place interactable props into the world. Each item can be configured with default options for placing/picking up props and can easily be extended by providing a set of custom actions. The framework provides default options for placing items, picking up items, as well as configuring items to be a pushable prop. It is designed to be easy to use and highly customizable, allowing you to create a wide range of placeable and useable items from the selection of GTA props as well as custom props.

Players can use the placeable props in a variety of ways to enhance their RP scenarios. Some examples include: building a construction site scene, creating a campsite in the woods with tents, chairs and campfires, blocking off roads for a crime scene, placing items in the world to push around to increase the realism of a scene, and much more.

Overview:

  • Player uses the item and the item placement mode is triggered
  • A client side only (non-networked) prop is spawned and the player chooses where to place the prop
  • After confirming the placement, the prop is spawned in as a networked prop so that all clients can see it and the item is removed from the player’s inventory
  • Players can interact with the prop using qb-target to view the available options
  • Players can place down multiple props to build a unique scene to enhance their RP scenarios
  • When the player is done, they can clean up the scene by picking up the props (this is a default option that comes with all of the items)
  • If an item is pushable and/or sitable, a player can stop interacting with the item by pressing ‘E’ (by default).
  • While a player is pushing an item, a thread will run to check if something (like walking through a door, stumble animation, etc) caused them to break out of the pushing animation and will stick them back in the animation

Performance

This script was written with performance in mind and has been tested with 100+ props in the world with no noticeable performance impact.

Resource monitor results:

  • Idle: 0.0ms
  • In item placement mode: 0.09ms - 0.1ms (primarily due to raycast natives and thread to capture keypresses)
  • Pushing an object: 0.2ms (thread checking that push animation is still active)

For the initial release, there are just under 100 props setup. The following categories of props are included: construction, camping, homeless/hobo, chairs, tables, beach, ramps, EMS/hospital, plus a handful of miscellanious props.

Preview Video
wp-placeables github repo

Gallery:




5 Likes

it would be really cool if you could make an esx port for this script, but execpt that it is a really cool script

1 Like

hi nice script

is this props will remain after restarts ?

1 Like

Great question, props do not persist through server restarts. This was an intentional decision I made, as I want this script used as a tool to create short term / temporary scenes per session.

2 Likes

Could you make this standalone?

1 Like

Hey there, in your script you are using a remove item that has been removed a while back.
“QBCore:Server:RemoveItem”

1 Like

At this time I do not have plans to make an ESX port. In the future I may add support for ESX through bridge functions, however this won’t be for some time as I currently do not have the bandwidth to validate ESX changes work end to end.

You are more than welcome to create a fork and port it to ESX however.

2 Likes

Hey there, in your script you are using a remove item that has been removed a while back.
“QBCore:Server:RemoveItem” and add item code

can you fix that problem please

1 Like

aaa ok bro thank you

Updated the AddItem/RemoveItem functions to be in line with the correct usage.
Thanks for bringing this up folks.

2 Likes