Danke das probiere ich mal aus
Du kannst im Account table autoloot_expire auf z.b. 2022 oder so stellen dann ist der normale yang drop schon mal im Inventar, falls du yang bomben von bossen meinst sollte das helfen:
Alles anzeigenC
- Service.h add:
- #define DISABLE_YANG_BOMB
- _________________________________________
- char_battle.cpp
- Add:
- #include "../../common/service.h"
- Search:
- char_battle.cpp change in Reward()
- Change like this:
- if (GetMobRank() >= MOB_RANK_BOSS && !IsStone() && GetMobTable().dwGoldMax != 0)
- {
- if (1 == number(1, iGold10DropPct))
- iGoldMultipler *= 10; // 1% Č®·ü·Î µ· 10ąč
- int iSplitCount = number(25, 35);
- for (int i = 0; i < iSplitCount; ++i)
- {
- int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax) / iSplitCount;
- if (test_server)
- sys_log(0, "iGold %d", iGold);
- iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
- iGold *= iGoldMultipler;
- if (iGold == 0)
- {
- continue ;
- }
- if (test_server)
- {
- sys_log(0, "Drop Moeny MobGoldAmountRate %d %d", CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker), iGoldMultipler);
- sys_log(0, "Drop Money gold %d GoldMin %d GoldMax %d", iGold, GetMobTable().dwGoldMax, GetMobTable().dwGoldMax);
- }
- // NOTE: µ· ĆřĹşŔş Á¦ 3ŔÇ ĽŐ Ăł¸®¸¦ ÇĎÁö ľĘŔ
- #ifdef DISABLE_YANG_BOMB
- pkAttacker->GiveGold(iGold / iSplitCount);
- iTotalGold += iGold;
- #else
- if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold)))
- {
- pos.x = GetX() + ((number(-14, 14) + number(-14, 14)) * 23);
- pos.y = GetY() + ((number(-14, 14) + number(-14, 14)) * 23);
- item->AddToGround(GetMapIndex(), pos);
- item->StartDestroyEvent();
- iTotalGold += iGold; // Total gold
- }
- #endif
- }
- }
- // 1% Č®·ü·Î µ·Ŕ» 10°ł ¶łľî ¶ß¸°´Ů. (10ąč µĺ·ÓŔÓ
- #ifndef DISABLE_YANG_BOMB
- else if (1 == number(1, iGold10DropPct))
- {
- //
- // µ· ĆřĹş˝Ä µĺ·Ó
- //
- for (int i = 0; i < 10; ++i)
- {
- int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
- iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
- iGold *= iGoldMultipler;
- if (iGold == 0)
- {
- continue;
- }
- // NOTE: µ· ĆřĹşŔş Á¦ 3ŔÇ ĽŐ Ăł¸®¸¦ ÇĎÁö ľĘŔ˝
- if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold)))
- {
- pos.x = GetX() + (number(-7, 7) * 20);
- pos.y = GetY() + (number(-7, 7) * 20);
- item->AddToGround(GetMapIndex(), pos);
- item->StartDestroyEvent();
- iTotalGold += iGold; // Total gold
- }
- }
- }
- #endif
- else
- {
- //
- // ŔĎąÝŔűŔÎ ąć˝ÄŔÇ µ· µĺ·Ó
- //
- int iGold = number(GetMobTable().dwGoldMin, GetMobTable().dwGoldMax);
- iGold = iGold * CHARACTER_MANAGER::instance().GetMobGoldAmountRate(pkAttacker) / 100;
- iGold *= iGoldMultipler;
- int iSplitCount;
- if (iGold >= 3 && !LC_IsYMIR())
- iSplitCount = number(1, 3);
- else if (GetMobRank() >= MOB_RANK_BOSS)
- {
- iSplitCount = number(3, 10);
- if ((iGold / iSplitCount) == 0)
- iSplitCount = 1;
- }
- else
- iSplitCount = 1;
- if (iGold != 0)
- {
- iTotalGold += iGold; // Total gold
- for (int i = 0; i < iSplitCount; ++i)
- {
- if (isAutoLoot)
- {
- pkAttacker->GiveGold(iGold / iSplitCount);
- }
- else if ((item = ITEM_MANAGER::instance().CreateItem(1, iGold / iSplitCount)))
- {
- pos.x = GetX() + (number(-7, 7) * 20);
- pos.y = GetY() + (number(-7, 7) * 20);
- item->AddToGround(GetMapIndex(), pos);
- item->StartDestroyEvent();
- }
- }
- }
- }