public override void RunImpl() { //меджик формула : itemid - 30 + 1000000000 Item item = getClient().getPlayer().getItemById(ID); Player player = getClient().getPlayer(); int oldID = item.Id; ItemsTable.DelItem(oldID); int NewID = oldID - 30 + 1000000000; int CouponTime = Convert.ToInt32(DateTime.Now.ToString("yyMMddHHmm") + "0000070000");//актуальное время + 7 дней(для теста) ItemsTable.AddItem(getClient().getPlayer().PlayerID, NewID, 10, 3, CouponTime); switch (NewID) // Need help for get ItemID { case 100040001: player.setEffect2(player.getEffect2() + 32); // Mega HP 5% PlayersTable.UpdateEffect2(player.AccountID, player.getEffect2() + 32); break; } if ( NewID != 100040001) { getClient().SendPacket((SendPacket)new PROTOCOL_INVENTORY_DELET_ITEM_ACK(ID)); // Verify for me? } getClient().SendPacket((SendPacket)new PROTOCOL_INVENTORY_ADD_ITEM_ACK(NewID)); }
public override void WriteImpl() { Logger.Warn("Item Type: " + Slot); WriteH(0x213); if (error == 0) { WriteD(1); WriteD(Convert.ToInt32(DateTime.Now.ToString("yyMMddHHmm"))); //DateTimeUtil.getDateTime() Logger.Warn("TIME: " + Convert.ToInt32(DateTime.Now.ToString("yyMMddHHmm"))); if (item.ItemType >= 0) { if (item.ItemType < 5) { WriteD(0); WriteD(1); WriteD(0); //Добавляем итем в базу данных ItemsTable.AddItem(item.OwnerId, item.ItemId, item.ItemType, item.Type, item.Count); } else if (item.ItemType > 4 & item.ItemType < 10) { WriteD(1); WriteD(0); WriteD(0); //Добавляем итем в базу данных ItemsTable.AddItem(item.OwnerId, item.ItemId, item.ItemType, item.Type, item.Count); } else if (item.ItemType >= 10) { WriteD(0); WriteD(0); WriteD(1); int newID = item.ItemId + 30 - 1000000000; ItemsTable.AddItem(item.OwnerId, newID, item.ItemType, item.Type, item.Count); } } Money = player.getMoney(); GP = player.getGp(); //Обновляем кол-во средств на аккаунте PlayersTable.UpdateMoney(player.PlayerID, GP, Money); if (item.ItemType == 3) { WriteQ(0); } else { WriteQ(item.ItemId); } WriteD(item.ItemId); //id WriteC((byte)item.Type); //settings weapon - type WriteD(item.Count); //settings weapon - count WriteD(player.getGp()); WriteD(player.getMoney()); } else { WriteD((int)error); } }