How to setup your own Server with old UCCO Project

10/23/2006 19:31 DiegoLiermann#91
Quote:
Originally posted by Hybris@Jul 31 2006, 14:37
Here are some commands (i'll add more later) :
LAST UPDATE (12/08/2006)

World.cs Scroll Command :

Code:
else if (Splitter[0] == "/scroll") 
{ 
if (Splitter[1] == "TC") 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
ArrayList[,] Target; 
byte[] SpawnData = PacketBuilder.SpawnEntity(Char); 
Target = TCLocHash; 
int x = 438; int y = 377; 
Char.CurrentLoc = new Location(x, y); 
Char.Map = World.Maps.TwinCity; 
Target[x, y].Add(Client); 
World.SpawnCharacter(Client); 
Client.SendData(PacketBuilder.Message(Client.MessageID, "TELEPORT", Client.Char.Name, "Teleported to: " + Client.Char.Map, ChatType.Talk)); 
} 
else if (Splitter[1] == "PC") 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
ArrayList[,] Target; 
byte[] SpawnData = PacketBuilder.SpawnEntity(Char); 
Target = MFLocHash; 
int x = 232; int y = 260; 
Char.CurrentLoc = new Location(x, y); 
Char.Map = World.Maps.MapleForest; 
Target[x, y].Add(Client); 
World.SpawnCharacter(Client); 
Client.SendData(PacketBuilder.Message(Client.MessageID, "TELEPORT", Client.Char.Name, "Teleported to: " + Client.Char.Map, ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "Usage : /scroll TheCity", ChatType.Talk)); 
} 
}
World.cs Life Command :

Code:
else if (Splitter[0] == "/Life" || Splitter[0] == "/life") 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Life = Char.MaxHP; 
Char.HP = Life; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "LIFE SYSTEM", Client.Char.Name, "Life Restored!", ChatType.Talk)); 
}
World.cs Mana Command (need to add Mana in Character.cs before, like Life) :

Code:
else if (Splitter[0] == "/Mana" || Splitter[0] == "/mana") 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Mana = Char.MaxMP; 
Char.MP = Mana; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "MANA SYSTEM", Client.Char.Name, "Mana Restored!", ChatType.Talk)); 
}
World.cs Stats Modifier (i know its a hard way i made em but its mine :P [btw my mind is strange, dont try to understand me ^^]) :

Code:
else if (Splitter[0] == "/Stats" || Splitter[0] == "/stats") 
{ 
if (Splitter[1] == "str") 
{ 
if (Splitter[2].Length > 4 || Splitter[2].Length < 4) 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Strength = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48); 
Char.Strength = Strength; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Strength Changed", ChatType.Talk)); 
} 
} 
else if (Splitter[1] == "dex") 
{ 
if (Splitter[2].Length > 4 || Splitter[2].Length < 4) 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Dexterity = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48); 
Char.Dexterity = Dexterity; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Dexterity Changed", ChatType.Talk)); 
} 
} 
else if (Splitter[1] == "vit") 
{ 
if (Splitter[2].Length > 4 || Splitter[2].Length < 4) 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Vitality = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48); 
Char.Vitality = Vitality; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Vitality Changed", ChatType.Talk)); 
} 
} 
else if (Splitter[1] == "man") 
{ 
if (Splitter[2].Length > 4 || Splitter[2].Length < 4) 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int Mana = ((Message[11] - 48) * 1000) + ((Message[12] - 48) * 100) + ((Message[13] - 48) * 10) + (Message[14] - 48); 
Char.Mana = Mana; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Mana Changed", ChatType.Talk)); 
} 
} 
else if (Splitter[1].Length > 3 || Splitter[1].Length < 3) 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
else 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "Stats Modifier", Client.Char.Name, "Usage : /Stats str/dex/man/vit xxxx", ChatType.Talk)); 
} 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
}
World.cs ASCII Identifier (you can write /what? xyz and you'll have ASCII codes for x, y and z, can be useful) :

Code:
else if (Splitter[0] == "/What?" || Splitter[0] == "/what?") 
{ 
int x1 = Message[7]; 
int x2 = Message[8]; 
int x3 = Message[9]; 
Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "These chars are : " + x1 + x2 + x3, ChatType.Talk)); 
}
World.cs Teleport Command (in the same map always) :

