From eaa8a32b006dc6258f08a25fe11c30cd557bcea3 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Fri, 4 Jul 2025 10:36:12 +0800 Subject: [PATCH] =?UTF-8?q?playroom=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/GoUtil/GoUtil.go | 12 ++++++++++++ src/server/game/RegisterNetworkFunc.go | 1 + 2 files changed, 13 insertions(+) diff --git a/src/server/GoUtil/GoUtil.go b/src/server/GoUtil/GoUtil.go index d64463c7..0d821157 100644 --- a/src/server/GoUtil/GoUtil.go +++ b/src/server/GoUtil/GoUtil.go @@ -300,3 +300,15 @@ func Rand6DigitNumber() string { n := rand.Intn(1000000) return fmt.Sprintf("%06d", n) } + +func UniqueInts(input []int) []int { + seen := make(map[int]struct{}) + result := make([]int, 0, len(input)) + for _, v := range input { + if _, ok := seen[v]; !ok { + seen[v] = struct{}{} + result = append(result, v) + } + } + return result +} diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index d1484471..188b428c 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -3136,6 +3136,7 @@ func ReqPlayroomInfo(player *Player, buf []byte) error { RandList = append(RandList, v) } } + RandList = GoUtil.UniqueInts(RandList) if len(RandList) == 0 { PlayroomMod.SetGameReward(0, 0, Star) } else if len(RandList) == 1 {