Üdv!
A témán belül szerepelni fog pár hasznos dolog, amit devről ill turkmmo-ról ill még 1-2 egyéb fórumról szedtem össze;
Lila és zöld poti effektek: https://metin2dev.org/board/index.php?/topic/3868-source-enable-greenpurple-potions-effect/
magyar változat:
char_item.cpp
1.lépés
AddAffect(AFFECT_UNIQUE_ABILITY, POINT_MOV_SPEED, item->GetValue(2), AFF_MOV_SPEED_POTION, item->GetValue(1), 0, true, true);
EffectPacket(SE_DXUP_PURPLE); //purple potion
2.lépés
AddAffect(AFFECT_UNIQUE_ABILITY, POINT_ATT_SPEED, item->GetValue(2), AFF_ATT_SPEED_POTION, item->GetValue(1), 0, true, true);
EffectPacket(SE_SPEEDUP_GREEN); //green potion
3.lépés
AddAffect(affect_type, apply_type, apply_value, AFF_MOV_SPEED_POTION, apply_duration, 0, true, true);
EffectPacket(SE_DXUP_PURPLE); //purple potion
4.lépés
AddAffect(affect_type, apply_type, apply_value, AFF_ATT_SPEED_POTION, apply_duration, 0, true, true);
EffectPacket(SE_SPEEDUP_GREEN); //green potion
5.lépés
AddAffect(AFFECT_MOV_SPEED, POINT_MOV_SPEED, item->GetValue(2), AFF_MOV_SPEED_POTION, item->GetValue(1), 0, true);
EffectPacket(SE_DXUP_PURPLE); //purple potion
6.lépés
AddAffect(AFFECT_ATT_SPEED, POINT_ATT_SPEED, item->GetValue(2), AFF_ATT_SPEED_POTION, item->GetValue(1), 0, true);
EffectPacket(SE_SPEEDUP_GREEN); //green potion
7.lépés
AddAffect(AFFECT_NOG_ABILITY, POINT_MOV_SPEED, moveSpeedPer, AFF_MOV_SPEED_POTION, time, 0, true, true);
EffectPacket(SE_DXUP_PURPLE);
Az eredetiért köszönet TheWistle-nek
eredeti poszt: https://metin2dev.org/board/index.php?/profile/268-whiteworld/
xP3NG3Rx fixe a zöld és lila poti effektek hangjához:
indítóforrás: PythonItem.cpp
Keresd:
DWORD CPythonItem::__GetUseSoundType(const CItemData& c_rkItemData)
és
ezt a részt:
case CItemData::USE_ABILITY_UP:
return USESOUND_POTION;
break;
cseréld/módosítsd erre
case CItemData::USE_ABILITY_UP:
{
if ((c_rkItemData.GetIndex() == 27053 || c_rkItemData.GetIndex() == 27054) ||
(c_rkItemData.GetIndex() >= 27100 && c_rkItemData.GetIndex() <= 27105) ||
(c_rkItemData.GetIndex() >= 27110 && c_rkItemData.GetIndex() <= 27115))
return USESOUND_NONE;
else
return USESOUND_POTION;
}
break;
Eredeti poszt: https://metin2dev.org/board/index.php?/topic/3868-source-enable-greenpurple-potions-effect/&do=findComment&comment=88434
Kereskedelmi effekt tárgyakhoz
https://metin2dev.org/board/index.php?/topic/2679-effect-during-exchange-fly-effect/
game/src/exchange.cpp
keresd meg a következőt a 485.sor környékén/után megtalálod
if (item->GetVnum() >= 80003 && item->GetVnum() <= 80007)
{
LogManager::instance().GoldBarLog(victim->GetPlayerID(), item->GetID(), EXCHANGE_TAKE, "");
LogManager::instance().GoldBarLog(GetOwner()->GetPlayerID(), item->GetID(), EXCHANGE_GIVE, "");
}
A keresett rész után illeszd be ezt:
m_pOwner->CreateFly(FLY_SP_MEDIUM, victim);//ExchangeEffect by andrea49611
for (int i = 0; i < 3; i++){
m_pOwner->CreateFly(FLY_SP_SMALL, victim);
}
Eztán a yanggal történő kereskedéshez rendelhető effektek:
if (m_lGold)
{
GetOwner()->PointChange(POINT_GOLD, -m_lGold, true);
victim->PointChange(POINT_GOLD, m_lGold, true);
cseréld/egészítsd ki az adott részt:
if (m_lGold)
{
for (int i = 1; i < m_lGold+1; i=i+500000)
GetOwner()->CreateFly(4,victim);
GetOwner()->PointChange(POINT_GOLD, -m_lGold, true);
victim->PointChange(POINT_GOLD, m_lGold, true);
eredeti téma...ennél őszintén írva nem tom,én az eredetit turkmmo-ról szedtem, de tippelem, hogy ez m2devről van.
Átható találat effekt engedélyezése:
http://freakgamers.org/threads/c-enable-penetrate-effect.272/
Magyar változat:
nyisd meg a char_battle.cpp -t
Keresd:
dam += GetPoint(POINT_DEF_GRADE) * (100 + GetPoint(POINT_DEF_BONUS)) / 100;
Utána új üres sorba:
EffectPacket(SE_PENETRATE);
Eztán megint keresd
dam += GetPoint(POINT_DEF_GRADE) * (100 + GetPoint(POINT_DEF_BONUS)) / 100;
Utána új megint új üres sorba:
EffectPacket(SE_PENETRATE);
És kész is lenne a forrásos fele, ha szerkesztenéd a kliensbe, hogy ne a lila csattanásos effekt legyen, hanem más, akkor rootban a psm (playersettingsmodule.py) -ben
a kövi sorra rákereshetsz és szerkesztheted.:
chrmgr.RegisterCacheEffect(chrmgr.EFFECT_PENETRATE, "Bip01", "d:/ymir work/effect/hit/gwantong.mse")
32k feletti portok kijelzésének fixelése:
https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3731567-small-c-fix-channelstatus-bei-ports-ber-32k.html#post34495128
keresd a db/src/ClientManager.h -ban
typedef boost::unordered_map<short, BYTE> TChannelStatusMap;
cseréld erre
typedef boost::unordered_map<int, BYTE> TChannelStatusMap;
keresd a ClientManager.cpp-ben
peer->Encode(&it->first, sizeof(short));
peer->Encode(&it->second, sizeof(BYTE));
és módosítsd
peer->Encode(&it->first, sizeof(int));
peer->Encode(&it->second, sizeof(BYTE));
keresd common\tables.h -ban
typedef struct SChannelStatus
{
short nPort;
BYTE bStatus;
} TChannelStatus;
ezt a részt módosítsd
typedef struct SChannelStatus
{
int nPort;
BYTE bStatus;
} TChannelStatus;
ha kész vagy akk az indítóforrásos része jön:
UserInterface\Packet.h -ban keresd
typedef struct SChannelStatus
{
short nPort;
BYTE bStatus;
} TChannelStatus;
cseréld v módosítsd
typedef struct SChannelStatus
{
int nPort;
BYTE bStatus;
} TChannelStatus;
És kész, köszönet EzionX-nek a dologért! eredetiposztja: https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/3731567-small-c-fix-channelstatus-bei-ports-ber-32k.html#post34495128
Előre is elnézést kérek, ha valaki lopásnak gondolná ezt a témát, de tudomásom szerint nem annyira szerepeltek még egy témában +magyar leírásban emzek a módosítások!
Üdv
'epvp-n olvastam, hogy Cyber36 még 2017-ben kirakott egy turkmmo-s forrásmódosítást a png kiterjesztéshez.
gyorstutorial:
Kliens forrás:
../ScriptLib/Resource.cpp:
Keresd:
m_resManager.RegisterResourceNewFunctionPointer("tga", NewImage);
A kövi sorba kerüljön
m_resManager.RegisterResourceNewFunctionPointer("png", NewImage);
és a kövi fordításunk után a kliens innentől kezdve a png kiterjesztést is támogatni fogja (gondolom az ikonoknál és néhány egyéb képnél is a hasznunkra válhat ez a feature. ;)
eredeti téma: epévépé (https://www.elitepvpers.com/forum/metin2-pserver-guides-strategies/4272477-c-png-als-bildformat-verwenden-k-nnen.html)