Wimberton / OriginPalia

A multi-purpose tool for Palia, written in C++. For non-commercial usage, looking for contributors. Features such as ESP, Teleportation, Auto-fishing, and more.
https://www.unknowncheats.me/forum/palia/636934-originpalia-feature-packed-multitool-imagine.html
29 stars 10 forks source link

Potential Crashes Fix & Hide Gathered Ore #54

Closed MarlonColhado closed 1 month ago

MarlonColhado commented 1 month ago

It was observed that some GetActorLocation calls ended up causing a crash. Therefore, substituting for the relative position of the RootComponent is equivalent to obtaining the location of the Actor in the world. A potential fix for the crash issue.

The second change concerns the display of ores in the ESP, hiding them when gathered. Solution provided by @Diyagi in this issue: https://github.com/Wimberton/OriginPalia/issues/20

Thanks, @VoidPollo & @Wimberton

Diyagi commented 1 month ago

Ive implemented the filtering of ghost ores using IAmAlive today and compiled it to test, turns out theres one issue with it, when you go a bit far from the node its value resets to true when you come closer to it again, i have no clue as why.

MarlonColhado commented 1 month ago

Ive implemented the filtering of ghost ores using IAmAlive today and compiled it to test, turns out theres one issue with it, when you go a bit far from the node its value resets to true when you come closer to it again, i have no clue as why.

Interestingly, there is another way to check if the ore has been gathered using: Ore->GatherableLoot->HasBeenGatheredByPlayer(ValeriaCharacter)

But I don't know how stable it is by calling this function in the ESP loop.

Wimberton commented 1 month ago

Great work! I will take a look and approve the merge shortly!

Wimberton commented 1 month ago

Ive implemented the filtering of ghost ores using IAmAlive today and compiled it to test, turns out theres one issue with it, when you go a bit far from the node its value resets to true when you come closer to it again, i have no clue as why.

Interestingly, there is another way to check if the ore has been gathered using: Ore->GatherableLoot->HasBeenGatheredByPlayer(ValeriaCharacter)

But I don't know how stable it is by calling this function in the ESP loop.

Ive implemented the filtering of ghost ores using IAmAlive today and compiled it to test, turns out theres one issue with it, when you go a bit far from the node its value resets to true when you come closer to it again, i have no clue as why.

Interestingly, there is another way to check if the ore has been gathered using: Ore->GatherableLoot->HasBeenGatheredByPlayer(ValeriaCharacter)

But I don't know how stable it is by calling this function in the ESP loop.

We could possibly save the initial state and reference this if too far away, just a thought.

VoidPollo commented 1 month ago

Since I can get my game to crash constantly, I'm going to test this shortly and comeback with my findings.

VoidPollo commented 1 month ago

Result:

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000000000000012a

OHook!Func_DoESP() [C:\Users\Pollo\Desktop\262\OHook\DetourManager.cpp:343]
OHook!DetourManager::ProcessEventDetour() [C:\Users\Pollo\Desktop\262\OHook\DetourManager.cpp:877]

343:

ActorLocation = Actor->RootComponent->RelativeLocation;
VoidPollo commented 1 month ago

Actor->RootComponent->IsValidLowLevel()

This seems to work

VoidPollo commented 1 month ago

I teleported a bunch with waypoint teleports and targetted selecting while also having ALL of the ESPs options enabled. Did not crash after many minutes of ABUSE.

But as you see I changed it where I could, so things should be tested.

MarlonColhado commented 1 month ago

I teleported a bunch with waypoint teleports and targetted selecting while also having ALL of the ESPs options enabled. Did not crash after many minutes of ABUSE.

But as you see I changed it where I could, so things should be tested.

This is amazing! We are getting closer and closer to making it perfect. Great work!