Code:
else if (Splitter[0] == "/mm") 
{ 
if (Splitter.Length == 3) 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
ArrayList[,] Target; 
byte[] SpawnData = PacketBuilder.SpawnEntity(Char); 
Target = TCLocHash; 
int x1 = Message[4] - 48; 
int x2 = Message[5] - 48; 
int x3 = Message[6] - 48; 
int y1 = Message[8] - 48; 
int y2 = Message[9] - 48; 
int y3 = Message[10] - 48; 
int x = x1 * 100 + x2 * 10 + x3; int y = y1 * 100 + y2 * 10 + y3; 
Char.CurrentLoc = new Location(x, y); 
Target[x, y].Add(Client); 
World.SpawnCharacter(Client); 
} 
else 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "Usage : /mm xxx yyy", ChatType.Talk)); 
} 
}
World.cs Level Modifier Command :

Code:
else if (Splitter[0] == "/level" || Splitter[0] == "/Level") 
{ 
if (Splitter.Length == 2) 
{ 
if (Splitter[1].Length == 3) 
{ 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
Character Char = Client.Char; 
int L1 = Message[7] - 48; 
int L2 = Message[8] - 48; 
int L3 = Message[9] - 48; 
int L4 = L1 * 100 + L2 * 10 + L3; 
Char.Level = L4; 
Client.SendData(PacketBuilder.CharacterInfo(Client.Char)); 
} 
else 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "Usage : /level xxx", ChatType.Talk)); 
} 
} 
else 
{ 
Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "Usage : /level xxx", ChatType.Talk)); 
} 
}
I just finished a working good /give Command, you can add any items everywhere you want. You just need to add a
Code:
public static int UID = 0;
at the beginning of "Public Class World".
Here is the World.cs Command :
Code:
else if (Splitter[0] == "/give" || Splitter[0] == "/Give")
 * *{
 * * if (Splitter[1] == "0" || Splitter[1] == "1")
 * * {
 * * *int Item_Location = 0;
 * * *int Item_Inventory = 0;
 * * *int Item_Type = 0;
 * * *int Item_Color = 0;
 * * *int Item_Level = 0;
 * * *int Item_Quality = 0;
 * * *int Item_Compose = 0;
 * * *int Item_UID = 0;
 * * *int Item_ID = 0;
 * * *int LeftHand = 0;
 * * *if (UID < 1)
 * * *{
 * * * UID = 0;
 * * *}
 * * *UID++;
 * * *if (Splitter[2] == "Other" || Splitter[2] == "other")
 * * * Item_Location = 70;
 * * *else if (Splitter[2] == "HeadWear" || Splitter[2] == "headwear")
 * * * Item_Location = 11;
 * * *else if (Splitter[2] == "Necklace" || Splitter[2] == "necklace")
 * * * Item_Location = 12;
 * * *else if (Splitter[2] == "Armor" || Splitter[2] == "armor")
 * * * Item_Location = 13;
 * * *else if (Splitter[2] == "RightHand" || Splitter[2] == "righthand")
 * * * Item_Location = 41;
 * * *else if (Splitter[2] == "LeftHand" || Splitter[2] == "lefthand")
 * * *{
 * * * Item_Location = 41;
 * * * LeftHand = 1;
 * * *}
 * * *else if (Splitter[2] == "Ring" || Splitter[2] == "ring")
 * * * Item_Location = 15;
 * * *else if (Splitter[2] == "Boots" || Splitter[2] == "boots")
 * * * Item_Location = 16;
 * * *Item_Inventory = Convert.ToInt32(Splitter[1]);
 * * *Item_Type = (Convert.ToInt32(Splitter[3]) - 1) * 1000;
 * * *if (Splitter[4] != "0")
 * * *{
 * * * if (Item_Location == 13 || Item_Location == 11)
 * * * *if (Item_Type == 7000 && Item_Location == 11)
 * * * * Item_Color = 3 * 100;
 * * * *else
 * * * * Item_Color = (Convert.ToInt32(Splitter[4]) + 2) * 100;
 * * * else
 * * * *Item_Color = 0;
 * * *}
 * * *else
 * * * Item_Color = 0;
 * * *Item_Level = (Convert.ToInt32(Splitter[5]) - 1) * 10;
 * * *Item_Quality = Convert.ToInt32(Splitter[6]) + 2;
 * * *Item_Compose = Convert.ToInt32(Splitter[7]);
 * * *Item_UID = Convert.ToInt32(UID);
 * * *Item_ID = (Item_Location * 10000) + Item_Type + Item_Color + Item_Level + Item_Quality;
 * * *Client.SendData(PacketBuilder.GiveItem(Item_Inventory, Item_Location, Item_ID, Item_Compose, Item_UID, LeftHand));
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", Client.Char.Name, "The Item " + Item_ID + " was given.", ChatType.Top));
 * * }
 * * else if (Splitter[1] == "/Location" || Splitter[1] == "/location")
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "Other HeadWear Necklace Armor RightHand LeftHand Ring Boots", ChatType.Talk));
 * * else if (Splitter[1] == "/Inventory" || Splitter[1] == "/inventory")
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "1 For Equipped/0 For Unequipped", ChatType.Talk));
 * * else if (Splitter[1] == "/Type" || Splitter[1] == "/type")
 * * {
 * * *if (Splitter[2] == "/Weapons" || Splitter[2] == "/weapons")
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "1Blade 11Sword 12BackSword 21Hook 31Whip 41Axe 51Hammer 71Club 72Scepter 81Dagger 91Bow 101Glaive 121Poleaxe 131LongHammer 151Spear 152Wand 171Halbert ", ChatType.Talk));
 * * *else if (Splitter[2] == "/?")
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give /Type /Weapons - Gives Info for Weapons", ChatType.Talk));
 * * *else
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "/Give SYSTEM", "ALL", "Nothing to say", ChatType.Talk));
 * * }
 * * else if (Splitter[1] == "/Color" || Splitter[1] == "/color")
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "From 1 to 7 for Hats, Caps, Helmets and Armors of all Kind", ChatType.Talk));
 * * else if (Splitter[1] == "/?")
 * * {
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give Inventory Location Type Color Level Quality Compose", ChatType.Talk));
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/give /? |More", ChatType.Talk));
 * * *if (Splitter[2] == "|More" || Splitter[2] == "|more")
 * * *{
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "Smone", "ALL", "/Give /Inventory - Gives Definition of Inventory Bool", ChatType.Talk));
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give /Location - Gives Kind of Locations", ChatType.Talk));
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give /Type - Gives kind of Types", ChatType.Talk));
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give /Color - Gives info about Colors", ChatType.Talk));
 * * * Client.SendData(PacketBuilder.Message(Client.MessageID, "SYSTEM", "ALL", "/Give /Level - Gives info about Levels", ChatType.Talk));
 * * *}
 * * }
 * * else
 * * *Client.SendData(PacketBuilder.Message(Client.MessageID, "/Give SYSTEM", "ALL", "Nothing to say", ChatType.Talk));
 * *}
