diff --git a/src/server/conf/language/language_cfg.go b/src/server/conf/language/language_cfg.go index 375526c9..53bdce56 100644 --- a/src/server/conf/language/language_cfg.go +++ b/src/server/conf/language/language_cfg.go @@ -6,16 +6,45 @@ import ( ) const ( - CFG_LANGUAGE = "LanguageData" - CFG_ALLLANGUAGE = "AllLanguage" + CFG_LANGUAGE = "LanguageData" + CFG_ALLLANGUAGE = "AllLanguage" + CFG_ALLLANGUAGE_CLIENT = "AllLanguageClient" ) func init() { gamedata.InitCfg(CFG_LANGUAGE) gamedata.InitCfg(CFG_ALLLANGUAGE) + gamedata.InitCfg(CFG_ALLLANGUAGE_CLIENT) } func GetLanguage(lang msg.LANG_TYPE, key string) string { + res := _GetClientLanguage(lang, key) + if res != key { + return res + } + return _GetBackendLanguage(lang, key) +} + +func _GetClientLanguage(lang msg.LANG_TYPE, key string) string { + data, err := gamedata.GetDataByKey(CFG_ALLLANGUAGE_CLIENT, key) + if err != nil { + return key + } + switch lang { + case msg.LANG_TYPE_LANG_EN: + return gamedata.GetStringValue(data, "en_US") + case msg.LANG_TYPE_LANG_PTBR: + return gamedata.GetStringValue(data, "pt_BR") + case msg.LANG_TYPE_LANG_CN: + return gamedata.GetStringValue(data, "zh_CN") + case msg.LANG_TYPE_LANG_ES_LATAM: + return gamedata.GetStringValue(data, "es_LATAM") + default: + return key + } +} + +func _GetBackendLanguage(lang msg.LANG_TYPE, key string) string { data, err := gamedata.GetDataByKey(CFG_ALLLANGUAGE, key) if err != nil { return key diff --git a/src/server/game/activity_func.go b/src/server/game/activity_func.go index 439a84ff..79bbbe4e 100644 --- a/src/server/game/activity_func.go +++ b/src/server/game/activity_func.go @@ -47,7 +47,7 @@ func (p *Player) ActivityLogin() { ItemNum := ItemMod.GetItem(ItemId) if ItemNum != 0 { ItemMod.AddItem(ItemId, -ItemNum) - p.SendActivityMail(item.ITEM_ENERGY_ID, ItemNum, ActivityId, nil) + p.SendActivityMail(item.ITEM_ENERGY_ID, ItemNum, OldId, nil) } } diff --git a/src/server/game/player_data.go b/src/server/game/player_data.go index b8dfac74..99092975 100644 --- a/src/server/game/player_data.go +++ b/src/server/game/player_data.go @@ -1224,6 +1224,7 @@ func (p *Player) TickActivity() { p.InitActivity() p.ActivityZeroUpdate() p.BackDataActivity() + p.PushClientRes(p.GetMailMod().BackData()) p.SendClientRes() } diff --git a/src/server/test/charge_test.go b/src/server/test/charge_test.go index f7166f10..fc6b9060 100644 --- a/src/server/test/charge_test.go +++ b/src/server/test/charge_test.go @@ -31,5 +31,5 @@ func TestWatchAd(t *testing.T) { func TestActivityGiftAdd(t *testing.T) { p1 := new(game.Player) p1.InitPlayer("3625212") - p1.Charge(72) + p1.Charge(76) }