diff --git a/bin/json/game_item.json b/bin/json/game_item.json index 29ae860f7..0b3332ff5 100644 --- a/bin/json/game_item.json +++ b/bin/json/game_item.json @@ -1,259 +1,4 @@ [ - { - "id": 1, - "name": "绿色材料", - "usetype": 1, - "color": 1, - "bagtype": 1, - "index": 1, - "special_type": 0, - "effects": "", - "drop": 0, - "synthetize_num": 10, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 10, - "isani": 0, - "star": 2, - "race": 1, - "synthetize_hero": 0, - "img": "item1", - "ico": "item1", - "intr": "绿色材料,可以合成蓝色材料", - "sale": [ - { - "a": "attr", - "t": "gold", - "n": 2000 - } - ], - "boxhero": [] - }, - { - "id": 2, - "name": "蓝色材料", - "usetype": 1, - "color": 2, - "bagtype": 2, - "index": 2, - "special_type": 0, - "effects": "", - "drop": 0, - "synthetize_num": 20, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 3, - "race": 2, - "synthetize_hero": 0, - "img": "item2", - "ico": "item2", - "intr": "蓝色材料,可以合成紫色材料", - "sale": [ - { - "a": "attr", - "t": "gold", - "n": 3000 - } - ], - "boxhero": [] - }, - { - "id": 3, - "name": "紫色材料", - "usetype": 1, - "color": 3, - "bagtype": 3, - "index": 3, - "special_type": 0, - "effects": "", - "drop": 0, - "synthetize_num": 30, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 4, - "race": 3, - "synthetize_hero": 0, - "img": "item3", - "ico": "item3", - "intr": "紫色材料,可以合成橙色材料", - "sale": [ - { - "a": "attr", - "t": "gold", - "n": 4000 - } - ], - "boxhero": [] - }, - { - "id": 4, - "name": "橙色材料", - "usetype": 1, - "color": 4, - "bagtype": 3, - "index": 4, - "special_type": 0, - "effects": "", - "drop": 0, - "synthetize_num": 40, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 5, - "race": 4, - "synthetize_hero": 0, - "img": "item4", - "ico": "item4", - "intr": "橙色材料,可以合成红色材料", - "sale": [ - { - "a": "attr", - "t": "gold", - "n": 5000 - } - ], - "boxhero": [] - }, - { - "id": 5, - "name": "红色材料", - "usetype": 2, - "color": 5, - "bagtype": 3, - "index": 5, - "special_type": 0, - "effects": "effects1", - "drop": 0, - "synthetize_num": 0, - "access": 0, - "use_skip": 0, - "upper_limit": 1, - "uselv": 0, - "isani": 1, - "star": 6, - "race": 4, - "synthetize_hero": 0, - "img": "item5", - "ico": "item5", - "intr": "红色材料,最顶级的材料", - "sale": [ - { - "a": "attr", - "t": "gold", - "n": 6000 - } - ], - "boxhero": [] - }, - { - "id": 6, - "name": "金币箱子", - "usetype": 4, - "color": 4, - "bagtype": 1, - "index": 6, - "special_type": 0, - "effects": "", - "drop": 0, - "synthetize_num": 0, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 5, - "race": 0, - "synthetize_hero": 0, - "img": "item6", - "ico": "item6", - "intr": "可以在以下道具中选择任选1个", - "sale": [], - "boxhero": [] - }, - { - "id": 7, - "name": "随机金币箱子", - "usetype": 7, - "color": 4, - "bagtype": 1, - "index": 7, - "special_type": 0, - "effects": "", - "drop": 1, - "synthetize_num": 0, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 5, - "race": 0, - "synthetize_hero": 0, - "img": "item7", - "ico": "item7", - "intr": "可以下一下道具中随机获取1个", - "sale": [], - "boxhero": [] - }, - { - "id": 8, - "name": "2小时金币", - "usetype": 5, - "color": 4, - "bagtype": 1, - "index": 8, - "special_type": 120, - "effects": "", - "drop": 0, - "synthetize_num": 0, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 5, - "race": 0, - "synthetize_hero": 0, - "img": "item8", - "ico": "item8", - "intr": "使用后获得2小时金币收益", - "sale": [], - "boxhero": [] - }, - { - "id": 9, - "name": "1分钟就不见", - "usetype": 6, - "color": 4, - "bagtype": 1, - "index": 9, - "special_type": 1, - "effects": "", - "drop": 0, - "synthetize_num": 0, - "access": 0, - "use_skip": 0, - "upper_limit": 999, - "uselv": 0, - "isani": 0, - "star": 5, - "race": 0, - "synthetize_hero": 0, - "img": "item9", - "ico": "item9", - "intr": "获得1分钟后该道具消失", - "sale": [], - "boxhero": [] - }, { "id": 10001, "name": "绿色材料", @@ -263,7 +8,7 @@ "index": 1, "special_type": 0, "effects": "", - "drop": 0, + "box_id": 0, "synthetize_num": 10, "access": 0, "use_skip": 0, @@ -272,11 +17,292 @@ "isani": 0, "star": 2, "race": 1, - "synthetize_hero": 0, "img": "item1", "ico": "item1", "intr": "绿色材料,可以合成蓝色材料", - "sale": [], - "boxhero": [] + "sale": [ + { + "a": "attr", + "t": "gold", + "n": 2000 + } + ] + }, + { + "id": 10002, + "name": "蓝色材料", + "usetype": 1, + "color": 2, + "bagtype": 1, + "index": 2, + "special_type": 0, + "effects": "", + "box_id": 0, + "synthetize_num": 20, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 3, + "race": 2, + "img": "item2", + "ico": "item2", + "intr": "蓝色材料,可以合成紫色材料", + "sale": [ + { + "a": "attr", + "t": "gold", + "n": 3000 + } + ] + }, + { + "id": 10003, + "name": "紫色材料", + "usetype": 1, + "color": 3, + "bagtype": 1, + "index": 3, + "special_type": 0, + "effects": "", + "box_id": 0, + "synthetize_num": 30, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 4, + "race": 3, + "img": "item3", + "ico": "item3", + "intr": "紫色材料,可以合成橙色材料", + "sale": [ + { + "a": "attr", + "t": "gold", + "n": 4000 + } + ] + }, + { + "id": 10004, + "name": "橙色材料", + "usetype": 1, + "color": 4, + "bagtype": 1, + "index": 4, + "special_type": 0, + "effects": "", + "box_id": 0, + "synthetize_num": 40, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 4, + "img": "item4", + "ico": "item4", + "intr": "橙色材料,可以合成红色材料", + "sale": [ + { + "a": "attr", + "t": "gold", + "n": 5000 + } + ] + }, + { + "id": 10005, + "name": "红色材料", + "usetype": 2, + "color": 5, + "bagtype": 1, + "index": 5, + "special_type": 0, + "effects": "effects1", + "box_id": 0, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 1, + "uselv": 0, + "isani": 1, + "star": 6, + "race": 4, + "img": "item5", + "ico": "item5", + "intr": "红色材料,最顶级的材料", + "sale": [ + { + "a": "attr", + "t": "gold", + "n": 6000 + } + ] + }, + { + "id": 10006, + "name": "5星阿宝碎片", + "usetype": 3, + "color": 5, + "bagtype": 2, + "index": 6, + "special_type": 0, + "effects": "", + "box_id": 10001, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 6, + "race": 0, + "img": "item6", + "ico": "item6", + "intr": "集齐50个碎片合成阿宝", + "sale": [] + }, + { + "id": 10007, + "name": "金币自选箱子", + "usetype": 4, + "color": 4, + "bagtype": 1, + "index": 7, + "special_type": 0, + "effects": "", + "box_id": 10001, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 0, + "img": "item7", + "ico": "item7", + "intr": "可以在以下道具中选择任选1个", + "sale": [] + }, + { + "id": 10008, + "name": "随机金币箱子", + "usetype": 5, + "color": 4, + "bagtype": 1, + "index": 8, + "special_type": 0, + "effects": "", + "box_id": 10001, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 0, + "img": "item8", + "ico": "item8", + "intr": "可以下一下道具中随机获取1个", + "sale": [] + }, + { + "id": 10009, + "name": "金币箱子", + "usetype": 6, + "color": 4, + "bagtype": 1, + "index": 9, + "special_type": 0, + "effects": "", + "box_id": 10001, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 0, + "img": "item9", + "ico": "item9", + "intr": "打开后可以获得金币", + "sale": [] + }, + { + "id": 10010, + "name": "2小时金币", + "usetype": 7, + "color": 4, + "bagtype": 1, + "index": 10, + "special_type": 120, + "effects": "", + "box_id": 0, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 0, + "img": "item9", + "ico": "item9", + "intr": "使用后获得2小时金币收益", + "sale": [] + }, + { + "id": 1, + "name": "宝箱自选", + "usetype": 4, + "color": 4, + "bagtype": 1, + "index": 7, + "special_type": 0, + "effects": "", + "box_id": 0, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 5, + "race": 0, + "img": "wp_icon_0001", + "ico": "wp_icon_0001", + "intr": "可以在以下道具中选择任选1个", + "sale": [] + }, + { + "id": 2, + "name": "金币", + "usetype": 4, + "color": 3, + "bagtype": 1, + "index": 7, + "special_type": 0, + "effects": "", + "box_id": 0, + "synthetize_num": 0, + "access": 0, + "use_skip": 0, + "upper_limit": 999, + "uselv": 0, + "isani": 0, + "star": 4, + "race": 0, + "img": "wp_icon_0002", + "ico": "wp_icon_0002", + "intr": "货币", + "sale": [] } ] \ No newline at end of file diff --git a/bin/json/game_shopitem.json b/bin/json/game_shopitem.json index 9fef4f6e9..bf38c163c 100644 --- a/bin/json/game_shopitem.json +++ b/bin/json/game_shopitem.json @@ -17,7 +17,7 @@ "n": 10000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -45,7 +45,7 @@ "n": 20000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -73,7 +73,7 @@ "n": 30000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -101,7 +101,7 @@ "n": 40000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -129,7 +129,7 @@ "n": 50000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -157,7 +157,7 @@ "n": 60000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -185,7 +185,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -220,7 +220,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -255,7 +255,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -290,7 +290,7 @@ "n": 10000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -318,7 +318,7 @@ "n": 20000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -346,7 +346,7 @@ "n": 30000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -374,7 +374,7 @@ "n": 40000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -402,7 +402,7 @@ "n": 50000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -430,7 +430,7 @@ "n": 60000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -458,7 +458,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -493,7 +493,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -528,7 +528,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -563,7 +563,7 @@ "n": 10000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -591,7 +591,7 @@ "n": 20000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -619,7 +619,7 @@ "n": 30000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -647,7 +647,7 @@ "n": 40000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -675,7 +675,7 @@ "n": 50000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -703,7 +703,7 @@ "n": 60000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -731,7 +731,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -766,7 +766,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -801,7 +801,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -836,7 +836,7 @@ "n": 10000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -864,7 +864,7 @@ "n": 20000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -892,7 +892,7 @@ "n": 30000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -920,7 +920,7 @@ "n": 40000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -948,7 +948,7 @@ "n": 50000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -976,7 +976,7 @@ "n": 60000 } ], - "sale": 5, + "sale": 500, "salelist": [], "buyminnum": 1, "buymaxnum": 10, @@ -1004,7 +1004,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -1039,7 +1039,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, @@ -1074,7 +1074,7 @@ "n": 10000 } ], - "sale": 10, + "sale": 1000, "salelist": [ 1000, 1000, diff --git a/modules/shop/api_buy.go b/modules/shop/api_buy.go index c551ba78e..f955b65ac 100644 --- a/modules/shop/api_buy.go +++ b/modules/shop/api_buy.go @@ -4,6 +4,7 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/pb" cfg "go_dreamfactory/sys/configure/structs" + "math" "time" "go.mongodb.org/mongo-driver/bson/primitive" @@ -23,6 +24,7 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb ok bool conf *cfg.Game_shopitemData shopitem *pb.DBShopItem + need []*cfg.Game_atn ) defer func() { if code == pb.ErrorCode_Success { @@ -44,6 +46,14 @@ func (this *apiComp) Buy(session comm.IUserSession, req *pb.ShopBuyReq) (code pb LastBuyTime: 0, } } + need = make([]*cfg.Game_atn, len(conf.Need)) + for i, v := range conf.Need { + need[i] = &cfg.Game_atn{ + A: v.A, + T: v.T, + N: int32(math.Ceil(float64(v.N) * float64(conf.Sale) / float64(100))), + } + } if code = this.module.CheckConsumeRes(session.GetUserId(), conf.Need, true); code != pb.ErrorCode_Success { return diff --git a/sys/configure/structs/game.shopitemData.go b/sys/configure/structs/game.shopitemData.go index 80df79843..ef147e2e9 100644 --- a/sys/configure/structs/game.shopitemData.go +++ b/sys/configure/structs/game.shopitemData.go @@ -16,7 +16,7 @@ type Game_shopitemData struct { Iteminfo []*Game_atn Probability int32 Need []*Game_atn - Sale float32 + Sale int32 Salelist []int32 Buyminnum int32 Buymaxnum int32 @@ -64,7 +64,7 @@ func NewGame_shopitemData(_buf map[string]interface{}) (_v *Game_shopitemData, e } } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sale"].(float64); !_ok_ { err = errors.New("sale error"); return }; _v.Sale = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sale"].(float64); !_ok_ { err = errors.New("sale error"); return }; _v.Sale = int32(_tempNum_) } { var _arr_ []interface{} var _ok_ bool