And here is the PacketBuilder.cs Packet :
Code:
public static byte[] GiveItem(int Inventory, int Location, int ID, int Compose, int UID, int LeftHand)
 {
 *byte[] PacketData = new byte[0x18];
 *PacketData[0] = 0x18;
 *PacketData[1] = 0x00;
 *PacketData[2] = 0xf0;
 *PacketData[3] = 0x03;
 *PacketData[4] = (byte) (UID & 0xff);//UID
 *PacketData[5] = (byte)((UID >> 8) & 0xff); // '
 *PacketData[6] = (byte)((UID >> 16) & 0xff); // '
 *PacketData[7] = (byte)((UID >> 24) & 0xff); // '
 *PacketData[8] = (byte)(ID *& 0xff); //Item ID
 *PacketData[9] = (byte)((ID >> 8) & 0xff); // * '
 *PacketData[0x0a] = (byte)((ID >> 16) & 0xff); // *'
 *PacketData[0x0b] = (byte)((ID >> 24) & 0xff); // *'
 *if (Location >= 70)
 *{
 * PacketData[0x0c] = 0x00; // NULL
 * PacketData[0x0d] = 0x00; // DURABILITY
 * PacketData[0x0e] = 0x00; // FOR
 * PacketData[0x0f] = 0x00; // COMMON ITEMS
 *}
 *else
 *{
 * PacketData[0x0c] = 0x88; // Current Durability
 * PacketData[0x0d] = 0x13; // * * *'
 * PacketData[0x0e] = 0x88; // Max Durability
 * PacketData[0x0f] = 0x13; // * * *'
 *}
 *PacketData[0x10] = 0x01; //01
 *PacketData[0x11] = 0x00; //00
 *if (Inventory != 0)
 *{
 * if (Location >= 70)
 * *PacketData[0x12] = 0x00;//INVENTORY
 * else if (Location >= 41)
 * {
 * *if (LeftHand == 0)
 * * PacketData[0x12] = 0x04;//RIGHT HAND
 * *else if (LeftHand == 1)
 * * PacketData[0x12] = 0x05;//LEFT HAND
 * }
 * else if (Location == 16)
 * *PacketData[0x12] = 0x08;//BOOTS
 * else if (Location == 15)
 * *PacketData[0x12] = 0x06;//RING
 * else if (Location == 13)
 * *PacketData[0x12] = 0x03;//ARMOR
 * else if (Location == 12)
 * *PacketData[0x12] = 0x02;//NECKLACE
 * else
 * *PacketData[0x12] = 0x01;
 *}
 *else
 *{
 * PacketData[0x12] = 0x00;
 *}
 *PacketData[0x13] = 0x00; //Gem 1
 *PacketData[0x14] = 0x00; //Gem 2
 *PacketData[0x15] = 0x00;
 *PacketData[0x16] = 0x00;
 *PacketData[0x17] = (byte)(Compose & 0xff); //Composition
 *return PacketData;
 }
