Jump to content

ridetpro

Banned
  • Posts

    106
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by ridetpro

  1. You are very smart. A challenge for someone to solve that bug for you. What party are you talking about? We're on a metin2 forum.
  2. // horse_rider.cpp THorseStat c_aHorseStat[HORSE_MAX_LEVEL + 1] = // struct struct THorseStat { int iMinLevel; int iNPCRace; int iMaxHealth; int iMaxStamina; int iST; int iDX; int iHT; int iIQ; int iDamMean; int iDamMin; int iDamMax; int iArmor; };
  3. Soon, he'll ask how can I do that? I'm not good with C ++. And if nobody answers it will give a reply *bump* Just wait, I can read the future. I will write the code (One Minute), but I will wait for him to ask.
  4. Why people click like to such pointless how-to ?
  5. The error is caused because hotbackup tries to make a copy of the player table.
  6. I think they use default regen.txt to see the spawn place and take names from mob_names.txt
  7. A select query, then check the user returned by query it's online.
  8. If you want to reload whole locale, use the python reload built in function [Hidden Content] def ReloadLocale(self): import localeInfo reload(localeInfo)
  9. What does /shutdown do ? Show me what's inside the close.sh Try to close to close the server with command killall game db I think that you close db core before it save the query.
  10. Can you tell me by what method you close the server? Show me the shell script.
  11. // Replace this if statement // EterLib/ResourceManager.cpp if (!c_szFileName || !*c_szFileName) { TraceError("CResourceManager::GetResourcePointer: filename error!"); return NULL; } // With if (!c_szFileName || !*c_szFileName) { TraceError("CResourceManager::GetResourcePointer: filename %s error!", c_szFileName); return NULL; } Then wait for the crash again
  12. I do not like working with QuestFlags where it is not necessary.
  13. //char.h //search boost::unordered_map<VID, size_t> TargetVIDMap; //replace for normal compilers boost::unordered_map<DWORD, size_t> TargetVIDMap; //replace for modern compilers /*At top of the file include <unordered_map> */ std::unordered_map<uint32_t, size_t> TargetVIDMap; It looks like you have the problem regarding higher boost versions
  14. // CHAR.H public: DWORD GetLastEquipCostumeTime() const { return m_dwLastEquipCostumeTime; } private: DWORD m_dwLastEquipCostumeTime; }; CHAR.CPP // m_dwKillerPID = 0; // m_iMoveCount = 0; m_dwLastEquipCostumeTime = 0; //CHAR_ITEM.CPP case ITEM_COSTUME: { int CalcLastEquipSec = (get_dword_time() - ch->GetLastEquipCostumeTime()) / 3000; if (CalcLastMoveSec < 3) // Replace 3 with seconds number. { ChatPacket(CHAT_TYPE_INFO, "Wait three seconds"); return false; } if (!item->IsEquipped()) { EquipItem(item); } else { UnequipItem(item); } } break;
  15. You can use EterManager three versions older. Or you can use EPack32 these two packers can handle special characters.
  16. int iLoss = ((GetNextExp() * aiExpLossPercents[MINMAX(1, GetLevel(), PLAYER_EXP_TABLE_MAX)]) / 100); iLoss = MIN(800000, iLoss); if (bTown) { iLoss = 0; } if (IsEquipUniqueItem(UNIQUE_ITEM_TEARDROP_OF_GODNESS)) { iLoss /= 2; } sys_log(0, "DEATH_PENALTY(%s) EXP_LOSS: %d percent %d%%", GetName(), iLoss, aiExpLossPercents[MIN(gPlayerMaxLevel, GetLevel())]); PointChange(POINT_EXP, -iLoss, true);
  17. If you want to get a good answer, then ask a good question.
  18. There is no such empty string in any textureset. But it's good to have this check.
  19. // PythonNetworkStreamPhaseGame.cpp // Under bool CPythonNetworkStream::SendClientVersionPacket() from // add bool CPythonNetworkStream::SendClientVersionPacketNew(int32_t arg) { auto ver_arg = std::to_string(arg); std::string filename; GetExcutedFileName(filename); filename = CFileNameHelper::NoPath(filename); CFileNameHelper::ChangeDosPath(filename); TPacketCGClientVersion kVersionPacket; kVersionPacket.header = HEADER_CG_CLIENT_VERSION; strncpy(kVersionPacket.filename, filename.c_str(), sizeof(kVersionPacket.filename) - 1); strncpy(kVersionPacket.timestamp, ver_arg.c_str(), sizeof(kVersionPacket.timestamp) - 1); if (!Send(sizeof(kVersionPacket), &kVersionPacket)) { Tracef("SendClientReportPacket Error"); } return true; } //PythnNetworkStram.h // bool SendClientVersionPacket(); Under // add bool SendClientVersionPacketNew(int32_t arg); // PythonNetwoStramModule.cpp PyObject* netSendCheckVersionPacket(PyObject* poSelf, PyObject* poArgs) { int32_t iVer; if (!PyTuple_GetInteger(poArgs, 0, &iVer)) { return Py_BuildException(); } CPythonNetworkStream &rns = CPythonNetworkStream::Instance(); rns.SendClientVersionPacketNew(iVer); return Py_BuildNone(); } // static PyMethodDef s_methods[] = { "SendVersionPacket", netSendVersionPacket, METH_VARARGS }, Python usage def IsVersion(self, arg) net.SendClientVersionPacket(arg) if IsVersion(1111) #Do stuff I did not test it.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.