CoolSpider's Fixed Trainer v2.0 Revamped [++ Skills Editor]

Posts 115 of 20 · Page 1 of 2
Spider's Fixed Trainer v2.0 Revamped [++ Skills Editor]
This is a revamp of Shape_Snatch's Fixed 2.0 version which adds a new functionality to Spider's S trainer.

Skills Editor Features:
  • Add custom effects to class skills
  • Set your own effect name
  • Set the duration of your custom effect
  • Choose between different Effect Types [buffstat, buffresist, changestat, stun]




How To Use:
  1. Click the Silver Gem on the top-left corner of the infoTab
  2. Choose the Skill ID that you want to edit. From left to right, the Skill IDs on your Action Bar are as follows:
    [7] [6] [5] [4] [3] [2] [1] [0] [8] [9] [10] [11] [12] [13] [14]
    This means your rightmost skill has a Skill ID of 14 while your leftmost skill has a Skill ID of 7.
    Your Basic attack has a Skill ID of 0 since it's in the middle.
  3. Set the number of turns for your effect
  4. Choose the line for your effect
    If you chose buff, you can either choose buffstat or buffresist on the Action Combo Box
    If you chose HOT, you must choose changestat on the Action Combo Box
    If you chose immobility, you must choose stun on the Action Combo Box
  5. Choose whether to apply the effect to the player or to the enemy on the Apply Combo Box
  6. Choose and edit the stats that you want to be included in the effect
    Note that this list works similar to the Forge Tab
  7. In the Resist input field, type your desired Resistance that you wish to manipulate and add to the effect.
    Set its value afterwards.
  8. Enter a Battle
  9. Click the Activate Button
  10. Enjoy


Tips:
  • If you want to apply a "Heal Over Time" effect:
    1. choose Line: HOT
    2. choose Action: changestat
    3. choose Apply : to player
    4. set HP to any negative value
  • If you want to apply a "Damage Over Time" effect:
    1. choose Line: HOT
    2. choose Action: changestat
    3. choose Apply : to enemy
    4. set HP to any positive value
  • If your Action is buffresist, only the Resist value will be added to the effect.
    But if you choose buffstat or changestat, all stat changes including the resist value will be added to the effect.
    The "stun" Action will only apply a stun effect.



Warning:
  • The effects you add to the class skills are permanently added unless you load the class again or you load a new class
  • After applying an effect to a Skill ID, you must not add any more new effects to that Skill ID.
    I tried working around this but action script 2 is very limited that I find it hard and tricky to append code into game functions.
    If you made a mistake when making your effect, simply re-equip your class or equip a new one to reset the skills.
  • Don't use the same effect name for two or more Skill IDs. They will overwrite each other.



Virus Scan
Virus Scan
Fixed_Revamped_mpgh.net.zip7.2 MB · 1,562 downloads Clean
Thanks a lot for the skills editor! I've been waiting for something like this. Can you mess with the cooldown and damage of the skills?
Sit tight bro. It's gonna get interesting
Quote Originally Posted by Recynon View Post
Thanks a lot for the skills editor! I've been waiting for something like this. Can you mess with the cooldown and damage of the skills?
Here's a list of upcoming additions:
  • Change Skill Icon
  • Change Skill Name
  • Change Skill Description
  • Change Skill Label
  • Change Skill CoolDown
  • Change Skill CoolDown Amount
  • Change Skill Mana Cost

include 2 virus scan next time
apologize for delay

//approved
Thanks
Quote Originally Posted by Poonce View Post
include 2 virus scan next time
apologize for delay

//approved
I'll take that in mind
Thank you! While you're at it, I have the following suggestions:

Since you are adding new buttons in the swf, can you add new weapon elements?
- Fear
- Curse
- Null (bypasses All)
- Immobility (weakness seeks)

