CP组合进入房间触发 特效

This commit is contained in:
2025-11-22 15:49:46 +08:00
parent 755a0c9af4
commit a66c0608d8
2 changed files with 33 additions and 4 deletions

View File

@@ -133,10 +133,8 @@ class Chat extends Model
// SongCountChange = 1072,
//CP房间推送信息
// CP房间表达心动信号
// CPRoomExpression = 1080,
// CP组建成功
// CPRoomBuildSuccess = 1081,
// CP进入房间触发特效
// CPRoomEffect = 1080,

View File

@@ -860,6 +860,37 @@ class Room extends Model
$text['FromUserInfo']['enter_image'] = $Nobility['enter_image'];
$text['FromUserInfo']['enter_text'] = '欢迎 ' . $Nobility['nobility_name'] .' 进入房间';
model('api/Chat')->sendMsg(1001,$room_id,$text,$user_id);
//当前用户不是隐身状态的时候触发CP特效
//获取房间内的用户 和当前用户 查找是否有有效CPzone
$user_list = db::name('vs_room_visitor')
->where(['room_id' => $room_id])
->column('user_id'); // 使用column直接获取一维数组
$cpzone_list = db::name('user_cp_zone')
->where(['status' => 1])
->where(function($query) use ($user_id) {
$query->whereOr(['user_id1' => $user_id])
->whereOr(['user_id2' => $user_id]);
})
->select();
if ($cpzone_list) {
foreach ($cpzone_list as $cpzone) {
// 获取CP伙伴的用户ID
$partner_id = ($cpzone['user_id1'] == $user_id) ? $cpzone['user_id2'] : $cpzone['user_id1'];
// 检查CP伙伴是否在房间内
if (in_array($partner_id, $user_list)) {
// 推送CP特效
$ttex['rights_icon'] = model('api/Decorate')->user_decorate_detail($user_id, 10);
$ttex['FromUserInfo'] = db::name('user')->where('id', $user_id)->field('id as user_id,nickname,avatar,sex')->find();
$ttex['ToUserInfo'] = db::name('user')->where('id', $partner_id)->field('id as user_id,nickname,avatar,sex')->find();
$ttex['text'] = 'CP特效';
model('api/Chat')->sendMsg(1080, $room_id, $ttex);
}
}
}
}else{
$text['FromUserInfo']['enter_image'] = '';
$text['FromUserInfo']['enter_text'] = '';