From d30a2a109bf34c2a7fc9c6f7885e28c66f14ae86 Mon Sep 17 00:00:00 2001 From: hahwu <31872165+hahwu@users.noreply.github.com> Date: Mon, 16 Dec 2024 17:43:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E5=9B=9E=E5=BD=92=E5=A5=96?= =?UTF-8?q?=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/server/conf/mail/mailCfg.go | 19 +++++++++++++++++++ src/server/game/Player.go | 1 + src/server/game/PlayerFunc.go | 26 +++++++++++++++++++++++++- src/server/game/mod/base/Base.go | 1 + 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/server/conf/mail/mailCfg.go diff --git a/src/server/conf/mail/mailCfg.go b/src/server/conf/mail/mailCfg.go new file mode 100644 index 00000000..492cf15b --- /dev/null +++ b/src/server/conf/mail/mailCfg.go @@ -0,0 +1,19 @@ +package mailCfg + +import "server/gamedata" + +const ( + CFG_LOGIN_BACK = "LoginBack" +) + +func init() { + gamedata.InitCfg(CFG_LOGIN_BACK) +} + +func GetLoginBack(Id string) (int, int) { + data, err := gamedata.GetDataByKey(CFG_LOGIN_BACK, Id) + if err != nil { + return 0, 0 + } + return gamedata.GetIntValue(data, "Num1"), gamedata.GetIntValue(data, "Num2") +} diff --git a/src/server/game/Player.go b/src/server/game/Player.go index 7c4bffda..67f11765 100644 --- a/src/server/game/Player.go +++ b/src/server/game/Player.go @@ -345,6 +345,7 @@ func (p *Player) Login() { LimitedTimePlayroomTrigger(p, playroom.MOOD_TYPE_CLEAN) LimitedTimePlayroomWorkTrigger(p) ActivityLogin(p) + LoignBack(p) p.PlayMod.getCardMod().Login(G_GameLogicPtr.SeverInfo.OpenTime) } diff --git a/src/server/game/PlayerFunc.go b/src/server/game/PlayerFunc.go index 9508c396..0329e92b 100644 --- a/src/server/game/PlayerFunc.go +++ b/src/server/game/PlayerFunc.go @@ -7,6 +7,7 @@ import ( mergeCluster "server/cluster" cardCfg "server/conf/card" chargeCfg "server/conf/charge" + mailCfg "server/conf/mail" mergeDataCfg "server/conf/mergeData" "server/db" "server/game/mod/card" @@ -734,5 +735,28 @@ func EmitRetireTrigger2(p *Player) { OrderMod.CreateCleanOrder(ChessList) return } - +} + +func LoignBack(p *Player) { + BaseMod := p.PlayMod.getBaseMod() + if BaseMod.LoginBack { + return + } + PlayBaseMod := p.GetPlayerBaseMod() + Num1, Num2 := mailCfg.GetLoginBack(PlayBaseMod.Data.UserName) + Items := make([]*item.Item, 0) + if Num1 != 0 { + Items = append(Items, &item.Item{Id: item.ITEM_DIAMOND_ID, Num: Num1}) + } + if Num2 != 0 { + Items = append(Items, &item.Item{Id: item.ITEM_DIAMOND_ID, Num: Num2}) + } + if len(Items) != 0 { + MailMod := p.PlayMod.getMailMod() + MailMod.Send("Test Players' Refund", + `Welcome back to our game! + Here comes your refund for your scene progress and payment in test version! + Have fun in new version!`, Items) + } + BaseMod.LoginBack = true } diff --git a/src/server/game/mod/base/Base.go b/src/server/game/mod/base/Base.go index 6545e379..44f74eb3 100644 --- a/src/server/game/mod/base/Base.go +++ b/src/server/game/mod/base/Base.go @@ -17,6 +17,7 @@ type Base struct { EnergyBuy int NickName string FacebookUrl string + LoginBack bool // 回归补偿 } func (b *Base) InitData(Uid int) {