Demoncrawler
Well-Known Member
- Joined
- Aug 16, 2009
- Messages
- 117
- Reaction score
- 53
I tried to copy old code from 2021 to the latest tfs. But it doesn't work anymore, the server won't start as soon as I copy that part into the latest tfs.
""old function""
bool Spawn::addMonster(const std::string& name, const Position& pos, Direction dir, uint32_t interval)
{
MonsterType* mType = g_monsters.getMonsterType(name);
if (mType->multi.find("xx") != std::string::npos)
{
std::string savemulti = mType->multi;
std::stringstream test;
test.str(mType->multi);
std::string segment;
std::vector<std::string> seglist;
while (std::getline(test, segment, '_'))
{
seglist.push_back(segment);
}
int randnumber = rand() % 5 + 1;
//std::cout << "Randommonster " << seglist[randnumber] << std::endl;
mType = g_monsters.getMonsterType(seglist[randnumber]);
mType->multi = savemulti;
}
if (!mType) {
std::cout << "[Warning - Spawn::addMonster] Can not find " << name << std::endl;
return false;
}
this->interval = std::min(this->interval, interval);
spawnBlock_t sb;
sb.mType = mType;
sb.pos = pos;
sb.direction = dir;
sb.interval = interval;
sb.lastSpawn = 0;
uint32_t spawnId = spawnMap.size() + 1;
spawnMap[spawnId] = sb;
return true;
}
""new function""
bool Spawn::addMonster(const std::string& name, const Position& pos, Direction dir, uint32_t interval)
{
MonsterType* mType = g_monsters.getMonsterType(name);
//std::string input = mType->multi;
//size_t foundpos = input.find("xx");
//if (foundpos != std::string::npos) {
//std::cout << mType->multi << std::endl;
//}
if (mType->multi.find("xx") != std::string::npos) {
std::string savemulti = mType->multi;
std::stringstream test;
test.str(mType->multi);
std::string segment;
std::vector<std::string> seglist;
if (!seglist.empty()) {
std::cout << name << std::endl;
}
while (std::getline(test, segment, '_')) {
seglist.push_back(segment);
}
int randnumber = rand() % seglist.size();
std::cout << "Randommonster " << seglist[randnumber] << std::endl;
mType = g_monsters.getMonsterType(seglist[randnumber]);
mType->multi = savemulti;
}
if (!mType) {
std::cout << "[Warning - Spawn::addMonster] Can not find " << name << std::endl;
return false;
}
spawnBlock_t sb;
sb.mTypes.push_back({mType, 100});
sb.pos = pos;
sb.direction = dir;
sb.interval = interval;
sb.lastSpawn = 0;
return addBlock(sb);
}
""old function""
bool Spawn::addMonster(const std::string& name, const Position& pos, Direction dir, uint32_t interval)
{
MonsterType* mType = g_monsters.getMonsterType(name);
if (mType->multi.find("xx") != std::string::npos)
{
std::string savemulti = mType->multi;
std::stringstream test;
test.str(mType->multi);
std::string segment;
std::vector<std::string> seglist;
while (std::getline(test, segment, '_'))
{
seglist.push_back(segment);
}
int randnumber = rand() % 5 + 1;
//std::cout << "Randommonster " << seglist[randnumber] << std::endl;
mType = g_monsters.getMonsterType(seglist[randnumber]);
mType->multi = savemulti;
}
if (!mType) {
std::cout << "[Warning - Spawn::addMonster] Can not find " << name << std::endl;
return false;
}
this->interval = std::min(this->interval, interval);
spawnBlock_t sb;
sb.mType = mType;
sb.pos = pos;
sb.direction = dir;
sb.interval = interval;
sb.lastSpawn = 0;
uint32_t spawnId = spawnMap.size() + 1;
spawnMap[spawnId] = sb;
return true;
}
""new function""
bool Spawn::addMonster(const std::string& name, const Position& pos, Direction dir, uint32_t interval)
{
MonsterType* mType = g_monsters.getMonsterType(name);
//std::string input = mType->multi;
//size_t foundpos = input.find("xx");
//if (foundpos != std::string::npos) {
//std::cout << mType->multi << std::endl;
//}
if (mType->multi.find("xx") != std::string::npos) {
std::string savemulti = mType->multi;
std::stringstream test;
test.str(mType->multi);
std::string segment;
std::vector<std::string> seglist;
if (!seglist.empty()) {
std::cout << name << std::endl;
}
while (std::getline(test, segment, '_')) {
seglist.push_back(segment);
}
int randnumber = rand() % seglist.size();
std::cout << "Randommonster " << seglist[randnumber] << std::endl;
mType = g_monsters.getMonsterType(seglist[randnumber]);
mType->multi = savemulti;
}
if (!mType) {
std::cout << "[Warning - Spawn::addMonster] Can not find " << name << std::endl;
return false;
}
spawnBlock_t sb;
sb.mTypes.push_back({mType, 100});
sb.pos = pos;
sb.direction = dir;
sb.interval = interval;
sb.lastSpawn = 0;
return addBlock(sb);
}