Skip to content

Commit

Permalink
Add the exp tracker project
Browse files Browse the repository at this point in the history
  • Loading branch information
vtorres committed Jan 31, 2024
1 parent b092184 commit a19897a
Show file tree
Hide file tree
Showing 20 changed files with 4,736 additions and 34 deletions.
65 changes: 31 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</div>

<h3 align="center">
Revendawn Tools
Revendawn Tools - <a href="https://github.com/vtorres/ravendawn-tools-private/blob/main/ravendawn.CT">Cheat Table</a> and <a href="https://github.com/vtorres/ravendawn-tools-private/releases/tag/1.0.0">Exp Tracker</a>
</h3>

<div align="center">
Expand All @@ -22,53 +22,46 @@

### 📖 About

Ravendawn Online is a massively multiplayer online role-playing game (MMORPG) created by Tavernlight Games.
We could discuss about this "creation", because they are using the whole source code, networking protocol and everything on top of Tibia. Being more specific, they are using known open source like [this](https://github.com/edubart/otclient) and [this](https://github.com/edubart/otclient) and built on top of it. It's funny because they still get mad when you call this game a Tibia copy, haha. Let's avoid this rabbit hole and start hacking it!
Ravendawn Online stands as a massively multiplayer online role-playing game (MMORPG) crafted by Tavernlight Games. It's interesting to dive into the details of its development since they've utilized the complete source code, networking protocol, and various components directly from Tibia. To be more precise, they've integrated well-known open-source elements such as [otclient](https://github.com/edubart/otclient) and expanded upon them. It adds a touch of humor to the situation when the developers express frustration at labeling the game as a mere Tibia-like. Let's steer clear of that debate and instead focus on exploring and enhancing the game!

### 📖 How to find the right memory address for the Entity

CT File: [Enjoy!](https://github.com/vtorres/ravendawn-tools-private/blob/main/ravendawn.CT)
CT File: [Enjoy it!](https://github.com/vtorres/ravendawn-tools-private/blob/main/ravendawn.CT)

There are many ways to find the Entity Address, but the easiest way to find it inside this game is using the player direction [North, East, South and West]. Following this tip we could find the Entity base address in less than one minute. The directions have the following values: North: 0, East: 1, South: 2, West: 3
Discovering the Entity Address in this game can be achieved through various methods, with the most straightforward approach involving the player's cardinal directions (North, East, South, and West). By following this advice, one can identify the Entity's base address in under a minute. The directional values are as follows: North (0), East (1), South (2), and West (3).

Having this base information gonna save you a lot of time. Let's start!
Having this fundamental information will save you a significant amount of time. Let's get started!

Login in your account character, attach the Cheat Engine and place your character looking to the North and scan the memory for the value 0, now we can just alternate the directions and filter it by the diriection values provided above.
Log in to your account character, attach Cheat Engine, and orient your character to face North. Scan the memory for the value 0. Now, you can systematically alternate directions and filter the results using the provided directional values.
The process is quite straightforward, and after a few repetitions of these steps while filtering the memory, you'll be able to pinpoint it in less than a minute. Once you've identified the direction memory, initiate a pointer scan with a depth of one. This will yield essentially one result, simplifying the task. Removing this offset and obtaining the base address is the ultimate goal – the Entity itself!
After discovering the Entity base address and examining the Memory View, you'll notice that everything we need is readily available and not too distant from the base address. This includes crucial data such as Current HP, Current SP, Max HP, Max Mana, Directions, Outfits, Player Name, Coordinates (x, y, z), Current XP, Lights, Player ID, Monster ID (the target we are attacking), and much more. Armed with this information, you can easily implement features like Cave Light, Outfit Changer, Exp tracker, Bots, and more.

It's pretty straightforward and after a couple of times doing this steps and filtering the memory we are capable of finding it in less than one minute. After finding the direction memory, we can just start a pointer scan with deep of one. It's gonna show you basically one result and that makes the things easier. Removing this offset and getting the base address it's what we are looking for,
the Entity itself! After findind the Entity base address and looking into the Memory View, you gonna notice everything that we need is there and not to far from the base address, like:
Current HP, Current SP, Max HP, Max Mana, Directions, Outfits, Player Name, Coordinates (x, y, z), Current XP, Lights, Player ID, Monster ID that we are attacking and much more.
I refrain from implementing functionalities that completely disrupt the game, such as instant mining, instant fishing, and worse. My intention here is to provide fundamental information, allowing you to explore further on your own! However, when it comes to opening the source code to the community, things can take a negative turn. If you're inclined to break the game, here's a [little tip](https://github.com/vdsk/ravendawn-decrypt) on decrypting the Lua files of the game and altering its behavior entirely according to your preferences.

### 🏴‍☠️ Basic Tools
Now that we are at the same page, I am going to implement the most useless and not invasive tool to the community and myself.

I won't implement things that totally breaks the game like insta mining, insta fishing and others. I'm here just passing basic informations and you can go further! I love doing cheats, but when it comes to
open a code to the community, things could go south. If you really want to break the game, you easily do Bots or descrypt the lua files of the game and changing the whole behavior.
### 🤖 Ravendawn Exp Tracker [Download](https://github.com/vdsk/ravendawn-decrypt)

Now that we are on the same page, let's implement a few basic tools, like Ravendawn Cave Light, Ravendawn Outfit Changer and Ravendawn EXP Tracker.

Ravendawn Cave Light - It's a pain in the ass having a limited vision inside the caves. Let's get rid of it!

<div align="center">
<picture>
<img src="./assets/ravendawn.png" alt="Ravendawn Cave Light" />
</picture>
</div>

Ravendawn Outfit Changer - The game released a week ago, so we do not have a lot of different outfits for our character, unless... hehe
Occasionally, you might desire additional insights into your in-game hunting, such as the average EXP per hour and the time remaining until the next level. Given the current absence of this information in the game, we have to take matters into our own hands.

<div align="center">
<picture>
<img src="./assets/ravendawn.png" alt="Ravendawn Outfit Changer" />
<img src="./ravendawn-xp-tracker/assets/exp_tracker.png" alt="Ravendawn EXP Tracker" />
</picture>
</div>

Ravendawn EXP Tracker - Sometimes you just want to know more information about your hunting inside the game, the EXP average per hour and how long until reaching the next level. Since the game does not provide us with this info yet.. we need to do it ourselves

<div align="center">
<picture>
<img src="./assets/ravendawn.png" alt="Ravendawn EXP Tracker" />
</picture>
</div>
<table>
<tr>
<td>Processes</td>
<td>Haven't made XP Yet</td>
<td>Collecting information</td>
</tr>
<tr>
<td valign="top"><img src="./ravendawn-xp-tracker/assets/process_selection.png"></td>
<td valign="top"><img src="./ravendawn-xp-tracker/assets/havent_gain_xp.png"></td>
<td valign="top"><img src="./ravendawn-xp-tracker/assets/collecting_information.png"></td>
</tr>
</table>

### 📕 Prerequisites

Expand All @@ -77,13 +70,17 @@ Ravendawn EXP Tracker - Sometimes you just want to know more information about y
### 🖥️ Development

```shell
cargo update stable
cargo update stable
```

Open the ravendawn-xp-tracker folder and run the command below:

```shell
cargo run
```
or

```shell
cargo update stable
cargo build --release
```

Expand Down
5 changes: 5 additions & 0 deletions ravendawn-xp-tracker/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[build]
rustflags = ["-C", "target-feature=+crt-static"]

[toolchain]
target = "x86_64-pc-windows-msvc"
2 changes: 2 additions & 0 deletions ravendawn-xp-tracker/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.DS_Store
/target
Loading

0 comments on commit a19897a

Please sign in to comment.