Я редактирую некоторые файлы видеоигры, и есть функция под названием battle_check_target
, которая определяет, на кого игрок может атаковать.
battle_check_target
//which has these definitions set for it
BCT_NOONE = 0x000000, ///< No one
BCT_SELF = 0x010000, ///< Self
BCT_ENEMY = 0x020000, ///< Enemy
BCT_PARTY = 0x040000, ///< Party members
BCT_GUILDALLY = 0x080000, ///< Only allies, NOT guildmates
BCT_NEUTRAL = 0x100000, ///< Neutral target
BCT_SAMEGUILD = 0x200000, ///< Guildmates, No Guild Allies
BCT_ALL = 0x3F0000, ///< All targets
BCT_WOS = 0x400000, ///< Except self (currently used for skipping if src == bl in skill_area_sub)
BCT_GUILD = BCT_SAMEGUILD|BCT_GUILDALLY, ///< Guild AND Allies (BCT_SAMEGUILD|BCT_GUILDALLY)
BCT_NOGUILD = BCT_ALL&~BCT_GUILD, ///< Except guildmates
BCT_NOPARTY = BCT_ALL&~BCT_PARTY, ///< Except party members
BCT_NOENEMY = BCT_ALL&~BCT_ENEMY, ///< Except enemy
BCT_ALLY = BCT_PARTY|BCT_GUILD,
BCT_FRIEND = BCT_NOENEMY,
BCT_CLAN = BCT_SAMECLAN|BCT_CLANALLY ///< **What I added**
Игрок, враг, ваша гильдия, ваша группа и т. Д. c.
В игре также есть система, называемая кланами, которая работает как гильдии и партии. У кланов есть кланы и союзники по кланам, как в гильдиях. Они не могут атаковать друг друга, хотя именно поэтому я хочу добавить определения клана следующим образом:
BCT_SAMECLAN = 0x300000, ///< Clanmates
BCT_CLANALLY = 0x280000, ///< Clan allies
, а затем поместить их в условное выражение, определяющее, кто может атаковать:
if( !state ) //If not an enemy, nor a guild, nor party, nor yourself, it's neutral.
state = BCT_NEUTRAL;
//Alliance state takes precedence over enemy one.
else if( state&BCT_ENEMY && strip_enemy && state&(BCT_SELF|BCT_PARTY|BCT_GUILD|**BCT_CLAN**) )
state&=~BCT_ENEMY;
return (flag&state)?1:-1;
}
///> I also added the **BCT_CLAN**
Я полагаю, что эти значения, например, 0x000000, представляют собой 32-битные значения, которые определяют, на что наведен курсор мыши? Этот код на стороне сервера, поэтому он посылает ответ клиенту о том, что сделать курсор мыши и т. Д. c.
Мой вопрос: как мне go узнать, что это за значения? Это то, что вы ищете в .exe? Я проверил все остальные. cpp и .hpp файл и смог найти это значение где угодно. У кого-нибудь есть идеи, где мне искать?