[SRC]összegyűjtött forrásmódosítások

Indította fabtam11, 2017-08-17, 14:39:42

2017-08-17, 14:39:42 Utolsó szerkesztés: 2018-06-27, 19:45:57 Szerző: fabtam11
Ü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
Kód (keresd:) Kijelölés
AddAffect(AFFECT_UNIQUE_ABILITY, POINT_MOV_SPEED, item->GetValue(2), AFF_MOV_SPEED_POTION, item->GetValue(1), 0, true, true);
Kód (utána új sorba:) Kijelölés
EffectPacket(SE_DXUP_PURPLE); //purple potion
2.lépés
Kód (keresd:) Kijelölés
AddAffect(AFFECT_UNIQUE_ABILITY, POINT_ATT_SPEED, item->GetValue(2), AFF_ATT_SPEED_POTION, item->GetValue(1), 0, true, true);
Kód (utána új sorba:) Kijelölés
EffectPacket(SE_SPEEDUP_GREEN); //green potion

3.lépés
Kód (keresd:) Kijelölés
                                        AddAffect(affect_type, apply_type, apply_value, AFF_MOV_SPEED_POTION, apply_duration, 0, true, true);
Kód (utána új sorba:) Kijelölés
                                        EffectPacket(SE_DXUP_PURPLE); //purple potion

4.lépés
Kód (keresd:) Kijelölés
AddAffect(affect_type, apply_type, apply_value, AFF_ATT_SPEED_POTION, apply_duration, 0, true, true);
Kód (utána új sorba:) Kijelölés
EffectPacket(SE_SPEEDUP_GREEN); //green potion
5.lépés
Kód (keresd:) Kijelölés
AddAffect(AFFECT_MOV_SPEED, POINT_MOV_SPEED, item->GetValue(2), AFF_MOV_SPEED_POTION, item->GetValue(1), 0, true);
Kód (utána új sorba:) Kijelölés
EffectPacket(SE_DXUP_PURPLE); //purple potion
6.lépés
Kód (keresd:) Kijelölés
AddAffect(AFFECT_ATT_SPEED, POINT_ATT_SPEED, item->GetValue(2), AFF_ATT_SPEED_POTION, item->GetValue(1), 0, true);
Kód (utána új sorba:) Kijelölés
EffectPacket(SE_SPEEDUP_GREEN); //green potion
7.lépés
Kód (keresd:) Kijelölés
AddAffect(AFFECT_NOG_ABILITY, POINT_MOV_SPEED, moveSpeedPer, AFF_MOV_SPEED_POTION, time, 0, true, true);
Kód (utána új sorba:) Kijelölés

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:
Kód (keresd) Kijelölés
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:
Kód (erre) Kijelölés
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!

2019-06-05, 09:55:23 #1 Utolsó szerkesztés: 2019-06-05, 09:58:32 Szerző: fabtam11
Ü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é