CO Private Server

08/09/2006 21:09 Hybris#841
Quote:
Originally posted by Darkkal@Aug 9 2006, 06:34
ehhh....no more private servers :P its not fun with just 123 ppl on 1 server :(
Get The Fuck Out and Let us WORK ! NOOB !
08/10/2006 21:10 aidas2004#842
Hybris> hehe, dont be so rude... =]
08/10/2006 22:13 Hybris#843
Quote:
Originally posted by aidas2004@Aug 10 2006, 21:10
Hybris> hehe, dont be so rude... =]
loOL, was a bit tired this day ^^ I promise i wont do again (today)
08/11/2006 02:32 lostsolder05#844
ok idk if this was posted yet but i found this in the npc.ini
if im right it has all the npc id's
08/11/2006 15:22 Titanium#845
sorry but i think ive posted something like that before in page 37 or somthing its called findings.exe
08/11/2006 17:55 lostsolder05#846
lol nope didnt see anything
btw its on page 30
08/12/2006 09:27 G-Unot#847
it didnt work =(
08/12/2006 16:54 andyd123#848
Quote:
Originally posted by G-Unot@Aug 12 2006, 09:27
it didnt work =(
Please explain WHAT didnt work.
08/12/2006 20:20 Hybris#849
World.cs Skill Command which you can use it to test everyskills :
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 :
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;
 }
I'll work on your NPCs IDs lostsolder05 as soon as i can if i find how it works exactly.
08/13/2006 02:10 Sosuke#850
Wa good luck all :o
08/14/2006 05:26 lostsolder05#851
Quote:
Originally posted by Hybris@Aug 12 2006, 20:20
I'll work on your NPCs IDs lostsolder05 as soon as i can if i find how it works exactly.
Thx, i dont know if there real npc ids,but they looked like them
08/14/2006 05:41 andyd123#852
Quote:
Originally posted by lostsolder05@Aug 11 2006, 02:32
ok idk if this was posted yet but i found this in the npc.ini
if im right it has all the npc id's
No, I dont *think* those are the ids. However, I DO think that will help, because it has all the actions and etc.

It also appears as though when you click on an NPC (in real CO and QO) it sends a packet that contains everything the NPC offers.

That part isn't client sided.

However, since Ethrael monitors ALL program traffic, and COPAC fails to hook send recv packet procedure, i cant look at that packet.
08/14/2006 12:52 modar#853
wow, read every single post took long time but i did it, :), ver nice job guys, and it is nice to see, somehting that was originally very poor put together server source code now actually turning out something half decent, thnx for putting all of your hard earned time into this kindof learning project, and im looking forward to learn from this project aswell even though i barely no nothing but from what guides and help you have put up in this thread...... but ill study this stuff an hopefully be able to contribute later on

thnx lots :D :cool:


Edit: oh and hybris can you give an example of your new /give command because i get it a little bit but not fully, here let try to tell you what i think

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)
say you want a dragon glaive in your left hand,right hand and inventory this would be the code

/give 41 1 0 130 7 0? 0? 510339 1

--- if i have a ? next to it, it means i dnt quite understand that part of it,but is that a little how it goes or is it still somehting like /give right hand 510339
08/15/2006 13:38 Hybris#854
Ok here big news for NPCs, Monsters and AVATARs.
First the avatars : The Avatar is designed in the Model of your char, for example if you set your own Model as "3" you'll have a Small Male with a Chinese Design Avatar. With "50003" you'll have a Small Male with another Head. I'll try to make a library of all Avatars. Btw 1 is Small Female, 2 is Large Female, 3 is Small Male and 4 is Large Male.

Second (Monsters and NPCs) :
You can add a Monster or an NPC in the Characters Database, just use a huge ID like 5000. Then use the
Code:
Character Char = BackEndDB.GetFullChar&#40;5000&#41;
Client.SendData&#40;PacketBuilder.SpawnEntity&#40;5000&#41;
That will add the desired entity where you wanted, btw this entity will be seen only if your near it when it spawns, and when you leave it disappear. You can make a "while" which makes it appear each time someone comes near it so that he sees it.
Here are some Models i found (i'll try to find some more, or if someone can give me some Models that would be nice) :
Code:
/* 1 Small Female
    * 2 Large Female
    * 3 Small Male
    * 4 Large Male
    * 900 Guard
    * 400 Blue BladeMonster
    * 401 Blue Bandit
    * 402 Blue Mouse
    * 403 FireSnake
    * 404 AlienSnake 
    * 405 SilverHawk 
    * 406 SilverTomBat */
08/15/2006 13:48 Hybris#855
Quote:
Originally posted by modar@Aug 14 2006, 12:52
hybris can you give an example of your new /give command because i get it a little bit but not fully, here let try to tell you what i think

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)
say you want a dragon glaive in your left hand,right hand and inventory this would be the code

/give 41 1 0 130 7 0? 0? 510339 1

--- if i have a ? next to it, it means i dnt quite understand that part of it,but is that a little how it goes or is it still somehting like /give right hand 510339
You can use /give /? to have some explain about the command, /give /? |More will give you more command for help, like /give /location, btw if this dont work always try to add /? like /give /type /?.
So if you want a Dragon Glaive in your LeftHand, in your RightHand and in your Inventory you'll have to send these 3 Packets :
/give 1 LeftHand 101 1 29 7 9 (this one adds in the LeftHand a Glaive of level 125 Super +9)
/give 1 RightHand 101 1 29 7 9 (this one adds in the RightHand)
/give 0 RightHand 101 1 29 7 9 (this one adds in the inventory (no matter if its RightHand or else))

But this may bug cause it is "impossible" to add 2 2hander Weapons on each Hand. You'll be able to do it but it'll make some bugs (like adding another one in the inventory without asking etc...)