bool Party::canUseSharedExperience(const Player* player, uint32_t highestLevel/* = 0*/) const
bool Party::canEnableSharedExperience()
Hi. I've got a problem. When i start this OT sever my friends from the internet cant login. The character list will load but when they try to login timeout will pop up. I can login just fine. Idk where is the problem, i check config multiple times and i even try to compile a new exe.
Thx for reply
You have to open 7171-7172 ports for TCP and UDP in your router, other than that, fix your config.lua IP-Address to your Global IP-Address and it will run for your friends aswell, there is no way this distribution is "broken".
For Shared Exp
https://github.com/mattyx14/RlMap77x/blob/master/sources/party.cpp#L331
Code:bool Party::canUseSharedExperience(const Player* player, uint32_t highestLevel/* = 0*/) const bool Party::canEnableSharedExperience()
and now check the req
1-Your Level < Highest Player level in Party * Config_PartyDifference
2-You and Leader are both in x,y,z range
3-Time since last Activity < config_EXPERIENCE_SHARE_ACTIVITY(Setting it to 99999 wont work)
bool Party::canUseSharedExperience(const Player* player, uint32_t highestLevel/* = 0*/) const
bool Party::canEnableSharedExperience()
m_confNumber[PARTY_RADIUS_X] = getGlobalNumber(L, "experienceShareRadiusX", 30);
m_confNumber[PARTY_RADIUS_Y] = getGlobalNumber(L, "experienceShareRadiusY", 30);
m_confNumber[PARTY_RADIUS_Z] = getGlobalNumber(L, "experienceShareRadiusZ", 1);
m_confDouble[PARTY_DIFFERENCE] = getGlobalDouble(L, "experienceShareLevelDifference", (double)2 / 3);
m_confNumber[EXPERIENCE_SHARE_ACTIVITY] = getGlobalNumber(L, "experienceShareActivity", 120000);
enum number_config_t {
EXPERIENCE_SHARE_ACTIVITY,
PARTY_RADIUS_X,
PARTY_RADIUS_Y,
PARTY_RADIUS_Z,
LAST_NUMBER_CONFIG /* this must be the last one */
};
enum double_config_t {
PARTY_DIFFERENCE,
LAST_DOUBLE_CONFIG /* this must be the last one */
};
double getGlobalDouble(lua_State* _L, const std::string& _identifier, double _default=0);
...
int64_t m_confNumber[LAST_NUMBER_CONFIG];
double m_confDouble[LAST_DOUBLE_CONFIG];
1>configmanager.obj : error LNK2001: unresolved external symbol "private: double __thiscall ConfigManager::getGlobalDouble(struct lua_State *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,double)" (?getGlobalDouble@ConfigManager@@AAENPAUlua_State@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z)
1>party.obj : error LNK2001: unresolved external symbol "public: double __thiscall ConfigManager::getDouble(unsigned int)const " (?getDouble@ConfigManager@@QBENI@Z)
1>C:\Projects\server\Release\server.exe : fatal error LNK1120: 2 unresolved externals
m_confNumber[PARTY_RADIUS_X] = getGlobalNumber(L, "experienceShareRadiusX", 30);
m_confNumber[PARTY_RADIUS_Y] = getGlobalNumber(L, "experienceShareRadiusY", 30);
m_confNumber[PARTY_RADIUS_Z] = getGlobalNumber(L, "experienceShareRadiusZ", 1);
m_confDouble[PARTY_DIFFERENCE] = getGlobalDouble(L, "experienceShareLevelDifference", (double)2 / 3);
m_confNumber[EXPERIENCE_SHARE_ACTIVITY] = getGlobalNumber(L, "experienceShareActivity", 120000);
;
m_confInteger[PARTY_RADIUS_X] = getGlobalNumber(L, "experienceShareRadiusX", 30);
m_confInteger[PARTY_RADIUS_Y] = getGlobalNumber(L, "experienceShareRadiusY", 30);
m_confInteger[PARTY_RADIUS_Z] = getGlobalNumber(L, "experienceShareRadiusZ", 1);
m_confDouble[PARTY_DIFFERENCE] = getGlobalDouble(L, "experienceShareLevelDifference", (double)2 / 3);
m_confInteger[EXPERIENCE_SHARE_ACTIVITY] = getGlobalNumber(L, "experienceShareActivity", 120000);
EXPERIENCE_SHARE_ACTIVITY,
PARTY_RADIUS_X,
PARTY_RADIUS_Y,
PARTY_RADIUS_Z,
RETRY_TIMEOUT,
double getGlobalDouble(lua_State* _L, const std::string& _identifier, double _default=0);
double ConfigManager::getGlobalFloat(lua_State* _L, const std::string& _identifier, double _default)
double getGlobalDouble(lua_State* _L, const std::string& _identifier, double _default=0);
1>configmanager.cpp(145): error C3861: 'getGlobalDouble': identifier not found
m_confDouble[PARTY_DIFFERENCE] = getGlobalDouble(L, "experienceShareLevelDifference", (double)2 / 3);
if(player->getLevel() < (uint32_t)std::ceil((double)highestLevel * g_config.getNumber(
double getDouble(uint32_t _what) const;
..
double getGlobalDouble(lua_State* _L, const std::string& _identifier, double _default=0);
double ConfigManager::getDouble(uint32_t _what) const
{
if(m_isLoaded && _what < LAST_DOUBLE_CONFIG)
return m_confInteger[_what];
else
{
std::cout << "Warning: [ConfigManager::getDouble] " << _what << std::endl;
return 0;
}
}
..
double ConfigManager::getGlobalDouble(lua_State* _L, const std::string& _identifier, double _default)
{
lua_getglobal(_L, _identifier.c_str());
if(!lua_isnumber(_L, -1)){
lua_pop(_L, 1);
return _default;
}
double val = lua_tonumber(_L, -1);
lua_pop(_L,1);
return val;
}
-- Party System
experienceShareRadiusX = 30
experienceShareRadiusY = 30
experienceShareRadiusZ = 1
experienceShareLevelDifference = 2 / 3
--extraPartyExperienceLimit = 20
--extraPartyExperiencePercent = 5
experienceShareActivity = 2 * 60 * 1000
Hello, when i compile 0.0.2 version spam mute not working (no errors in console), i dont touch anything about messagebuffer etc. in oryginal otserv.exe all works well.
(You are muted for... that staff)
can someone check after compile if spam mute works?
Works fine here.
omg how!? I use EXACLY step by step this tutorial
https://github.com/TwistedScorpio/OTHire/wiki/Compiling-under-Windows-(Visual-Studio-2010-2013)
and not touched even single source file! (all is 100% oryginal)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
And spam mute system not working...
(only this function)
can someone help me ?
Any ideas?
@LuisPro - Don't worry, you aren't the only one. I have the same problem on my distro/build.
Hello guys, I'm here now ...
First of all, are you testing with ur GOD/GM/CM Account or Normal Account ?