- Katılım
- 18 Ağu 2025
- Konular
- 24
- Mesajlar
- 80
- Online süresi
- 16g 27294s
- Reaksiyon Skoru
- 15
- Altın Konu
- 0
- Başarım Puanı
- 35
- TM Yaşı
- 8 Ay 4 Gün
- MmoLira
- 2,605
- DevLira
- 0
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
merhaba arkadaşlar https://forum.turkmmo.com/konu/3934471-lyrion-ridack-gm-logolari-tam-hali/ konudaki logoları ekledim navicat GM_IMPLEMENTOR olan gm karakteri mavi logo GA gösteriyor normalde SA göstermesi gerekirdi. HIGH_WIZARD yapınca SA oluyor bir yerde bir yanlışlık var.
@yunus0399
InstanceBase.h DOSYASI
enum
{
AFFECT_YMIR,
AFFECT_INVISIBILITY,
AFFECT_SPAWN,
AFFECT_POISON,
AFFECT_SLOW,
AFFECT_STUN,
AFFECT_DUNGEON_READY,
AFFECT_SHOW_ALWAYS,
AFFECT_BUILDING_CONSTRUCTION_SMALL,
AFFECT_BUILDING_CONSTRUCTION_LARGE,
AFFECT_BUILDING_UPGRADE,
AFFECT_MOV_SPEED_POTION, // 11
AFFECT_ATT_SPEED_POTION, // 12
AFFECT_FISH_MIND, // 13
AFFECT_JEONGWI,
AFFECT_GEOMGYEONG,
AFFECT_CHEONGEUN,
AFFECT_GYEONGGONG,
AFFECT_EUNHYEONG,
AFFECT_GWIGEOM,
AFFECT_GONGPO,
AFFECT_JUMAGAP,
AFFECT_HOSIN,
AFFECT_BOHO,
AFFECT_KWAESOK,
AFFECT_HEUKSIN,
AFFECT_MUYEONG,
AFFECT_REVIVE_INVISIBILITY,
AFFECT_FIRE,
AFFECT_GICHEON,
AFFECT_JEUNGRYEOK,
AFFECT_DASH,
AFFECT_PABEOP,
AFFECT_FALLEN_CHEONGEUN,
AFFECT_POLYMORPH,
AFFECT_WAR_FLAG1, // 35
AFFECT_WAR_FLAG2, // 36
AFFECT_WAR_FLAG3, // 37
AFFECT_CHINA_FIREWORK, // 38
AFFECT_PREMIUM_SILVER,
AFFECT_PREMIUM_GOLD,
AFFECT_RAMADAN_RING,
#ifdef GM_NEW_AFFECTS
AFFECT_YMIR_SA, // 42
AFFECT_YMIR_GA, // 43
AFFECT_YMIR_GM, // 44
AFFECT_YMIR_TGM, // 45
#endif[/#endifdef E#ifdefWOLFMAN_CHARACTER
AFFECT_BLEEDING, // 42
AFFECT_RED_POSSESSION, // 43
AFFECT_BLUE_POSSESSION, // 44
#endif
A#endifNUM = 64,
AFFECT_HWAYEOM = AFFECT_GEOMGYEONG,
};
affect.h DOSYASI
enum EAffectBits
{
AFF_NONE,
AFF_YMIR,
AFF_INVISIBILITY,
AFF_SPAWN,
AFF_POISON,
AFF_SLOW,
AFF_STUN,
AFF_DUNGEON_READY,
AFF_DUNGEON_UNIQUE,
AFF_BUILDING_CONSTRUCTION_SMALL,
AFF_BUILDING_CONSTRUCTION_LARGE,
AFF_BUILDING_UPGRADE,
AFF_MOV_SPEED_POTION,
AFF_ATT_SPEED_POTION,
AFF_FISH_MIND,
AFF_JEONGWIHON,
AFF_GEOMGYEONG,
AFF_CHEONGEUN,
AFF_GYEONGGONG,
AFF_EUNHYUNG,
AFF_GWIGUM,
AFF_TERROR,
AFF_JUMAGAP,
AFF_HOSIN,
AFF_BOHO,
AFF_KWAESOK,
AFF_MANASHIELD,
AFF_MUYEONG,
AFF_REVIVE_INVISIBLE,
AFF_FIRE,
AFF_GICHEON,
AFF_JEUNGRYEOK,
AFF_TANHWAN_DASH,
AFF_PABEOP,
AFF_CHEONGEUN_WITH_FALL,
AFF_POLYMORPH,
AFF_WAR_FLAG1,
AFF_WAR_FLAG2,
AFF_WAR_FLAG3,
AFF_CHINA_FIREWORK,
AFF_HAIR,
AFF_GERMANY,
#ifdef GM_NEW_AFFECTS
AFFECT_YMIR_SA,
AFFECT_YMIR_GA,
AFFECT_YMIR_GM,
AFFECT_YMIR_TGM,
#endif[/#endif_RAMADAN_RING,
#ifdef E#ifdefWOLFMAN_CHARACTER
AFF_BLEEDING, // 42
AFF_RED_POSSESSION, // 44
AFF_BLUE_POSSESSION, // 43
#endif
#endifTS_MAX
};
char.cpp DOSYASI
#define #defineGM_FLAG_IF_TEST_SERVER
#define #defineGM_FLAG_FOR_LOW_WIZARD
void CHARACTER::SetPlayerProto(const TPlayerTable * t)
{
if (!GetDesc() || !*GetDesc()->GetHostName())
sys_err("cannot get desc or hostname");
else
SetGMLevel();
m_PlayerSlots = std::make_unique<PlayerSlotT>(); // @fixme199
m_bCharType = CHAR_TYPE_PC;
m_dwPlayerID = t->id;
m_iAlignment = t->lAlignment;
m_iRealAlignment = t->lAlignment;
m_points.voice = t->voice;
m_points.skill_group = t->skill_group;
m_pointsInstant.bBasePart = t->part_base;
SetPart(PART_HAIR, t->parts[PART_HAIR]);
m_points.iRandomHP = t->sRandomHP;
m_points.iRandomSP = t->sRandomSP;
// REMOVE_REAL_SKILL_LEVLES
if (m_pSkillLevels)
M2_DELETE_ARRAY(m_pSkillLevels);
m_pSkillLevels = M2_NEW TPlayerSkill[SKILL_MAX_NUM];
thecore_memcpy(m_pSkillLevels, t->skills, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
// END_OF_REMOVE_REAL_SKILL_LEVLES
if (t->lMapIndex >= 10000)
{
m_posWarp.x = t->lExitX;
m_posWarp.y = t->lExitY;
m_lWarpMapIndex = t->lExitMapIndex;
}
SetRealPoint(POINT_PLAYTIME, t->playtime);
m_dwLoginPlayTime = t->playtime;
SetRealPoint(POINT_ST, t->st);
SetRealPoint(POINT_HT, t->ht);
SetRealPoint(POINT_DX, t->dx);
SetRealPoint(POINT_IQ, t->iq);
SetPoint(POINT_ST, t->st);
SetPoint(POINT_HT, t->ht);
SetPoint(POINT_DX, t->dx);
SetPoint(POINT_IQ, t->iq);
SetPoint(POINT_STAT, t->stat_point);
SetPoint(POINT_SKILL, t->skill_point);
SetPoint(POINT_SUB_SKILL, t->sub_skill_point);
SetPoint(POINT_HORSE_SKILL, t->horse_skill_point);
SetPoint(POINT_STAT_RESET_COUNT, t->stat_reset_count);
SetPoint(POINT_LEVEL_STEP, t->level_step);
SetRealPoint(POINT_LEVEL_STEP, t->level_step);
SetRace(t->job);
SetLevel(t->level);
SetExp(t->exp);
SetGold(t->gold);
#ifdef E#ifdefCHEQUE_SYSTEM
SetCheque(t->cheque);
#endif
#endifIndex(t->lMapIndex);
SetXYZ(t->x, t->y, t->z);
ComputePoints();
SetHP(t->hp);
SetSP(t->sp);
SetStamina(t->stamina);
#ifndef #ifndefGM_FLAG_IF_TEST_SERVER
if (!test_server)
#endif
{#endiffdef ENABLE_GM_FLAG_FOR_LOW_WIZARD
if (GetGMLevel() > GM_PLAYER)
#else
if#elseGMLevel() > GM_LOW_WIZARD)
#endif
{#endiff G#ifdefAFFECTS
if (GetGMLevel() == GM_IMPLEMENTOR)
{
m_afAffectFlag.Set(AFFECT_YMIR_SA);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_HIGH_WIZARD)
{
m_afAffectFlag.Set(AFFECT_YMIR_GA);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_GOD)
{
m_afAffectFlag.Set(AFFECT_YMIR_GM);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_LOW_WIZARD)
{
m_afAffectFlag.Set(AFFECT_YMIR_TGM);
m_bPKMode = PK_MODE_PROTECT;
}
#else
m_#elseectFlag.Set(AFF_YMIR);
m_bPKMode = PK_MODE_PROTECT;
#endif
}#endif
if (GetLevel() < PK_PROTECT_LEVEL)
m_bPKMode = PK_MODE_PROTECT;
SetHorseData(t->horse);
if (GetHorseLevel() > 0)
UpdateHorseDataByLogoff(t->logoff_interval);
thecore_memcpy(m_aiPremiumTimes, t->aiPremiumTimes, sizeof(t->aiPremiumTimes));
m_dwLogOffInterval = t->logoff_interval;
sys_log(0, "PLAYER_LOAD: %s PREMIUM %d %d, LOGGOFF_INTERVAL %u PTR: %p", t->name, m_aiPremiumTimes[0], m_aiPremiumTimes[1], t->logoff_interval, this);
if (GetGMLevel() != GM_PLAYER)
{
LogManager::instance().CharLog(this, GetGMLevel(), "GM_LOGIN", "");
sys_log(0, "GM_LOGIN(gmlevel=%d, name=%s(%d), pos=(%d, %d)", GetGMLevel(), GetName(), GetPlayerID(), GetX(), GetY());
}
#ifdef _#ifdefYSTEM__
if (m_petSystem)
{
m_petSystem->Destroy();
delete m_petSystem;
}
m_petSystem = M2_NEW CPetSystem(this);
#endif
}#endif
@yunus0399
InstanceBase.h DOSYASI
enum
{
AFFECT_YMIR,
AFFECT_INVISIBILITY,
AFFECT_SPAWN,
AFFECT_POISON,
AFFECT_SLOW,
AFFECT_STUN,
AFFECT_DUNGEON_READY,
AFFECT_SHOW_ALWAYS,
AFFECT_BUILDING_CONSTRUCTION_SMALL,
AFFECT_BUILDING_CONSTRUCTION_LARGE,
AFFECT_BUILDING_UPGRADE,
AFFECT_MOV_SPEED_POTION, // 11
AFFECT_ATT_SPEED_POTION, // 12
AFFECT_FISH_MIND, // 13
AFFECT_JEONGWI,
AFFECT_GEOMGYEONG,
AFFECT_CHEONGEUN,
AFFECT_GYEONGGONG,
AFFECT_EUNHYEONG,
AFFECT_GWIGEOM,
AFFECT_GONGPO,
AFFECT_JUMAGAP,
AFFECT_HOSIN,
AFFECT_BOHO,
AFFECT_KWAESOK,
AFFECT_HEUKSIN,
AFFECT_MUYEONG,
AFFECT_REVIVE_INVISIBILITY,
AFFECT_FIRE,
AFFECT_GICHEON,
AFFECT_JEUNGRYEOK,
AFFECT_DASH,
AFFECT_PABEOP,
AFFECT_FALLEN_CHEONGEUN,
AFFECT_POLYMORPH,
AFFECT_WAR_FLAG1, // 35
AFFECT_WAR_FLAG2, // 36
AFFECT_WAR_FLAG3, // 37
AFFECT_CHINA_FIREWORK, // 38
AFFECT_PREMIUM_SILVER,
AFFECT_PREMIUM_GOLD,
AFFECT_RAMADAN_RING,
#ifdef GM_NEW_AFFECTS
AFFECT_YMIR_SA, // 42
AFFECT_YMIR_GA, // 43
AFFECT_YMIR_GM, // 44
AFFECT_YMIR_TGM, // 45
#endif[/#endifdef E#ifdefWOLFMAN_CHARACTER
AFFECT_BLEEDING, // 42
AFFECT_RED_POSSESSION, // 43
AFFECT_BLUE_POSSESSION, // 44
#endif
A#endifNUM = 64,
AFFECT_HWAYEOM = AFFECT_GEOMGYEONG,
};
affect.h DOSYASI
enum EAffectBits
{
AFF_NONE,
AFF_YMIR,
AFF_INVISIBILITY,
AFF_SPAWN,
AFF_POISON,
AFF_SLOW,
AFF_STUN,
AFF_DUNGEON_READY,
AFF_DUNGEON_UNIQUE,
AFF_BUILDING_CONSTRUCTION_SMALL,
AFF_BUILDING_CONSTRUCTION_LARGE,
AFF_BUILDING_UPGRADE,
AFF_MOV_SPEED_POTION,
AFF_ATT_SPEED_POTION,
AFF_FISH_MIND,
AFF_JEONGWIHON,
AFF_GEOMGYEONG,
AFF_CHEONGEUN,
AFF_GYEONGGONG,
AFF_EUNHYUNG,
AFF_GWIGUM,
AFF_TERROR,
AFF_JUMAGAP,
AFF_HOSIN,
AFF_BOHO,
AFF_KWAESOK,
AFF_MANASHIELD,
AFF_MUYEONG,
AFF_REVIVE_INVISIBLE,
AFF_FIRE,
AFF_GICHEON,
AFF_JEUNGRYEOK,
AFF_TANHWAN_DASH,
AFF_PABEOP,
AFF_CHEONGEUN_WITH_FALL,
AFF_POLYMORPH,
AFF_WAR_FLAG1,
AFF_WAR_FLAG2,
AFF_WAR_FLAG3,
AFF_CHINA_FIREWORK,
AFF_HAIR,
AFF_GERMANY,
#ifdef GM_NEW_AFFECTS
AFFECT_YMIR_SA,
AFFECT_YMIR_GA,
AFFECT_YMIR_GM,
AFFECT_YMIR_TGM,
#endif[/#endif_RAMADAN_RING,
#ifdef E#ifdefWOLFMAN_CHARACTER
AFF_BLEEDING, // 42
AFF_RED_POSSESSION, // 44
AFF_BLUE_POSSESSION, // 43
#endif
#endifTS_MAX
};
char.cpp DOSYASI
#define #defineGM_FLAG_IF_TEST_SERVER
#define #defineGM_FLAG_FOR_LOW_WIZARD
void CHARACTER::SetPlayerProto(const TPlayerTable * t)
{
if (!GetDesc() || !*GetDesc()->GetHostName())
sys_err("cannot get desc or hostname");
else
SetGMLevel();
m_PlayerSlots = std::make_unique<PlayerSlotT>(); // @fixme199
m_bCharType = CHAR_TYPE_PC;
m_dwPlayerID = t->id;
m_iAlignment = t->lAlignment;
m_iRealAlignment = t->lAlignment;
m_points.voice = t->voice;
m_points.skill_group = t->skill_group;
m_pointsInstant.bBasePart = t->part_base;
SetPart(PART_HAIR, t->parts[PART_HAIR]);
m_points.iRandomHP = t->sRandomHP;
m_points.iRandomSP = t->sRandomSP;
// REMOVE_REAL_SKILL_LEVLES
if (m_pSkillLevels)
M2_DELETE_ARRAY(m_pSkillLevels);
m_pSkillLevels = M2_NEW TPlayerSkill[SKILL_MAX_NUM];
thecore_memcpy(m_pSkillLevels, t->skills, sizeof(TPlayerSkill) * SKILL_MAX_NUM);
// END_OF_REMOVE_REAL_SKILL_LEVLES
if (t->lMapIndex >= 10000)
{
m_posWarp.x = t->lExitX;
m_posWarp.y = t->lExitY;
m_lWarpMapIndex = t->lExitMapIndex;
}
SetRealPoint(POINT_PLAYTIME, t->playtime);
m_dwLoginPlayTime = t->playtime;
SetRealPoint(POINT_ST, t->st);
SetRealPoint(POINT_HT, t->ht);
SetRealPoint(POINT_DX, t->dx);
SetRealPoint(POINT_IQ, t->iq);
SetPoint(POINT_ST, t->st);
SetPoint(POINT_HT, t->ht);
SetPoint(POINT_DX, t->dx);
SetPoint(POINT_IQ, t->iq);
SetPoint(POINT_STAT, t->stat_point);
SetPoint(POINT_SKILL, t->skill_point);
SetPoint(POINT_SUB_SKILL, t->sub_skill_point);
SetPoint(POINT_HORSE_SKILL, t->horse_skill_point);
SetPoint(POINT_STAT_RESET_COUNT, t->stat_reset_count);
SetPoint(POINT_LEVEL_STEP, t->level_step);
SetRealPoint(POINT_LEVEL_STEP, t->level_step);
SetRace(t->job);
SetLevel(t->level);
SetExp(t->exp);
SetGold(t->gold);
#ifdef E#ifdefCHEQUE_SYSTEM
SetCheque(t->cheque);
#endif
#endifIndex(t->lMapIndex);
SetXYZ(t->x, t->y, t->z);
ComputePoints();
SetHP(t->hp);
SetSP(t->sp);
SetStamina(t->stamina);
#ifndef #ifndefGM_FLAG_IF_TEST_SERVER
if (!test_server)
#endif
{#endiffdef ENABLE_GM_FLAG_FOR_LOW_WIZARD
if (GetGMLevel() > GM_PLAYER)
#else
if#elseGMLevel() > GM_LOW_WIZARD)
#endif
{#endiff G#ifdefAFFECTS
if (GetGMLevel() == GM_IMPLEMENTOR)
{
m_afAffectFlag.Set(AFFECT_YMIR_SA);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_HIGH_WIZARD)
{
m_afAffectFlag.Set(AFFECT_YMIR_GA);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_GOD)
{
m_afAffectFlag.Set(AFFECT_YMIR_GM);
m_bPKMode = PK_MODE_PROTECT;
}
else if (GetGMLevel() == GM_LOW_WIZARD)
{
m_afAffectFlag.Set(AFFECT_YMIR_TGM);
m_bPKMode = PK_MODE_PROTECT;
}
#else
m_#elseectFlag.Set(AFF_YMIR);
m_bPKMode = PK_MODE_PROTECT;
#endif
}#endif
if (GetLevel() < PK_PROTECT_LEVEL)
m_bPKMode = PK_MODE_PROTECT;
SetHorseData(t->horse);
if (GetHorseLevel() > 0)
UpdateHorseDataByLogoff(t->logoff_interval);
thecore_memcpy(m_aiPremiumTimes, t->aiPremiumTimes, sizeof(t->aiPremiumTimes));
m_dwLogOffInterval = t->logoff_interval;
sys_log(0, "PLAYER_LOAD: %s PREMIUM %d %d, LOGGOFF_INTERVAL %u PTR: %p", t->name, m_aiPremiumTimes[0], m_aiPremiumTimes[1], t->logoff_interval, this);
if (GetGMLevel() != GM_PLAYER)
{
LogManager::instance().CharLog(this, GetGMLevel(), "GM_LOGIN", "");
sys_log(0, "GM_LOGIN(gmlevel=%d, name=%s(%d), pos=(%d, %d)", GetGMLevel(), GetName(), GetPlayerID(), GetX(), GetY());
}
#ifdef _#ifdefYSTEM__
if (m_petSystem)
{
m_petSystem->Destroy();
delete m_petSystem;
}
m_petSystem = M2_NEW CPetSystem(this);
#endif
}#endif

