Szerző Téma: [SRC]összegyűjtött forrásmódosítások  (Megtekintve 1734 alkalommal)

Nem elérhető fabtam11

  • Master
  • ****
  • Thank You
  • -Given: 159
  • -Receive: 115
  • Hozzászólások: 1 056
  • Segített: 108
[SRC]összegyűjtött forrásmódosítások
« Dátum: 2017-08-17, 14:39:42 »
Ü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 potion2.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 potion5.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 potion6.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 potion7.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!
« Utoljára szerkesztve: 2018-06-27, 19:45:57 írta fabtam11 »