Added a GUI to toggle it on and off. Located in UIFishing still just in OnGUI()
This simply auto captures the captured fish once it reaches within the bounds of the goal.
TUTORIAL
1) Drag Assembly-CSharp.dll into dnSpy
2) Go into UIFishing and look for Update()
3) Change Update() to this
4) Save AllCode:public void Update() { if (this.miniGameActive) { if (this.IsInGoal()) // The magic nest { this.machine.CollectResource(); // Captures Fish this.Close(); // Closes fishing node and UI } this.countdown -= Time.deltaTime; if (this.countdown <= 0f) { this.OnClick(null); return; } this.UpdateTimeFill(); this.UpdateMarkerRotation(); this.UpdateMarkerColor(); } }
5) Engage Fishing
6) Enjoy
I recommend adding a randomized sleep or a boundaries checker so it's not always instant.
Enjoy
Last edited by bennyboo123; 10-21-2024 at 06:11 PM.
Added a GUI to toggle it on and off. Located in UIFishing still just in OnGUI()
Here's another way to capture the fish without having to CollectResource();
Code:if (this.IsInGoal()) { UIEventListener button = UIEventListener.Get(this.buttonFish.gameObject); if (button.onClick != null) { button.onClick(this.buttonFish.gameObject); } }
Nocrew (11-08-2024)
I'm analyzing and trying to improve but I don't know how to decompile and compile the dll again to apply my logic
That's a lot to add, but you're not wrong. Just a lot of work I'm not willing to put in ATM.
I'd check out ResourceMachine as that's where they spawn nodes and fishes.
I assume this is the variable where they store the fish, but that's just a very quick skim through of the code. I recommend someone else go deeper as I just don't have the time to.
Code:private Dictionary<int, GameObject> playerFish;
- - - Updated - - -
Download dnSpy, go to AQ3D folder, find the assembly-csharp.dll, drag it in, then you'll see the code. To save it all, just go to File and save all. Then it's good to go!
bennyboo123 (12-02-2024)
I decided to mess around to see what I can find out and I managed to identify the fish that is currently spawned for you. So you can ideally filter the type of fish you want.
Add this into UIFishing (or anywhere you want to identify the type of fish)
Add this into SpawnFish function inside ResourceMachine under the if (fish != null) nestleCode:public static string fish;
Should look like thisCode:UIFishing.fishh = fish.name.ToString();
and now in UIFishing where the automatic code is for the minigame, you can make it so if it's the rarity you want, you can capture or move & refish.Code:public partial class ResourceMachine : ClickMachine { // Token: 0x06000613 RID: 1555 private IEnumerator SpawnFish(int playerID) { GameObject fish = this.playerFish[playerID]; if (fish != null) { UIFishing.fishh = fish.name.ToString();
Fish Types
ExampleCode:CommonFish UncommonFish RareFish EpicFish LegendaryFish
Code:if (this.IsInGoal() && fishh == "CommonFish") { this.machine.CollectResource(); this.Close(); }
Last edited by bennyboo123; 12-02-2024 at 09:16 AM.