Make your damageMobS[in mobs.cpp, not mobspacket.cpp] look similar to this:
Obviously you'll want to change the instances of damageMobRanged to damageMobS, or just rename your function declarations and etc from damageMobS to the much better named damageMobRanged. lolol This is in large text because I know lots of people here have trouble reading which might be due to poor eye sight.Code:void Mobs::damageMobRanged(Player* player, unsigned char* packet, int size){ int itemid=0; int pos=getInt(packet+14); for(int i=0; i<player->inv->getItemNum(); i++){ if(player->inv->getItem(i)->pos == pos && player->inv->getItem(i)->inv == 2){ itemid = player->inv->getItem(i)->id; break; } } printf_s("Current Ranged ItemID: %d\n", itemid); MobsPacket::damageMobRanged(player, Maps::info[player->getMap()].Players, packet, itemid); int howmany = packet[1]/0x10; int hits = packet[1]%0x10; int map = player->getMap(); int skillid = getInt(packet+2); if(skillid > 0) Skills::useAttackSkill(player, skillid); int damage; int totalDmg = 0; for(int i=0; i<howmany; i++){ int mobid = getInt(packet+19+i*(22+4*(hits-1))); if (skillid == 3121004 || skillid == 3221001) mobid = getInt(packet+23+i*(22+4*(hits-1))); // fix storm arrow/pierce for(int k=0; k<hits; k++){ damage = getInt(packet+37+i*(22+4*(hits-1)) +k*4); totalDmg = totalDmg + damage; if (skillid == 3121004 || skillid == 3221001) damage = getInt(packet+41+i*(22+4*(hits-1))+k*4); // fix storm arrow/pierce for(unsigned int j=0; j<mobs[map].size(); j++){ if(mobs[map][j]->getID() == mobid){ mobs[map][j]->setHP(mobs[map][j]->getHP()-damage); int mhp=-1; mhp = mobinfo[mobs[map][j]->getMobID()].hp; MobsPacket::showHP(player, mobid ,mobs[map][j]->getHP()*100/mhp); if(mobs[map][j]->getHP() <= 0){ dieMob(player, mobs[map][j]); break; } break; } } } } if(skillid == 4101005){ // Drain int hpRecover = ((totalDmg * Skills::skills[4101005][player->skills->getSkillLevel(4101005)].x)/100); if(player->getHP()+hpRecover > player->getMHP()) player->setHP(player->getMHP()); else player->setHP(player->getHP()+hpRecover); } }
AS FOR THE SPOILER FOR VERSION .10 AND ITS BIG UPDATE, HERE IT IS:
THIS IS FOUND IN MOBS.CPP, AND FOR THE SPOILER PLAY CLOSE ATTENTION TO THE CLASS NAME IN BOLD, AND THE PART IN INTALICS.Code:/* for(unsigned int l=0; l< WZInitialize::MobsInfo[WZInitialize::MapsInfo[pd.map].Spawned[j].id].summon.size(); l++){ SpawnedInfo mob; mob.id = WZInitialize::MobsInfo[WZInitialize::MapsInfo[pd.map].Spawned[j].id].summon[l]; mob.spid = -1; mob.mid = WZInitialize::mobid++; mob.x = WZInitialize::MapsInfo[pd.map].Spawned[j].x; mob.cy = WZInitialize::MapsInfo[pd.map].Spawned[j].cy; mob.fh = WZInitialize::MapsInfo[pd.map].Spawned[j].fh; mob.hp = WZInitialize::MobsInfo[WZInitialize::MapsInfo[pd.map].Spawned[j].id].hp; mob.mp = WZInitialize::MobsInfo[WZInitialize::MapsInfo[pd.map].Spawned[j].id].mp; mob.by = pd.userid; SpawnMob(mob, pd); } */





