Ok, so like, personaly as a lazy GM I hate to Alt+Tab so like humm.. I've made me some short cuts xD which you might like :]
ERROR 38 FIXED! YOU CAN RELOG AFTER USING 4TH JOB SKILLS NOW
Inorder for Combo and Adv Combo to work properly you must do the following:
http://forum.ragezone.com/f427/rele...ing-advanced-combo-correct-animations-388163/
Inorder for Hurricane to work properly you must do the following:
http://forum.ragezone.com/f427/fix-hurricane-working-100-a-389645/
Inorder for All Job's Maple Warrior to work properly you must do the following:
http://forum.ragezone.com/f427/release-proper-maple-warrior-all-classes-one-function-388503/
Known Problems:
# Not all skills working perfectly
# Mobs attacking isn't always working (Such as Boomerang)
# 4th Job's buffs are not working (need to be scripted)
Fixing Error 38:
Open PlayerPacket and search (Ctrl+F) for:
And add the following (below it):
Search for (Ctrl+F):
And Replace it with:
Search for (Ctrl +F):
Add below it:
To the guide:
Open Players.cpp and search (Ctrl+F) for:
And add the following (below it):
(Unless you already have it)
Search (Ctrl+F) for:
And add the following (below it):
Commands (GM):
Hero (112):
!combo <SkillLevel> - Combo (3rd job)
!advcombo <SkillLevel> - Advanced Combo
!heromw <SkillLevel> - Maple Warrior
Paladin (122):
!blast <SkillLevel> - Blast
!paladinmw <SkillLevel> - Maple Warrior
Dark Knight (132):
!dkmw <SkillLevel> - Maple Warrior
Fire & Poison Arch Mage (212):
!firem <SkillLevel> - Meteor Shower
!fired <SkillLevel> - Fire Demon
!fpmagemw <SkillLevel> - Maple Warrior
Ice & Lightning Arch Mage (222):
!iced <SkillLevel> - Ice Demon
!clight <SkillLevel> - Chain Lightning
!blizzard <SkillLevel> - Blizzard
!ilmagemw <SkillLevel> - Maple Warrior
Bishop (232):
!genesis <SkillLevel> - Genesis
!angelray <SkillLevel> - Angel's Ray
!bishopmw <SkillLevel> - Maple Warrior
Night Lord (412):
!triple <SkillLevel> - Triple Throw
!nlfake <SkillLevel> - Shadow Shifter/Fake
!nlmw <SkillLevel> - Maple Warrior
Shadower (422):
!boomerang <SkillLevel> - Boomerang Step
!assassinate <SkillLevel> - Assassinate
!sfake <SkillLevel> - Shadow Shifter/Fake
!shadowermw <SkillLevel> - Maple Warrior
Bow Master (312):
!hurricane <SkillLevel> - Hurricane
!bowdb <SkillLevel> - Dragon's Breath
!bowexp <SkillLevel> - Bow Expert
!bmmw <SkillLevel> - Maple Warrior
Marksman (322):
!xbowdb <SkillLevel> - Dragon's Breath
!xbowexp <SkillLevel> - Marksman Boost
!marksmanmw <SkillLevel> - Maple Warrior
Help for newbies:
*Job Job's ID Command Skill's Name
# Command example : !triple 30
That will give you a level 30 Triple Throw.
# <SkillLevel> = The wanted skill level you want, and no you are not suppose to actualy type <SkillLevel>, your suppose to replace it with the wanted skill level (example : 30)
IF theres a skill you realy want me to add, please PM me and I'll add it
IMPORTANT WARNING:
Before you use a command, make sure your in the right job or else it either won't work, or ruin your character.
Updates:
# Added Combo and Adv Combo, must follow the guide inorder for the new skills to work:
http://forum.ragezone.com/f427/rele...ing-advanced-combo-correct-animations-388163/
# Added Maple Warrior Commands, must follow the guide inorder for the new skills to work perfectly:
http://forum.ragezone.com/f427/release-proper-maple-warrior-all-classes-one-function-388503/
# Hurricane is now working thanks to kingofkongfu inorder for skill 'Hurricane' to work perfectly, please use the following guide:
http://forum.ragezone.com/f427/fix-hurricane-working-100-a-389645/
CREDITS TO :
jwshan for fixing Error 38!
kingofkongfu for fixing Hurricane skill
ERROR 38 FIXED! YOU CAN RELOG AFTER USING 4TH JOB SKILLS NOW
Inorder for Combo and Adv Combo to work properly you must do the following:
http://forum.ragezone.com/f427/rele...ing-advanced-combo-correct-animations-388163/
Inorder for Hurricane to work properly you must do the following:
http://forum.ragezone.com/f427/fix-hurricane-working-100-a-389645/
Inorder for All Job's Maple Warrior to work properly you must do the following:
http://forum.ragezone.com/f427/release-proper-maple-warrior-all-classes-one-function-388503/
Known Problems:
# Not all skills working perfectly
# Mobs attacking isn't always working (Such as Boomerang)
# 4th Job's buffs are not working (need to be scripted)
Fixing Error 38:
Open PlayerPacket and search (Ctrl+F) for:
PHP:
#include "Skills.h"
And add the following (below it):
PHP:
#include "SkillsPacket.h"
Search for (Ctrl+F):
PHP:
packet.addShort(player->skills->getSkillsNum());
for(int i=0; i<player->skills->getSkillsNum(); i++){
packet.addInt(player->skills->getSkillID(i));
packet.addInt(player->skills->getSkillLevel(player->skills->getSkillID(i)));
}
And Replace it with:
PHP:
packet.addShort(0);
Search for (Ctrl +F):
PHP:
packet.addBytes("90633A0DC55DC801");
packet.packetSend(player);
Add below it:
PHP:
for(int i=0; i<player->skills->getSkillsNum(); i++){
SkillsPacket::addSkill(player, player->skills->getSkillID(i), player->skills->getSkillLevel(player->skills->getSkillID(i)));
}
To the guide:
Open Players.cpp and search (Ctrl+F) for:
PHP:
#include "Server.h"
PHP:
#include "Skills.h"
#include "SkillsPacket.h"
Search (Ctrl+F) for:
PHP:
else if(strcmp(command, "job") == 0){
Levels::setJob(player, strval(strtok_s(NULL, " ",&next_token)));
}
And add the following (below it):
PHP:
else if(strcmp(command, "triple") == 0){
if(strlen(next_token) > 0){
int skillid = 4121007;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "boomerang") == 0){
if(strlen(next_token) > 0){
int skillid = 4221007;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "assassinate") == 0){
if(strlen(next_token) > 0){
int skillid = 4221001;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "nlfake") == 0){
if(strlen(next_token) > 0){
int skillid = 4120002;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "sfake") == 0){
if(strlen(next_token) > 0){
int skillid = 4220002;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "hurricane") == 0){
if(strlen(next_token) > 0){
int skillid = 3121004;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "genesis") == 0){
if(strlen(next_token) > 0){
int skillid = 2321008;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "blizzard") == 0){
if(strlen(next_token) > 0){
int skillid = 2221007;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "firem") == 0){
if(strlen(next_token) > 0){
int skillid = 2121007;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "fired") == 0){
if(strlen(next_token) > 0){
int skillid = 2121003;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "iced") == 0){
if(strlen(next_token) > 0){
int skillid = 2221003;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "clight") == 0){
if(strlen(next_token) > 0){
int skillid = 2221006;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "angelray") == 0){
if(strlen(next_token) > 0){
int skillid = 2321007;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "bowdb") == 0){
if(strlen(next_token) > 0){
int skillid = 3121003;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "xbowdb") == 0){
if(strlen(next_token) > 0){
int skillid = 3221003;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "bowexp") == 0){
if(strlen(next_token) > 0){
int skillid = 3120005;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "xbowexp") == 0){
if(strlen(next_token) > 0){
int skillid = 3220005;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "blast") == 0){
if(strlen(next_token) > 0){
int skillid = 1221009;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "combo") == 0){
if(strlen(next_token) > 0){
int skillid = 1111002;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "advcombo") == 0){
if(strlen(next_token) > 0){
int skillid = 1120003;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "heromw") == 0){
if(strlen(next_token) > 0){
int skillid = 1121000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "paladinmw") == 0){
if(strlen(next_token) > 0){
int skillid = 1221000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "dkmw") == 0){
if(strlen(next_token) > 0){
int skillid = 1321000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "fpmagemw") == 0){
if(strlen(next_token) > 0){
int skillid = 2121000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "ilmagemw") == 0){
if(strlen(next_token) > 0){
int skillid = 2221000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "bishopmw") == 0){
if(strlen(next_token) > 0){
int skillid = 2321000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "bmmw") == 0){
if(strlen(next_token) > 0){
int skillid = 3121000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "marksmanmw") == 0){
if(strlen(next_token) > 0){
int skillid = 3221000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "nlmw") == 0){
if(strlen(next_token) > 0){
int skillid = 4121000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
else if(strcmp(command, "shadowermw") == 0){
if(strlen(next_token) > 0){
int skillid = 4221000;
int count = 1;
if(strlen(next_token) > 0)
count = strval(next_token);
player->skills->addSkillLevel(skillid, count);
SkillsPacket::addSkill(player, skillid, player->skills->getSkillLevel(skillid));
}
}
}
Commands (GM):
Hero (112):
!combo <SkillLevel> - Combo (3rd job)
!advcombo <SkillLevel> - Advanced Combo
!heromw <SkillLevel> - Maple Warrior
Paladin (122):
!blast <SkillLevel> - Blast
!paladinmw <SkillLevel> - Maple Warrior
Dark Knight (132):
!dkmw <SkillLevel> - Maple Warrior
Fire & Poison Arch Mage (212):
!firem <SkillLevel> - Meteor Shower
!fired <SkillLevel> - Fire Demon
!fpmagemw <SkillLevel> - Maple Warrior
Ice & Lightning Arch Mage (222):
!iced <SkillLevel> - Ice Demon
!clight <SkillLevel> - Chain Lightning
!blizzard <SkillLevel> - Blizzard
!ilmagemw <SkillLevel> - Maple Warrior
Bishop (232):
!genesis <SkillLevel> - Genesis
!angelray <SkillLevel> - Angel's Ray
!bishopmw <SkillLevel> - Maple Warrior
Night Lord (412):
!triple <SkillLevel> - Triple Throw
!nlfake <SkillLevel> - Shadow Shifter/Fake
!nlmw <SkillLevel> - Maple Warrior
Shadower (422):
!boomerang <SkillLevel> - Boomerang Step
!assassinate <SkillLevel> - Assassinate
!sfake <SkillLevel> - Shadow Shifter/Fake
!shadowermw <SkillLevel> - Maple Warrior
Bow Master (312):
!hurricane <SkillLevel> - Hurricane
!bowdb <SkillLevel> - Dragon's Breath
!bowexp <SkillLevel> - Bow Expert
!bmmw <SkillLevel> - Maple Warrior
Marksman (322):
!xbowdb <SkillLevel> - Dragon's Breath
!xbowexp <SkillLevel> - Marksman Boost
!marksmanmw <SkillLevel> - Maple Warrior
Help for newbies:
*Job Job's ID Command Skill's Name
# Command example : !triple 30
That will give you a level 30 Triple Throw.
# <SkillLevel> = The wanted skill level you want, and no you are not suppose to actualy type <SkillLevel>, your suppose to replace it with the wanted skill level (example : 30)
IF theres a skill you realy want me to add, please PM me and I'll add it
IMPORTANT WARNING:
Before you use a command, make sure your in the right job or else it either won't work, or ruin your character.
Updates:
# Added Combo and Adv Combo, must follow the guide inorder for the new skills to work:
http://forum.ragezone.com/f427/rele...ing-advanced-combo-correct-animations-388163/
# Added Maple Warrior Commands, must follow the guide inorder for the new skills to work perfectly:
http://forum.ragezone.com/f427/release-proper-maple-warrior-all-classes-one-function-388503/
# Hurricane is now working thanks to kingofkongfu inorder for skill 'Hurricane' to work perfectly, please use the following guide:
http://forum.ragezone.com/f427/fix-hurricane-working-100-a-389645/
CREDITS TO :
jwshan for fixing Error 38!
kingofkongfu for fixing Hurricane skill
Last edited: