[HELP] item Free Command

11/10/2009 03:41 hunterman01#1
Alright so i implemented Free items into coemu just cant figure out the Command

[Edit] when i try the normal command its saying the item does not exist

Here is my item command

Code:
case "item":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 8)
									{
										if(CSocket.Client.Inventory.Count == 40)
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Your inventory is full.", Struct.ChatType.Top));
											break;
										}
										foreach(KeyValuePair<int, Struct.ItemData> Items in Nano.Items)
										{
											Struct.ItemData Item = Items.Value;
											if(Item.Name.ToLower() == Command[1].ToLower())
											{
												int version = Convert.ToInt32(Command[2]);
												int NewItemID = Item.ID;
												int Plus = Convert.ToInt32(Command[4]);
												int Bless = Convert.ToInt32(Command[5]);
												int Enchant = Convert.ToInt32(Command[6]);
												int Soc1 = 0;
												int Soc2 = 0;
												int Color = Convert.ToInt32(Command[7]);
                                                int Free = Convert.ToInt32(Command[8]);
												if((Convert.ToInt32(Command[3])) == 1)
												{
													Soc1 = 255;
												}
												else if((Convert.ToInt32(Command[3])) == 2)
												{
													Soc1 = 255;
													Soc2 = 255;
												}
												else if((Convert.ToInt32(Command[3])) == 0)
												{
													Soc1 = 0;
													Soc2 = 0;
												}
												if(Color < 2 || Color > 9)
												if(Bless != 1 && Bless != 3 && Bless != 5 && Bless != 7 && Bless != 0)
												{
													CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] " + Bless + " is an invalid bless amount. Accepted amounts are 0/1/3/5/7.", Struct.ChatType.Top));
													break;
												}
												if(Enchant > 255 || Enchant < 0)
												{
													CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] " + Enchant + " is an invalid enchant amount. Accepted amounts are 255>x>0.", Struct.ChatType.Top));
													break;
												}
												if(Plus > 12 || Plus < 0)
												{
													CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] " + Plus + " is an invalid plus amount. Accepted amounts are 12>x>0.", Struct.ChatType.Top));
													break;
												}
                                                if (Free > 1 || Free < 0)
                                                {
                                                    CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] " + Free + " is not right please edit it ", Struct.ChatType.Top));
                                                }
												string ItemID = Item.ID.ToString();
												if(ItemID.EndsWith("0"))
												NewItemID += 3;
												#region Version Switch
												switch (version)
			                                    {
			                                        case 3:
			                                            {
			                                                //the default item
			                                                break;
			                                            }
			                                        case 4:
			                                            {
			                                                NewItemID += 1;
			                                                break;
			                                            }
			                                        case 5:
			                                            {
			                                                NewItemID += 2;
			                                                break;
			                                            }
			                                        case 6:
			                                            {
			                                                NewItemID += 3;
			                                                break;
			                                            }
			                                        case 7:
			                                            {
			                                                NewItemID += 4;
			                                                break;
			                                            }
			                                        case 8:
			                                            {
			                                                NewItemID += 5;
			                                                break;
			                                            }
			                                        case 9:
			                                            {
			                                                NewItemID += 6;
			                                                break;
			                                            }
			                                    	case 13:
			                                    		{
			                                    			NewItemID += 10;
			                                    			break;
			                                    		}
			                                    	case 14:
			                                    		{
			                                    			NewItemID += 11;
			                                    			break;
			                                    		}
			                                    	case 15:
			                                    		{
			                                    			NewItemID += 12;
			                                    			break;
			                                    		}
			                                    	case 16:
			                                    		{
			                                    			NewItemID += 13;
			                                    			break;
			                                    		}
			                                    	case 17:
			                                    		{
			                                    			NewItemID += 14;
			                                    			break;
			                                    		}
			                                    	case 18:
			                                    		{
			                                    			NewItemID += 15;
			                                    			break;
			                                    		}
			                                    	case 19:
			                                    		{
			                                    			NewItemID += 16;
			                                    			break;
			                                    		}
			                                    	case 23:
			                                    		{
			                                    			NewItemID += 20;
			                                    			break;
			                                    		}
			                                    	case 24:
			                                    		{
			                                    			NewItemID += 21;
			                                    			break;
			                                    		}
			                                    	case 25:
			                                    		{
			                                    			NewItemID += 22;
			                                    			break;
			                                    		}
			                                    	case 26:
			                                    		{
			                                    			NewItemID += 23;
			                                    			break;
			                                    		}
			                                    	case 27:
			                                    		{
			                                    			NewItemID += 24;
			                                    			break;
			                                    		}
			                                    	case 28:
			                                    		{
			                                    			NewItemID += 25;
			                                    			break;
			                                    		}
			                                    	case 29:
			                                    		{
			                                    			NewItemID += 26;
			                                    			break;
			                                    		}
			                                    	case 33:
			                                    		{
			                                    			NewItemID += 30;
			                                    			break;
			                                    		}
			                                    	case 34:
			                                    		{
			                                    			NewItemID += 31;
			                                    			break;
			                                    		}
			                                    	case 35:
			                                    		{
			                                    			NewItemID += 32;
			                                    			break;
			                                    		}
			                                    	case 36:
			                                    		{
			                                    			NewItemID += 33;
			                                    			break;
			                                    		}
			                                    	case 37:
			                                    		{
			                                    			NewItemID += 34;
			                                    			break;
			                                    		}
			                                    	case 38:
			                                    		{
			                                    			NewItemID += 35;
			                                    			break;
			                                    		}
			                                    	case 39:
			                                    		{
			                                    			NewItemID += 36;
			                                    			break;
			                                    		}
			                                    		
			                                    	case 43:
			                                    		{
			                                    			NewItemID += 40;
			                                    			break;
			                                    		}
			                                    	case 44:
			                                    		{
			                                    			NewItemID += 41;
			                                    			break;
			                                    		}
			                                    	case 45:
			                                    		{
			                                    			NewItemID += 42;
			                                    			break;
			                                    		}
			                                    	case 46:
			                                    		{
			                                    			NewItemID += 43;
			                                    			break;
			                                    		}
			                                    	case 47:
			                                    		{
			                                    			NewItemID += 44;
			                                    			break;
			                                    		}
			                                    	case 48:
			                                    		{
			                                    			NewItemID += 45;
			                                    			break;
			                                    		}
			                                    	case 49:
			                                    		{
			                                    			NewItemID += 46;
			                                    			break;
			                                    		}
			                                    	case 53:
			                                    		{
			                                    			NewItemID += 50;
			                                    			break;
			                                    		}
			                                    	case 54:
			                                    		{
			                                    			NewItemID += 51;
			                                    			break;
			                                    		}
			                                    	case 55:
			                                    		{
			                                    			NewItemID += 52;
			                                    			break;
			                                    		}
			                                    	case 56:
			                                    		{
			                                    			NewItemID += 53;
			                                    			break;
			                                    		}
			                                    	case 57:
			                                    		{
			                                    			NewItemID += 54;
			                                    			break;
			                                    		}
			                                    	case 58:
			                                    		{
			                                    			NewItemID += 55;
			                                    			break;
			                                    		}
			                                    	case 59:
			                                    		{
			                                    			NewItemID += 56;
			                                    			break;
			                                    		}
			                                    	case 63:
			                                    		{
			                                    			NewItemID += 60;
			                                    			break;
			                                    		}
			                                    	case 64:
			                                    		{
			                                    			NewItemID += 61;
			                                    			break;
			                                    		}
			                                    	case 65:
			                                    		{
			                                    			NewItemID += 62;
			                                    			break;
			                                    		}
			                                    	case 66:
			                                    		{
			                                    			NewItemID += 63;
			                                    			break;
			                                    		}
			                                    	case 67:
			                                    		{
			                                    			NewItemID += 64;
			                                    			break;
			                                    		}
			                                    	case 68:
			                                    		{
			                                    			NewItemID += 65;
			                                    			break;
			                                    		}
			                                    	case 69:
			                                    		{
			                                    			NewItemID += 66;
			                                    			break;
			                                    		}
			                                    	case 73:
			                                    		{
			                                    			NewItemID += 70;
			                                    			break;
			                                    		}
			                                    	case 74:
			                                    		{
			                                    			NewItemID += 71;
			                                    			break;
			                                    		}
			                                    	case 75:
			                                    		{
			                                    			NewItemID += 72;
			                                    			break;
			                                    		}
			                                    	case 76:
			                                    		{
			                                    			NewItemID += 73;
			                                    			break;
			                                    		}
			                                    	case 77:
			                                    		{
			                                    			NewItemID += 74;
			                                    			break;
			                                    		}
			                                    	case 78:
			                                    		{
			                                    			NewItemID += 75;
			                                    			break;
			                                    		}
			                                    	case 79:
			                                    		{
			                                    			NewItemID += 76;
			                                    			break;
			                                    		}
			                                    	case 83:
			                                    		{
			                                    			NewItemID += 80;
			                                    			break;
			                                    		}
			                                    	case 84:
			                                    		{
			                                    			NewItemID += 81;
			                                    			break;
			                                    		}
			                                    	case 85:
			                                    		{
			                                    			NewItemID += 82;
			                                    			break;
			                                    		}
			                                    	case 86:
			                                    		{
			                                    			NewItemID += 83;
			                                    			break;
			                                    		}
			                                    	case 87:
			                                    		{
			                                    			NewItemID += 84;
			                                    			break;
			                                    		}
			                                    	case 88:
			                                    		{
			                                    			NewItemID += 85;
			                                    			break;
			                                    		}
			                                    	case 89:
			                                    		{
			                                    			NewItemID += 86;
			                                    			break;
			                                    		}
			                                    	case 93:
			                                    		{
			                                    			NewItemID += 90;
			                                    			break;
			                                    		}
			                                    	case 94:
			                                    		{
			                                    			NewItemID += 91;
			                                    			break;
			                                    		}
			                                    	case 95:
			                                    		{
			                                    			NewItemID += 92;
			                                    			break;
			                                    		}
			                                    	case 96:
			                                    		{
			                                    			NewItemID += 93;
			                                    			break;
			                                    		}
			                                    	case 97:
			                                    		{
			                                    			NewItemID += 94;
			                                    			break;
			                                    		}
			                                    	case 98:
			                                    		{
			                                    			NewItemID += 95;
			                                    			break;
			                                    		}
			                                    	case 99:
			                                    		{
			                                    			NewItemID += 96;
			                                    			break;
			                                    		}
			                                    	case 103:
			                                    		{
			                                    			NewItemID += 100;
			                                    			break;
			                                    		}
			                                    	case 104:
			                                    		{
			                                    			NewItemID += 101;
			                                    			break;
			                                    		}
			                                    	case 105:
			                                    		{
			                                    			NewItemID += 102;
			                                    			break;
			                                    		}
			                                    	case 106:
			                                    		{
			                                    			NewItemID += 103;
			                                    			break;
			                                    		}
			                                    	case 107:
			                                    		{
			                                    			NewItemID += 104;
			                                    			break;
			                                    		}
			                                    	case 108:
			                                    		{
			                                    			NewItemID += 105;
			                                    			break;
			                                    		}
			                                    	case 109:
			                                    		{
			                                    			NewItemID += 106;
			                                    			break;
			                                    		}
			                                    	case 113:
			                                    		{
			                                    			NewItemID += 110;
			                                    			break;
			                                    		}
			                                    	case 114:
			                                    		{
			                                    			NewItemID += 111;
			                                    			break;
			                                    		}
			                                    	case 115:
			                                    		{
			                                    			NewItemID += 112;
			                                    			break;
			                                    		}
			                                    	case 116:
			                                    		{
			                                    			NewItemID += 113;
			                                    			break;
			                                    		}
			                                    	case 117:
			                                    		{
			                                    			NewItemID += 114;
			                                    			break;
			                                    		}
			                                    	case 118:
			                                    		{
			                                    			NewItemID += 115;
			                                    			break;
			                                    		}
			                                    	case 119:
			                                    		{
			                                    			NewItemID += 116;
			                                    			break;
			                                    		}
			                                        default:
			                                            {
			                                                //Do nothing
			                                                break;
			                                            }
			                                    }
												#endregion
												Struct.ItemInfo NewItem = new Struct.ItemInfo();
												NewItem.Bless = Bless;
												NewItem.Dura = Item.MaxDura;
												NewItem.Enchant = Enchant;
												NewItem.ItemID = NewItemID;
												NewItem.MaxDura = Item.MaxDura;
                                                NewItem.Plus = Plus;
												NewItem.Position = 0;
												NewItem.Soc1 = Soc1;
												NewItem.Soc2 = Soc2;
												NewItem.Color = Color;
                                                NewItem.Free = 0;
												NewItem.UID = Nano.Rand.Next(1, 9999999);
												bool created = Database.Database.NewItem(NewItem, CSocket);
												while(!created)
												{
													NewItem.UID = Nano.Rand.Next(1, 9999999);
													created = Database.Database.NewItem(NewItem, CSocket);
												}
												CSocket.Client.Inventory.Add(NewItem.UID, NewItem);
												CSocket.Send(ConquerPacket.ItemInfo(NewItem.UID, NewItem.ItemID, NewItem.Plus,NewItem.Progress,NewItem.Free, NewItem.Bless, NewItem.Enchant, NewItem.Soc1, NewItem.Soc2, NewItem.Dura, NewItem.MaxDura, NewItem.Position, NewItem.Color));
												CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Created a(n) " + Item.Name + " Plus: " + Plus + ", Bless: " + Bless + ", Enchant: " + Enchant + ", Version: " + version, Struct.ChatType.Top));
												break;
											}
										}
									}
								}
								break;
							}
Any Help is GREATLY appreciated

Thanks
hunterman01
11/10/2009 12:23 ImmortalYashi#2
First of all why aren't you applying your free attribute?
Quote:
NewItem.Free = 0; Should be NewItem.Free = Free;
11/10/2009 13:17 SimplyPerfection#3
First of all, are you sure the length is eight?
Second, as far as I can see it looks like you're missing out the 3th split, maybe that's the issue?
11/11/2009 03:17 hunterman01#4
Request closed figured it out