Also, the following:
Death-proof from Chaosweaver and DeathKnight (Although, I can't get this to work by simply using the variable editor):
_root.game.player.ptrObj.canDie = false;

To set number of Chaosweaver SoulThreads:
_root.battle.attacker.extraBattleInfo.chwSoulThrea dCount = 2;

Add the House Item Shop Loader so a separate swf won't be needed.

The Atealan and Shadow base classes are also missing from the class loader. Reforged Time classes could also be added.
Glad you like it
Quote Originally Posted by hermesiel.valorus11 View Post

Since you are adding new buttons in the swf, can you add new weapon elements?
- Fear
- Curse
- Null (bypasses All)
- Immobility (weakness seeks)
I've never heard of an Immobility element. Did you perhaps mean Immobility Resistance? Apart from that, I guess I can take care of the others.

Also, the following:
Death-proof from Chaosweaver and DeathKnight (Although, I can't get this to work by simply using the variable editor):
_root.game.player.ptrObj.canDie = false;

To set number of Chaosweaver SoulThreads:
_root.battle.attacker.extraBattleInfo.chwSoulThrea dCount = 2;
Will do

Add the House Item Shop Loader so a separate swf won't be needed.
Sure thing. I might have to create a collective "extra" button that points to other added buttons in case I run out of space or in case there is damage to the aesthetics of the trainer.

The Atealan and Shadow base classes are also missing from the class loader. Reforged Time classes could also be added.
I think part of the reason why Spider didn't originally include all classes into the class loader is because he didn't have all the class file links. I could use DirBuster to brute force the class files but it may take a long time since there is no guarantee. If you perhaps know of a better method, kindly tell me so I could learn. I'm still kinda new to hacking and I'm still figuring things out. But hey, if I get better, maybe more interesting things will get added to this trainer.
every time I close the trainer everything I did just goes away, is there no way to actually save anything you do using the trainer ?
You'll soon be able to. As indicated, it works the same as the Forge tab where you can't really save your settings for now. That said, I have great news.

This is what I have in mind:
1) There will be a text input field where you can paste a string that summarizes the effect.
2) There will be a button that converts that string into the effect, and then adds that effect into the chosen Skill ID.

The string format shall be like this:
SkillID, Turns, Name, Line, Action, Apply, HP, Value, MP, Value, intPowerBoost, Value, intBonus, Value, intCrit, Value, intBlock, Value, intDodge, Value, intParry, Value, intDefPierce, Value, intDefMagic, Value, intDefMelee, Value, ResistName, Value

With this method, you can save all your settings into a text file so you can just copy & paste them into the text field whenever you restart the trainer. This should at least make it easier to use for those who want to reuse the same effects over and over again. Thanks for the feedback btw
Quote Originally Posted by Jikaronan View Post
I've never heard of an Immobility element. Did you perhaps mean Immobility Resistance? Apart from that, I guess I can take care of the others.



Will do



Sure thing. I might have to create a collective "extra" button that points to other added buttons in case I run out of space or in case there is damage to the aesthetics of the trainer.


I think part of the reason why Spider didn't originally include all classes into the class loader is because he didn't have all the class file links. I could use DirBuster to brute force the class files but it may take a long time since there is no guarantee. If you perhaps know of a better method, kindly tell me so I could learn. I'm still kinda new to hacking and I'm still figuring things out. But hey, if I get better, maybe more interesting things will get added to this trainer.
"Immobility" element really weakness seeks. I tried it myself. Try this in the Set Variable in the trainer:

_root.character.strElement
Immobility

I can help give you the class file links. I just don't know how to send a private message here in MPGH.
Quote Originally Posted by hermesiel.valorus11 View Post
"Immobility" element really weakness seeks. I tried it myself. Try this in the Set Variable in the trainer:

_root.character.strElement
Immobility

I can help give you the class file links. I just don't know how to send a private message here in MPGH.
I think you need to have 10 posts first before you can PM me. The same goes for me I think, so till you have 10 posts, PM won't work.
Quote Originally Posted by Jikaronan View Post
I think you need to have 10 posts first before you can PM me. The same goes for me I think, so till you have 10 posts, PM won't work.
I see. I better start to be active here. Btw, you can use Wireshark to get the links. I'd also rather not post here publicly the links.
Here are the directories for the atealean classes:

https://play.dragonfable.com/game/ga...C-r1.swf?ver=2
https://play.dragonfable.com/game/ga...C-r1.swf?ver=6
https://play.dragonfable.com/game/ga...ypticCC-r4.swf

I could have added these classes into the loader, along with the reforged calendar classes, but it's likely that the atealean classes will get custom armour. This probably means that the atealean CC will probably get folded into the base atealean classes, in the same way CC soulweaver got folded into the base soulweaver class. I could add the reforged classes, but I was waiting for the other reforged classes to be released - right now if you want to use the calendar classes you can use the class loader and use the following IDs: 155, 156, 157, 158 and 159. For the atealean classes you can also load those with the relevant IDs: 74, 75, 76, 141, 142 and 143.

I normally get the directories and the SWF via the developer tools on a browser that can load flash, such as, Pale Moon. This is great for SWF that are accessible, but I can't access the directories for classes that are no longer publicly available or have had their directory names changes, such as, the old dragonlord class without the shield. If anybody can access some of the old classes, such as, the old dragonlord class without the shield, it would be great if they could post it in a new thread.
No more crashing
After applying an effect to a Skill ID, you must not add any more new effects to that Skill ID.
I looked at the code and found the fix for this. You have to essentially copy the original skills exactly once. You can do this by adding the following function to the top of the script:

copy_Original_Skills_Once = function()
{
_root.character.current_Skill_Cost = _root.battle.attacker.ptrMC.actions[14].intMana;
_root.character.current_Skill_name = _root.battle.attacker.ptrMC.actions[14].strName;
if(_root.character.prev_Skill_name == null)
{
_root.character.prev_Skill_name = _root.character.current_Skill_name;
}
if(_root.character.prev_Skill_name != _root.character.current_Skill_name)
{
_root.character.prev_Skill_Cost = _root.character.current_Skill_Cost;
_root.character.prev_Skill_name = _root.character.current_Skill_name;
}
if(_root.character.prev_Skill_Cost == null)
{
_root.character.prev_Skill_Cost = _root.character.current_Skill_Cost;
}
if(_root.character.prev_Skill_Cost == _root.character.current_Skill_Cost)
{
_root.character.Original_Skill_0 = _root.battle.attacker.ptrMC.actions[0].strScript;
_root.character.Original_Skill_1 = _root.battle.attacker.ptrMC.actions[1].strScript;
_root.character.Original_Skill_2 = _root.battle.attacker.ptrMC.actions[2].strScript;
_root.character.Original_Skill_3 = _root.battle.attacker.ptrMC.actions[3].strScript;
_root.character.Original_Skill_4 = _root.battle.attacker.ptrMC.actions[4].strScript;
_root.character.Original_Skill_5 = _root.battle.attacker.ptrMC.actions[5].strScript;
_root.character.Original_Skill_6 = _root.battle.attacker.ptrMC.actions[6].strScript;
_root.character.Original_Skill_7 = _root.battle.attacker.ptrMC.actions[7].strScript;
_root.character.Original_Skill_8 = _root.battle.attacker.ptrMC.actions[8].strScript;
_root.character.Original_Skill_9 = _root.battle.attacker.ptrMC.actions[9].strScript;
_root.character.Original_Skill_10 = _root.battle.attacker.ptrMC.actions[10].strScript;
_root.character.Original_Skill_11 = _root.battle.attacker.ptrMC.actions[11].strScript;
_root.character.Original_Skill_12 = _root.battle.attacker.ptrMC.actions[12].strScript;
_root.character.Original_Skill_13 = _root.battle.attacker.ptrMC.actions[13].strScript;
_root.character.Original_Skill_14 = _root.battle.attacker.ptrMC.actions[14].strScript;
_root.battle.attacker.ptrMC.actions[14].intMana += 1;
}
};

