• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Solved help summons

brTT

New Member
Joined
Jun 20, 2014
Messages
33
Reaction score
0
Hello guys
uam I help because I would use the TFS 0.3.6 and has a bug where the summon follows the character for only 30 SQM away, and teleport to places more than 30 SQM he disappears, I wonder where I change the source to this be possible if I walk 10,000 SQM summon me the following without disappearing.Another thing to teleport when I take some distance whenever he appears in front of me would make him teleport behind me forever?
More uam thing when climbing stairs and down the hole summon come with me, where do I change an source for that to happen he swempre come with me?

I really need your help to change these sources and remove these bugs.
Thank you.

(Sorry for the english im using google translate but my english is not good)

details
my config.lua have
maxPlayerSummons = 1
teleportAllSummons = true
teleportPlayerSummons = true


see video

bump
 
Last edited by a moderator:
In creature.cpp remove this code:
Code:
        if (!summons.empty()) {
            //check if any of our summons is out of range (+/- 2 floors or 30 tiles away)
            std::list<Creature*> despawnList;
            for (Creature* summon : summons) {
                const Position pos = summon->getPosition();
                if (Position::getDistanceZ(newPos, pos) > 2 || (std::max<int32_t>(Position::getDistanceX(newPos, pos), Position::getDistanceY(newPos, pos)) > 30)) {
                    despawnList.push_back(summon);
                }
            }

            for (Creature* despawnCreature : despawnList) {
                g_game.removeCreature(despawnCreature, true);
            }
        }
 
In creature.cpp remove this code:
Code:
        if (!summons.empty()) {
            //check if any of our summons is out of range (+/- 2 floors or 30 tiles away)
            std::list<Creature*> despawnList;
            for (Creature* summon : summons) {
                const Position pos = summon->getPosition();
                if (Position::getDistanceZ(newPos, pos) > 2 || (std::max<int32_t>(Position::getDistanceX(newPos, pos), Position::getDistanceY(newPos, pos)) > 30)) {
                    despawnList.push_back(summon);
                }
            }

            for (Creature* despawnCreature : despawnList) {
                g_game.removeCreature(despawnCreature, true);
            }
        }
FIX THX YOU FRIEND XD
 
Back
Top Bottom