Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/19/19 in all areas

  1. Stop helping kiddos, they edit first post and leave without saying thanks.
    5 points
  2. @Syriza Rules §2 Topics (2.5) Questions & Answers specific rules Don't modify your thread (or reply to it) to mark it solved, and not explain the solution to the issue. Please use our tag system and vote good/bad answers so everyone can clearly see what matters! Best regards Raylee
    2 points
  3. static const std::list<UINT> affectContainer { CInstanceBase::AFFECT_INVISIBILITY , CInstanceBase::AFFECT_POISON, CInstanceBase::AFFECT_FIRE #ifdef ENABLE_WOLFMAN_CHARACTER , CInstanceBase::AFFECT_BLEEDING #endif }; PyObject * IsAffect(PyObject * poSelf, PyObject * poArgs) { int iVID; if (!(PyTuple_GetInteger(poArgs, 0, &iVID))) return Py_BuildException(); int uAffect; if (!(PyTuple_GetInteger(poArgs, 1, &uAffect))) return Py_BuildException(); if (std::find(affectContainer.begin(), affectContainer.end(), (UINT)uAffect) == affectContainer.end()) return Py_BuildValue("b", false); auto pInstance = CPythonCharacterManager::Instance().GetInstancePtr(iVID); return Py_BuildValue("b", pInstance ? pInstance->IsAffect((UINT)uAffect) : false); }
    2 points
  4. CLICK FOR VIDEO Server\src\game\src\DragonSoul.h //1.1) Search for: bool DragonSoulItemInitialize(LPITEM pItem); //1.2) Add after: bool AreActivedAllSlotsDragonSoulByPage(const LPCHARACTER ch, const BYTE bPageIndex = DRAGON_SOUL_DECK_0) const; Server\src\game\src\DragonSoul.cpp //1.1) Search for: BYTE GetStrengthIdx(DWORD dwVnum) { return (dwVnum / 10) % 10; } //1.2) Add after: bool DSManager::AreActivedAllSlotsDragonSoulByPage(const LPCHARACTER ch, const uint8_t bPageIndex) const { // Check if all the slots are actived in a specific page of dragon soul - 18.05.2019 [Vegas] if (!ch || bPageIndex >= DRAGON_SOUL_DECK_MAX_NUM) return false; const uint16_t iDragonSoulDeckAffectType = AFFECT_DRAGON_SOUL_DECK_0 + bPageIndex; // 540 + [0 or 1] if (!ch->FindAffect(iDragonSoulDeckAffectType)) return false; // start : 32 + ([0 or 1] * 6) = [32 or 38] // end : start + 6 const uint8_t iStartSlotIndex = WEAR_MAX_NUM + (bPageIndex * DS_SLOT_MAX); const uint8_t iEndSlotIndex = iStartSlotIndex + DS_SLOT_MAX; BYTE bSlotActive = 0; for (uint8_t iSlotIndex = iStartSlotIndex; iSlotIndex < iEndSlotIndex; ++iSlotIndex) // {0: 32-38, 1: 38-44} { const LPITEM pkItem = ch->GetWear(iSlotIndex); if (pkItem && pkItem->IsDragonSoul()) { if (IsTimeLeftDragonSoul(pkItem) && IsActiveDragonSoul(pkItem)) ++bSlotActive; } } return (bSlotActive == DS_SLOT_MAX); } How-To-Use-Example: #include "DragonSoul.h" if (DSManager::instance().AreActivedAllSlotsDragonSoulByPage(ch, DRAGON_SOUL_DECK_0)) { ch->ChatPacket(CHAT_TYPE_INFO, "DragonSoul: You've all the dragon souls active in page 1."); // do something } if (DSManager::instance().AreActivedAllSlotsDragonSoulByPage(ch, DRAGON_SOUL_DECK_1)) { ch->ChatPacket(CHAT_TYPE_INFO, "DragonSoul: You've all the dragon souls active in page 2."); // do something } The rest is up to you how you give a bonus or something, you've the function which do the check.
    2 points
  5. M2 Download Center Download Here ( Internal ) Download Here ( GitHub ) Cheque system full ~ like official The tutorial was remade and uploaded to github Monetary unit: Won - Not compatible with long long gold - Max won 999 (like official) - Added support for OfflineShop(great) Best regards.
    1 point
  6. M2 Download Center Download Here ( Internal ) Hello. Today I'd like to share this little stuff what I reversed from the official binary a month ago. This will fix the positions of textails(name position changes by every update packet on the main character), and also the position of the emotions when you are on a mount . I've made a little demonstration video where you can see a private server without the fix, my fixxed version and the official aswell. 1. Client/bin/playersettingmodule.py 2. Client/bin/introLoading.py 3. Place the race_height.txt from the official client into the yours and pack it in the root. 4. Client/UserInterface/PythonCharacterManagerModule.cpp 5. Client/GameLib/RaceManager.h 6. Client/GameLib/RaceManager.cpp 7. Client/UserInterface/InstanceBase.h 8. Client/UserInterface/InstanceBase.cpp 9. Client/UserInterface/InstanceBaseEffect.cpp 10. Client/UserInterface/PythonTextTail.cpp 11. Client/GameLib/ActorInstance.cpp I hope you like it, and if you find any problem just let me know in this topic.
    1 point
  7. the drop tables takes by default chance on 1/1000 (so to make chance 0.1% just add 1 as number) you can change the scale to make chance on 1/10.000 or 1/100.000 by changing the number in length.h DROP_SCALE_TABLE so you can for example make the drop scale on 10.000 and to make 0.01% chance you need to insert in table 1 as number if you need 0.001% chance , you can change drop scale on 100.000 and then you need to insert in table 1 as number warning max drop scale is 1.000.000 (if you put number > the game automatically reduce it) because ymir using milions as scale to make drop random numbers.
    1 point
  8. 1 point
  9. @VegaS™ What a nice guy
    1 point
  10. Archiver\Client\uiscript\uiscript helpwindow.py you can find some clues`
    1 point
  11. All people in the world play of life because it is interesting and exciting. I also want to play of life. I want to visit the Gamma Travel What do you think about it? Is it dangerous?
    1 point
  12. 1 point
  13. If this problem persist only for couple types you shall jump into the AddItemData function and look out for item.BROKEN_TYPE if-statement. It may be good point to start from. If you still won't find any success, share your uitooltip.
    1 point
  14. Rules §1 Language (1.1) Language The language in this board is english. If you want to post something in your own language always add an english translation. The only exception for this rule is this section: Private Servers Best regards Raylee
    1 point
  15. With this right the guild members can use during a guild war guild skills. It should be taken that the guild skills only encompass each the triggering player. Anyone who will benefit from the guild skills in guild wars, therefore must be set to the right. With each level up the guild gets a skill point for the guild skills well as space for two additional members and 100 dragon ghost. The currently highest achievable level is at 20. Guild skills Per guild level you can invest a point in a guild skill, but a maximum of 7 points (Master) per skill. Since the maximum guild level is 20, you can only have 2 master skills. The last skill will then only 5 points. To use a guild skill is needed but some of the dragon ghost. This however will not charge all by itself, it must be filled with 100 Yang per dragon ghost. Active Active Guild skills can be used only in guild wars. But the bonus is only effective for the triggering player. Popular with all Class is "Rage of Dragon God" and "Casting Aid" because it accelerates all skills. Other guild skills are very class dependent in their importance. Passive Passive Guild Skills are not yet implemented in the game. - It increases Max HP of all guild members for a period of time . - It increases Max SP of all guild members for a period of time . - It increases defense of all guild members for a period of time . - It increases attack and moving speed of all guild members for a period of time . - It increases critical hit chances of all guild members for a period of time . - It decreases cool down time (casting speed) of all guild members for a period of time . Skill Bonus level 1 level 2 level 3 level 4 level 5 level 6 level 7 Blood of Dragon God (Duration: 600 sec). HP 2% 5% 8% 12% 14% 17% 20% Benediction of Dragon God (Duration: 600 sec). SP 2% 5% 8% 12% 14% 17% 20% Holy Armour (Duration: 480 sec). DEF 1.4% 2.9% 4.3% 5.7% 7.1% 8.5% 10% Acceleration (Duration: 480 sec). Attack Speed and Motion 4.3% 8.6% 12.9% 17.2% 21.5% 25.7% 30% Rage of Dragon God (Duration: 480 sec). Critical Chance 7% 14% 21% 28% 35% 42% 50% Casting Aid (Duration: 480 sec). Casting Speed 7% 14% 21% 28% 35% 42% 50%
    1 point
  16. Hello guys! After job, before sleep here is the latest patch, the v19.2. Have fun /emoticons/default_wink.png Ramadan costumes, hairstyles, pets New minigame "samemonster" gui elements 6th7th attribute gui elements Download locale_de locale_en locale_hu Metin2 Download (All)
    1 point
  17. If you want to do it like @Alphax Wolf, you can do a update query and copy the vnum to name just if the vnum from item_proto exists inside of mob_proto.drop_item by a specific mob. UPDATE player.item_proto SET name = vnum WHERE vnum IN (SELECT drop_item FROM player.mob_proto WHERE drop_item > 0); # Affected rows: 83 # Time: 35.919ms And if you want to see what monsters are using etc_drop_item, there's a ex select query. SELECT DISTINCT drop_item FROM player.mob_proto where drop_item > 0; Btw, i would change the structure of reading the file instead of doing this, here's a hint.
    1 point
×
×
  • 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.