Merge branch 'master' of http://git.legu.cc/zhaochangyuan/airobot
This commit is contained in:
commit
156666e1b7
@ -39,12 +39,16 @@ func (f *ArenaScene) Run(ai lib.IRobot) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if code = ai.SendMsg("arena", "info", &pb.ArenaInfoReq{}, &pb.ArenaInfoResp{}); code != pb.ErrorCode_Success {
|
||||||
|
ai.Stop()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
if code = ai.SendMsg("arena", "matche", &pb.ArenaMatcheReq{}, matche); code != pb.ErrorCode_Success {
|
if code = ai.SendMsg("arena", "matche", &pb.ArenaMatcheReq{}, matche); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
for _, v := range matche.Players {
|
for _, v := range matche.Players {
|
||||||
if code = ai.SendMsg("arena", "challenge", &pb.ArenaChallengeReq{
|
if code = ai.SendMsg("arena", "challenge", &pb.ArenaChallengeReq{
|
||||||
Playerid: v.Uid,
|
Playerid: v.Uid,
|
||||||
|
@ -36,12 +36,12 @@ func (f *ChatScene) Run(ai lib.IRobot) (err error) {
|
|||||||
ai.Stop()
|
ai.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
time.Sleep(time.Second * 1)
|
Sleep(time.Second*0, time.Second*3)
|
||||||
|
|
||||||
//工会聊天
|
//工会聊天
|
||||||
if resp := ai.Get("user.login"); resp != nil {
|
if resp := ai.Get("user.login"); resp != nil {
|
||||||
userlogin = resp.(*pb.UserLoginResp)
|
userlogin = resp.(*pb.UserLoginResp)
|
||||||
if userlogin.Ex.SociatyId != "" {
|
if userlogin.Ex != nil && userlogin.Ex.SociatyId != "" {
|
||||||
if code = ai.SendMsg("chat", "send", &pb.ChatSendReq{
|
if code = ai.SendMsg("chat", "send", &pb.ChatSendReq{
|
||||||
Channel: pb.ChatChannel_Union,
|
Channel: pb.ChatChannel_Union,
|
||||||
TargetId: userlogin.Ex.SociatyId,
|
TargetId: userlogin.Ex.SociatyId,
|
||||||
|
32
busi/hero.go
32
busi/hero.go
@ -26,44 +26,56 @@ func (f *HeroScene) Info() lib.SceneInfo {
|
|||||||
func (f *HeroScene) Run(robot lib.IRobot) error {
|
func (f *HeroScene) Run(robot lib.IRobot) error {
|
||||||
|
|
||||||
f.AddHero(robot, "25001") // 加阿宝
|
f.AddHero(robot, "25001") // 加阿宝
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "44911") // 升级精灵
|
f.AddHero(robot, "44911") // 升级精灵
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "45921") // 技能精灵
|
f.AddHero(robot, "45921") // 技能精灵
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "45921") // 技能精灵
|
f.AddHero(robot, "45921") // 技能精灵
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
// f.AddAttrGold(robot) // 加金币
|
// f.AddAttrGold(robot) // 加金币
|
||||||
// f.AddAttrDiamond(robot) // 加钻石
|
// f.AddAttrDiamond(robot) // 加钻石
|
||||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
|
||||||
f.HeroLvUp(robot) // 英雄升级
|
f.HeroLvUp(robot) // 英雄升级
|
||||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroSkillLvUp(robot) // 技能升级
|
f.HeroSkillLvUp(robot) // 技能升级
|
||||||
|
|
||||||
// 升星
|
// 升星
|
||||||
|
|
||||||
time.Sleep(10 * time.Millisecond) // 等待10ms
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroStarUp(robot)
|
f.HeroStarUp(robot)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
// time.Sleep(50 * time.Millisecond)
|
// time.Sleep(50 * time.Millisecond)
|
||||||
// f.HeroResonance(robot) // 共鸣
|
// f.HeroResonance(robot) // 共鸣
|
||||||
|
|
||||||
f.AddItem(robot, "50001") // 觉醒材料
|
f.AddItem(robot, "50001") // 觉醒材料
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroAwaken(robot)
|
f.HeroAwaken(robot)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddItem(robot, "30001") // 抽卡材料
|
f.AddItem(robot, "30001") // 抽卡材料
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroDraw(robot) // 普通十连
|
f.HeroDraw(robot) // 普通十连
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
// 购买抽卡道具
|
// 购买抽卡道具
|
||||||
|
|
||||||
f.HeroDraw(robot)
|
f.HeroDraw(robot)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
// 卡牌融合
|
// 卡牌融合
|
||||||
f.AddHero(robot, "25004") // 加英雄
|
f.AddHero(robot, "25004") // 加英雄
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "25004") // 加英雄
|
f.AddHero(robot, "25004") // 加英雄
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "25004") // 加英雄
|
f.AddHero(robot, "25004") // 加英雄
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddHero(robot, "25004") // 加英雄
|
f.AddHero(robot, "25004") // 加英雄
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroFusion(robot)
|
f.HeroFusion(robot)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.AddItem(robot, "525001")
|
f.AddItem(robot, "25001")
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroTalent(robot)
|
f.HeroTalent(robot)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
f.HeroTalentV2(robot) // 学习其他天赋
|
f.HeroTalentV2(robot) // 学习其他天赋
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,6 +168,7 @@ func (f *HeroScene) HeroLvUp(robot lib.IRobot) error {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if lvcard != nil {
|
||||||
// 升级
|
// 升级
|
||||||
lvReq := &pb.HeroStrengthenUplvReq{
|
lvReq := &pb.HeroStrengthenUplvReq{
|
||||||
HeroObjID: lvcard.Id,
|
HeroObjID: lvcard.Id,
|
||||||
@ -170,6 +183,7 @@ func (f *HeroScene) HeroLvUp(robot lib.IRobot) error {
|
|||||||
if code != pb.ErrorCode_Success {
|
if code != pb.ErrorCode_Success {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package busi
|
package busi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/Pallinder/go-randomdata"
|
"github.com/Pallinder/go-randomdata"
|
||||||
"legu.airobot/lib"
|
"legu.airobot/lib"
|
||||||
"legu.airobot/pb"
|
"legu.airobot/pb"
|
||||||
@ -33,5 +35,6 @@ func (l *LoginScene) Run(robot lib.IRobot) error {
|
|||||||
if code := robot.SendMsg("user", "login", req, rsp); code == pb.ErrorCode_Success {
|
if code := robot.SendMsg("user", "login", req, rsp); code == pb.ErrorCode_Success {
|
||||||
robot.Store("user.login", rsp)
|
robot.Store("user.login", rsp)
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -40,17 +40,17 @@ func (f *MfantasyScene) Run(ai lib.IRobot) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
if code = ai.SendMsg("gm", "cmd", &pb.GMCmdReq{
|
if code = ai.SendMsg("gm", "cmd", &pb.GMCmdReq{
|
||||||
Cmod: "bingo:moon,1",
|
Cmod: "bingo:moon,1",
|
||||||
}, &pb.GMCmdResp{}); code != pb.ErrorCode_Success {
|
}, &pb.GMCmdResp{}); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
if code = ai.SendMsg("moonfantasy", "getlist", &pb.MoonfantasyGetListReq{}, mflist); code != pb.ErrorCode_Success {
|
if code = ai.SendMsg("moonfantasy", "getlist", &pb.MoonfantasyGetListReq{}, mflist); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
for _, v := range mflist.Dfantasys {
|
for _, v := range mflist.Dfantasys {
|
||||||
if code = ai.SendMsg("moonfantasy", "battle", &pb.MoonfantasyBattleReq{
|
if code = ai.SendMsg("moonfantasy", "battle", &pb.MoonfantasyBattleReq{
|
||||||
Mid: v.Monster,
|
Mid: v.Monster,
|
||||||
|
18
busi/pay.go
18
busi/pay.go
@ -31,21 +31,21 @@ func (f *PayScene) Run(ai lib.IRobot) (err error) {
|
|||||||
}, &pb.PayDailyBuyResp{}); code != pb.ErrorCode_Success {
|
}, &pb.PayDailyBuyResp{}); code != pb.ErrorCode_Success {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
time.Sleep(time.Second)
|
Sleep(time.Second*0, time.Second*1)
|
||||||
if code = ai.SendMsg("pay", "dailybuy", &pb.PayDailyBuyReq{
|
if code = ai.SendMsg("pay", "dailybuy", &pb.PayDailyBuyReq{
|
||||||
Id: 2,
|
Id: 2,
|
||||||
}, &pb.PayDailyBuyResp{}); code != pb.ErrorCode_Success {
|
}, &pb.PayDailyBuyResp{}); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
time.Sleep(time.Second)
|
Sleep(time.Second*0, time.Second*1)
|
||||||
|
|
||||||
if code = ai.SendMsg("privilege", "buyyueka", &pb.PrivilegeBuyYuekaReq{
|
// if code = ai.SendMsg("privilege", "buyyueka", &pb.PrivilegeBuyYuekaReq{
|
||||||
CID: "yueka_lv1",
|
// CID: "yueka_lv1",
|
||||||
}, &pb.PrivilegeBuyYuekaResp{}); code != pb.ErrorCode_Success {
|
// }, &pb.PrivilegeBuyYuekaResp{}); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
// ai.Stop()
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
time.Sleep(time.Second)
|
// time.Sleep(time.Second)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package busi
|
package busi
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
"legu.airobot/lib"
|
"legu.airobot/lib"
|
||||||
"legu.airobot/pb"
|
"legu.airobot/pb"
|
||||||
)
|
)
|
||||||
@ -29,6 +31,7 @@ func (f *ResMgrScene) Run(ai lib.IRobot) (err error) {
|
|||||||
}, &pb.GMCmdResp{}); code != pb.ErrorCode_Success {
|
}, &pb.GMCmdResp{}); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
}
|
}
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
herolistreq := &pb.HeroListReq{}
|
herolistreq := &pb.HeroListReq{}
|
||||||
herolistresp := &pb.HeroListResp{}
|
herolistresp := &pb.HeroListResp{}
|
||||||
if code = ai.SendMsg("hero", "list", herolistreq, herolistresp); code != pb.ErrorCode_Success {
|
if code = ai.SendMsg("hero", "list", herolistreq, herolistresp); code != pb.ErrorCode_Success {
|
||||||
@ -36,13 +39,14 @@ func (f *ResMgrScene) Run(ai lib.IRobot) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
ai.Store("hero.list", herolistresp)
|
ai.Store("hero.list", herolistresp)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
itemlistreq := &pb.ItemsGetlistReq{}
|
itemlistreq := &pb.ItemsGetlistReq{}
|
||||||
itemlistresp := &pb.ItemsGetlistResp{}
|
itemlistresp := &pb.ItemsGetlistResp{}
|
||||||
if code = ai.SendMsg("item", "list", itemlistreq, itemlistresp); code != pb.ErrorCode_Success {
|
if code = ai.SendMsg("items", "list", itemlistreq, itemlistresp); code != pb.ErrorCode_Success {
|
||||||
ai.Stop()
|
ai.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
ai.Store("item.list", itemlistresp)
|
ai.Store("items.list", itemlistresp)
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
13
busi/shop.go
13
busi/shop.go
@ -25,7 +25,7 @@ func (f *ShopScene) Info() lib.SceneInfo {
|
|||||||
func (f *ShopScene) Run(ai lib.IRobot) (err error) {
|
func (f *ShopScene) Run(ai lib.IRobot) (err error) {
|
||||||
var (
|
var (
|
||||||
code pb.ErrorCode
|
code pb.ErrorCode
|
||||||
shops *pb.ShopGetListResp
|
shops *pb.ShopGetListResp = &pb.ShopGetListResp{}
|
||||||
)
|
)
|
||||||
if code = ai.SendMsg("gm", "cmd", &pb.GMCmdReq{
|
if code = ai.SendMsg("gm", "cmd", &pb.GMCmdReq{
|
||||||
Cmod: "bingo:attr,gold,100000",
|
Cmod: "bingo:attr,gold,100000",
|
||||||
@ -42,11 +42,12 @@ func (f *ShopScene) Run(ai lib.IRobot) (err error) {
|
|||||||
}
|
}
|
||||||
for _, v := range shops.Goods {
|
for _, v := range shops.Goods {
|
||||||
if v.LeftBuyNum > 0 {
|
if v.LeftBuyNum > 0 {
|
||||||
ai.SendMsg("shop", "buy", &pb.ChatSendReq{
|
ai.SendMsg("shop", "buy", &pb.ShopBuyReq{
|
||||||
Channel: pb.ChatChannel_World,
|
ShopType: pb.ShopType_GoldShop,
|
||||||
Content: "hello! are you good?",
|
GoodsId: v.GoodsId,
|
||||||
}, shops)
|
BuyNum: 1,
|
||||||
time.Sleep(time.Second * 1)
|
}, &pb.ShopBuyResp{})
|
||||||
|
Sleep(time.Second*0, time.Second*1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
34
lib/robot.go
34
lib/robot.go
@ -202,7 +202,8 @@ func (m *Robot) Start() bool {
|
|||||||
|
|
||||||
//设置状态为已启动
|
//设置状态为已启动
|
||||||
atomic.StoreUint32(&m.status, STATUS_STARTED)
|
atomic.StoreUint32(&m.status, STATUS_STARTED)
|
||||||
|
//显示场景结果
|
||||||
|
go m.processResult()
|
||||||
m.syncCall()
|
m.syncCall()
|
||||||
|
|
||||||
return true
|
return true
|
||||||
@ -245,8 +246,6 @@ func (m *Robot) syncCall() {
|
|||||||
|
|
||||||
m.elipseTotal += elapsedTime
|
m.elipseTotal += elapsedTime
|
||||||
logrus.WithField("t", elapsedTime.String()).Debug("场景【" + info.Name + "】执行完毕耗时统计")
|
logrus.WithField("t", elapsedTime.String()).Debug("场景【" + info.Name + "】执行完毕耗时统计")
|
||||||
//显示场景结果
|
|
||||||
m.processResult()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -312,6 +311,34 @@ func (m *Robot) processResult() {
|
|||||||
statis.AvgElapse = avg
|
statis.AvgElapse = avg
|
||||||
routes[head] = statis
|
routes[head] = statis
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if r.Elapse < min {
|
||||||
|
min = r.Elapse
|
||||||
|
}
|
||||||
|
statis := &Statistics{
|
||||||
|
Route: head,
|
||||||
|
SceneName: r.SceneName,
|
||||||
|
ElapseTotal: route.ElapseTotal + r.Elapse,
|
||||||
|
MaxElapse: max,
|
||||||
|
MinElapse: min,
|
||||||
|
CallCount: route.CallCount + 1,
|
||||||
|
}
|
||||||
|
avg := (statis.MaxElapse + statis.MinElapse) / 2
|
||||||
|
statis.AvgElapse = avg
|
||||||
|
routes[head] = statis
|
||||||
|
} else {
|
||||||
|
statis := &Statistics{
|
||||||
|
Route: head,
|
||||||
|
SceneName: r.SceneName,
|
||||||
|
ElapseTotal: r.Elapse,
|
||||||
|
MaxElapse: r.Elapse,
|
||||||
|
MinElapse: r.Elapse,
|
||||||
|
CallCount: 1,
|
||||||
|
}
|
||||||
|
avg := (statis.MaxElapse + statis.MinElapse) / 2
|
||||||
|
statis.AvgElapse = avg
|
||||||
|
routes[head] = statis
|
||||||
|
}
|
||||||
m.ReportMap[r.Num] = routes
|
m.ReportMap[r.Num] = routes
|
||||||
} else {
|
} else {
|
||||||
route := make(map[string]*Statistics)
|
route := make(map[string]*Statistics)
|
||||||
@ -328,7 +355,6 @@ func (m *Robot) processResult() {
|
|||||||
route[head] = statis
|
route[head] = statis
|
||||||
m.ReportMap[r.Num] = route
|
m.ReportMap[r.Num] = route
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user