Jonathan_Object is a FiveM script that allows you to create, manage, and display custom props and peds in GTA V.
It supports spawning objects with floating text, NPCs with animations, resource collection points, crafting stations, and interactive decorations.
This resource enhances roleplay and survival gameplay by providing immersive world-building elements.

- Spawn static props and NPCs with customizable coordinates and headings
- Define floating text (title, description, font size) when players approach props
- Configure crafting stations, shops, banks, medical units, and decorative objects
- Add enemy NPCs (infected, bosses) with animations and descriptions
- Radius-based random prop spawning with configurable limits
- Built-in clearprops function to remove unwanted objects around players
- Integrated with NUI (HTML/CSS/JS) for immersive floating UI text
-
Clone or download the repository into your FiveM resources folder:
git clone https://github.com/jonathan0626/jonathan_animal.git [FiveM]/jonathan_object -
Add the resource to your server.cfg:
ensure jonathan_object -
Make sure to include the provided HTML/CSS/JS files inside the resource for NUI support.
Edit the config.lua file to customize props and NPCs.
Below is a sample configuration:
Config = {}
-- Object & text visibility distances Config.propdistance = 300.0 -- prop spawn distance Config.textdistance = 3.0 -- floating text distance Config.clearprop_radius = 300.0 -- clear non-whitelisted props in this radius
-- Example props Config.Props = { { model = 'prop_worklight_01a', coords = vector4(2358.2656, 3117.2409, 47.2087, -50), title = 'Medical Department', description = 'After death, you will respawn here.', textsize = 14 }, { model = 'v_ret_fh_kitchtable', coords = vector4(-3583.1045, -4001.3500, 56.5198, 180), title = 'Restaurant', description = 'You can use the nearby crafting table to create food.', textsize = 14 }, { ped = 's_m_y_prismuscl_01', coords = vector4(-3623.4072, -4006.3367, 56.5397, 270), title = "Infected", description = "A common infected enemy. Harmless alone, but deadly in groups.", textsize = 14, anim = { dict = 'move_m@drunk@verydrunk', name = "idle" } } }
- Walk near configured props/peds to see floating descriptions
- Press X to temporarily hide the floating text
- Use /clearprops (or trigger the event myplugin:clearprops) to clean up non-whitelisted props
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please submit a Pull Request with your ideas and improvements.
If you have any questions or suggestions, feel free to reach out. Your feedback is greatly appreciated.