Hi, can you help me? I get some errors:
Code:[ 27%] Building CXX object CMakeFiles/tfs.dir/src/game.cpp.o In file included from /home/Otserv/src/events.cpp:22:0: /home/Otserv/src/events.h:54:48: error: ‘ZoneType_t’ has not been declared void eventPlayerOnChangeZone(Player* player, ZoneType_t zone); ^ [ 29%] Building CXX object CMakeFiles/tfs.dir/src/globalevent.cpp.o /home/Otserv/src/events.cpp:542:6: error: prototype for ‘void Events::eventPlayerOnChangeZone(Player*, ZoneType_t)’ does not match any in class ‘Events’ void Events::eventPlayerOnChangeZone(Player* player, ZoneType_t zone) ^ In file included from /home/Otserv/src/events.cpp:22:0: /home/Otserv/src/events.h:54:8: error: candidate is: void Events::eventPlayerOnChangeZone(Player*, int) void eventPlayerOnChangeZone(Player* player, ZoneType_t zone); ^ make[2]: *** [CMakeFiles/tfs.dir/src/events.cpp.o] Error 1
its not on tfs by default, add these changes to your sourcei didn't find: PlayernChangeZone
if (zone == ZONE_PROTECTION) {
if (attackedCreature && !hasFlag(PlayerFlag_IgnoreProtectionZone)) {
removeAttackedCreature();
onAttackedCreatureDisappear(false);
}
I looked into it myself and "ZoneType_t" is declared in src/tile.h@Wusse asked me via pm to see this. My post was from 2021 so now I have better understanding on this.
We can see on TFS branch that function onChangeZone is applied to sources, and specifically triggered onChangeMount.
![]()
forgottenserver/src/events.cpp at master · otland/forgottenserver
A free and open-source MMORPG server emulator written in C++ - otland/forgottenservergithub.com
Looking in depth into it, it seems that onChangeZone is being used for example, on mount system (which removes mount on PZ). So taking this into account, we can go ahead and seek for:
C++:if (zone == ZONE_PROTECTION) { if (attackedCreature && !hasFlag(PlayerFlag_IgnoreProtectionZone)) { removeAttackedCreature(); onAttackedCreatureDisappear(false); }
![]()
forgottenserver/src/player.cpp at master · otland/forgottenserver
A free and open-source MMORPG server emulator written in C++ - otland/forgottenservergithub.com
What if we simply add a stamina function on this piece of code? Should work?.
Can't test by now but seems logic. Regards!