[(Awesome)RELEASE] CoEmuv2.Nano(5095) Source Code

05/26/2009 15:10 felipeboladao#166
what you problem?
05/26/2009 15:14 XMasterrrr#167
my new proplem is commands where can i find the commands at this project ?
05/26/2009 15:19 laurytalvi#168
I triple checked everything. Passwords and all are correct. IP's and else are changed. mysql is working, what else can it be?
05/26/2009 15:19 ih8you#169
Most of the commands dont work...... For me, the stat ones /level /item /job dont work.... Any ideas?
05/26/2009 15:20 felipeboladao#170
Go to handles, Chat.cs and search "#region Commands"... ;D
05/26/2009 15:24 ih8you#171
Quote:
Originally Posted by felipeboladao View Post
Go to handles, Chat.cs and search "#region Commands"... ;D
Half of them dang commands dont work ........... HELP ;D
05/26/2009 15:24 XMasterrrr#172
no thing in chat.cs
edit:working now :D
05/26/2009 15:25 felipeboladao#173
Quote:
Originally Posted by ih8you View Post
Most of the commands dont work...... For me, the stat ones /level /item /job dont work.... Any ideas?
yes, open navicat and open characters and put in IsGM = 1 ;D
Tranks ??
05/26/2009 15:27 Beta Limit#174
i got the openssl or w/e error comin up and i cant fix it :/ think it may have summit to do with 64-bit?
05/26/2009 15:28 ih8you#175
Quote:
Originally Posted by felipeboladao View Post
yes, open navicat and open characters and put in IsGM = 1 ;D
Tranks ??

I dont use navicat i use phpmyadmin.... and i have got IsGm = 1
05/26/2009 15:29 laurytalvi#176
Quote:
Originally Posted by laurytalvi View Post
I triple checked everything. Passwords and all are correct. IP's and else are changed. mysql is working, what else can it be?
bump. I could use the answer as fast as possible. Thanks.
05/26/2009 15:29 felipeboladao#177
Lol XMasterrrr, look in down, and use...

Code:
#region Commands
			try
			{
				if(Message.StartsWith("/"))
				{
					string[] Command = Message.Substring(1).Split(' ');
					switch(Command[0].ToLower())
					{
						case "dc":
							{
								CSocket.Disconnect();
								break;
							}
						case "kick":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									if(Command.Length < 2)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Command example: /kick player", Struct.ChatType.Talk));
										break;
									}
									bool kicked = false;
									//lock(Nano.ClientPool)
									//{
									try
									{
										Monitor.Enter(Nano.ClientPool);
										foreach(KeyValuePair<int, ClientSocket> Player in Nano.ClientPool)
										{
											if(Player.Value.Client.Name.ToLower() == Command[1].ToLower())
											{
												if(Player.Value.Client.isPM && !CSocket.Client.isPM)
													CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "GMs cannot kick PMs, sorry!", Struct.ChatType.Top));
												else
												{
													ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", Player.Value.Client.Name + " has been kicked from the server", Struct.ChatType.Center), 0);
													Player.Value.Disconnect();
													kicked = true;
												}
												break;
											}
										}
									//}
									}
									catch(Exception e)
									{
										Console.WriteLine(e.ToString());
									}
									finally
									{
										Monitor.Exit(Nano.ClientPool);
									}
									if(!kicked)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Cannot kick player.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "ban":
							{
								if(CSocket.Client.isPM)
								{
									if(Command.Length < 2)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Command example: /kick player", Struct.ChatType.Talk));
										break;
									}
									bool kicked = false;
									Database.Database.BanPlayer(Command[1]);
									//lock(Nano.ClientPool)
									//{
									try
									{
										Monitor.Enter(Nano.ClientPool);
										foreach(KeyValuePair<int, ClientSocket> Player in Nano.ClientPool)
										{
											if(Player.Value.Client.Name.ToLower() == Command[1].ToLower())
											{
												ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", Player.Value.Client.Name + " has been kicked & banned from the server.", Struct.ChatType.Center), 0);
												Player.Value.Disconnect();
												kicked = true;
												break;
											}
										}
									}
									catch(Exception e)
									{
										Console.WriteLine(e.ToString());
									}
									finally
									{
										Monitor.Exit(Nano.ClientPool);
									}
									//}
									if(!kicked)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Cannot ban player.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "save":
							{
								Database.Database.SaveCharacter(CSocket.Client);
								CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[GameServer] Saved " + CSocket.Client.Name, Struct.ChatType.Top));
								break;
							}
						case "reload":
							{
								if(Command.Length == 2 && CSocket.Client.isGM || CSocket.Client.isPM)
								{
									switch(Command[1].ToLower())
									{
										case "portals":
											{
												Nano.Portals.Clear();
												Struct.LoadPortals();
												break;
											}
										case "monsters":
											{
												Nano.BaseMonsters.Clear();
												Nano.MonsterSpawns.Clear();
												Nano.Monsters.Clear();
												Struct.LoadMonsters();
												break;
											}
										case "npcs":
											{
												Nano.Npcs.Clear();
												Struct.LoadNpcs();
												break;
											}
										case "tnpcs":
											{
												Nano.TerrainNpcs.Clear();
												Struct.LoadTNpcs();
												break;
											}
									}
								}
								break;
							}
						case "scroll":
							{
								if(Command.Length == 2)
								{
									switch(Command[1].ToLower())
									{
										case "tc":
											{
												Handler.Teleport(1002, 438, 377, 0, CSocket);
												break;
											}
										case "pc":
											{
												Handler.Teleport(1011, 232, 260, 0, CSocket);
												break;
											}
										case "ac":
											{
												Handler.Teleport(1020, 565, 565, 0, CSocket);
												break;
											}
										case "am":
											{
												Handler.Teleport(1020, 565, 565, 0, CSocket);
												break;
											}
										case "bi":
											{
												Handler.Teleport(1015, 723, 573, 0, CSocket);
												break;
											}
										case "dc":
											{
												Handler.Teleport(1000, 496, 649, 0, CSocket);
												break;
											}
										case "ma":
											{
												Handler.Teleport(1036, 211, 196, 0, CSocket);
												break;
											}
										case "pka":
											{
												Handler.Teleport(1005, 50, 71, 0, CSocket);
												break;
											}
										case "ja":
											{
												Handler.Teleport(6000, 28, 71, 0, CSocket);
												break;
											}
										case "gw":
											{
												Handler.Teleport(1038, 353, 343, 0, CSocket);
												break;
											}
										default:
											{
												CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Unknown scroll location. Example: /scroll tc,pc,ac,am,bi,dc,ma,pka,ja,gw", Struct.ChatType.Talk));
												break;
											}
									}
								}
								else
								{
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /scroll tc,pc,ac,am,bi,dc,ma,pka,ja,gw", Struct.ChatType.Talk));
								}
								break;
							}
						case "i":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									if(!CSocket.Client.Invincible)
									{
										CSocket.Client.Invincible = true;
										ConquerPacket.ToLocal(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", CSocket.Client.Name + " has just become even more godly..", Struct.ChatType.Center), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									}
									else
									{
										CSocket.Client.Invincible = false;
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "You are no longer flagged as invincible.", Struct.ChatType.Top));
									}
									ConquerPacket.ToLocal(ConquerPacket.General(CSocket.Client.ID, CSocket.Client.X, CSocket.Client.Y, 0, 0, 0, Struct.DataType.EntityRemove), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
									ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter(CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									
								}
								break;
							}
						case "money":
							{
								if(Command.Length == 2 && CSocket.Client.isPM || CSocket.Client.isGM)
								{
									int Money = Convert.ToInt32(Command[1]);
									CSocket.Client.Money += Money;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Money, Struct.StatusTypes.InvMoney));
								}
								break;
							}
						case "cps":
							{
								if(Command.Length == 2 && CSocket.Client.isPM || CSocket.Client.isGM)
								{
									int Cps = Convert.ToInt32(Command[1]);
									CSocket.Client.CPs += Cps;
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "You now have " + CSocket.Client.CPs + " CPs.", Struct.ChatType.Top));
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.CPs, Struct.StatusTypes.InvCPoints));
								}
								break;
							}
						case "hair":
							{
								if(Command.Length == 2)
								{
									int Hair = Convert.ToInt32(Command[1]);
									CSocket.Client.Hair = Hair;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
								}
								break;
							}
						case "etest":
							{
								if(Command.Length == 2)
								{
									CSocket.Client.Test = Convert.ToInt32(Command[1]);
								}
								break;
							}
						case "dropitem":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Calculation.PercentSuccess(30))
									{
										int Level = 137;
										int Times = 1;
										if(Calculation.PercentSuccess(15))
										{
											Times = Nano.Rand.Next(1, 6);
										}
										for(int i = 0; i < Times; i++)
										{
											int Money = Nano.Rand.Next(1, 10);
											if(Calculation.PercentSuccess(90))
												Money = Nano.Rand.Next(2, 240);
											if(Calculation.PercentSuccess(70))
												Money = Nano.Rand.Next(60, 3000);
											if(Calculation.PercentSuccess(50))
												Money = Nano.Rand.Next(200, 4000);
											if(Calculation.PercentSuccess(30))
												Money = Nano.Rand.Next(1000, 30000);
											if(Calculation.PercentSuccess(100))
												Money = Nano.Rand.Next(2000, 50000);
											Money = Money / ((138 - Level) * 10);
											if(Money < 1)
												Money = 1;
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.Money = Money;
											if(Money < 10)
												IG.ItemID = 1090000;
											else if(Money < 100)
												IG.ItemID = 1090010;
											else if(Money < 1000)
												IG.ItemID = 1090020;
											else if(Money < 3000)
												IG.ItemID = 1091000;
											else if(Money < 10000)
												IG.ItemID = 1091010;
											else
												IG.ItemID = 1091020;
											IG.UID = Nano.Rand.Next(1, 1000);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1, 1000);
											}
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.Map = (int)CSocket.Client.Map;
											IG.Dispose = new System.Timers.Timer();
											IG.Dispose.Interval = 60000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
									}
									else
									{
										if(Calculation.PercentSuccess(5))
										{
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.ItemID = 1088001;
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.Map = (int)CSocket.Client.Map;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.UID = Nano.Rand.Next(1000, 9999999);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1000, 9999999);
											}
											//TODO: UID generation that is better.
											IG.Dispose.Interval = 10000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
										else if(Calculation.PercentSuccess(3))
										{
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.ItemID = 1088000;
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.Map = (int)CSocket.Client.Map;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.UID = Nano.Rand.Next(1000, 9999999);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1000, 9999999);
											}
											//TODO: UID generation that is better.
											IG.Dispose.Interval = 10000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
									}
								}
								break;
							}
						case "bringtome":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ClientSocket Target = null;
										try
										{
											Monitor.Enter(Nano.ClientPool);
											foreach(KeyValuePair<int, ClientSocket> Clients in Nano.ClientPool)
											{
												if(Clients.Value.Client.Name == Command[1])
												{
													Target = Clients.Value;
													break;
												}
											}
										}
										catch(Exception e)
										{
											Console.WriteLine(e.ToString());
										}
										finally
										{
											Monitor.Exit(Nano.ClientPool);
										}
										if(Target != null)
										{
											Handler.Teleport((int)CSocket.Client.Map, CSocket.Client.X, CSocket.Client.Y, 0, Target);
											Target.Send(ConquerPacket.Chat(0, "SYSTEM", Target.Client.Name, "You have been summoned by " + CSocket.Client.Name, Struct.ChatType.Top));
										}
										else
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Player not found!", Struct.ChatType.Top));
										}
									}
								}
								break;
							}
						case "bringmeto":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ClientSocket Target = null;
										try
										{
											Monitor.Enter(Nano.ClientPool);
											foreach(KeyValuePair<int, ClientSocket> Clients in Nano.ClientPool)
											{
												if(Clients.Value.Client.Name == Command[1])
												{
													Target = Clients.Value;
													break;
												}
											}
										//}
										}
										catch(Exception e)
										{
											Console.WriteLine(e.ToString());
										}
										finally
										{
											Monitor.Exit(Nano.ClientPool);
										}
										if(Target != null)
										{
											Handler.Teleport((int)Target.Client.Map, Target.Client.X, Target.Client.Y, 0, CSocket);
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Teleported to " + Target.Client.Name, Struct.ChatType.Top));
										}
										else
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Player not found!", Struct.ChatType.Top));
										}
									}
								}
								break;
							}
						case "bc":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									ConquerPacket.ToServer(ConquerPacket.Chat(0, CSocket.Client.Name, "ALLUSERS", Message.Substring(2 + Command[0].Length), Struct.ChatType.NewBroadcast), 0);
								}
								break;
							}
						case "gm":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									ConquerPacket.ToServer(ConquerPacket.Chat(0, CSocket.Client.Name, "ALLUSERS", Message.Substring(2 + Command[0].Length), Struct.ChatType.Center), 0);
								}
								break;
							}
						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]);
												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;
												}
												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.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.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;
							}
						case "effect":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ConquerPacket.ToLocal(ConquerPacket.Effect(CSocket.Client.ID, Command[1]), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									}
								}
								break;
							}
						case "modify":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length > 2)
									{
										switch(Command[1].ToLower())
										{
											case "job":
												{
													if(Command.Length == 3)
													{
														try
														{
															CSocket.Client.Class = (Struct.ClassType)Convert.ToInt32(Command[2]);
															CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
															
														}
														catch
														{
															CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Invalid job.", Struct.ChatType.Top));
														}
													}
													break;
												}
											case "name":
												{
													//TODO:Modify name and other's name's.
													break;
												}
											case "level":
												{
													if(Command.Length == 3)
													{
														int NewLevel = Convert.ToInt32(Command[2]);
														if(NewLevel <= 135)
														{
															CSocket.Client.Level = NewLevel;
															CSocket.Client.Exp = 0;
															CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Level, Struct.StatusTypes.Level));
															ConquerPacket.ToLocal(ConquerPacket.Effect(CSocket.Client.ID, "LevelUp"), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
															if(CSocket.Client.Level == 135)
																ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just achieved level 135! Great job!", Struct.ChatType.NewBroadcast), 0);
				
														}
													}
													break;
												}
											case "dex":
												{
													if(Command.Length == 3)
													{
														int Dex = Convert.ToInt32(Command[2]);
														CSocket.Client.Dexterity = Dex;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Dexterity, Struct.StatusTypes.DexterityStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "spi":
												{
													if(Command.Length == 3)
													{
														int Spi = Convert.ToInt32(Command[2]);
														CSocket.Client.Spirit = Spi;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Spirit, Struct.StatusTypes.ManaStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "vit":
												{
													if(Command.Length == 3)
													{
														int Vit = Convert.ToInt32(Command[2]);
														CSocket.Client.Vitality = Vit;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Vitality, Struct.StatusTypes.VitalityStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "str":
												{
													if(Command.Length == 3)
													{
														int Str = Convert.ToInt32(Command[2]);
														CSocket.Client.Strength = Str;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Strength, Struct.StatusTypes.StrengthStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
										}
									}
							}
								break;
							}
						case "reborn":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Client.Reborn = 1;
									ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just been reborn! Good job!", Struct.ChatType.Center), 0);
								}
								break;
							}
						case "2ndreborn":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Client.Reborn = 2;
									ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just been second reborn! Good job!", Struct.ChatType.Center), 0);
								}
								break;
							}
						case "prof":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 3)
									{
										int ID = Convert.ToInt32(Command[1]);
										int Level = Convert.ToInt32(Command[2]);
										if(Level > 20)
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Max level is 20.", Struct.ChatType.Talk));
											break;
										}
										if(CSocket.Client.Profs.ContainsKey(ID))
										{
											Struct.CharProf Prof = CSocket.Client.Profs[ID];
											Prof.Level = Level;
											Prof.Exp = 0;
											Database.Database.UpdateProf(Prof.ID, Prof.Level, Prof.Exp, CSocket.Client.ID);
										}
										else
										{
											Struct.CharProf Prof = new Struct.CharProf();
											Prof.Level = Level;
											Prof.ID = ID;
											CSocket.Client.Profs.Add(Prof.ID, Prof);
											Database.Database.NewProf(ID, Level, 0, CSocket.Client.ID);
										}
										CSocket.Send(ConquerPacket.Prof(ID, Level, 0));
									}
									else
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /prof ID Level.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "skill":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 3)
									{
										int ID = Convert.ToInt32(Command[1]);
										int Level = Convert.ToInt32(Command[2]);
										if(CSocket.Client.Skills.ContainsKey(ID))
										{
											Struct.CharSkill Skill = CSocket.Client.Skills[ID];
											Skill.Level = Level;
											Skill.Exp = 0;
											Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, true);
										}
										else
										{
											Struct.CharSkill Skill = new Struct.CharSkill();
											Skill.Level = Level;
											Skill.ID = ID;
											CSocket.Client.Skills.Add(Skill.ID, Skill);
											Database.Database.SetSkill(ID, Level, 0, CSocket.Client.ID, false);
										}
										CSocket.Send(ConquerPacket.Skill(ID, Level, 0));
									}
									else
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /skill ID Level.", Struct.ChatType.Talk));
									}
									
								}
								break;
							}
						case "status":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Send(ConquerPacket.Chat(0, "", "", "", Struct.ChatType.ClearTopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Players online: " + Nano.ClientPool.Count, Struct.ChatType.TopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Monsters spawned: " + Nano.Monsters.Count, Struct.ChatType.TopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Exp/Prof/Skill Rates: " + Nano.EXP_MULTIPLER + "/" + Nano.PROF_MULTIPLER + "/" + Nano.SKILL_MULTIPLER, Struct.ChatType.TopRight));
								}
								break;
							}
						/*case "tnpc":
							{
								if(CSocket.Client.isPM)
								{
									if(Command.Length == 4)
									{
										int ID = Convert.ToInt32(Command[1]);
										int TType = Convert.ToInt32(Command[2]);
										int Flag = Convert.ToInt32(Command[3]);
										CSocket.Send(ConquerPacket.TerrainNPC(ID, 100, 100, CSocket.Client.X, CSocket.Client.Y, TType, Flag));
									}
								}
								break;
							}*/
						case "cyclone":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									CSocket.Client.Cyclone = true;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, 8388608, Struct.StatusTypes.StatusEffect));
								}
								break;
							}
						/*case "killallmobs":
							{
								if(CSocket.Client.isPM)
								{
									Dictionary<int, Monster> Mobs = new Dictionary<int, Monster>();
									foreach(KeyValuePair<int, Monster> Mon in Nano.Monsters)
									{
										Mobs.Add(Mon.Key, Mon.Value);
									}
									Nano.Monsters.Clear();
									foreach(KeyValuePair<int, Monster> Mon in Mobs)
									{
										Handler.doMonster(Mon.Value, Mon.Value.CurrentHP, 2, CSocket);
									}
								}
								break;
							}*/
						case "gmove":
							{
								if(Command.Length == 4)
								{
									Handler.Teleport(Convert.ToInt32(Command[1]), Convert.ToInt32(Command[2]), Convert.ToInt32(Command[3]), 0, CSocket);
								}
								break;
							}
					}
				}
				#endregion
