123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using pomelo.connector;
- using CommonLang.Property;
- using pomelo.area;
- using XmdsBattleClientBot;
- using CommonLang;
- namespace XmdsBotTest.Runner
- {
- public class EquipMeltFunc : BotRunner.RunnerModule
- {
- private List<int> ls = new List<int>();
- private pomelo.player.Player player;
- public EquipMeltFunc() {
- module_name = "装备熔炼";
- }
- public EquipMeltFunc(BotRunner r) : base(r)
- {
-
- }
- private int getBagItemCounts() {
- int sum = 0;
- foreach (var grid in player.store.bag.bagGrids) {
- if (null != grid.item) {
- sum += 1;
- }
- }
- return sum;
- }
- protected internal override void OnGateBindPlayer(BindPlayerResponse e)
- {
- base.OnGateBindPlayer(e);
- runner.do_gm_add_gold(1000000);
- int canUnlockNum = e.s2c_player.store.bag.bagTotalCount - e.s2c_player.store.bag.bagGridCount;
- bot.Client.GameSocket.playerHandler.sendGMCmdRequest("@gm unlock " + canUnlockNum, (e1, r) =>
- {
- player = e.s2c_player;
- });
- }
- protected internal override void OnBattleActorReady(CommonAI.ZoneClient.ZoneLayer layer, CommonAI.ZoneClient.ZoneActor actor)
- {
- layer.AddTimePeriodicMS(Config.CheckIntervalMS, (t) =>
- {
- if (Enable)
- {
- equipMeltRequest();
- }
- });
- }
- private void equipMeltRequest()
- {
- if (Enable && player != null) {
- List<pomelo.item.Grid> bagGrids = player.store.bag.bagGrids;
- ls.Clear();
- //Console.WriteLine("xxxxxxxxxxxx-->>{0}", getBagItemCounts());
- if (getBagItemCounts() > 1)
- {
- foreach (var grid in bagGrids)
- {
- if (null != grid && null != grid.item && 0 != grid.item.itemType)
- {
- if (1 == grid.item.itemType ||
- 2 == grid.item.itemType ||
- 3 == grid.item.itemType)
- {
- if (ls.Count < 8)
- {
- ls.Add(grid.gridIndex);
- //Console.WriteLine("yyyyyyyyyyyy-->>{0}", grid.gridIndex);
- }
- }
- }
- }
- if (ls.Count > 0)
- {
- client.GameSocket.equipHandler.equipMeltRequest(ls,
- (err, rsp) =>
- {
- Console.WriteLine("tttttttttttt: {0}, {1}, {2}", rsp, rsp.s2c_msg, player.name);
- });
- }
- }
- else {
- if (getBagItemCounts() < 50)
- {
- int canAddNum = player.store.bag.bagGridCount - getBagItemCounts();
- canAddNum = canAddNum > 50 ? 50 : canAddNum;
- runner.do_gm_add_item("sweap1-10", canAddNum);
- }
- }
- }
-
- }
- [Desc("装备熔炼配置")]
- [Expandable]
- public class Config : ConfigBase
- {
- [Desc("装备熔炼检测间隔")]
- public static int CheckIntervalMS = 5000;
- public override string ToString()
- {
- return "装备熔炼配置";
- }
- public override void popG2DPropertyDialog()
- {
- CommonFroms.G2D.G2DPropertyDialog<EquipMeltFunc.Config>.Show("修改配置", this);
- }
- }
- }
- }
|