It stills needs some Ameliorations but its kinda good atm. You can add any items with that everywhere you want, even in your inventory (btw took me an entire Night to programm it and find all bugs, so +1 karma if u use it would be nice at least)

Here is my World.cs Skill Command (you can add all skills in one but many skills arent really existing ^^) :
Code:
else if (Splitter[0] == "/skill" || Splitter[0] == "Skill")
 * *	{
 * * *if (Splitter[1] == "all" || Splitter[1] == "ALL")
 * * *{
 * * *	for (int boucle = 0; boucle <= 5000; boucle++)
 * * *	{
 * * * *Client.SendData(PacketBuilder.Skill(boucle, 0, 0));
 * * *	}
 * * *}
 * * *int Skill_ID = Convert.ToInt32(Splitter[1]);
 * * *int Skill_Exp = Convert.ToInt32(Splitter[2]);
 * * *int Skill_Level = Convert.ToInt32(Splitter[3]);
 * * *Client.SendData(PacketBuilder.Skill(Skill_ID, Skill_Exp, Skill_Level));
 * *	}
And here is the PacketBuilder.cs Packet used on that command :
Code:
public static byte [] Skill(int Skill_ID, int Skill_Exp, int Skill_Level)
 *{
 *	byte [] PacketData = new byte[0x0c];
 *	PacketData[0] = 0x0c;
 *	PacketData[1] = 0x00;
 *	PacketData[2] = 0x4f;
 *	PacketData[3] = 0x04;
 *	PacketData[4] = (byte)(Skill_Exp & 0xff);
 *	PacketData[5] = (byte)((Skill_Exp >> 8) & 0xff);
 *	PacketData[6] = (byte)((Skill_Exp >> 16) & 0xff);
 *	PacketData[7] = (byte)((Skill_Exp >> 24) & 0xff);
 *	PacketData[8] = (byte)(Skill_ID & 0xff);
 *	PacketData[9] = (byte)((Skill_ID >> 8) & 0xff);
 *	PacketData[0x0a] = (byte)(Skill_Level & 0xff);
 *	PacketData[0x0b] = (byte)((Skill_Level >> 8) & 0xff);
 *	return PacketData;
 *}
