Welcome to Mager1794's Core Editing Tutorial
i highly advise you have some prior client or C++ knowledge or this may be harder for you then it would seem but if not i advise copy your ascent-world folder before doing this this is for the safety of your server
Table of Contents- Tracking
- Searching
- Precaution
- Editing
- Return it to normal
1. Tracking
Ok Well step one is first lets think about what we want to change what does it affect where might it be things to determine what file the thing you wish to change will be at now for my guide well lets say i have a 250 server and i really hate how rogues get there dodge to 95% and are invincible well my thoughts are dodge is a stat therefor effecting the player so player.cpp is where i believe it should be at
2. Searching
ok now let search for the file allow us to open player.cpp use the find function the hotkey for it is ctrl+f ok now in the text box lets type dodge now we got "finishingmovesdodge" not what we wanted but hey while were here if you want finishing moves to be dodgeable set that to true back to the search do dodge again
[these are what we see before we find dodge percentage]
Code:
m_dodgefromspell
// dodge -- that was how much dodge you get for each dodge rating btw
At the bottom of that we see
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
3. Precaution
Precaution must be taken with every client edit so now i ask you do this look where you see
Code:
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
Now Change like this
Code:
//I Editted this from 95.0f to [what ever you change to](the .0f needs to stay there)
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
Now we also want to make sure we can find easy so put something that we highly doubt will be find if we search so make like this
Code:
//CoreEdit
//I Editted this from 95.0f to [what ever you change to](the .0f needs to stay there)
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
now if you search that will be the only thing it shall find
4. Editting
This Part here is where we must be most cautious in-case of one wrong move our entire emulation will no longer work and of cource we do not want that to happen
so now listen closely
when editting pay attension to what seems like it goes along with the script
like right here
Code:
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
95.0f
notice the .0f looks absolutely worthless in my opinion so why not delete it...because its part of the script with out it you would get and error and have to come back and fix it
so well lets edit the Dodge percent
Code:
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 95.0f ) );
into
Code:
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 75.0f ) );
There we go Editted and prepared
Now go run and Compile your Ascent-World.exe
5. Return it to Normal
Now Lets say there was an error in the script and you dont know how to fix well this is why we made those comments go into Player.cpp ctrl+f in textbos type CoreEdit
you get this
Code:
// dodge
// tmp = baseDodge[pClass] + float( GetUInt32Value( UNIT_FIELD_STAT1 ) / dodgeRatio[69][pClass] );
tmp = baseDodge[pClass] + float( GetUInt32Value( UNIT_FIELD_STAT1 ) / dodgeRatio[pLevel-1][pClass] );
tmp += CalcRating( PLAYER_RATING_MODIFIER_DODGE ) + this->GetDodgeFromSpell();
tmp += defence_contribution;
if( tmp < 0.0f )tmp = 0.0f;
//CoreEdit
//I Editted this from 95.0f to [what ever you change to](the .0f needs to stay there)
SetFloatValue( PLAYER_DODGE_PERCENTAGE, min( tmp, 75.0f ) );
now we simply change the 75 back to a 95 and its reverted back to normal
and since we fixed it all we can delete out comments as well
Code:
Well thanks for reading my guide please leave feedback and way for me to improve my next guides see ya and happy core editing