Jump to content

spectrum

Inactive Member
  • Posts

    47
  • Joined

  • Last visited

  • Feedback

    0%

About spectrum

Informations

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

spectrum's Achievements

Collaborator

Collaborator (7/16)

  • Collaborator Rare
  • Dedicated
  • Reacting Well
  • First Post
  • Conversation Starter

Recent Badges

11

Reputation

  1. the best fix if (Windowed) { m_isWindowed = true; // @fixme031 BEGIN RECT rc{}; GetClientRect(&rc); const auto windowWidth = rc.right - rc.left; const auto windowHeight = (rc.bottom - rc.top); RECT rc2{}; GetWindowRect(&rc2); const auto windowWidth2 = rc2.right - rc2.left; const auto windowHeight2 = (rc2.bottom - rc2.top); const auto windowWidthDiff = windowWidth2 - windowWidth; const auto windowHeightDiff = windowHeight2 - windowHeight; const auto dropshadowSize = (windowWidthDiff / 2 != 0) ? (windowWidthDiff / 2 - 1) : 0; constexpr auto taskbarSize = 73; constexpr auto titlebarSize = 1; if (bAnotherWindow) CMSApplication::SetPosition(GetScreenWidth() - windowWidth - dropshadowSize, GetScreenHeight() - windowHeight - taskbarSize); else SetPosition(-dropshadowSize - 1, (m_pySystem.GetHeight() >= 1000) ? -titlebarSize : 0); // @fixme031 END } else { m_isWindowed = false; SetPosition(0, 0); }
  2. example : int iAlignmentBonus[MAX_ALIGNMENT_LEVEL][31] = { { ALIGNMENT_LEVEL1 /* 12000 */, POINT_MAX_HP, 2000 }, { ALIGNMENT_LEVEL2 /* 8000 */, POINT_MAX_HP, 1500 }, { ALIGNMENT_LEVEL3 /* 4000 */, POINT_MAX_HP, 1000 }, { ALIGNMENT_LEVEL4 /* 1000 */, POINT_POISON_PCT, 10 }, { ALIGNMENT_LEVEL5 /* 1000 */, POINT_CRITICAL_PCT, 10 }, { ALIGNMENT_LEVEL6 /* 1000 */, POINT_PENETRATE_PCT, 10 }, { ALIGNMENT_LEVEL7 /* 1000 */, POINT_ATTBONUS_HUMAN, 10 }, { ALIGNMENT_LEVEL8 /* 1000 */, POINT_ATTBONUS_ANIMAL, 10 }, { ALIGNMENT_LEVEL9 /* 1000 */, POINT_ATTBONUS_ORC, 10 }, { ALIGNMENT_LEVEL10 /* 1000 */, POINT_ATTBONUS_MILGYO, 10 }, { ALIGNMENT_LEVEL11 /* 1000 */, POINT_ATTBONUS_UNDEAD, 10 }, { ALIGNMENT_LEVEL12 /* 1000 */, POINT_ATTBONUS_DEVIL, 10 }, { ALIGNMENT_LEVEL13 /* 1000 */, POINT_ATTBONUS_INSECT, 10 }, { ALIGNMENT_LEVEL14 /* 1000 */, POINT_ATTBONUS_FIRE, 10 }, { ALIGNMENT_LEVEL15 /* 1000 */, POINT_ATTBONUS_ICE, 10 }, { ALIGNMENT_LEVEL16 /* 1000 */, POINT_ATTBONUS_MONSTER, 10 }, { ALIGNMENT_LEVEL17 /* 1000 */, POINT_ATTBONUS_WARRIOR, 10 }, { ALIGNMENT_LEVEL18 /* 1000 */, POINT_ATTBONUS_ASSASSIN, 10 }, { ALIGNMENT_LEVEL19 /* 1000 */, POINT_ATTBONUS_SURA, 10 }, { ALIGNMENT_LEVEL20 /* 1000 */, POINT_ATTBONUS_SHAMAN, 10 }, { ALIGNMENT_LEVEL21 /* 1000 */, POINT_RESIST_WARRIOR, 10 }, { ALIGNMENT_LEVEL22 /* 1000 */, POINT_RESIST_ASSASSIN, 10 }, { ALIGNMENT_LEVEL23 /* 1000 */, POINT_RESIST_SURA, 10 }, { ALIGNMENT_LEVEL24 /* 1000 */, POINT_RESIST_SHAMAN, 10 }, { ALIGNMENT_LEVEL25 /* 1000 */, POINT_RESIST_SWORD, 10 }, { ALIGNMENT_LEVEL26 /* 1000 */, POINT_RESIST_TWOHAND, 10 }, { ALIGNMENT_LEVEL27 /* 1000 */, POINT_RESIST_DAGGER, 10 }, { ALIGNMENT_LEVEL28 /* 1000 */, POINT_RESIST_BELL, 10 }, { ALIGNMENT_LEVEL29 /* 1000 */, POINT_RESIST_BOW, 10 }, { ALIGNMENT_LEVEL30 /* 1000 */, POINT_ATTBONUS_STONE, 10 }, { ALIGNMENT_LEVEL31 /* 1000 */, POINT_ATTBONUS_BOSS, 10 }, { ALIGNMENT_LEVEL32 /* 4000 */, POINT_MAX_HP, 2500 }, }; [Hidden Content] up here where it shows you +10, I would like it to show me what bonus there is, can you help me somehow? ( Penetration/Critic +10)
  3. the installation is not well done and on top of that their location
  4. after you select the character, it takes you out of the client, and I don't get any errors , why ???? I mention that I checked the installation several times
  5. really???? :))) map_allow not every server has the problem at home, it may be because of the changes that he probably did not make correctly or on the source side he made a mistake in some declarations or arguments
  6. good first step mention what version the boost you need for source because the code differs
  7. it's work example : item.APPLY_MAX_HP : [localeInfo.TOOLTIP_MAX_HP, 2000],
  8. colorinfo.py -> root CHR_NAME_RGB_MOB = (141, 219, 236)
  9. show introloading.py from root
  10. Good, the tutorial is helpful, but there IS a big problem, somewhere around 40% of the folders don't load correctly and will give you the error. Something needs to be corrected CMapManager::GetHeight(392925.875000, 676427.937500) - Accessing in a not initialized map
  11. it's not complete error from BINARY_NEW_RefreshAffect
  12. /pvp and server down , nice :))))
  13. from 'register' is no longer a supported storage class in to EterBase/Random.cpp search : unsigned long random() { register long x, hi, lo, t; /* * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1). * From "Random number generators: good ones are hard to find", * Park and Miller, Communications of the ACM, vol. 31, no. 10, * October 1988, p. 1195. */ x = randseed; hi = x / 127773; lo = x % 127773; t = 16807 * lo - 2836 * hi; if (t <= 0) t += 0x7fffffff; randseed = t; return (t); } change like this or replace : unsigned long random() { /* * Compute x[n + 1] = (7^5 * x[n]) mod (2^31 - 1). * From "Random number generators: good ones are hard to find", * Park and Miller, Communications of the ACM, vol. 31, no. 10, * October 1988, p. 1195. */ long x = randseed; long hi = x / 127773; long lo = x % 127773; long t = 16807 * lo - 2836 * hi; if (t <= 0) t += 0x7fffffff; randseed = t; return (t); } search in to tea.cpp void tea_code(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest) { register unsigned long y = sy, z = sz, sum = 0; unsigned long n = TEA_ROUND; while (n-- > 0) { y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); sum += DELTA; z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); } *(dest++) = y; *dest = z; } void tea_decode(const unsigned long sz, const unsigned long sy, const unsigned long *key, unsigned long *dest) { #pragma warning(disable:4307) register unsigned long y = sy, z = sz, sum = DELTA * TEA_ROUND; #pragma warning(default:4307) unsigned long n = TEA_ROUND; while (n-- > 0) { z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); sum -= DELTA; y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); } *(dest++) = y; *dest = z; } replace with this : void tea_code(const uint32_t sz, const uint32_t sy, const uint32_t * key, uint32_t * dest) { uint32_t y = sy, z = sz, sum = 0; uint32_t n = TEA_ROUND; while (n-- > 0) { y += ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); sum += DELTA; z += ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); } *(dest++) = y; *dest = z; } void tea_decode(const uint32_t sz, const uint32_t sy, const uint32_t * key, uint32_t * dest) { #pragma warning(disable : 4307) uint32_t y = sy, z = sz, sum = DELTA * TEA_ROUND; #pragma warning(default : 4307) uint32_t n = TEA_ROUND; while (n-- > 0) { z -= ((y << 4 ^ y >> 5) + y) ^ (sum + key[sum >> 11 & 3]); sum -= DELTA; y -= ((z << 4 ^ z >> 5) + z) ^ (sum + key[sum & 3]); } *(dest++) = y; *dest = z; } search in to Utils.cpp: int MINMAX(int min, int value, int max) { if (max < min) return MAX(min, value); register int tv; tv = (min > value ? min : value); return (max < tv) ? max : tv; } replace with this : int MINMAX(int min, int value, int max) { if (max < min) return MAX(min, value); int tv = (min > value ? min : value); return (max < tv) ? max : tv; } search : float fMINMAX(float min, float value, float max) { register float tv; tv = (min > value ? min : value); return (max < tv) ? max : tv; } replace with this : float fMINMAX(float min, float value, float max) { float tv = (min > value ? min : value); return (max < tv) ? max : tv; }
×
×
  • 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.