%%%-------------------------------------------------------------------
|
|
%%% @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 = []
|
|
}).
|