Enjoy it, and use wisely the "/skill all" command (dont forget to modify it ;))[COLOR=red][COLOR=red]
Hi,where i put this code that u show

in world .cs but where???
11/14/2006 16:45 KoW3#92
can you make an offline world for you own to????
11/15/2006 16:24 oleg233#93
i can do server becouse he say me error in the vbsetup i dont now wtf?
11/20/2006 22:00 EagleEye#94
can plz someone really good explain private server full info and if it can in dutch
plz i want to get the sever :cry: :cry: :cry:
11/24/2006 22:45 AzNShadoW#95
hm ill give it a try... +k if i get one hehe
11/26/2006 02:20 Diogren#96
Two quick questions:
1. In Visual C#, how exactly do I open the little reference toolbar to replace XYThreadPool.dll?
2. In phAdmin III, what password are you talking about in the installation? Every time I enter a password, the thing pops up again.

-confused-
11/27/2006 06:09 Hybris#97
First of all to answer everyone, everyone who dont have a Version of Conquer older than 4312 won't make this server work on this Client. Then, errors that says : Make sure the application for the project type (.vbproj) is installed, means that you didnt installed Visual Basic well, maybe because of .net or SP2. The password that i talk in postgreSQL (not pgAdminIII) is the one in the installation.
11/27/2006 21:39 Diogren#98
alright thanks dude. lets see what I can do now >.>
11/28/2006 15:44 keving#99
Can somebody create me the ConquerFullServer.exe i cant create my IP is:192.168.2.33
11/28/2006 23:47 Misery28#100
I do everything right until step 5, but afterwards i get confused and lost :cry:

Could you add pictures and more detailed steps. (;)

pllzzzzzzzz lol

:cool: +k on your way
12/14/2006 14:26 moulinos#101
hi all,me problem is launch app compiled in vs2005 ,crash after launch :s

in mode dos problem report is username and password wrong database

where is login and password ?

in config.ini or in app (coserver.exe )?

help me please :cry: :cry: !!!
12/14/2006 22:05 ImJustToney#102
The promblem i have is when i try to log in it goes to logging into server...please wait. It never goes past that but it shows me on the server as logged in and if i click somewhere on the screen the server shows my co-ordinates change. It's like i am in the server but my screen isn't refreshing. Any help would be very appreciative.
12/15/2006 23:22 h0z#103
nice shit
12/16/2006 03:36 xDragonfighterx#104
I don't reply much but, I am having one problem its in the World.cs its the Item Command. I am getting 4 errors basically the same thing but I just want to know how i can fix this problem.

Error 2 The name 'UID' does not exist in the current context C:\COFullServer\CO Full Server\World.cs 1106 29 CO Full Server

Error 3 The name 'UID' does not exist in the current context C:\COFullServer\CO Full Server\World.cs 1108 29 CO Full Server
Error 4 The name 'UID' does not exist in the current context C:\COFullServer\CO Full Server\World.cs 1110 25 CO Full Server
Error 5 The name 'UID' does not exist in the current context C:\COFullServer\CO Full Server\World.cs 1147 52 CO Full Server
12/16/2006 19:28 saidfathi#105
nice