thankes
Printable View
thankes
I've got the following in Skills.cpp/.h for Shadow Partner.
The icon shows up and a rock gets used up, but the skill doesn't seem to work (shadow doesn't show up behind player & only two stars are thrown with Lucky Seven)Code:Skills.cpp
else if(strcmp(name, "end4111002") == 0) Skills::end4111002(player);
else if(skillid == end4111002){
timer->stop(player, "endend4111002");
endend4111002(player);
}
else if(skillid == 4111002){
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4111002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, (char)0, 0, 0, 0x4, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4111002", skills[skillid][level].time*1000);
}
void Skills::end4111002(Player* player){
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, (char)0, 0, 0, 0x4, 0, 0, 0, 0);
}
Skills.h
static void end4111002(Player* player);
I've bolded some errors in it. Fixing it may or may not fix SP, I'm not sure.Code:Skills.cpp
else if(strcmp(name, "end4111002") == 0) Skills::end4111002(player);
else if(skillid == end4111002){
timer->stop(player, "endend4111002");
endend4111002(player); //get rid of the first end
}
else if(skillid == 4111002){
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4111002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, (char)0, 0, 0, 0x4, 0, 0, 0, vals, 0); // move the (char) over to the 0x4
timer->setSkillTimer(player, "end4111002", skills[skillid][level].time*1000);
}
void Skills::end4111002(Player* player){
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, (char)0, 0, 0, 0x4, 0, 0, 0, 0); //move the (char) over to the 0x4
}
Skills.h
static void end4111002(Player* player);
If it doesn't work, replace your code with the following in the relevant sections:
Code:else if(strcmp(name, "end4111002") == 0) Skills::end4111002(player);
Code:else if(skillid == 4111002){
timer->stop(player, "end4111002");
end4111002(player);
}
Code:else if(skillid == 4111002){
vals.push_back(skills[skillid][level].x);
vals.push_back(skills[skillid][level].y);
timer->stop(player, "end4111002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0, 0, (char)0x4, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4111002", skills[skillid][level].time*1000);
}
Code:void Skills::end4111002(Player* player){
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0, 0, 0x4, 0, 0, 0, 0, 0);
}
Code:static void end4111002(Player* player);
It's okay, I figured it out myself :P
Now to try other skills ..
s4itox, help me with this part.
I got no idea but the timer screw itself up.
Top code
Bottom codeCode:SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*310, 0, (char)0x20, 0, 0, 0, 0, 0, 0, vals, 0);
Code:SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 2, 0, (char)0x20, 0, 0, 0, 0, 0, 0);
All Boosters
Skills.cpp
Code:else if(strcmp(name, "end1101004") == 0) Skills::end1101004(player); //Sword Booster - Fighter
else if(strcmp(name, "end1101005") == 0) Skills::end1101005(player); //Axe Booster - Fighter
else if(strcmp(name, "end1201004") == 0) Skills::end1201004(player); //Sword Booster - Page
else if(strcmp(name, "end1201005") == 0) Skills::end1201005(player); //BW Booster - Page
else if(strcmp(name, "end1301004") == 0) Skills::end1301004(player); //Spear Booster - Spearman
else if(strcmp(name, "end1301005") == 0) Skills::end1301005(player); //Pole Arm Booster - Spearman
else if(strcmp(name, "end2111005") == 0) Skills::end2111005(player); //Spell Booster - Fire & Poison Mage
else if(strcmp(name, "end2211005") == 0) Skills::end2211005(player); //Spell Booster - Ice & Lightning Mage
else if(strcmp(name, "end3101002") == 0) Skills::end3101002(player); //Bow Booster - Hunter
else if(strcmp(name, "end3201002") == 0) Skills::end3201002(player); //Crossbow Booster - Crossbowman
else if(strcmp(name, "end4201002") == 0) Skills::end4201002(player); //Dagger Booster - Bandit
else if(strcmp(name, "end4101003") == 0) Skills::end4101003(player); //Claw Booster - Assassin
Code:else if(skillid == 1101004){ //Sword Booster - Fighter
timer->stop(player, "end1101004");
end1101004(player);
}
else if(skillid == 1101005){ //Axe Booster - Fighter
timer->stop(player, "end1101005");
end1101005(player);
}
else if(skillid == 1201004){ //Sword Booster - Page
timer->stop(player, "end1201004");
end1201004(player);
}
else if(skillid == 1201005){ //BW Booster - Page
timer->stop(player, "end1201005");
end1201005(player);
}
else if(skillid == 1301004){ //Spear Booster - Spearman
timer->stop(player, "end1301004");
end1301004(player);
}
else if(skillid == 1301005){ //Pole Arm Booster - Spearman
timer->stop(player, "end1301005");
end1301005(player);
}
else if(skillid == 2111005){ //Spell Booster - Fire & Poison Mage
timer->stop(player, "end2111005");
end2111005(player);
}
else if(skillid == 2211005){ //Spell Booster - Ice & Lightning Mage
timer->stop(player, "end2211005");
end2211005(player);
}
else if(skillid == 3101002){ //Bow Booster - Hunter
timer->stop(player, "end3101002");
end3101002(player);
}
else if(skillid == 3201002){ //Crossbow Booster - Crossbowman
timer->stop(player, "end3201002");
end3201002(player);
}
else if(skillid == 4201002){ //Dagger Booster - Bandit
timer->stop(player, "end4201002");
end4201002(player);
}
else if(skillid == 4101003){ //Claw Booster - Assassin
timer->stop(player, "end4101003");
end4101003(player);
}
Code:else if(skillid == 1101004){ //Sword Booster - Fighter
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1101004");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1101004", skills[skillid][level].time*1000);
}
else if(skillid == 1101005){ //Axe Booster - Fighter
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1101005");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1101005", skills[skillid][level].time*1000);
}
else if(skillid == 1201004){ //Sword Booster - Page
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1201004");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1201004", skills[skillid][level].time*1000);
}
else if(skillid == 1201005){ //BW Booster - Page
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1201005");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1201005", skills[skillid][level].time*1000);
}
else if(skillid == 1301004){ //Spear Booster - Spearman
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1301004");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1301004", skills[skillid][level].time*1000);
}
else if(skillid == 1301005){ //Pole Arm Booster - Spearman
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end1301005");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end1301005", skills[skillid][level].time*1000);
}
else if(skillid == 2111005){ //Spell Booster - Fire & Poison Mage
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end2111005");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end2111005", skills[skillid][level].time*1000);
}
else if(skillid == 2211005){ //Spell Booster - Ice & Lightning Mage
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end2211005");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end2211005", skills[skillid][level].time*1000);
}
else if(skillid == 3101002){ //Bow Booster - Hunter
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end3101002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end3101002", skills[skillid][level].time*1000);
}
else if(skillid == 3201002){ //Crossbow Booster - Crossbowman
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end3201002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end3201002", skills[skillid][level].time*1000);
}
else if(skillid == 4201002){ //Dagger Booster - Bandit
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4201002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4201002", skills[skillid][level].time*1000);
}
else if(skillid == 4101003){ //Claw Booster - Assassin
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4101003");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0x8, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4101003", skills[skillid][level].time*1000);
}
Skills.hCode:void Skills::end1101004(Player* player){ //Sword Booster - Fighter
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end1101005(Player* player){ //Axe Booster - Fighter
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end1201004(Player* player){ //Sword Booster - Page
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end1201005(Player* player){ //BW Booster - Page
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end1301004(Player* player){ //Spear Booster - Spearman
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end1301005(Player* player){ //Pole Arm Booster - Spearman
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end2111005(Player* player){ //Spell Booster - Fire & Poison Mage
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end2211005(Player* player){ //Spell Booster - Ice & Lightning Mage
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end3101002(Player* player){ //Bow Booster - Hunter
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end3201002(Player* player){ //Crossbow Booster - Crossbowman
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end4201002(Player* player){ //Dagger Booster - Bandit
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end4101003(Player* player){ //Claw Booster - Assassin
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0x8, 0, 0, 0, 0, 0, 0, 0);
}
Bandit & Assassin HasteCode:static void end1101004(Player* player); //Sword Booster - Fighter
static void end1101005(Player* player); //Axe Booster - Fighter
static void end1201004(Player* player); // Sword Booster - Page
static void end1201005(Player* player); //BW Booster - Page
static void end1301004(Player* player); // Spear Booster - Spearman
static void end1301005(Player* player); //Pole Arm Booster - Spearman
static void end2111005(Player* player); //Spell Booster - Fire & Poison Mage
static void end2211005(Player* player); //Spell Booster - Ice & Lightning Wizard
static void end3101002(Player* player); //Bow Booster - Hunter
static void end3201002(Player* player); //Crossbow Booster - Crossbowman
static void end4201002(Player* player); //Dagger Booster - Bandit
static void end4101003(Player* player); //Claw Booster - Assassin
Skills.cpp
Code:else if(strcmp(name, "end4101004") == 0) Skills::end4101004(player); //Haste - Assassin
else if(strcmp(name, "end4201003") == 0) Skills::end4201003(player); //Haste - Bandit
Code:else if(skillid == 4101004){ //Haste - Assassin
timer->stop(player, "end4101004");
end4101004(player);
}
else if(skillid == 4201003){ //Haste - Bandit
timer->stop(player, "end4201003");
end4201003(player);
}
Code:else if(skillid == 4101004){ //Haste - Assassin
vals.push_back(skills[skillid][level].speed);
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4101004");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, (char)0x80, 0x1, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4101004", skills[skillid][level].time*1000);
}
else if(skillid == 4201003){ //Haste - Bandit
vals.push_back(skills[skillid][level].speed);
vals.push_back(skills[skillid][level].x);
timer->stop(player, "end4201003");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, (char)0x80, 0x1, 0, 0, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4201003", skills[skillid][level].time*1000);
}
Skills.hCode:void Skills::end4101004(Player* player){ //Haste - Assassin
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, (char)0x80, 0x1, 0, 0, 0, 0, 0, 0, 0);
}
void Skills::end4201003(Player* player){ //Haste - Bandit
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, (char)0x80, 0x1, 0, 0, 0, 0, 0, 0, 0);
}
4201003.xml & 4101004.xmlCode:static void end4101004(Player* player); //Haste - Assassin
static void end4201003(Player* player); //Haste - Bandit
Shadow PartnerCode:<?xml version="1.0" ?>
<Skill>
<Levels>
<Level>
<Time>10</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>1</X>
<Y>0</Y>
<Speed>2</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>20</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>2</X>
<Y>0</Y>
<Speed>4</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>30</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>3</X>
<Y>0</Y>
<Speed>6</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>40</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>4</X>
<Y>0</Y>
<Speed>8</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>50</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>5</X>
<Y>0</Y>
<Speed>10</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>60</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>6</X>
<Y>0</Y>
<Speed>12</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>70</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>7</X>
<Y>0</Y>
<Speed>14</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>80</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>8</X>
<Y>0</Y>
<Speed>16</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>90</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>9</X>
<Y>0</Y>
<Speed>18</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>100</Time>
<MP>15</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>10</X>
<Y>0</Y>
<Speed>20</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>110</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>11</X>
<Y>0</Y>
<Speed>22</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>120</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>12</X>
<Y>0</Y>
<Speed>24</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>130</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>13</X>
<Y>0</Y>
<Speed>26</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>140</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>14</X>
<Y>0</Y>
<Speed>28</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>150</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>15</X>
<Y>0</Y>
<Speed>30</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>160</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>16</X>
<Y>0</Y>
<Speed>32</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>170</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>17</X>
<Y>0</Y>
<Speed>34</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>180</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>18</X>
<Y>0</Y>
<Speed>36</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>190</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>19</X>
<Y>0</Y>
<Speed>38</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>200</Time>
<MP>30</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>20</X>
<Y>0</Y>
<Speed>40</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
<Level>
<Time>0</Time>
<MP>0</MP>
<HP>0</HP>
<Item>0</Item>
<ItemCount>0</ItemCount>
<X>0</X>
<Y>0</Y>
<Speed>0</Speed>
<WAtk>0</WAtk>
<WDef>0</WDef>
<MAtk>0</MAtk>
<MDef>0</MDef>
<Acc>0</Acc>
<Avo>0</Avo>
</Level>
</Levels>
</Skill>
Skills.cpp
Code:else if(strcmp(name, "end4111002") == 0) Skills::end4111002(player); //Shadow Partner - Hermit
Code:else if(skillid == 4111002){ //Shadow Partner - Hermit
timer->stop(player, "end4111002");
end4111002(player);
}
Code:else if(skillid == 4111002){ //Shadow Partner - Hermit
vals.push_back(skills[skillid][level].x);
vals.push_back(skills[skillid][level].y);
timer->stop(player, "end4111002");
SkillsPacket::useSkill(player, Maps::info[player->getMap()].Players , skillid, skills[skillid][level].time*1000, 0, 0, 0, (char)0x4, 0, 0, 0, 0, vals, 0);
timer->setSkillTimer(player, "end4111002", skills[skillid][level].time*1000);
}
Skills.hCode:void Skills::end4111002(Player* player){ //Shadow Partner - Hermit
SkillsPacket::endSkill(player, Maps::info[player->getMap()].Players, 0, 0, 0, 0x4, 0, 0, 0, 0, 0);
}
Code:static void end4111002(Player* player); //Shadow Partner - Hermit
FyRiS, I suggest you to GIVE credits OR DON'T RELEASE them.
It really suck when I see noobs doing these without giving credits to the original finder.
Fyris all thos are 100% working?
But do give the credits to s4itox for finding most of the packets and test it 1 by 1.
NVM delete this post
thanks allot does somebody know how to get the ride stuff working ?
Can Someone Post The Codes For All of It Except Shadow Partner, Becasue Don't Want To Replace The Skills.cpp
And Name Them Too
Edit: Sorry Didn't See Top Post
s4ito for most of the packets.
I got riding working.. lawl, go get yourself some packets to do that ;)
There is an error in Soul Arrow skill:
vals.push_back(skills[skillid][level].damage);
I don't think this suppost to be "damage"
coolio
Tested?
Sweet thanks :)