Using Mono Dissection to Create a Script in Valthirian Arc: Hero School Story

Want Cheat Engine to do something specific and no idea how to do that, ask here. (From simple scripts to full trainers and extensions)
Post Reply
jmh
Novice Cheater
Novice Cheater
Posts: 22
Joined: Sun Dec 30, 2018 7:19 pm
Reputation: 5

Using Mono Dissection to Create a Script in Valthirian Arc: Hero School Story

Post by jmh »

I have found the method that increases character experience in CharacterStatus:AddExp(addvalue:int):System.Int32 using the Mono dissector. When I execute that method on an instance of the class it increases experience as expected.

CharacterStatus:AddExp+5a F3 0F10 0D CE000000 movss xmm1,[CharacterStatus:AddExp+130]
CharacterStatus:AddExp+62 F3 0F 5A C9 cvtss2sd xmm1,xmm1
CharacterStatus:AddExp+66 F2 0F 59 C1 mulsd xmm0,xmm1


The value at [CharacterStatus:AddExp+130] is already a multiplier to the added experience (I got an address reference to it and changed it manually to test). It should be simple to create a script that changes the value at that address, but as this is my first time attempting a script, I don't know how to do it.

Thank you,

User avatar
Chucky
Expert Cheater
Expert Cheater
Posts: 76
Joined: Thu Mar 08, 2018 4:01 pm
Reputation: 29

Re: Using Mono Dissection to Create a Script in Valthirian Arc: Hero School Story

Post by Chucky »

jmh wrote:
Mon Dec 31, 2018 5:27 pm
I have found the method that increases character experience in CharacterStatus:AddExp(addvalue:int):System.Int32 using the Mono dissector. When I execute that method on an instance of the class it increases experience as expected.

CharacterStatus:AddExp+5a F3 0F10 0D CE000000 movss xmm1,[CharacterStatus:AddExp+130]
CharacterStatus:AddExp+62 F3 0F 5A C9 cvtss2sd xmm1,xmm1
CharacterStatus:AddExp+66 F2 0F 59 C1 mulsd xmm0,xmm1


The value at [CharacterStatus:AddExp+130] is already a multiplier to the added experience (I got an address reference to it and changed it manually to test). It should be simple to create a script that changes the value at that address, but as this is my first time attempting a script, I don't know how to do it.

Thank you,
In your script:

Code: Select all

alloc(Mymultiplier ,8)

Mymultiplier :
dd (float)100 //or whatever

movss xmm1,[Mymultiplier]
cvtss2sd xmm1,xmm1
mulsd xmm0,xmm1

Post Reply

Who is online

Users browsing this forum: No registered users