diff --git a/modules/items/modelitems.go b/modules/items/modelitems.go index 5feaa774e..f9680c669 100644 --- a/modules/items/modelitems.go +++ b/modules/items/modelitems.go @@ -754,21 +754,27 @@ func (this *ModelItemsComp) useitem(session comm.IUserSession, gid string, amoun } case itemuse_randombox: //宝箱 user := this.module.ModuleUser.GetUser(session.GetUserId()) - if prop := this.module.ModuleTools.GetGroupDataByLottery(itemcf.BoxId, user.Vip, user.Lv); len(prop) == 0 { - //if prop = this.module.configure.GetDropData(itemcf.BoxId); prop == nil { - errdata = &pb.ErrorData{ - Code: pb.ErrorCode_ConfigNoFound, - Title: pb.ErrorCode_ConfigNoFound.ToString(), - Message: fmt.Sprintf("掉落组未找到:%d", itemcf.BoxId), + props := make([]*cfg.Gameatn, 0) + for i := int32(0); i < amount; i++ { + if prop := this.module.ModuleTools.GetGroupDataByLottery(itemcf.BoxId, user.Vip, user.Lv); len(prop) == 0 { + //if prop = this.module.configure.GetDropData(itemcf.BoxId); prop == nil { + errdata = &pb.ErrorData{ + Code: pb.ErrorCode_ConfigNoFound, + Title: pb.ErrorCode_ConfigNoFound.ToString(), + Message: fmt.Sprintf("掉落组未找到:%d", itemcf.BoxId), + } + return + } else { + props = append(props, prop...) } + + } + + if errdata = this.module.AddItemforGrid(session, gid, -1*int32(amount), true); errdata != nil { + return + } + if errdata = this.module.DispenseRes(session, props, true); errdata != nil { return - } else { - if errdata = this.module.AddItemforGrid(session, gid, -1*int32(amount), true); errdata != nil { - return - } - if errdata = this.module.DispenseRes(session, prop, true); errdata != nil { - return - } } case itemuse_staminapotion: //体力药剂使用