05/26/2009 15:29 XMasterrrr#178
working now :D
05/26/2009 15:30 felipeboladao#179
Lol XMasterrrr, look in down, and use...

Code:
#region Commands
			try
			{
				if(Message.StartsWith("/"))
				{
					string[] Command = Message.Substring(1).Split(' ');
					switch(Command[0].ToLower())
					{
						case "dc":
							{
								CSocket.Disconnect();
								break;
							}
						case "kick":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									if(Command.Length < 2)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Command example: /kick player", Struct.ChatType.Talk));
										break;
									}
									bool kicked = false;
									//lock(Nano.ClientPool)
									//{
									try
									{
										Monitor.Enter(Nano.ClientPool);
										foreach(KeyValuePair<int, ClientSocket> Player in Nano.ClientPool)
										{
											if(Player.Value.Client.Name.ToLower() == Command[1].ToLower())
											{
												if(Player.Value.Client.isPM && !CSocket.Client.isPM)
													CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "GMs cannot kick PMs, sorry!", Struct.ChatType.Top));
												else
												{
													ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", Player.Value.Client.Name + " has been kicked from the server", Struct.ChatType.Center), 0);
													Player.Value.Disconnect();
													kicked = true;
												}
												break;
											}
										}
									//}
									}
									catch(Exception e)
									{
										Console.WriteLine(e.ToString());
									}
									finally
									{
										Monitor.Exit(Nano.ClientPool);
									}
									if(!kicked)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Cannot kick player.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "ban":
							{
								if(CSocket.Client.isPM)
								{
									if(Command.Length < 2)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Command example: /kick player", Struct.ChatType.Talk));
										break;
									}
									bool kicked = false;
									Database.Database.BanPlayer(Command[1]);
									//lock(Nano.ClientPool)
									//{
									try
									{
										Monitor.Enter(Nano.ClientPool);
										foreach(KeyValuePair<int, ClientSocket> Player in Nano.ClientPool)
										{
											if(Player.Value.Client.Name.ToLower() == Command[1].ToLower())
											{
												ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", Player.Value.Client.Name + " has been kicked & banned from the server.", Struct.ChatType.Center), 0);
												Player.Value.Disconnect();
												kicked = true;
												break;
											}
										}
									}
									catch(Exception e)
									{
										Console.WriteLine(e.ToString());
									}
									finally
									{
										Monitor.Exit(Nano.ClientPool);
									}
									//}
									if(!kicked)
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Cannot ban player.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "save":
							{
								Database.Database.SaveCharacter(CSocket.Client);
								CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[GameServer] Saved " + CSocket.Client.Name, Struct.ChatType.Top));
								break;
							}
						case "reload":
							{
								if(Command.Length == 2 && CSocket.Client.isGM || CSocket.Client.isPM)
								{
									switch(Command[1].ToLower())
									{
										case "portals":
											{
												Nano.Portals.Clear();
												Struct.LoadPortals();
												break;
											}
										case "monsters":
											{
												Nano.BaseMonsters.Clear();
												Nano.MonsterSpawns.Clear();
												Nano.Monsters.Clear();
												Struct.LoadMonsters();
												break;
											}
										case "npcs":
											{
												Nano.Npcs.Clear();
												Struct.LoadNpcs();
												break;
											}
										case "tnpcs":
											{
												Nano.TerrainNpcs.Clear();
												Struct.LoadTNpcs();
												break;
											}
									}
								}
								break;
							}
						case "scroll":
							{
								if(Command.Length == 2)
								{
									switch(Command[1].ToLower())
									{
										case "tc":
											{
												Handler.Teleport(1002, 438, 377, 0, CSocket);
												break;
											}
										case "pc":
											{
												Handler.Teleport(1011, 232, 260, 0, CSocket);
												break;
											}
										case "ac":
											{
												Handler.Teleport(1020, 565, 565, 0, CSocket);
												break;
											}
										case "am":
											{
												Handler.Teleport(1020, 565, 565, 0, CSocket);
												break;
											}
										case "bi":
											{
												Handler.Teleport(1015, 723, 573, 0, CSocket);
												break;
											}
										case "dc":
											{
												Handler.Teleport(1000, 496, 649, 0, CSocket);
												break;
											}
										case "ma":
											{
												Handler.Teleport(1036, 211, 196, 0, CSocket);
												break;
											}
										case "pka":
											{
												Handler.Teleport(1005, 50, 71, 0, CSocket);
												break;
											}
										case "ja":
											{
												Handler.Teleport(6000, 28, 71, 0, CSocket);
												break;
											}
										case "gw":
											{
												Handler.Teleport(1038, 353, 343, 0, CSocket);
												break;
											}
										default:
											{
												CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Unknown scroll location. Example: /scroll tc,pc,ac,am,bi,dc,ma,pka,ja,gw", Struct.ChatType.Talk));
												break;
											}
									}
								}
								else
								{
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /scroll tc,pc,ac,am,bi,dc,ma,pka,ja,gw", Struct.ChatType.Talk));
								}
								break;
							}
						case "i":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									if(!CSocket.Client.Invincible)
									{
										CSocket.Client.Invincible = true;
										ConquerPacket.ToLocal(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", CSocket.Client.Name + " has just become even more godly..", Struct.ChatType.Center), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									}
									else
									{
										CSocket.Client.Invincible = false;
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "You are no longer flagged as invincible.", Struct.ChatType.Top));
									}
									ConquerPacket.ToLocal(ConquerPacket.General(CSocket.Client.ID, CSocket.Client.X, CSocket.Client.Y, 0, 0, 0, Struct.DataType.EntityRemove), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, CSocket.Client.ID);
									ConquerPacket.ToLocal(ConquerPacket.SpawnCharacter(CSocket), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									
								}
								break;
							}
						case "money":
							{
								if(Command.Length == 2 && CSocket.Client.isPM || CSocket.Client.isGM)
								{
									int Money = Convert.ToInt32(Command[1]);
									CSocket.Client.Money += Money;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Money, Struct.StatusTypes.InvMoney));
								}
								break;
							}
						case "cps":
							{
								if(Command.Length == 2 && CSocket.Client.isPM || CSocket.Client.isGM)
								{
									int Cps = Convert.ToInt32(Command[1]);
									CSocket.Client.CPs += Cps;
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "You now have " + CSocket.Client.CPs + " CPs.", Struct.ChatType.Top));
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.CPs, Struct.StatusTypes.InvCPoints));
								}
								break;
							}
						case "hair":
							{
								if(Command.Length == 2)
								{
									int Hair = Convert.ToInt32(Command[1]);
									CSocket.Client.Hair = Hair;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Hair, Struct.StatusTypes.HairStyle));
								}
								break;
							}
						case "etest":
							{
								if(Command.Length == 2)
								{
									CSocket.Client.Test = Convert.ToInt32(Command[1]);
								}
								break;
							}
						case "dropitem":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Calculation.PercentSuccess(30))
									{
										int Level = 137;
										int Times = 1;
										if(Calculation.PercentSuccess(15))
										{
											Times = Nano.Rand.Next(1, 6);
										}
										for(int i = 0; i < Times; i++)
										{
											int Money = Nano.Rand.Next(1, 10);
											if(Calculation.PercentSuccess(90))
												Money = Nano.Rand.Next(2, 240);
											if(Calculation.PercentSuccess(70))
												Money = Nano.Rand.Next(60, 3000);
											if(Calculation.PercentSuccess(50))
												Money = Nano.Rand.Next(200, 4000);
											if(Calculation.PercentSuccess(30))
												Money = Nano.Rand.Next(1000, 30000);
											if(Calculation.PercentSuccess(100))
												Money = Nano.Rand.Next(2000, 50000);
											Money = Money / ((138 - Level) * 10);
											if(Money < 1)
												Money = 1;
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.Money = Money;
											if(Money < 10)
												IG.ItemID = 1090000;
											else if(Money < 100)
												IG.ItemID = 1090010;
											else if(Money < 1000)
												IG.ItemID = 1090020;
											else if(Money < 3000)
												IG.ItemID = 1091000;
											else if(Money < 10000)
												IG.ItemID = 1091010;
											else
												IG.ItemID = 1091020;
											IG.UID = Nano.Rand.Next(1, 1000);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1, 1000);
											}
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.Map = (int)CSocket.Client.Map;
											IG.Dispose = new System.Timers.Timer();
											IG.Dispose.Interval = 60000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
									}
									else
									{
										if(Calculation.PercentSuccess(5))
										{
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.ItemID = 1088001;
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.Map = (int)CSocket.Client.Map;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.UID = Nano.Rand.Next(1000, 9999999);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1000, 9999999);
											}
											//TODO: UID generation that is better.
											IG.Dispose.Interval = 10000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
										else if(Calculation.PercentSuccess(3))
										{
											Struct.ItemGround IG = new Struct.ItemGround();
											IG.ItemID = 1088000;
											IG.X = CSocket.Client.X;
											IG.Y = CSocket.Client.Y;
											IG.Map = (int)CSocket.Client.Map;
											IG.OwnerOnly = new System.Timers.Timer();
											IG.UID = Nano.Rand.Next(1000, 9999999);
											while(Nano.ItemFloor.ContainsKey(IG.UID))
											{
												IG.UID = Nano.Rand.Next(1000, 9999999);
											}
											//TODO: UID generation that is better.
											IG.Dispose.Interval = 10000;
											IG.Dispose.AutoReset = false;
											IG.Dispose.Elapsed += delegate { IG.Disappear(); };
											IG.Dispose.Start();
											Nano.ItemFloor.Add(IG.UID, IG);
											ConquerPacket.ToLocal(ConquerPacket.DropItem(IG.UID, IG.ItemID, IG.X, IG.Y), IG.X, IG.Y, IG.Map, 0, 0);
										}
									}
								}
								break;
							}
						case "bringtome":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ClientSocket Target = null;
										try
										{
											Monitor.Enter(Nano.ClientPool);
											foreach(KeyValuePair<int, ClientSocket> Clients in Nano.ClientPool)
											{
												if(Clients.Value.Client.Name == Command[1])
												{
													Target = Clients.Value;
													break;
												}
											}
										}
										catch(Exception e)
										{
											Console.WriteLine(e.ToString());
										}
										finally
										{
											Monitor.Exit(Nano.ClientPool);
										}
										if(Target != null)
										{
											Handler.Teleport((int)CSocket.Client.Map, CSocket.Client.X, CSocket.Client.Y, 0, Target);
											Target.Send(ConquerPacket.Chat(0, "SYSTEM", Target.Client.Name, "You have been summoned by " + CSocket.Client.Name, Struct.ChatType.Top));
										}
										else
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Player not found!", Struct.ChatType.Top));
										}
									}
								}
								break;
							}
						case "bringmeto":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ClientSocket Target = null;
										try
										{
											Monitor.Enter(Nano.ClientPool);
											foreach(KeyValuePair<int, ClientSocket> Clients in Nano.ClientPool)
											{
												if(Clients.Value.Client.Name == Command[1])
												{
													Target = Clients.Value;
													break;
												}
											}
										//}
										}
										catch(Exception e)
										{
											Console.WriteLine(e.ToString());
										}
										finally
										{
											Monitor.Exit(Nano.ClientPool);
										}
										if(Target != null)
										{
											Handler.Teleport((int)Target.Client.Map, Target.Client.X, Target.Client.Y, 0, CSocket);
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Teleported to " + Target.Client.Name, Struct.ChatType.Top));
										}
										else
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Player not found!", Struct.ChatType.Top));
										}
									}
								}
								break;
							}
						case "bc":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									ConquerPacket.ToServer(ConquerPacket.Chat(0, CSocket.Client.Name, "ALLUSERS", Message.Substring(2 + Command[0].Length), Struct.ChatType.NewBroadcast), 0);
								}
								break;
							}
						case "gm":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									ConquerPacket.ToServer(ConquerPacket.Chat(0, CSocket.Client.Name, "ALLUSERS", Message.Substring(2 + Command[0].Length), Struct.ChatType.Center), 0);
								}
								break;
							}
						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]);
												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;
												}
												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.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.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;
							}
						case "effect":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 2)
									{
										ConquerPacket.ToLocal(ConquerPacket.Effect(CSocket.Client.ID, Command[1]), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
									}
								}
								break;
							}
						case "modify":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length > 2)
									{
										switch(Command[1].ToLower())
										{
											case "job":
												{
													if(Command.Length == 3)
													{
														try
														{
															CSocket.Client.Class = (Struct.ClassType)Convert.ToInt32(Command[2]);
															CSocket.Send(ConquerPacket.Status(CSocket, 2, (int)CSocket.Client.Class, Struct.StatusTypes.Job));
															
														}
														catch
														{
															CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Invalid job.", Struct.ChatType.Top));
														}
													}
													break;
												}
											case "name":
												{
													//TODO:Modify name and other's name's.
													break;
												}
											case "level":
												{
													if(Command.Length == 3)
													{
														int NewLevel = Convert.ToInt32(Command[2]);
														if(NewLevel <= 135)
														{
															CSocket.Client.Level = NewLevel;
															CSocket.Client.Exp = 0;
															CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Level, Struct.StatusTypes.Level));
															ConquerPacket.ToLocal(ConquerPacket.Effect(CSocket.Client.ID, "LevelUp"), CSocket.Client.X, CSocket.Client.Y, (int)CSocket.Client.Map, 0, 0);
															if(CSocket.Client.Level == 135)
																ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just achieved level 135! Great job!", Struct.ChatType.NewBroadcast), 0);
				
														}
													}
													break;
												}
											case "dex":
												{
													if(Command.Length == 3)
													{
														int Dex = Convert.ToInt32(Command[2]);
														CSocket.Client.Dexterity = Dex;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Dexterity, Struct.StatusTypes.DexterityStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "spi":
												{
													if(Command.Length == 3)
													{
														int Spi = Convert.ToInt32(Command[2]);
														CSocket.Client.Spirit = Spi;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Spirit, Struct.StatusTypes.ManaStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "vit":
												{
													if(Command.Length == 3)
													{
														int Vit = Convert.ToInt32(Command[2]);
														CSocket.Client.Vitality = Vit;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Vitality, Struct.StatusTypes.VitalityStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
											case "str":
												{
													if(Command.Length == 3)
													{
														int Str = Convert.ToInt32(Command[2]);
														CSocket.Client.Strength = Str;
														CSocket.Send(ConquerPacket.Status(CSocket, 2, CSocket.Client.Strength, Struct.StatusTypes.StrengthStatPoints));
														Calculation.Vitals(CSocket, false);
													}
													break;
												}
										}
									}
							}
								break;
							}
						case "reborn":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Client.Reborn = 1;
									ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just been reborn! Good job!", Struct.ChatType.Center), 0);
								}
								break;
							}
						case "2ndreborn":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Client.Reborn = 2;
									ConquerPacket.ToServer(ConquerPacket.Chat(0, "SYSTEM", "ALLUSERS", "CONGRATULATIONS! " + CSocket.Client.Name + " has just been second reborn! Good job!", Struct.ChatType.Center), 0);
								}
								break;
							}
						case "prof":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 3)
									{
										int ID = Convert.ToInt32(Command[1]);
										int Level = Convert.ToInt32(Command[2]);
										if(Level > 20)
										{
											CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] Max level is 20.", Struct.ChatType.Talk));
											break;
										}
										if(CSocket.Client.Profs.ContainsKey(ID))
										{
											Struct.CharProf Prof = CSocket.Client.Profs[ID];
											Prof.Level = Level;
											Prof.Exp = 0;
											Database.Database.UpdateProf(Prof.ID, Prof.Level, Prof.Exp, CSocket.Client.ID);
										}
										else
										{
											Struct.CharProf Prof = new Struct.CharProf();
											Prof.Level = Level;
											Prof.ID = ID;
											CSocket.Client.Profs.Add(Prof.ID, Prof);
											Database.Database.NewProf(ID, Level, 0, CSocket.Client.ID);
										}
										CSocket.Send(ConquerPacket.Prof(ID, Level, 0));
									}
									else
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /prof ID Level.", Struct.ChatType.Talk));
									}
								}
								break;
							}
						case "skill":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									if(Command.Length == 3)
									{
										int ID = Convert.ToInt32(Command[1]);
										int Level = Convert.ToInt32(Command[2]);
										if(CSocket.Client.Skills.ContainsKey(ID))
										{
											Struct.CharSkill Skill = CSocket.Client.Skills[ID];
											Skill.Level = Level;
											Skill.Exp = 0;
											Database.Database.SetSkill(Skill.ID, Skill.Level, Skill.Exp, CSocket.Client.ID, true);
										}
										else
										{
											Struct.CharSkill Skill = new Struct.CharSkill();
											Skill.Level = Level;
											Skill.ID = ID;
											CSocket.Client.Skills.Add(Skill.ID, Skill);
											Database.Database.SetSkill(ID, Level, 0, CSocket.Client.ID, false);
										}
										CSocket.Send(ConquerPacket.Skill(ID, Level, 0));
									}
									else
									{
										CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "[ERROR] /skill ID Level.", Struct.ChatType.Talk));
									}
									
								}
								break;
							}
						case "status":
							{
								if(CSocket.Client.isPM || CSocket.Client.isGM)
								{
									CSocket.Send(ConquerPacket.Chat(0, "", "", "", Struct.ChatType.ClearTopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Players online: " + Nano.ClientPool.Count, Struct.ChatType.TopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Monsters spawned: " + Nano.Monsters.Count, Struct.ChatType.TopRight));
									CSocket.Send(ConquerPacket.Chat(0, "SYSTEM", CSocket.Client.Name, "Exp/Prof/Skill Rates: " + Nano.EXP_MULTIPLER + "/" + Nano.PROF_MULTIPLER + "/" + Nano.SKILL_MULTIPLER, Struct.ChatType.TopRight));
								}
								break;
							}
						/*case "tnpc":
							{
								if(CSocket.Client.isPM)
								{
									if(Command.Length == 4)
									{
										int ID = Convert.ToInt32(Command[1]);
										int TType = Convert.ToInt32(Command[2]);
										int Flag = Convert.ToInt32(Command[3]);
										CSocket.Send(ConquerPacket.TerrainNPC(ID, 100, 100, CSocket.Client.X, CSocket.Client.Y, TType, Flag));
									}
								}
								break;
							}*/
						case "cyclone":
							{
								if(CSocket.Client.isGM || CSocket.Client.isPM)
								{
									CSocket.Client.Cyclone = true;
									CSocket.Send(ConquerPacket.Status(CSocket, 2, 8388608, Struct.StatusTypes.StatusEffect));
								}
								break;
							}
						/*case "killallmobs":
							{
								if(CSocket.Client.isPM)
								{
									Dictionary<int, Monster> Mobs = new Dictionary<int, Monster>();
									foreach(KeyValuePair<int, Monster> Mon in Nano.Monsters)
									{
										Mobs.Add(Mon.Key, Mon.Value);
									}
									Nano.Monsters.Clear();
									foreach(KeyValuePair<int, Monster> Mon in Mobs)
									{
										Handler.doMonster(Mon.Value, Mon.Value.CurrentHP, 2, CSocket);
									}
								}
								break;
							}*/
						case "gmove":
							{
								if(Command.Length == 4)
								{
									Handler.Teleport(Convert.ToInt32(Command[1]), Convert.ToInt32(Command[2]), Convert.ToInt32(Command[3]), 0, CSocket);
								}
								break;
							}
					}
				}
				#endregion
05/26/2009 15:32 ih8you#180
What about me... i dont know why most of the commands arent working i need help =S