[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:




Checkout my scripts

10 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

2 Likes

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

I’ve just updated the script to v1.0.1 adding a framework abstraction.

It will be much easier now for folks to contribute framework specific implementations.

ESX is now mostly supported. I still need to tie in the ESX progressbar, or could use help from the community.

I currently only run a QBCore server, so need help from other to test other framework specific logic.

More exciting additions to the project to come in the near future!

2 Likes

I’ve just released two FREE addons scripts that work with Waypoint Placeables. Check them out!

Waypoint Yogamats

This is a simple addon for Waypoint Placeables that lets the player place a yoga mat on the ground and interact with the yogamat to begin doing yoga.

You can optionally configure to apply buffs to the player while they are using a yogamat (ie: reduce stress, increase health, etc).

Preview: https://www.youtube.com/watch?v=oqgQ3HYw-N0
GitHub: GitHub - WaypointRP/wp-yogamats
CFX: [FREE][Standalone] Waypoint Yogamats


Waypoint Printer

This is a simple addon for Waypoint Placeables that provides provides players the ability to place printers, print documents and view them.

This script is based on qb-printer and was modified to remove the QB framework dependency and work as an addon for Waypoint Placeables.

Usage

  • Place the printer
  • Interact with the printer and select “Use printer”
  • Input the URL to the document you wish to print
  • The player is given a unique printerdocument with metadata attached to it
  • When players view the document, they will see what was printed to the document

Preview: https://www.youtube.com/watch?v=Gqb9SSoaNAs
GitHub: GitHub - WaypointRP/wp-printer

hello why the props don’t want to reboot

I’m not sure what you mean by “reboot”?

when the server reboots the props do not remain

As mentioned in an earlier comment, this is by design. The first iterations were not designed to persist through restarts.

In the future I may explore adding such capabilities, but for now it does not exist, nor is it on my list of priorities currently.

Added a quality of life change to wp-placeables:

  • Users can now use Scroll wheel click to toggle the raycast detection mode between world only vs detect everything.

Previously the raycast detection mode was set to world only. When creating a prop scene, this made it annoying to place props on top of each other, as each one had to have its height adjusted from the ground.

With this new change, placing props on top of other objects is extremly quick and easy. Simple toggle into detect everything mode and look at the object you are trying to place the prop on. The prop will now move along the surface of the object you are looking at, rather than being stuck only to the ground.

Preview: https://clipchamp.com/watch/5Gjc4LjORcW

Added some more props:

Cargo Props

Plus added some Winter / Xmas props

By popular demand, I have added support for OX Lib. Enjoy!

:gear: Waypoint Placeables - v1.0.5

- OX support is now added for ox-inventory, ox-target, and ox-progressbar
- Added additional Config variables to provide more granular support for the various scripts that might be used
- Added missing image for the shoppingcart
2 Likes

Hello,

Amazing script, got some errors with ox_lib and ox_target…

Notify don’t work and ox is unsupported … qb is working.

By the way

qb-target is with the - - -
ox_ stuff are with the _ _ _ ox_target and not ox-target

Trouble can come from ir ?