Wimberton / OriginPalia

A multi-purpose tool for Palia, written in C++. Looking for contributors. Features such as ESP, Teleportation, Auto-fishing, and more.
https://getos.me/
46 stars 16 forks source link

Teleport to Target tweak suggestion #14

Closed OS-Void closed 4 months ago

OS-Void commented 4 months ago

1) I found myself fighting a lot with the terrain, I'd spawn inside the ground or weird things. Perhaps add a randomized offset to X Y either positive or negative by (not really sure in in-game metrics) like 1 character apart from the resource and also a little higher on the Z.

2) Perhaps an option called along the lines "Prevent teleporting to targeted with nearby players", that prevents you to teleport to targeted if a player is either:

and perhaps any type of controls to configure how far you'd like players to be before you teleport.

OS-Void commented 4 months ago

1 thing to keep in mind with randomized offset is that you will also have to check the location is valid, I think there was a method to check for that. For example, I was teleporting to Heat Roots which spawn on the side of cliffs, currently it works perfectly for those since I can't get stuck in the ground, I just grab the heat root as I fall, but if you added a randomized offset im not sure if the game would make the player hang to the mountain if its too close to it, or clip the player inside the cliff and fall through the map.

Wimberton commented 4 months ago

1 thing to keep in mind with randomized offset is that you will also have to check the location is valid, I think there was a method to check for that. For example, I was teleporting to Heat Roots which spawn on the side of cliffs, currently it works perfectly for those since I can't get stuck in the ground, I just grab the heat root as I fall, but if you added a randomized offset im not sure if the game would make the player hang to the mountain if its too close to it, or clip the player inside the cliff and fall through the map.

We already do this somewhat in the teleport to targeting system. I'll definitely take a look at reworking some of the offsetting, I've personally had no issues.

That code is referenced here:

FVector TargetLocation = Overlay->BestTargetLocation;
FVector ActorLocation = PlayerPawn->K2_GetActorLocation();

// Calculate offset based on distance between actor and target
FVector Offset = (TargetLocation - ActorLocation).GetNormalized() * 100.0f;

FVector NewLocation = TargetLocation + Offset;
FHitResult HitResult;
HitResult.bBlockingHit = false;
PlayerPawn->K2_SetActorLocation(NewLocation, false, &HitResult, true);
Overlay->LastTeleportToTargetTime = now;
OS-Void commented 4 months ago

chances chance2

I'd say its a 5~10% of this happening

Wimberton commented 4 months ago

chances chance2

I'd say its a 5~10% of this happening

Thanks for reporting this. I'll rework the teleportation offsets so hopefully this happens less.

Wimberton commented 4 months ago

1 thing to keep in mind with randomized offset is that you will also have to check the location is valid, I think there was a method to check for that. For example, I was teleporting to Heat Roots which spawn on the side of cliffs, currently it works perfectly for those since I can't get stuck in the ground, I just grab the heat root as I fall, but if you added a randomized offset im not sure if the game would make the player hang to the mountain if its too close to it, or clip the player inside the cliff and fall through the map.

I've pushed an update to this mechanic. Let me know if it helps at all. Or possibly give me some coordinates you're having issues at for me to go and debug in-game.

OS-Void commented 4 months ago

I had it already compiled once you pushed the commit, was nonstop teleporting to nodes, and seems to work wayyy better.

Eventually this happened: AA

I was on the red square stuck, W A S D would only make my character do a perfect smooth spin in place. But I jumped and it didn't seemed to move my X Y, but character still can stand on a higher Z, I wonder if theres a way to irritate through a series of coordinates, but starting from a higher Z value going down until it finds a valid "ground" and then just add a small offset to that Z to still not go through the floor, but with this scenario I feel like it would detect that It can stand on top of the ore and I would have never seen my character stuck to begin with.

BUT, if before was 5~10%, i feel like its 1% if not less now.

OS-Void commented 4 months ago

So, while it still works, its very predictable when it will not.

In this example:

oh2

Knowing my angle and the node, I know im getting stuck because while playing with it on my plot, I can predict this will happen:

1

So surely when I did: oh1

I wonder if theres a better way to detect "Air" or "Nothing" in a radius of that coordinate, and keep going around each angle until a "good" location is found, if no good location is found then just go for the best one it think it found.

Wimberton commented 4 months ago

So, while it still works, its very predictable when it will not.

In this example:

oh2

Knowing my angle and the node, I know im getting stuck because while playing with it on my plot, I can predict this will happen:

1

So surely when I did: oh1

I wonder if theres a better way to detect "Air" or "Nothing" in a radius of that coordinate, and keep going around each angle until a "good" location is found, if no good location is found then just go for the best one it think it found.

I'll definitely look at moving the player slightly to check for spawn spaces. Not a bad idea. Now to figure out the right way to implement it. I also noticed that the ESP ores show even after the node being mined. I'll look into adding a checkbox to display mined nodes or not.

OS-Void commented 4 months ago

So, while it still works, its very predictable when it will not. In this example: oh2 Knowing my angle and the node, I know im getting stuck because while playing with it on my plot, I can predict this will happen: 1 So surely when I did: oh1 I wonder if theres a better way to detect "Air" or "Nothing" in a radius of that coordinate, and keep going around each angle until a "good" location is found, if no good location is found then just go for the best one it think it found.

I'll definitely look at moving the player slightly to check for spawn spaces. Not a bad idea. Now to figure out the right way to implement it. I also noticed that the ESP ores show even after the node being mined. I'll look into adding a checkbox to display mined nodes or not.

Don't add a checkbox, it should be automatic.

Trees Disappear (Flow included) Heat Roots disappear I think everything else disappears.

I was always annoyed that when I mined the ores it didn't behave like everything else, all nodes despawn on their own after some time and spawn elsewhere in the world, so it makes no sense to keep them there if mined.

Edit:

Heat Roots ingame also behave like Ores in the sense that an invisible object is left behind after being taken. Unlike trees, they fully despawn. But the heat root's ESP does go away as it should.

heatroot

Edit 2: You see my stamina bar? would be nice to have it unlimited, its possible with CE, so.. maybe something that can be done?

Wimberton commented 4 months ago

So, while it still works, its very predictable when it will not. In this example: oh2 Knowing my angle and the node, I know im getting stuck because while playing with it on my plot, I can predict this will happen: 1 So surely when I did: oh1 I wonder if theres a better way to detect "Air" or "Nothing" in a radius of that coordinate, and keep going around each angle until a "good" location is found, if no good location is found then just go for the best one it think it found.

I'll definitely look at moving the player slightly to check for spawn spaces. Not a bad idea. Now to figure out the right way to implement it. I also noticed that the ESP ores show even after the node being mined. I'll look into adding a checkbox to display mined nodes or not.

Don't add a checkbox, it should be automatic.

Trees Disappear (Flow included) Heat Roots disappear I think everything else disappears.

I was always annoyed that when I mined the ores it didn't behave like everything else, all nodes despawn on their own after some time and spawn elsewhere in the world, so it makes no sense to keep them there if mined.

Edit:

Heat Roots ingame also behave like Ores in the sense that an invisible object is left behind after being taken. Unlike trees, they fully despawn. But the heat root's ESP does go away as it should.

heatroot

Edit 2: You see my stamina bar? would be nice to have it unlimited, its possible with CE, so.. maybe something that can be done?

Stamina can definitely be done through hooking the mechanic and forcing max stamina numbers. I'll look at that. I'll also take a look at the Heat Root configuration and see what's different between ores and that.

Wimberton commented 4 months ago

I'm going to close this one while we have the other general movement teleportation issue report. I won't forget the climbing stamina. Working on it now.