Files
mir_server/Gateway/common/db/actor_db_data.h

275 lines
8.4 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
#ifndef _ACTOR_DB_DATA_H_
#define _ACTOR_DB_DATA_H_
#include "common.h"
#include "common/datalist.h"
#include "common/property_set.h"
#pragma pack(push,4)
/*
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
*/
using namespace SrvDef;
//tolua_begin
struct ActorBasicData
{
unsigned int account_id; //<2F>˻<EFBFBD><CBBB><EFBFBD>ID
//ACCOUNT account_name; //<2F>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
char account_name[ACCOUNT_LENGTH]; //<2F>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
int actor_id; //<2F><>ɫid
//ACTORNAME actor_name; //<2F><><EFBFBD><EFBFBD>
char actor_name[ACTOR_NAME_BUFF_LENGTH]; //<2F><><EFBFBD><EFBFBD>
unsigned int server_idnex;
unsigned char job; // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫְҵ
unsigned char sex; // <20><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ɫ<EFBFBD>Ա<EFBFBD>
unsigned int level;
unsigned int exp;
long long int fb_uid; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uid
unsigned int fb_scene_id; //<2F><><EFBFBD><EFBFBD><EFBFBD>ڵij<DAB5><C4B3><EFBFBD>id
unsigned int create_time; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int last_online_time; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned long long last_login_ip;//<2F>ϴε<CFB4>¼<EFBFBD><C2BC>ip,<2C><>û֧<C3BB><D6A7>
unsigned int total_online; //<2F>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int daily_online; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int bag_grid; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long long int gold;
long long int yuanbao;
long long int total_power; // <20><>ս<EFBFBD><D5BD>
long long int rank_power; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD><D0B0><EFBFBD>ս<EFBFBD><D5BD>
unsigned int recharge; // <20><>ֵԪ<D6B5><D4AA><EFBFBD><EFBFBD>
unsigned int paid; // <20><><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
unsigned int chapter_level; // <20><><EFBFBD>ڹؿ<DAB9><D8BF><EFBFBD> ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵij<DAB5><C4B3><EFBFBD>
unsigned int vip_level; // vip<69>ȼ<EFBFBD>
int essence; // <20><><EFBFBD><EFBFBD>
int zhuansheng_lv; // ת<><D7AA><EFBFBD>ȼ<EFBFBD>
int zhuansheng_exp; // ת<><D7AA><EFBFBD><EFBFBD>Ϊ
unsigned char monthcard; //0Ϊû<CEAA><C3BB><EFBFBD><EFBFBD>1,Ϊû<CEAA><C3BB><EFBFBD><EFBFBD>,2Ϊ<32><CEAA><EFBFBD><EFBFBD>
int tianti_level; //<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
int tianti_dan; //<2F><><EFBFBD>ݶ<EFBFBD>λ
int tianti_win_count; //<2F><><EFBFBD>ݾ<EFBFBD>ʤ
int tianti_week_refres; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˢ<EFBFBD><CBA2>
long long int total_wing_power; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>
long long int warrior_power; //սʿս<CABF><D5BD>
long long int mage_power; //<2F><>ʦս<CAA6><D5BD>
long long int taoistpriest_power; //<2F><>ʿս<CABF><D5BD>
int train_level; //<2F><><EFBFBD><EFBFBD>(<28><>λ)<29>ȼ<EFBFBD>
int train_exp; //<2F><><EFBFBD><EFBFBD>(<28><>λ)<29><><EFBFBD><EFBFBD>
int total_stone_level; //<2F><>ʯ(<28><><EFBFBD><EFBFBD>)<29>ܵȼ<DCB5>
int total_zhuling_level;//<2F><><EFBFBD><EFBFBD><EFBFBD>ܵȼ<DCB5>
int guild_id_; //<2F><><EFBFBD><EFBFBD>ID
char guild_name_[32];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int zhan_ling_star; //
int zhan_ling_stage; //
int total_loongsoul_level;
int prestige_exp; //<2F><><EFBFBD><EFBFBD>ֵ
long long int feats; // <20><>ѫ
unsigned int ex_ring_lv[8];//<2F>ؽ<EFBFBD><D8BD>ȼ<EFBFBD>,<2C><><EFBFBD><EFBFBD>λΪ1ʱ<31><CAB1><EFBFBD><EFBFBD>ս
long long int shatter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
long long int spcshatter; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ
unsigned int knighthood_lv;//ѫ<>µȼ<C2B5>
long long int togeatter;//<2F>ϻ<EFBFBD><CFBB><EFBFBD>Ƭ
int total_wing_lv; //<2F><><EFBFBD><EFBFBD><EFBFBD>ܽ׼<DCBD>
long long int total_tujian_power;//ͼ<><CDBC><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>
long long int total_equip_power;//װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long long int togeatterhigh;//<2F>߼<EFBFBD><DFBC>ϻ<EFBFBD><CFBB><EFBFBD>Ƭ
unsigned char privilege_monthcard; //<2F><>Ȩ<EFBFBD>¿<EFBFBD><C2BF><EFBFBD> δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD>Ϊ0,1Ϊû<CEAA><C3BB><EFBFBD><EFBFBD>
int reincarnate_lv; // <20>ֻصȼ<D8B5>
int reincarnate_exp; // <20>ֻ<EFBFBD><D6BB><EFBFBD>Ϊ
long long int dianquan;//<2F><>ȯ
int quota; //<2F><><EFBFBD>׶<EFBFBD><D7B6><EFBFBD>
};
inline ActorBasicData* toActorBasicData(void* data) { return (ActorBasicData*)data; }
//tolua_end
struct ActorCsData {
unsigned int actor_id; //<2F><>ɫid
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned long long cw_fbhdl_sid_; // <20><><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ,<2C><><34><CEBB>fuben<65><6E>handle<6C><65><EFBFBD><EFBFBD><34><CEBB>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sid
unsigned long long cw_scene_xy_; // <20><><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ,<2C><><34>dz<EFBFBD><C7B3><EFBFBD>id<69><64><EFBFBD><EFBFBD><34>еĵ͸<C4B5><CDB8><EFBFBD>λ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>x<EFBFBD><78>y
unsigned long long cw_static_pos_; // <20><><EFBFBD><EFBFBD><EBB8B1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><34>dz<EFBFBD><C7B3><EFBFBD>id<69><64><EFBFBD><EFBFBD><34>еĵ͸<C4B5><CDB8><EFBFBD>λ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>x<EFBFBD><78>y
ActorCsData() {
memset(this, 0, sizeof(ActorCsData));
}
};
#pragma pack(pop)
inline void ReadActorBasicData(ActorBasicData& actor_data, MYSQL_ROW &pRow, unsigned long *fieldLength)
{
/*select level, exp, baggridcount, gold, yuanbao, totalpower, paid, fbhandle, sceneid,
createtime, lastlogouttime, totalonline, dailyonline
from actors
where actorid = nactorid and(status & 2) = 2;
*/
#define GetRowInt(i, data) sscanf(pRow[i], "%d", &(data))
#define GetRowUChar(i, data) int temp##i; sscanf(pRow[i], "%d", &(temp##i)); data = temp##i;
#define GetRowLInt(i, data) sscanf(pRow[i], "%lld", &(data))
#define GetRowString(i, data) sscanf(pRow[i], "%s", (data))
#define GetRowData(i,data) if(pRow[i]!=NULL) memcpy(&(data),pRow[i],fieldLength[i])
#ifdef _MSC_VER
#pragma message("todo <20><>װ<EFBFBD><D7B0><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>")
#endif
GetRowInt(0, actor_data.account_id);
GetRowString(1, actor_data.account_name);
GetRowInt(2, actor_data.actor_id);
GetRowString(3, actor_data.actor_name);
GetRowUChar(4, actor_data.job);
GetRowUChar(5, actor_data.sex);
//GetRowInt(6, actor_data.status);
GetRowInt(7, actor_data.level);
GetRowInt(8, actor_data.exp);
GetRowInt(9, actor_data.server_idnex);
//GetRowInt(10, actor_data.create_time);
tm t;
memset(&t, 0, sizeof(t));
sscanf(pRow[10], "%d-%d-%d %d:%d:%d",
&t.tm_year,
&t.tm_mon,
&t.tm_mday,
&t.tm_hour,
&t.tm_min,
&t.tm_sec
);
t.tm_year -= 1900;
t.tm_mon -= 1;
actor_data.create_time = (unsigned int)mktime(&t);
//GetRowInt(11, actor_data.updatetime);
GetRowInt(12, actor_data.last_online_time);
GetRowLInt(13, actor_data.last_login_ip);
GetRowInt(14, actor_data.bag_grid);
GetRowLInt(15, actor_data.gold);
GetRowLInt(16, actor_data.yuanbao);
GetRowLInt(17, actor_data.total_power);
GetRowInt(18, actor_data.recharge);
GetRowInt(19, actor_data.paid);
GetRowLInt(20, actor_data.fb_uid);
GetRowInt(21, actor_data.fb_scene_id);
GetRowInt(22, actor_data.total_online);
GetRowInt(23, actor_data.daily_online);
GetRowInt(24, actor_data.chapter_level);
GetRowInt(25, actor_data.vip_level);
GetRowInt(26, actor_data.essence);
GetRowInt(27, actor_data.zhuansheng_lv);
GetRowInt(28, actor_data.zhuansheng_exp);
GetRowUChar(29, actor_data.monthcard);
GetRowInt(30, actor_data.tianti_level);
GetRowInt(31, actor_data.tianti_dan);
GetRowInt(32, actor_data.tianti_win_count);
GetRowInt(33, actor_data.tianti_week_refres);
GetRowLInt(34, actor_data.total_wing_power);
GetRowLInt(35, actor_data.warrior_power);
GetRowLInt(36, actor_data.mage_power);
GetRowLInt(37, actor_data.taoistpriest_power);
GetRowInt(38, actor_data.train_level);
GetRowInt(39, actor_data.train_exp);
GetRowInt(40, actor_data.total_stone_level);
GetRowInt(41, actor_data.guild_id_);
GetRowInt(42, actor_data.zhan_ling_star);
GetRowInt(43, actor_data.zhan_ling_stage);
GetRowInt(44, actor_data.total_loongsoul_level);
GetRowLInt(45, actor_data.feats);
GetRowData(46, actor_data.ex_ring_lv);
GetRowLInt(47, actor_data.shatter);
GetRowLInt(48, actor_data.spcshatter);
GetRowInt(49, actor_data.knighthood_lv);
GetRowLInt(50, actor_data.togeatter);
GetRowLInt(51, actor_data.rank_power);
GetRowInt(52, actor_data.total_wing_lv);
GetRowLInt(53, actor_data.total_tujian_power);
GetRowLInt(54, actor_data.total_equip_power);
GetRowLInt(55, actor_data.togeatterhigh);
GetRowInt(56, actor_data.total_zhuling_level);
GetRowInt(57, actor_data.prestige_exp);
GetRowInt(58, actor_data.reincarnate_lv);
GetRowInt(59, actor_data.reincarnate_exp);
GetRowLInt(60, actor_data.dianquan);
GetRowInt(61, actor_data.quota);
//<2F>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> appid<69><64>pfid
GetRowString(64, actor_data.guild_name_);
}
#endif
/*
//<2F><><EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><C7A3><EFBFBD>ǰն<C7B0>ɣ<EFBFBD><C9A3><EFBFBD>dbͨ<62>ŵİ<C5B5>
typedef struct tagActorDbData:
ActorProperty
{
ACTORNAME name; //<2F><><EFBFBD><EFBFBD>
unsigned nFbHandle; //<2F><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ͨ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD>
unsigned nScenceID; //<2F><><EFBFBD><EFBFBD>id
unsigned nEnterFbScenceID;
int nEnterFbPos; //X <20><>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
unsigned int nCreateTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned long long lLastLoginIp ;//<2F>ϴε<CFB4>¼<EFBFBD><C2BC>ip,<2C><>û֧<C3BB><D6A7>
unsigned int nLastLogoutTime; //<2F>ϴε<CFB4><CEB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,minidate<74><65>ʽ
unsigned int nFbTeamId; // <20><><EFBFBD>˻<EFBFBD><CBBB><EFBFBD>(<28><><EFBFBD><EFBFBD>)
ACCOUNT accountName; //<2F>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>
unsigned int achieveTime; //<2F>ɾʹ<C9BE><CDB4><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int nAccountId; //<2F>˻<EFBFBD><CBBB><EFBFBD>ID
int64_t csrevivepoint; //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>id,x,y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int64_t fbrevivepoint; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>id,x,y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int64_t cityrevivepoint; //<2F><><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD>id,x,y<><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int free_baptize_; // <20><><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
int one_key_time_; // ʣ<><CAA3>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ѵĴ<D1B5><C4B4><EFBFBD>
int mount_score_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int friend_cong_; // <20><><EFBFBD><EFBFBD>ף<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
int reserve_data_; // <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD>ʹ<EFBFBD><CAB9>
unsigned int spirit_score_; //<2F><><EFBFBD>ҵľ<D2B5><C4BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD>
int lianfuTeamId; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>id
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned long long cw_fbhdl_sid_; // <20><><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ,<2C><><34><CEBB>fuben<65><6E>handle<6C><65><EFBFBD><EFBFBD><34><CEBB>ս<EFBFBD><D5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sid
unsigned long long cw_scene_xy_; // <20><><EFBFBD><EFBFBD>ս<EFBFBD><D5BD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϣ,<2C><><34>dz<EFBFBD><C7B3><EFBFBD>id<69><64><EFBFBD><EFBFBD><34>еĵ͸<C4B5><CDB8><EFBFBD>λ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>x<EFBFBD><78>y
unsigned long long cw_static_pos_; // <20><><EFBFBD><EFBFBD><EBB8B1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><34>dz<EFBFBD><C7B3><EFBFBD>id<69><64><EFBFBD><EFBFBD><34>еĵ͸<C4B5><CDB8><EFBFBD>λ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>x<EFBFBD><78>y
int war_team_id_; // ս<><D5BD>ID
int cross_honor_; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
unsigned int upgrade_time_; //<2F><><EFBFBD>ҵȼ<D2B5><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int total_online_; //<2F>ܵ<EFBFBD><DCB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
unsigned int daily_online_; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
char quest[1000]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
char mis_for_php_[128]; //<2F><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>ѯ<EFBFBD><D1AF>һЩ<D2BB><D0A9><EFBFBD><EFBFBD>
tagActorDbData()
{
memset(this, 0, sizeof(tagActorDbData));
}
} ACTORDBDATA, *PACTORDBDATA;
*/