From 179e86d40c957a1168bb77de77393d861ddfbb47 Mon Sep 17 00:00:00 2001 From: ralz <140648578+Ralzify@users.noreply.github.com> Date: Sat, 14 Jun 2025 09:48:25 -0400 Subject: [PATCH 1/4] add waypoint commands alot of ppl wanted these, so here you go --- Project Reboot 3.0/commands.cpp | 58 ++++++++++++++++++++++++++++++++- 1 file changed, 57 insertions(+), 1 deletion(-) diff --git a/Project Reboot 3.0/commands.cpp b/Project Reboot 3.0/commands.cpp index f71cd7a..29fd73f 100644 --- a/Project Reboot 3.0/commands.cpp +++ b/Project Reboot 3.0/commands.cpp @@ -2,6 +2,11 @@ #include "FortAthenaAIBotSpawnerData.h" +#include +#include + +std::map Waypoints; + void ServerCheatHook(AFortPlayerControllerAthena* PlayerController, FString Msg) { bool isMsgEmpty = !Msg.Data.Data || Msg.Data.Num() <= 0; @@ -851,6 +856,57 @@ void ServerCheatHook(AFortPlayerControllerAthena* PlayerController, FString Msg) CheatManager = nullptr; SendMessageToConsole(PlayerController, L"Teleported!"); } + else if (Command == "savewaypoint") + { + if (NumArgs < 1) + { + SendMessageToConsole(PlayerController, L"Please provide a phrase to save the waypoint."); + return; + } + + auto Pawn = ReceivingController->GetMyFortPawn(); + + if (!Pawn) + { + SendMessageToConsole(PlayerController, L"No pawn to get location from!"); + return; + } + + auto PawnLocation = Pawn->GetActorLocation(); + Waypoints[Arguments[1]] = PawnLocation; + + SendMessageToConsole(PlayerController, L"Waypoint saved! Use « cheat waypoint (phrase) » to teleport to that location!"); + } + else if (Command == "waypoint") + { + if (NumArgs < 1) + { + SendMessageToConsole(PlayerController, L"Please provide a waypoint phrase to teleport to."); + return; + } + + std::string Phrase = Arguments[1]; + + if (Waypoints.find(Phrase) == Waypoints.end()) + { + SendMessageToConsole(PlayerController, L"A saved waypoint with this phrase was not found!"); + return; + } + + FVector Destination = Waypoints[Phrase]; + + auto Pawn = ReceivingController->GetMyFortPawn(); + + if (Pawn) + { + Pawn->TeleportTo(Destination, Pawn->GetActorRotation()); + SendMessageToConsole(PlayerController, L"Teleported to waypoint!"); + } + else + { + SendMessageToConsole(PlayerController, L"No pawn to teleport!"); + } + } else if (Command == "startaircraft") { GameMode->StartAircraftPhase(); @@ -1017,4 +1073,4 @@ If you want to execute a command on a certain player, surround their name (case SendMessageToConsole(PlayerController, HelpMessage); } -} \ No newline at end of file +} From 4f5c635e8884f101b86619b5a4f32de852fcb0aa Mon Sep 17 00:00:00 2001 From: ralz <140648578+Ralzify@users.noreply.github.com> Date: Sat, 14 Jun 2025 09:52:36 -0400 Subject: [PATCH 2/4] add to help list --- Project Reboot 3.0/commands.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project Reboot 3.0/commands.cpp b/Project Reboot 3.0/commands.cpp index 29fd73f..a2044b7 100644 --- a/Project Reboot 3.0/commands.cpp +++ b/Project Reboot 3.0/commands.cpp @@ -1060,6 +1060,8 @@ cheat setshield - Sets executing player's shield. cheat applycid - Sets a player's character. cheat spawnpickup - Spawns a pickup at specified player. cheat teleport/tp - Teleports to what the player is looking at. +cheat savewaypoint (phrase/number) - Gets the location of where you are standing and saves it as a waypoint. +cheat waypoint (saved phrase/number) - Teleports the player to the selected existing waypoint. cheat spawnbot - Spawns a bot at the player (experimental). cheat setpickaxe - Set player's pickaxe. Can be either the PID or WID cheat destroytarget - Destroys the actor that the player is looking at. From 2a7dbe65dc5d7d4ab6eb3942c96eaf0eda013c81 Mon Sep 17 00:00:00 2001 From: YesseYesseY Date: Sun, 29 Jun 2025 01:14:29 +0200 Subject: [PATCH 3/4] 19.40 Fixed StaticFindObject crash but still can't host game --- Project Reboot 3.0/finder.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Project Reboot 3.0/finder.h b/Project Reboot 3.0/finder.h index ccda74f..d7d830f 100644 --- a/Project Reboot 3.0/finder.h +++ b/Project Reboot 3.0/finder.h @@ -72,7 +72,10 @@ static inline uint64 FindStaticFindObject(int StringSkip = 1) auto addr = Memcury::Scanner::FindPattern("40 55 53 56 57 41 54 41 55 41 56 41 57 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 85 ? ? ? ? 45 33 F6 4C 8B E1 45 0F B6 E9 49 8B F8 41 8B C6", false).Get(); if (!addr) - addr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 4C 89 64 24 ? 55 41 55 41 57 48 8B EC 48 83 EC 60 45 8A E1 4C 8B E9 48 83 FA").Get(); // 20.00 + addr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 4C 89 64 24 ? 55 41 55 41 57 48 8B EC 48 83 EC 60 45 8A E1 4C 8B E9 48 83 FA", false).Get(); // 20.00 + + if (!addr) + addr = Memcury::Scanner::FindPattern("48 89 5C 24 ? 48 89 74 24 ? 4C 89 64 24 ? 55 41 55 41 57 48 8B EC 48 83 EC 50 4C 8B E9").Get(); // 19.40 return addr; } From d0d8992ad324c833fc81e236e7766ec9fc7b0b2c Mon Sep 17 00:00:00 2001 From: YesseYesseY Date: Sun, 29 Jun 2025 15:03:25 +0200 Subject: [PATCH 4/4] The day has come where 19.40 is playable --- Project Reboot 3.0/NetDriver.cpp | 2 +- Project Reboot 3.0/addresses.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Project Reboot 3.0/NetDriver.cpp b/Project Reboot 3.0/NetDriver.cpp index 9d50c4f..e8a9f14 100644 --- a/Project Reboot 3.0/NetDriver.cpp +++ b/Project Reboot 3.0/NetDriver.cpp @@ -7,7 +7,7 @@ #include "GameplayStatics.h" #include "KismetMathLibrary.h" #include -#include "Package.h"S +#include "Package.h" #include "AssertionMacros.h" #include "bots.h" #include "gui.h" diff --git a/Project Reboot 3.0/addresses.cpp b/Project Reboot 3.0/addresses.cpp index 0079a72..aba9819 100644 --- a/Project Reboot 3.0/addresses.cpp +++ b/Project Reboot 3.0/addresses.cpp @@ -445,6 +445,8 @@ void Offsets::FindAll() Offsets::ServerReplicateActors = 0x5E; else if (Fortnite_Version >= 15.3 && Engine_Version < 500) // 15.3-18 = 0x5F Offsets::ServerReplicateActors = 0x5F; + else if (Fortnite_Version == 19.40) + Offsets::ServerReplicateActors = 0x65; else if (std::floor(Fortnite_Version) >= 19 && std::floor(Fortnite_Version) <= 20) Offsets::ServerReplicateActors = 0x66; else if (std::floor(Fortnite_Version) >= 21)