package robot import ( "blazing/common/data/xmlres" base "blazing/modules/base/service" config "blazing/modules/config/service" "blazing/modules/player/model" "blazing/modules/player/service" "strings" "github.com/gogf/gf/v2/util/gconv" "github.com/gogf/gf/v2/util/grand" zero "github.com/wdvxdr1123/ZeroBot" "github.com/wdvxdr1123/ZeroBot/message" ) func init() { zero.OnCommand("扭蛋"). Handle(func(ctx *zero.Ctx) { msgs := strings.Fields(ctx.Event.Message.String()) if len(msgs) > 1 { count := gconv.Int(msgs[1]) if count > 10 { count = 10 } user := base.NewBaseSysUserService().GetQQ(ctx.Event.Sender.ID) if user == nil { ctx.Send("未绑定,请个人中心复制token发给机器人") return } itemservice := service.NewItemService(uint32(user.ID)) havs := itemservice.CheakItem(400501) if havs < int64(count) { ctx.Send("扭蛋币不足,当前扭蛋币数量:" + gconv.String(havs)) return } var buf strings.Builder buf.WriteString("当前扭蛋币数量:" + gconv.String(havs) + "\n") if grand.Meet(int(count), 100) { r := config.NewPetRewardService().GetEgg() newPet := model.GenPetInfo(int(r.MonID), int(r.DV), int(r.Nature), int(r.Effect), int(r.Lv), nil, 0) if grand.Meet(1, 500) { newPet.RandomByWeightShiny() } service.NewPetService(uint32(user.ID)).PetAdd(newPet, 0) buf.WriteString("恭喜你获得" + xmlres.PetMAP[int(newPet.ID)].DefName + "\n") } items := config.NewItemService().GetEgg(int(count)) for _, item := range items { itemservice.UPDATE(uint32(item.ItemId), int(item.ItemCnt)) buf.WriteString("恭喜你获得" + xmlres.ItemsMAP[int(item.ItemId)].Name + ":" + gconv.String(item.ItemCnt) + "\n") } itemservice.UPDATE(400501, int(-count)) ctx.SendChain(message.At(ctx.Event.Sender.ID), message.Reply(ctx.Event.MessageID), message.Text(buf.String())) } }) }