From e8b91b8dd9135a9ee208d53c5eb0661d72795f28 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Wed, 9 Jul 2025 17:56:12 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/order/orderCfg.go | 17 +++++++++++++++++ src/server/game/GameLogic.go | 1 + 2 files changed, 18 insertions(+) diff --git a/src/server/conf/order/orderCfg.go b/src/server/conf/order/orderCfg.go index 488c3e01..c8acf6c4 100644 --- a/src/server/conf/order/orderCfg.go +++ b/src/server/conf/order/orderCfg.go @@ -84,6 +84,23 @@ func GetStartOrderByStep(id int) []*gamedata.StartOrderData { return ret } +func GetStartOrderById(id int) *gamedata.StartOrderData { + data, err := gamedata.GetData(CFG_START_ORDER) + if err != nil { + return nil + } + v, ok := data[strconv.Itoa(id)] + if !ok { + return nil + } + stepVal := gamedata.GetIntValue(v, "step") + return &gamedata.StartOrderData{ + Id: id, + Step: int(stepVal), + MergeList: gamedata.GetIntSliceValue(v, "merge_id_list"), + } +} + func GetMaxStep() int { data, err := gamedata.GetData(CFG_START_ORDER) if err != nil { diff --git a/src/server/game/GameLogic.go b/src/server/game/GameLogic.go index 95e82051..3ed404f2 100644 --- a/src/server/game/GameLogic.go +++ b/src/server/game/GameLogic.go @@ -920,6 +920,7 @@ func Destroy() { G_GameLogicPtr.VarMgr.SaveData() G_GameLogicPtr.MLogManager.Close() } + log.Debug("服务器下线完成") } func GeneratedCode(Phone string) (string, error) { From da2ae614f37862bae7872e208f14f7731586fb5c Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 10 Jul 2025 11:31:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=99=90=E6=97=B6=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../limitedTimeEvent/LimitedTimeEventCfg.go | 24 +++++++++++++++++++ src/server/game/RegisterNetworkFunc.go | 2 +- .../mod/limitedTimeEvent/LimitedTimeEvent.go | 6 ++++- src/server/teLog/log.2024-11-27 | 0 src/server/teLog/log.2024-11-28 | 8 ------- 5 files changed, 30 insertions(+), 10 deletions(-) delete mode 100644 src/server/teLog/log.2024-11-27 delete mode 100644 src/server/teLog/log.2024-11-28 diff --git a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go index 421719d5..2f0c3dfd 100644 --- a/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go +++ b/src/server/conf/limitedTimeEvent/LimitedTimeEventCfg.go @@ -218,6 +218,21 @@ func GetProgressRewardRand(Lv int) map[int]int { return r } +func GetJackpotIdByType(Type int) int { + data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_JACKPOT) + if err != nil { + log.Debug("GetJackpotIdByType err:%v", err) + return 0 + } + for k, v := range data { + Id := GoUtil.Int(k) + if Type == gamedata.GetIntValue(v, "Type") { + return Id + } + } + return 0 +} + // 获取进度选择数量 func GetProgressSelectNum(Lv int) int { data, err := gamedata.GetData(CFG_LIMITED_TIME_EVENT_BONUS) @@ -297,6 +312,15 @@ func GetPaybackDay() int { return gamedata.GetIntValue(data, "Value") } +func GetHighRollerNeedEnergy() int { + data, err := gamedata.GetDataByKey(CFG_LIMITED_TIME_EVENT_CONST, "High_Roller_Need_Energy") + if err != nil { + log.Debug("GetHighRollerNeedEnergy err:%v", err) + return 0 + } + return gamedata.GetIntValue(data, "Value") +} + // 招财猫 func GetMoneyCat(Id int) (float64, int) { diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index f2d1b114..1c0d357a 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -2840,7 +2840,7 @@ func ReqSelectLimitEvent(player *Player, buf []byte) error { proto.Unmarshal(buf, req) LimitedTimeEventMod := player.PlayMod.getLimitedTimeEventMod() BaseMod := player.PlayMod.getBaseMod() - Items, slot_reward, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.Level) + Items, slot_reward, slot_order_number, err := LimitedTimeEventMod.SelectProgressReward(int(req.Id), BaseMod.GetLevel(), BaseMod.GetEnergy()) if err != nil { player.SendErrClienRes(&msg.ResSelectLimitEvent{ Code: msg.RES_CODE_FAIL, diff --git a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go index 3d0ab95f..fc3a78bd 100644 --- a/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go +++ b/src/server/game/mod/limitedTimeEvent/LimitedTimeEvent.go @@ -344,7 +344,7 @@ func (l *LimitedTimeEventMod) AddProgress(Lv int) { } // 选择进度奖励 -func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv int) ([]*item.Item, map[int]int, int, error) { +func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv, Energy int) ([]*item.Item, map[int]int, int, error) { RewardId, ok := l.ProgressReward[Id] if !ok { return nil, nil, 0, fmt.Errorf("RewardId not exist") @@ -362,6 +362,10 @@ func (l *LimitedTimeEventMod) SelectProgressReward(Id, Lv int) ([]*item.Item, ma SelectNum := limitedTimeEventCfg.GetProgressSelectNum(Lv) BonusLv := limitedTimeEventCfg.GetBonusLv(Lv) RandMap := limitedTimeEventCfg.GetProgressRewardRand(BonusLv) + // 体力小于200 high roller事件不进池子 + if Energy < limitedTimeEventCfg.GetHighRollerNeedEnergy() { + delete(RandMap, limitedTimeEventCfg.GetJackpotIdByType(EVENT_TYPE_HIGH_ROLLER)) + } n := 0 r := make([]int, 0) LastOption := l.LastOption diff --git a/src/server/teLog/log.2024-11-27 b/src/server/teLog/log.2024-11-27 deleted file mode 100644 index e69de29b..00000000 diff --git a/src/server/teLog/log.2024-11-28 b/src/server/teLog/log.2024-11-28 deleted file mode 100644 index 7d49aa41..00000000 --- a/src/server/teLog/log.2024-11-28 +++ /dev/null @@ -1,8 +0,0 @@ -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 11:34:46.831","#event_name":"asset_change","#uuid":"b717face-ad39-11ef-8528-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":229,"change_num":50,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 12:06:37.167","#event_name":"asset_change","#uuid":"29be1c8a-ad3e-11ef-a6e1-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":279,"change_num":50,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:06:14.301","#event_name":"asset_change","#uuid":"a32e8eea-ad5f-11ef-a370-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":1031,"change_num":100,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:09:48.323","#event_name":"asset_change","#uuid":"22bfd41f-ad60-11ef-b379-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":1031,"change_num":100,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:10:15.334","#event_name":"buy_energy_diamond","#uuid":"32d952d0-ad60-11ef-b379-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","diamond_cost":0,"energy_num":100}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:51:30.266","#event_name":"asset_change","#uuid":"f605fd74-ad65-11ef-9f0f-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":1231,"change_num":200,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:52:24.927","#event_name":"asset_change","#uuid":"169a8a7c-ad66-11ef-9f0f-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":1431,"change_num":200,"change_type":"consume","item_id":100001}} -{"#account_id":"wmz123456","#distinct_id":"wmz123456","#type":"track","#time":"2024-11-28 16:54:29.999","#event_name":"asset_change","#uuid":"6127238e-ad66-11ef-a970-00155d43b6ac","properties":{"#lib":"Golang","#lib_version":"2.0.3","change_after":1631,"change_num":200,"change_type":"consume","item_id":100001}} From 642703bc6a69889cce71e3aacf33f514b4969435 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:30:49 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=8D=E8=83=BD=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E8=87=AA=E5=B7=B1=E4=B8=BA=E5=A5=BD=E5=8F=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/game/RegisterNetworkFunc.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/server/game/RegisterNetworkFunc.go b/src/server/game/RegisterNetworkFunc.go index 1c0d357a..eca931cf 100644 --- a/src/server/game/RegisterNetworkFunc.go +++ b/src/server/game/RegisterNetworkFunc.go @@ -1489,6 +1489,13 @@ func ReqApplyFriend(player *Player, buf []byte) error { proto.Unmarshal(buf, req) Uid := int(req.Uid) FriendMod := player.PlayMod.getFriendMod() + if Uid == int(player.M_DwUin) { + player.SendErrClienRes(&msg.ResApplyFriend{ + Code: msg.RES_CODE_FAIL, + Msg: "cannot apply yourself", + }) + return fmt.Errorf("cannot apply yourself") + } if FriendMod.CheckFriend(Uid) { player.SendErrClienRes(&msg.ResApplyFriend{ Code: msg.RES_CODE_FAIL,