%%%------------------------------------------------------------------- %%% @author liushl %%% @doc %%% %%% @end %%%------------------------------------------------------------------- -author("liushl"). -define(MATE_INFO_SEND, 1). %% 我发出的 -define(MATE_INFO_RECEIVE, 2). %% 我收到的 -define(MATE_RESPONSE_YES, 1). %% 回应:同意 -define(MATE_RESPONSE_NO, 2). %% 回应:拒绝 -define(MATE_READY_YES, 1). %% 准备 -define(MATE_READY_NO, 2). %% 取消准备 -define(MATE_RELIEVE_DEAL, 1). %% 协议解除 -define(MATE_RELIEVE_FORCE, 2). %% 强制解除 -define(MATE_ACT_RHYTHM_MASTER, 1). %% 节奏大师 -define(MATE_ACT_CATCH_BALL, 2). %% 抛接球 -define(MATE_COUNTER_INVITE, 3). %% 拍照邀请次数 -define(MATE_COUNTER_BE_INVITED, 4). %% 拍照次数 %% 羁绊日常 -define(MATE_OBJECT_NUMBER, 4). %% 4名羁绊对象 -define(MATE_STRANGER_NUMBER, 2). %% 2名路人 -define(MATE_OBJECT, 1). %% 羁绊对象 -define(FRIEND_OBJECT, 2). %% 朋友 -define(STRANGER_OBJECT, 3). %% 路人 %% 任务类型 -define(TASK_TYPE_1, 1). %% 送花 -define(TASK_TYPE_2, 2). %% 私聊 -define(TASK_TYPE_3, 3). %% 赠送羁绊点 -define(TASK_TYPE_4, 4). %% 分享羁绊 -define(TASK_TYPE_5, 5). %% 赠送交易券 %% 奖励状态 -define(REWARD_STATE_0, 0). %% 未完成 -define(REWARD_STATE_1, 1). %% 未领取 -define(REWARD_STATE_2, 2). %% 已领取 %% 记录玩家登出时间 -define(ETS_ROLE_LOGOUT_TIME, ets_role_logout_time). -record(role_mate, { mate_list = [] %% 羁绊对象 , mate_daily = [] %% 羁绊日常 , boat_stage = 1 %% 小船阶级 , boat_star = 1 %% 小船星级 , boat_exp = 0 %% 小船经验值 , wear_mate = 0 %% 佩戴的羁绊称号对象 , attr = [] %% 总属性 , extra_power = 0 %% 额外战力 , total_power = 0 %% 总战力 , newbee = 0 %% 新手奖励 }). -record(mate_info, { id = 0 %% 羁绊玩家id , remarks = <<>> %% 备注 , title = <<>> %% 羁绊称号(自定义) 由对方设置 你的XX , time = 0 %% 结交时间戳 %% 亲密度数据可由好友系统获取 , anniversary = [] %% 纪念日 %% 玩法次数由计数器统计 }). %%--------------------------------------------------------------------- %% @doc 羁绊管理器数据结构 %%--------------------------------------------------------------------- -record(mate_mgr, { mate_ask_msg = [] %% 请求羁绊数据 , mate_relieve_msg = [] %% 解除羁绊数据 , mate_act = [] %% 活动数据 , mate_hall = [] %% 交友大厅 , mate_hall_ref , mate_take_photo = [] %% #mate_take_photo{} }). %% 羁绊消息 -record(mate_message, { key, % 主键:{玩家A, 玩家B},玩家id以升序排列 from_role = 0, % 请求发起方 type = 0, % 类型:1请求|2解除 time = 0 % 时间 }). %% 活动日常 -record(mate_act, { key % 唯一 {玩家A, 玩家B},玩家id以升序排列 , from_role = 0 % 唯一 发起邀请的玩家 , act_id = 0 % 活动id 当前是哪个活动 , is_ready = [] % 准备好的玩家 , time = 0 , daily_score = [] % 玩家当日最佳成绩 , data % 活动具体数据:不同活动自定义 }). %% 节奏大师活动数据 -record(mate_rhythm_master, { tap_role = 0 % 当前可点击玩家 , music_id = 0 % 曲谱id , bit_group = [] % 剩余拍点组 , bit_id = [] % 剩余拍点id , score = 0 % 积分-- 实数/注意需要取整 , double_hit = 0 % 连击数 , max_double_hit = 0 % 最大连击数 , exist_bit = [] % 存在的拍点,拍打的存在才计算分数 , base_bit_score = 0 % 单次点击得分 , base_double_hit_score = 0 % 连击单位分 , ref_bit % 流程切换定时器 , ref_end % 结束定时器 }). %% 抛接球活动数据 -record(mate_catch_ball, { catch_role = 0 % 当前可点击玩家 , catch_time = 0 % 击球时刻 , hits = 0 % 击球次数 , ref % 流程切换定时器 }). %% 交友玩家 -record(mate_hall_role, { id = 0 ,declaration = "" %% 交友宣言 ,type = 0 %% 发布类型, 1普通发布|2置顶发布 ,time = 0 %% 发布时间 }). %% 拍照玩法 -record(mate_take_photo, { id = 0 %% 邀请者玩家id , invite = [] %% 受邀玩家 , time = 0 %% 邀请时间 , position = 0 %% 拍照地点 }). -record(mate_take_photo_role, { role_id = 0 %% 玩家id , is_accept = 0 %% 是否接受邀请 , is_ready = 0 %% 是否准备好 }). %% 羁绊日常 -record(mate_daily, { time = 0 %% 上次刷新时间 , rela_info = [] %% [{role_id, task_id, progress, state}}] , stranger_info = [] %% [role_id] }). %%--------------------------------------------------------------------- %% @doc 数据库 %%--------------------------------------------------------------------- -define(SQL_MATE_GET_ALL_MATE, <<"select other,remarks,title,time,anniversary from mate_info where role_id=~p">>). -define(SQL_MATE_GET_MATE_TITLE, <<"select other,title from mate_info where role_id=~p">>). -define(SQL_MATE_UPDATE_MATE_TITLE, <<"update mate_info set title=~ts where role_id=~p and other=~p">>). -define(SQL_MATE_SAVE_ONE_MATE, <<"replace into mate_info(role_id,other,remarks,title,time,anniversary) values(~p,~p,~p,~ts,~p,~ts)">>). -define(SQL_MATE_DELETE_ONE_MATE, <<"delete from mate_info where role_id=~p and other=~p">>). -define(SQL_MATE_GET_MATE_ROLE_INFO, <<"select boat_stage,boat_star,boat_exp,wear_mate,newbee from mate_role where role_id=~p">>). -define(SQL_MATE_SAVE_MATE_ROLE_INFO, <<"replace into mate_role(role_id,boat_stage,boat_star,boat_exp,wear_mate,newbee) values(~p,~p,~p,~p,~p,~p)">>). -define(SQL_MATE_UPDATE_WEAR_MATE, <<"update mate_role set wear_mate=~p where role_id=~p and wear_mate=~p">>). -define(SQL_MATE_GET_HALL, <<"select role_id,type,declaration,time from mate_hall">>). -define(SQL_MATE_SAVE_HALL, <<"replace into mate_hall(role_id,type,declaration,time) values(~p,~p,'~ts',~p)">>). -define(SQL_MATE_DEL_HALL, <<"delete from mate_hall where time<~p">>). -define(SQL_MATE_REMOVE_HALL, <<"delete from mate_hall where role_id=~p">>). -define(SQL_MATE_GET_DAILY_INFO, <<"select `time`, `stranger` from `mate_daily_info` where `role_id` = ~p">>). -define(SQL_MATE_UPDATE_DAILY_INFO, <<"replace into mate_daily_info(role_id, time, stranger) values (~p,~p,~ts)">>). -define(SQL_MATE_SELECT_DAILY_TASK_INFO, <<"select `mate_id`, `task_id`, `progress`, `state` from `mate_task_info` where role_id = ~p">>). -define(SQL_MATE_UPDATE_TASK_ONE, <<"update `mate_task_info` set `progress`=~p, `state`=~p where `role_id`=~p and `mate_id`=~p">>). -define(SQL_MATE_UPDATE_DAILY_TASK, <<"insert into `mate_task_info` (`role_id`,`mate_id`,`task_id`,`progress`,`state`) values ~ts">>). -define(SQL_MATE_DELETE_DAILY_TASK, <<"delete from mate_task_info where role_id = ~p">>). -define(SQL_SELECT_ROLE_IDS, <<"select `id`, `last_logout_time` from `player_login`">>). %%--------------------------------------------------------------------- %% @doc 配置 %%--------------------------------------------------------------------- %% 羁绊-友谊的小船 -record(base_mate_boat, { stage, star, name, exp, attr, picture, goods_id }). %% -record(base_mate_rhythm_master_music, { music_id, name, bgm, move, bit_group, time }). -record(base_mate_rhythm_master_bit, { bit_group, bit_id, bit_position, pre_time }). -record(base_mate_photo_pos, { id = 0, scene_id = 0, my_xy = [], others_xy = [] }). -record(base_mate_daily_task, { task_id = 0, type = 0, count = 0, object = [], reward = [] }).