Blame view

cmd/gameserver/gmaction/GmAction.go 1.88 KB
4a502dd5   zhangqijia   fix: game,account...
1
  // GM系统API
97bec184   zhangqijia   fix: 账号系统只有一个数据库。
2
  package gmaction
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
3
4
  
  import (
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
5
  	"pro2d/models"
d6d589a9   zhangqijia   feat: 增加装备接口
6
  	"pro2d/pb"
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
7
8
9
  	"strconv"
  )
  
4a502dd5   zhangqijia   fix: game,account...
10
11
12
13
  type GmAction struct{}
  
  // GMParams GM系统API请求参数的基础类型
  type GMParams map[string]string
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
14
  
4a502dd5   zhangqijia   fix: game,account...
15
16
17
18
19
20
  /*
  AddExp 增加经验
   exp 增加经验数量
  */
  func (gm *GmAction) AddExp(role *models.RoleModel, params GMParams) {
  	expIncrease, _ := strconv.Atoi(params["exp"])
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
21
22
  	exp := role.IncrProperty("exp", int64(expIncrease))
  	role.UpdateProperty("exp", exp, true)
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
23
  }
d6d589a9   zhangqijia   feat: 增加装备接口
24
  
4a502dd5   zhangqijia   fix: game,account...
25
26
27
28
29
  /*
  AddEquip 添加装备
   id: 装备id
  */
  func (gm *GmAction) AddEquip(role *models.RoleModel, params GMParams) {
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
30
  	//TODO 验证装备是否存在
02d11cb7   zhangqijia   fix: update 装备脱/戴
31
32
  	id := params["id"]
  	tbId, _ := strconv.Atoi(id)
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
33
  
d6d589a9   zhangqijia   feat: 增加装备接口
34
  	equip := &pb.Equipment{
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
35
  		Id:      role.IncreEquipByKey(1),
23822e2f   zhangqijia   fix: update proto...
36
  		RoleId:  role.Data.Id,
02d11cb7   zhangqijia   fix: update 装备脱/戴
37
  		TbId:    int32(tbId),
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
38
  		Quality: 1,
d6d589a9   zhangqijia   feat: 增加装备接口
39
  	}
c2791869   zhangqijia   fix: gm增加删除装备删除物品接口
40
41
  	role.AddEquip(equip)
  }
4a502dd5   zhangqijia   fix: game,account...
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  
  /*
  AddItem 添加物品
   id: 物品id
   count: 物品数量
  */
  func (gm *GmAction) AddItem(role *models.RoleModel, params GMParams) {
  	id := params["id"]
  	count, _ := strconv.Atoi(params["count"])
  	role.AddItem(id, int32(count))
  }
  
  /*
  UpdatePackLimit 更新背包限制
  	clotheslimit: 服饰限制数
  	weaponslimit: 武器限制数
ddc88bac   zhangqijia   fix: 记录战斗
58
59
  	jewelrylimit: 首饰限制数
  	materiallimit: 材料限制数
4a502dd5   zhangqijia   fix: game,account...
60
61
62
  	otherlimit: 其他限制数
  */
  func (gm *GmAction) UpdatePackLimit(role *models.RoleModel, params GMParams) {
ddc88bac   zhangqijia   fix: 记录战斗
63
  	update := make(map[string]interface{}, 5)
4a502dd5   zhangqijia   fix: game,account...
64
65
  	c, ok := params["clotheslimit"]
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
66
67
  		l, _ := strconv.Atoi(c)
  		update["clotheslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
68
  	}
ddc88bac   zhangqijia   fix: 记录战斗
69
  	w, ok := params["weaponslimit"]
4a502dd5   zhangqijia   fix: game,account...
70
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
71
72
  		l, _ := strconv.Atoi(w)
  		update["weaponslimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
73
  	}
ddc88bac   zhangqijia   fix: 记录战斗
74
  	o, ok := params["otherlimit"]
4a502dd5   zhangqijia   fix: game,account...
75
  	if ok {
d35f4f81   zhangqijia   fix: 优化proto to i...
76
77
  		l, _ := strconv.Atoi(o)
  		update["otherlimit"] = uint32(l)
4a502dd5   zhangqijia   fix: game,account...
78
  	}
ddc88bac   zhangqijia   fix: 记录战斗
79
80
81
82
83
84
85
86
87
88
89
90
91
  
  	o, ok = params["jewelrylimit"]
  	if ok {
  		l, _ := strconv.Atoi(o)
  		update["jewelrylimit"] = uint32(l)
  	}
  
  	o, ok = params["materiallimit"]
  	if ok {
  		l, _ := strconv.Atoi(o)
  		update["materiallimit"] = uint32(l)
  	}
  
4a502dd5   zhangqijia   fix: game,account...
92
93
  	role.UpdateProperties(update, true)
  }