-----------------------------------------
You have to then replace, any occurence of OrigSkillX (where X is a number from 0 to 14), with the following:

copy_Original_Skills_Once();
OrigSkillX = _root.character.Original_Skill_X;

-----------------------------------------

The only disadvantage of this method is that it increments the mana cost of the 14th skill by one, but that's not too much of a problem. For now this fixes the problem of the trainer crashing every time you add a new effect to a skill that previously had an effect added to it. I've attached the fixed file in this post.

EDIT: Updated the trainer so that 'Activate Weapon Special' script works properly



Fixed_Jikaronan_mpgh.net.zip584 KB · 31 downloads Clean
Quote Originally Posted by Shape_Snatch View Post
I looked at the code and found the fix for this. You have to essentially copy the original skills exactly once. You can do this by adding the following function to the top of the script:

copy_Original_Skills_Once = function()
{
_root.character.current_Skill_Cost = _root.battle.attacker.ptrMC.actions[14].intMana;
_root.character.current_Skill_name = _root.battle.attacker.ptrMC.actions[14].strName;
if(_root.character.prev_Skill_name == null)
{
_root.character.prev_Skill_name = _root.character.current_Skill_name;
}
if(_root.character.prev_Skill_name != _root.character.current_Skill_name)
{
_root.character.prev_Skill_Cost = _root.character.current_Skill_Cost;
_root.character.prev_Skill_name = _root.character.current_Skill_name;
}
if(_root.character.prev_Skill_Cost == null)
{
_root.character.prev_Skill_Cost = _root.character.current_Skill_Cost;
}
if(_root.character.prev_Skill_Cost == _root.character.current_Skill_Cost)
{
_root.character.Original_Skill_0 = _root.battle.attacker.ptrMC.actions[0].strScript;
_root.character.Original_Skill_1 = _root.battle.attacker.ptrMC.actions[1].strScript;
_root.character.Original_Skill_2 = _root.battle.attacker.ptrMC.actions[2].strScript;
_root.character.Original_Skill_3 = _root.battle.attacker.ptrMC.actions[3].strScript;
_root.character.Original_Skill_4 = _root.battle.attacker.ptrMC.actions[4].strScript;
_root.character.Original_Skill_5 = _root.battle.attacker.ptrMC.actions[5].strScript;
_root.character.Original_Skill_6 = _root.battle.attacker.ptrMC.actions[6].strScript;
_root.character.Original_Skill_7 = _root.battle.attacker.ptrMC.actions[7].strScript;
_root.character.Original_Skill_8 = _root.battle.attacker.ptrMC.actions[8].strScript;
_root.character.Original_Skill_9 = _root.battle.attacker.ptrMC.actions[9].strScript;
_root.character.Original_Skill_10 = _root.battle.attacker.ptrMC.actions[10].strScript;
_root.character.Original_Skill_11 = _root.battle.attacker.ptrMC.actions[11].strScript;
_root.character.Original_Skill_12 = _root.battle.attacker.ptrMC.actions[12].strScript;
_root.character.Original_Skill_13 = _root.battle.attacker.ptrMC.actions[13].strScript;
_root.character.Original_Skill_14 = _root.battle.attacker.ptrMC.actions[14].strScript;
_root.battle.attacker.ptrMC.actions[14].intMana += 1;
}
};

-----------------------------------------
You have to then replace, any occurence of OrigSkillX (where X is a number from 0 to 14), with the following:

copy_Original_Skills_Once();
OrigSkillX = _root.character.Original_Skill_X;

-----------------------------------------

The only disadvantage of this method is that it increments the mana cost of the 14th skill by one, but that's not too much of a problem. For now this fixes the problem of the trainer crashing every time you add a new effect to a skill that previously had an effect added to it. I've attached the fixed file in this post.

EDIT: Updated the trainer so that 'Activate Weapon Special' script works properly



//approved
@Jikaronan let me know if you don't want this here.
Posts 115 of 20 · Page 1 of 2

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?