public static HelperType HelperTypeof(PZClient client) { foreach (var item in slist) { if (item.client.ToString() == client.ToString()) { return(HelperType.storage); } } foreach (var item in clist) { if (item.client.ToString() == client.ToString()) { return(HelperType.converter); } } foreach (var item in olist) { if (item.client.ToString() == client.ToString()) { return(HelperType.output); } } return(HelperType.neutral); }
private static void GiveItemRetry(PZClient giver, PZClient reciever, PZItem item, int start, int no) { int na = no + 1; bool[] sel = PZClient.GetToSel(giver.client, item); RequestTradePacket req = (RequestTradePacket)Packet.Create(PacketType.REQUESTTRADE); req.Name = reciever.ToString(); giver.client.SendToServer(req); req.Name = giver.ToString(); reciever.client.SendToServer(req); ChangeTradePacket cht = (ChangeTradePacket)Packet.Create(PacketType.CHANGETRADE); cht.Offers = sel; giver.client.SendToServer(cht); AcceptTradePacket atpkt = (AcceptTradePacket)Packet.Create(PacketType.ACCEPTTRADE); atpkt.MyOffers = sel; atpkt.YourOffers = new bool[12]; giver.client.SendToServer(atpkt); atpkt.MyOffers = new bool[12]; atpkt.YourOffers = sel; reciever.client.SendToServer(atpkt); Console.WriteLine(giver.ToString() + " gave " + item + " to " + reciever); PluginUtils.Delay(2000, new Action(() => { int now = reciever.CountItem(item.ID); int addition = now - start; if (addition < item.amount) { Console.WriteLine("[ERROR]" + (item.amount - addition) + " " + item.ActualName() + " failed to be recieved so trying again"); if (na <= 7) { PluginUtils.Delay(500, new Action(() => GiveItemRetry(giver, reciever, item, start, na))); } else { Console.WriteLine("Tried over 7 times, give up!"); } } else { Console.WriteLine("Recieve success!"); PluginUtils.Delay(500, new Action(() => { giver.enabled = true; reciever.enabled = true; reciever.spamenabled = true; giver.spamenabled = true; })); } })); na++; }
public void Input(PZItem input) { t = new PZTrade(); t.selling.Add(input); t.buying.Add(output); t.name = client.ToString(); client.tradequeue = new PZTrade[] { t }.ToList(); client.index = 0; client.enabled = true; client.spamenabled = true; doing = true; }
public override string ToString() { try { return(client.ToString() + " -- recieving " + PZItem.GetNameFromID(inputitem)); } catch { return("??"); } }
public static T GetHelper <T>(PZClient client) { object ret = null; if (typeof(T) == typeof(PZStorage)) { foreach (var item in slist) { if (item.client.ToString() == client.ToString()) { ret = item; } } } if (typeof(T) == typeof(PZOutput)) { foreach (var item in olist) { if (item.client.ToString() == client.ToString()) { ret = item; } } } if (typeof(T) == typeof(PZConverter)) { foreach (var item in clist) { if (item.client.ToString() == client.ToString()) { ret = item; } } } return((T)ret); }
public override string ToString() { return(client.ToString() + " -- outputing " + PZItem.GetNameFromID(outputitem)); }