bug修复
This commit is contained in:
parent
7e794dc2dc
commit
b5eb216860
@ -195,7 +195,7 @@ func PlayroomTrigger(Time int64, Num int) (int64, int) {
|
||||
Duration = 3600
|
||||
}
|
||||
if Time+Duration > Now {
|
||||
return Time, Num
|
||||
return Time + Duration, Num
|
||||
}
|
||||
Time += Duration
|
||||
Num -= 10
|
||||
|
||||
@ -47,6 +47,11 @@ var Server struct {
|
||||
|
||||
func init() {
|
||||
filePath := "conf/server.json"
|
||||
if len(os.Args) > 1 {
|
||||
if os.Args[1] != "" {
|
||||
filePath = os.Args[1]
|
||||
}
|
||||
}
|
||||
file, err := os.Open(filePath)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
|
||||
@ -646,8 +646,8 @@ func (ad *GameLogic) CreateDailyLogFile() {
|
||||
func (ad *GameLogic) RegisterNetWorkFunc() {
|
||||
|
||||
RegisterMsgProcessFunc("ReqRemoveAd", ReqRemoveAdFunc)
|
||||
|
||||
RegisterMsgProcessFunc("ReqPlayerBriefProfileData", ReqPlayerBriefProfileDataFunc)
|
||||
RegisterMsgProcessFunc("ReqOfflineReconnect", ReqOfflineReconnectFunc)
|
||||
|
||||
// 玩家
|
||||
RegisterMsgProcessFunc("ReqUserInfo", ReqUserInfo)
|
||||
|
||||
@ -125,6 +125,8 @@ func LimitedTimeCardTrigger(p *Player) {
|
||||
}
|
||||
if EndTime > 0 {
|
||||
p.CallEvent(time.Duration(EndTime-Now)*time.Second, func() {
|
||||
p.lock.Lock()
|
||||
defer p.lock.Unlock()
|
||||
LimitedTimeCardTrigger(p)
|
||||
p.SendClientRes()
|
||||
}, "LimitedTimeCard")
|
||||
@ -143,9 +145,11 @@ func LimitedTimePlayroomTrigger(p *Player, Id int) {
|
||||
MoodInfo.Num = Num
|
||||
p.PlayMod.save()
|
||||
PlayroomBackData(p)
|
||||
if NewTime > 0 {
|
||||
NextSecond := NewTime + 1200 - Now
|
||||
NextSecond := NewTime + 1200 - Now
|
||||
if NextSecond > 0 {
|
||||
p.CallEvent(time.Duration(NextSecond)*time.Second, func() {
|
||||
p.lock.Lock()
|
||||
defer p.lock.Unlock()
|
||||
LimitedTimePlayroomTrigger(p, Id)
|
||||
p.SendClientRes()
|
||||
}, "Playroom")
|
||||
@ -163,9 +167,11 @@ func LimitedTimePlayroomWorkTrigger(p *Player) {
|
||||
p.SendClientRes()
|
||||
return
|
||||
}
|
||||
if EndTime > 0 {
|
||||
NextSecond := EndTime - GoUtil.Now()
|
||||
NextSecond := EndTime - GoUtil.Now()
|
||||
if NextSecond > 0 {
|
||||
p.CallEvent(time.Duration(NextSecond)*time.Second, func() {
|
||||
p.lock.Lock()
|
||||
defer p.lock.Unlock()
|
||||
LimitedTimePlayroomWorkTrigger(p)
|
||||
p.SendClientRes()
|
||||
}, "PlayroomWork")
|
||||
|
||||
@ -183,7 +183,7 @@ func (p *Player) InitPlayer(UserName string) error {
|
||||
p.Msg = make(map[string]PlayerMsg)
|
||||
p.args = make(map[string]interface{})
|
||||
p.timerList = make(map[string]*timer.Timer)
|
||||
p.MDispatr = timer.NewDispatcher(10)
|
||||
p.MDispatr = timer.NewDispatcher(100)
|
||||
p.stopSignal = make(chan bool)
|
||||
p.playerdata = make(map[string]PlayerDataModule)
|
||||
Base := &PlayerBaseData{PlayerData: NewPlayerData(PLAYER_BASE_DATA, p)}
|
||||
|
||||
@ -10,6 +10,7 @@ import (
|
||||
"server/MergeConst"
|
||||
userCfg "server/conf/user"
|
||||
"server/db"
|
||||
"server/game/mod/item"
|
||||
"server/game/mod/limitedTimeEvent"
|
||||
"server/game/mod/quest"
|
||||
"server/msg"
|
||||
@ -621,6 +622,7 @@ func (p *PlayerBaseData) AddExp(exp int) (int, error) {
|
||||
upLv := 0
|
||||
upExp := userCfg.GetLevUpExp(int(p.Data.Level))
|
||||
Num := 0
|
||||
UpLevelItem := make([]*item.Item, 0)
|
||||
for p.Data.Exp >= int32(upExp) {
|
||||
if Num > 100 {
|
||||
break
|
||||
@ -636,7 +638,8 @@ func (p *PlayerBaseData) AddExp(exp int) (int, error) {
|
||||
p.M_Player.PushClientRes(DailyTaskMod.BackData())
|
||||
}
|
||||
upLv = int(p.Data.Level)
|
||||
|
||||
Items := userCfg.GetLevUpReward(upLv)
|
||||
UpLevelItem = item.Merge(UpLevelItem, Items)
|
||||
// 棋盘背包解锁
|
||||
p.M_Player.PushClientRes(p.BackAsset())
|
||||
ChessMod := p.M_Player.PlayMod.getChessMod()
|
||||
@ -657,6 +660,12 @@ func (p *PlayerBaseData) AddExp(exp int) (int, error) {
|
||||
"property_level_reward": userCfg.GetUnlock(int(p.Data.Level)),
|
||||
})
|
||||
}
|
||||
if len(UpLevelItem) > 0 {
|
||||
err := p.M_Player.HandleItem(UpLevelItem, "LevUpReward")
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
}
|
||||
p.M_Player.PushClientRes(p.BackAsset())
|
||||
return upLv, nil
|
||||
|
||||
|
||||
@ -99,6 +99,9 @@ func (p *PlayerChessData) UpdateChessData(MChessData map[string]int32) error {
|
||||
return fmt.Errorf("棋子数据不一致")
|
||||
}
|
||||
p.M_Player.PlayMod.getChessMod().ChessMap = MChessData
|
||||
if p.M_Player.M_DwUin == 200042 {
|
||||
log.Debug("棋子数据一致, %v---%v", p.Data.MChessData, p.M_Player.PlayMod.getChessMod().GetChessList())
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -611,8 +611,8 @@ func GetVisitorPlayer(p *Player) int {
|
||||
})
|
||||
return PlayerList2[0].Uid
|
||||
}
|
||||
|
||||
return GetRecommendPlayer(p, 1)[0]
|
||||
L := GetRecommendPlayer(p, 1)
|
||||
return L[0]
|
||||
}
|
||||
|
||||
func GetRecommendPlayer(p *Player, Num int) []int {
|
||||
@ -638,6 +638,14 @@ func GetRecommendPlayer(p *Player, Num int) []int {
|
||||
}
|
||||
PlayerList1 = append(PlayerList1, v.Uid)
|
||||
}
|
||||
if len(PlayerList1) == 0 {
|
||||
for _, v := range PlayerList {
|
||||
if v.Uid == int(p.M_DwUin) {
|
||||
continue
|
||||
}
|
||||
PlayerList1 = append(PlayerList1, v.Uid)
|
||||
}
|
||||
}
|
||||
return GoUtil.RandSliceNum(PlayerList1, Num)
|
||||
}
|
||||
|
||||
|
||||
@ -121,6 +121,9 @@ func (r *RankMgr) getRedisRankInfo(m *msg.Msg) (interface{}, error) {
|
||||
if err != nil {
|
||||
return &RankInfo{}, nil
|
||||
}
|
||||
sort.Slice(RedisList, func(i, j int) bool { // 排序 从大到小
|
||||
return RedisList[i].Score > RedisList[j].Score
|
||||
})
|
||||
rankList := make([]*Rank, 0)
|
||||
for _, v := range RedisList {
|
||||
rankList = append(rankList, &Rank{
|
||||
|
||||
@ -9,8 +9,8 @@ import (
|
||||
cardCfg "server/conf/card"
|
||||
mergeDataCfg "server/conf/mergeData"
|
||||
miningCfg "server/conf/mining"
|
||||
userCfg "server/conf/user"
|
||||
"server/db"
|
||||
"server/game/internal"
|
||||
"server/game/mod/card"
|
||||
"server/game/mod/friend"
|
||||
"server/game/mod/item"
|
||||
@ -23,6 +23,7 @@ import (
|
||||
"server/msg"
|
||||
"strconv"
|
||||
|
||||
"server/pkg/github.com/name5566/leaf/gate"
|
||||
"server/pkg/github.com/name5566/leaf/log"
|
||||
|
||||
"google.golang.org/protobuf/proto"
|
||||
@ -375,7 +376,7 @@ func ReqDecorate(args []interface{}) error {
|
||||
return err
|
||||
}
|
||||
|
||||
UpLev, err := player.GetPlayerBaseMod().AddExp(10)
|
||||
_, err = player.GetPlayerBaseMod().AddExp(10)
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorate{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
@ -397,17 +398,6 @@ func ReqDecorate(args []interface{}) error {
|
||||
player.TeLog("finish_deco", map[string]interface{}{
|
||||
"deco_step_id": DecorateId,
|
||||
})
|
||||
if UpLev > 0 { //升级 获取奖励
|
||||
Items := userCfg.GetLevUpReward(UpLev)
|
||||
err = player.HandleItem(Items, "LevUpReward")
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorate{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
player.PlayMod.save()
|
||||
player.PushClientRes(DecorateMod.BackData())
|
||||
@ -447,7 +437,7 @@ func ReqDecorateAll(args []interface{}) error {
|
||||
return err
|
||||
}
|
||||
|
||||
UpLev, err := player.GetPlayerBaseMod().AddExp(10 * DecorateNum)
|
||||
_, err = player.GetPlayerBaseMod().AddExp(10 * DecorateNum)
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorateAll{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
@ -456,18 +446,6 @@ func ReqDecorateAll(args []interface{}) error {
|
||||
return err
|
||||
}
|
||||
|
||||
if UpLev > 0 { //升级 获取奖励
|
||||
Items := userCfg.GetLevUpReward(UpLev)
|
||||
err = player.HandleItem(Items, "LevUpReward")
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResDecorateAll{
|
||||
Code: msg.RES_CODE_FAIL,
|
||||
Msg: err.Error(),
|
||||
})
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
player.TeLog("one_click_decoration", map[string]interface{}{
|
||||
"deco_step_id": DecorateList,
|
||||
})
|
||||
@ -2983,6 +2961,7 @@ func ReqPlayroomDraw(args []interface{}) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.args["ResItemPopId"] = Id
|
||||
err = player.HandleItem(Items, "playroomDraw")
|
||||
if err != nil {
|
||||
player.SendErrClienRes(&msg.ResPlayroomDraw{
|
||||
@ -2991,9 +2970,9 @@ func ReqPlayroomDraw(args []interface{}) error {
|
||||
})
|
||||
return err
|
||||
}
|
||||
player.args["ResItemPopId"] = Id
|
||||
player.PlayMod.save()
|
||||
PlayroomBackData(player)
|
||||
// PlayroomBackData(player)
|
||||
player.PushClientRes(PlayroomMod.NotifyMood())
|
||||
player.PushClientRes(&msg.ResPlayroomDraw{
|
||||
Code: msg.RES_CODE_SUCCESS,
|
||||
Id: int32(Id),
|
||||
@ -3001,6 +2980,7 @@ func ReqPlayroomDraw(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 清理碎片
|
||||
func ReqPlayroomChip(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqPlayroomChip{}
|
||||
@ -3023,6 +3003,7 @@ func ReqPlayroomChip(args []interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// 翻牌游戏
|
||||
func ReqPlayroomFlip(args []interface{}) error {
|
||||
_, player, buf := ParseArgs(args)
|
||||
req := &msg.ReqPlayroomFlip{}
|
||||
@ -3067,3 +3048,33 @@ func ReqPlayroomFlip(args []interface{}) error {
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
func ReqOfflineReconnectFunc(args []interface{}) error {
|
||||
a := args[0].(gate.Agent)
|
||||
|
||||
buf := args[1].([]byte)
|
||||
|
||||
req := &msg.ReqOfflineReconnect{}
|
||||
proto.Unmarshal(buf, req)
|
||||
|
||||
res := &msg.ResOfflineReconnect{}
|
||||
res.DwUin = req.DwUin
|
||||
|
||||
if v, ok := G_GameLogicPtr.M_Players.Load(req.DwUin); ok {
|
||||
player := v.(*Player)
|
||||
agent := player.GetAgentByPlayer()
|
||||
if agent != a {
|
||||
player.SetAgent(a)
|
||||
internal.AsignPlayerToAgents(a, player)
|
||||
internal.Agents.Delete(agent)
|
||||
}
|
||||
|
||||
res.Result = 3
|
||||
} else {
|
||||
res.Result = 2
|
||||
}
|
||||
|
||||
data, _ := proto.Marshal(res)
|
||||
G_GameLogicPtr.PackResInfo(a, "ResOfflineReconnect", data)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package game
|
||||
import (
|
||||
"fmt"
|
||||
"server/game/mod/order"
|
||||
"server/game/mod/sevenLogin"
|
||||
)
|
||||
|
||||
func UnitEndlessReward(p *Player) error {
|
||||
@ -64,3 +65,17 @@ func UnitChess(p *Player) error {
|
||||
ChargeMod.InitChessShop(Emit)
|
||||
return nil
|
||||
}
|
||||
|
||||
func UnitDecorate(p *Player) error {
|
||||
PlayerBaseMod := p.GetPlayerBaseMod()
|
||||
PlayerBaseMod.Data.Level = 6
|
||||
PlayerBaseMod.Data.Exp = 50
|
||||
PlayerBaseMod.AddExp(100)
|
||||
return nil
|
||||
}
|
||||
|
||||
func UnitSevenMonthReward(p *Player) error {
|
||||
i := sevenLogin.F()
|
||||
fmt.Print(i)
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -100,6 +100,9 @@ func (s *SevenLoginMod) BackData() *msg.ResSevenLogin {
|
||||
}
|
||||
|
||||
for k, v := range s.MonthReward {
|
||||
if k < 0 {
|
||||
continue
|
||||
}
|
||||
Active := sevenLoginCfg.GetMonthActive(k)
|
||||
Status := GoUtil.IfTrue(!v.Status && s.Active >= Active, 1, 0).(int)
|
||||
Status = GoUtil.IfTrue(v.Status, 2, Status).(int)
|
||||
|
||||
@ -121,3 +121,20 @@ func randMonthReward() map[int]Reward {
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func F() map[int]Reward {
|
||||
RewardList := sevenLoginCfg.GetSevenLoginMonthReward()
|
||||
sort.Slice(RewardList, func(i, j int) bool {
|
||||
return RewardList[i].Id < RewardList[j].Id
|
||||
})
|
||||
jackpot := sevenLoginCfg.GetSevenLoginJackpot(1)
|
||||
sort.Slice(jackpot, func(i, j int) bool {
|
||||
return jackpot[i].Diamond < jackpot[j].Diamond
|
||||
})
|
||||
result := make(map[int]Reward)
|
||||
for _, v := range RewardList {
|
||||
Reward := randReward(v, 0, jackpot, []int{}, 0.65, 1)
|
||||
result[v.Id] = Reward
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user