FurryEskimo Posted April 11, 2021 Share Posted April 11, 2021 I need to detect the x,y,z coordinates of a boat that a player is jumping onto. 'FindEntity' seems like the way to go, but I'm not very familiar with this function. The Crab King used this code, but I've been having a tough time adapting it to my needs, and I'd prefer to simply understand the function. local boatents = TheSim:FindEntities(x,y,z, 25, BOAT_TAG) I've searched the forums for answers, but the posts I found were around six years old and weren't able to help me. Link to comment Share on other sites More sharing options...
IronHunter Posted April 11, 2021 Share Posted April 11, 2021 (edited) FindEntities(x, y, z, radius, musthavetags, nottags, hasoneoftags) Returns a ordered list of ents from closest to furtherest of x, y, z that is within radius and has & doesn't have & has one of those tags. Musthavetags is a table of tags the ents must have them all. Nottags is a table of tags the ent cannot have to be valid. Musthaveoneoftags is table of tags where the ent only needs 1 of to be valid. Edit: For more information look up FindEntity and FindEntities in simutil.lua Edited April 12, 2021 by IronHunter File is simutil.lua 3 Link to comment Share on other sites More sharing options...
FurryEskimo Posted April 12, 2021 Author Share Posted April 12, 2021 @IronHunter That certainly helps explain why it wasn't working. All I wanted was the nearest entity to a point, not a list of entities.. There's a 'FindClosest' under Behaviors but I haven't tried using that yet; doubt it'll work though. I've looked through entityscript.lua and none of these functions appear to do what I need. FindEntity/FindEntities do not appear to be in this file either. My reason for this search is that I'm trying to improve my character's swimming code, and I have a sneaking suspicion that the code for jumping onto a boat is having the player land on the edge of the boat, and I want to try making them land closer to the boat's center to see if that helps improve stability. It's the only part of the mod that's reliably, iffy, and I want to fix it. Link to comment Share on other sites More sharing options...
IronHunter Posted April 12, 2021 Share Posted April 12, 2021 From simutil.lua function FindEntity(inst, radius, fn, musttags, canttags, mustoneoftags) --simply returns the first valid entity from findentities 1 Link to comment Share on other sites More sharing options...
FurryEskimo Posted April 12, 2021 Author Share Posted April 12, 2021 (edited) @IronHunter Wonderful, thank you. I've poked through that file and wrote this code: local testboat = GetClosestInstWithTag("boat", inst, 20) if testboat and testboat:IsValid() then print("Test for Boat 1: ", Vector3(testboat.Transform:GetWorldPosition() ) ) local boat_x, boat_y, boat_z = testboat.Transform:GetWorldPosition() print("Test for Boat X: ", boat_x) print("Test for Boat Y: ", boat_y) print("Test for Boat Z: ", boat_z) --return Vector3(testboat.Transform:GetWorldPosition() ) --Note: Causes some sort of looping error. end Edited April 12, 2021 by FurryEskimo Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now