CO Private Server

08/29/2006 19:58 ranny2#886
Just to let you's know i have basis of the NPC scripts working:

Pro's:
-I can spawn spawn them and talk to them.
-Other Dialogs load such as Socketing Menu,Upgrading Shop ect (but doesnt work

Con's:
-NPC's like mobs arnt saved to the server as of yet, so it only appears in the client of whoeva requests the command.


Ill release it tomorrow cause its 4:00am here :S
08/29/2006 21:38 Hybris#887
Quote:
Originally posted by Titanium+Aug 27 2006, 14:19--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Titanium @ Aug 27 2006, 14:19)</td></tr><tr><td id='QUOTE'> <!--QuoteBegin--Hybris@Aug 25 2006, 22:23
Here is my package for those who dont have WinRar (the best way would be to get WinRar, cose as everything i do its complex to use ^^, so read carefully everything in this Archive made with iExpress and good luck lol)
[Only registered and activated users can see links. Click Here To Register...]
What does: "Entrez l'emplacement ou vous voules placer les fichiers extraits" mean? [/b][/quote]
"Entrez l'emplacement ou vous voulez placer les fichiers extraits" means : "Enter here the place where you'd like to put the extracted files"

By the way, thx for your help ranny2 i'll try to work on that once i can recover my Computer (and my server...).
08/30/2006 10:30 mariokiller64#888
haha im gonna try something to make this work but i dun kno how to completely work it out o well
08/31/2006 02:21 modar#889
you know i was thinking on how to have stuff save in the server, well i dnt knwo if this has anything to do with it or not, but when i was playing qonquer i noticed that evry so often it says that "world Saving" on my screen i dnt now if that relates to anything bout saving equips....... prolly just for when they add something new or something.... but i thought i just bring that up to maybe spar someones thoughts or somethin on how to do this ...lol
08/31/2006 08:33 Hybris#890
Quote:
Originally posted by modar@Aug 31 2006, 02:21
you know i was thinking on how to have stuff save in the server, well i dnt knwo if this has anything to do with it or not, but when i was playing qonquer i noticed that evry so often it says that "world Saving" on my screen i dnt now if that relates to anything bout saving equips....... prolly just for when they add something new or something.... but i thought i just bring that up to maybe spar someones thoughts or somethin on how to do this ...lol
I dont think their "World Saving" is that. By the way, the items has to be saved everywhen so that someone can see another man wearing the items he has right now and not 2 minutes ago (when you entered the map).
We have to make a "while" that refreshes like every 1sec and refreshes the items of everyone (what they wear and what they carry).
08/31/2006 12:41 shmoogle#891
Quote:
Originally posted by Hybris+Aug 31 2006, 08:33--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>QUOTE (Hybris @ Aug 31 2006, 08:33)</td></tr><tr><td id='QUOTE'><!--QuoteBegin--modar@Aug 31 2006, 02:21
you know i was thinking on how to have stuff save in the server, well i dnt knwo if this has anything to do with it or not, but when i was playing qonquer i noticed that evry so often it says that "world Saving" on my screen i dnt now if that relates to anything bout saving equips....... prolly just for when they add something new or something.... but i thought i just bring that up to maybe spar someones thoughts or somethin on how to do this ...lol
I dont think their "World Saving" is that. By the way, the items has to be saved everywhen so that someone can see another man wearing the items he has right now and not 2 minutes ago (when you entered the map).
We have to make a "while" that refreshes like every 1sec and refreshes the items of everyone (what they wear and what they carry).[/b][/quote]

A while that refreshed every 1 secound will probably kill the server.

One way of getting it to refresh would be that every time someone equips something it syncs and saves to db.

Here is an example of sync and save to db thing. NOTE: it for MYSQL

Code:
internal static void SyncHead&#40;Equipment Equip, Character Char&#41;
    {
      string Cmd = &#34;UPDATE equipment SET Defense=&#34; + Equip.Head.Def + &#34;, Agility=&#34; + Equip.Head.Agility +
        &#34;, Dodge=&#34; + Equip.Head.Dodge + &#34;, Durability=&#34; + Equip.Head.Durability + &#34;, Health=&#34; + Equip.Head.Health +
        &#34;, ItemID=&#34; + Equip.Head.ItemID + &#34;, MagicAttack=&#34; + Equip.Head.MagicAttack + &#34;, MagicDefense=&#34; + Equip.Head.MagicDefense +
        &#34;, MaxAttack=&#34; + Equip.Head.MaxAttack + &#34;, MaxDurability=&#34; + Equip.Head.MaxDurability + &#34;, MinAttack=&#34; + Equip.Head.MinAttack +
        &#34; WHERE CharID = &#34; + &#40;uint&#41;&#40;Char.CharID - 0x00120000&#41; + &#34; AND Location = 1&#34;;
      MySqlConnection myConn = new MySqlConnection&#40;Conn&#41;;
      MySqlCommand myCmd = new MySqlCommand&#40;Cmd&#41;;
      myCmd.Connection = myConn;
      myConn.Open&#40;&#41;;
      myCmd.ExecuteNonQuery&#40;&#41;;
      myCmd.Connection.Close&#40;&#41;;
    }
This is my spawn entity packet... where theres "<-- add this" is the code you probably need. you'll have to change it to suit your code.

Code:
public static byte&#91;&#93; SpawnEntity&#40;Character Player&#41;
    {
      byte&#91;&#93; PacketData = new byte&#91;0x39 + Player.Name.Length&#93;;
      PacketData&#91;0x0&#93; = &#40;byte&#41;&#40;PacketData.Length & 0xff&#41;;
      PacketData&#91;0x1&#93; = &#40;byte&#41;&#40;PacketData.Length >> 8&#41;;
      PacketData&#91;0x2&#93; = 0xf6;
      PacketData&#91;0x3&#93; = 0x03;
      PacketData&#91;0x4&#93; = &#40;byte&#41;&#40;Player.CharID & 0xff&#41;;//id
      PacketData&#91;0x5&#93; = &#40;byte&#41;&#40;&#40;Player.CharID >> 8&#41; & 0xff&#41;;//id
      PacketData&#91;0x6&#93; = &#40;byte&#41;&#40;&#40;Player.CharID >> 16&#41; & 0xff&#41;;//id
      PacketData&#91;0x7&#93; = &#40;byte&#41;&#40;&#40;Player.CharID >> 24&#41; & 0xff&#41;;//id
      PacketData&#91;0x8&#93; = &#40;byte&#41;&#40;Player.Model & 0xff&#41;;
      PacketData&#91;0x9&#93; = &#40;byte&#41;&#40;&#40;Player.Model >> 8&#41; & 0xff&#41;;
      PacketData&#91;0xa&#93; = &#40;byte&#41;&#40;&#40;Player.Model >> 16&#41; & 0xff&#41;;
      PacketData&#91;0xb&#93; = &#40;byte&#41;&#40;&#40;Player.Model >> 24&#41; & 0xff&#41;;
      PacketData&#91;0xc&#93; = 0x00;
      PacketData&#91;0xd&#93; = 0x00;
      PacketData&#91;0xe&#93; = 0x00;
      PacketData&#91;0xf&#93; = 0x00;

      //3b 01 00 5a
      //2c c1 01 00
      //ea 0c 02 00
      //30 6d 06 00
      PacketData&#91;0x10&#93; = 0x00;//00 //??
      PacketData&#91;0x11&#93; = 0x00;
      PacketData&#91;0x12&#93; = 0x00;
      PacketData&#91;0x13&#93; = 0x00;

      PacketData&#91;0x14&#93; = &#40;byte&#41;&#40;Player.Equipment.Head.ItemID&#41;; //Cap &#60;-- add this
      PacketData&#91;0x15&#93; = &#40;byte&#41;&#40;Player.Equipment.Head.ItemID >> 8&#41;; &#60;-- add this
      PacketData&#91;0x16&#93; = &#40;byte&#41;&#40;Player.Equipment.Head.ItemID >> 16&#41;; &#60;-- add this
      PacketData&#91;0x17&#93; = &#40;byte&#41;&#40;Player.Equipment.Head.ItemID >> 24&#41;; &#60;-- add this

      PacketData&#91;0x18&#93; = &#40;byte&#41;&#40;Player.Equipment.Armor.ItemID&#41;; //armor &#60;-- add this
      PacketData&#91;0x19&#93; = &#40;byte&#41;&#40;Player.Equipment.Armor.ItemID >> 8&#41;; &#60;-- add this
      PacketData&#91;0x1a&#93; = &#40;byte&#41;&#40;Player.Equipment.Armor.ItemID >> 16&#41;; &#60;-- add this
      PacketData&#91;0x1b&#93; = &#40;byte&#41;&#40;Player.Equipment.Armor.ItemID >> 24&#41;; &#60;-- add this

      PacketData&#91;0x1c&#93; = &#40;byte&#41;&#40;Player.Equipment.MHand.ItemID&#41;; //right hand &#60;-- add this
      PacketData&#91;0x1d&#93; = &#40;byte&#41;&#40;Player.Equipment.MHand.ItemID >> 8&#41;; &#60;-- add this
      PacketData&#91;0x1e&#93; = &#40;byte&#41;&#40;Player.Equipment.MHand.ItemID >> 16&#41;; &#60;-- add this
      PacketData&#91;0x1f&#93; = &#40;byte&#41;&#40;Player.Equipment.MHand.ItemID >> 24&#41;; &#60;-- add this

      PacketData&#91;0x20&#93; = &#40;byte&#41;&#40;Player.Equipment.OHand.ItemID&#41;; //left hand &#60;-- add this
      PacketData&#91;0x21&#93; = &#40;byte&#41;&#40;Player.Equipment.OHand.ItemID >> 8&#41;; &#60;-- add this
      PacketData&#91;0x22&#93; = &#40;byte&#41;&#40;Player.Equipment.OHand.ItemID >> 16&#41;; &#60;-- add this
      PacketData&#91;0x23&#93; = &#40;byte&#41;&#40;Player.Equipment.OHand.ItemID >> 24&#41;; &#60;-- add this

      PacketData&#91;0x24&#93; = 0x00;
      PacketData&#91;0x25&#93; = 0x00;
      PacketData&#91;0x26&#93; = 0x00;
      PacketData&#91;0x27&#93; = 0x00; //00
      PacketData&#91;0x28&#93; = 0x31; //31
      PacketData&#91;0x29&#93; = 0x03; //03 
      PacketData&#91;0x2a&#93; = 0x00; //lvl
      PacketData&#91;0x2b&#93; = 0x00; //00
      PacketData&#91;0x2c&#93; = &#40;byte&#41;&#40;Player.CurrentLoc.X & 0xff&#41;; // x loc
      PacketData&#91;0x2d&#93; = &#40;byte&#41;&#40;Player.CurrentLoc.X >> 8&#41;; //
      PacketData&#91;0x2e&#93; = &#40;byte&#41;&#40;Player.CurrentLoc.Y & 0xff&#41;; // y loc
      PacketData&#91;0x2f&#93; = &#40;byte&#41;&#40;Player.CurrentLoc.Y >> 8&#41;; //  '
      PacketData&#91;0x30&#93; = 0x00;//Hair color and shit?
      PacketData&#91;0x31&#93; = 0x00;
      PacketData&#91;0x32&#93; = 0x07; //
      PacketData&#91;0x33&#93; = 0x64; //Action
      PacketData&#91;0x35&#93; = 0x01; // Name exists &#40;boolean&#41;
      PacketData&#91;0x36&#93; = &#40;byte&#41;&#40;Player.Name.Length&#41;; //Length of the name
      for &#40;int x = 0; x &#60; Player.Name.Length; x++&#41;
      {
        PacketData&#91;0x37 + x&#93; = Convert.ToByte&#40;Player.Name&#91;x&#93;&#41;;
      }

      return PacketData;
}
just adding this might not get it working since all the equipment will need setting and getting. and all that -.- confusing isnt it.
08/31/2006 13:46 shmoogle#892
this is a lil oftopic buuuut...

Conquer really should use the newer models XD
08/31/2006 13:51 georgemareen#893
Hey shmoogle what is that thing?
08/31/2006 13:58 shmoogle#894
Quote:
Originally posted by georgemareen@Aug 31 2006, 13:51
Hey shmoogle what is that thing?
im guessing its a fancy version of a winged snake :P

edit: btw the npc model number is 255 :P
08/31/2006 18:08 aidas2004#895
Hybris> hey again... sorry i was offline for a while, did i miss something ? xD
How i know u are trying to recover u'r old server. If i can help u something say me. I can send u my old server files.

Btw, i'am now working with my new project. I'am going to make a game such as Conquer...

I'am now working with my new Client+Server & Graphic.
If u interested of my new project, Pm me. i'am installing MSN right now... =]

I can promise for now, that my game graphic will be better than that old TQ Gaming Engine.

For all> If u interested & if u got skills for this, u'r always welcome =]
08/31/2006 18:30 Hybris#896
Quote:
Originally posted by aidas2004@Aug 31 2006, 18:08
Hybris> hey again... sorry i was offline for a while, did i miss something ? xD
How i know u are trying to recover u'r old server. If i can help u something say me. I can send u my old server files.

Btw, i'am now working with my new project. I'am going to make a game such as Conquer...

I'am now working with my new Client+Server & Graphic.
If u interested of my new project, Pm me. i'am installing MSN right now... =]

I can promise for now, that my game graphic will be better than that old TQ Gaming Engine.

For all> If u interested & if u got skills for this, u'r always welcome =]
Lol was all the first part for me ? Would be great to see your project, even if its gonna be hard for me to work now cose school is gonna be back for me...
08/31/2006 20:22 shmoogle#897
Quote:
Originally posted by aidas2004@Aug 31 2006, 18:08
Hybris> hey again... sorry i was offline for a while, did i miss something ? xD
How i know u are trying to recover u'r old server. If i can help u something say me. I can send u my old server files.

Btw, i'am now working with my new project. I'am going to make a game such as Conquer...

I'am now working with my new Client+Server & Graphic.
If u interested of my new project, Pm me. i'am installing MSN right now... =]

I can promise for now, that my game graphic will be better than that old TQ Gaming Engine.

For all> If u interested & if u got skills for this, u'r always welcome =]
O.o sounds very interesting.

im interested in your project :)

but i dont realy have any skill. i want to learn but im findin it realy hard teaching myself.. im also gona go to collage to learn in a year or 2 :P
09/01/2006 01:27 andyd123#898
Quote:
Originally posted by aidas2004@Aug 31 2006, 18:08
Hybris> hey again... sorry i was offline for a while, did i miss something ? xD
How i know u are trying to recover u'r old server. If i can help u something say me. I can send u my old server files.

Btw, i'am now working with my new project. I'am going to make a game such as Conquer...

I'am now working with my new Client+Server & Graphic.
If u interested of my new project, Pm me. i'am installing MSN right now... =]

I can promise for now, that my game graphic will be better than that old TQ Gaming Engine.

For all> If u interested & if u got skills for this, u'r always welcome =]
Aidas, I'll help being a GM and such. Testing bugs, helping ppl, etc. Thats what I am best at.
09/01/2006 01:46 ranny2#899
ok here is spawning NPC's, it found it Qonquers Botting tool.

Packetbuilder.cs
Code:
public static byte&#91;&#93; SPAWNnpc&#40;int id, int x, int y, int type, int dir, int flag&#41;
    {
      byte&#91;&#93; b = new byte&#91;20&#93;;
      b&#91;0&#93; = 20;
      b&#91;2&#93; = &#40;byte&#41;&#40;int&#41;0xee;
      b&#91;3&#93; = 7;
      b&#91;4&#93; = &#40;byte&#41;&#40;id & 0xff&#41;;
      b&#91;5&#93; = &#40;byte&#41;&#40;&#40;id & 0xff00&#41; >> 8&#41;;
      b&#91;6&#93; = &#40;byte&#41;&#40;&#40;id & 0xff0000&#41; >> 16&#41;;
      b&#91;7&#93; = &#40;byte&#41;&#40;&#40;id & 0xff000000&#41; >> 24&#41;;
      b&#91;8&#93; = &#40;byte&#41;&#40;x & 0xff&#41;;
      b&#91;9&#93; = &#40;byte&#41;&#40;&#40;x & 0xff00&#41; >> 8&#41;;
      b&#91;10&#93; = &#40;byte&#41;&#40;y & 0xff&#41;;
      b&#91;11&#93; = &#40;byte&#41;&#40;&#40;y & 0xff00&#41; >> 8&#41;;
      b&#91;12&#93; = &#40;byte&#41;&#40;type & 0xff&#41;;
      b&#91;13&#93; = &#40;byte&#41;&#40;&#40;type & 0xff00&#41; >> 8&#41;;
      b&#91;14&#93; = &#40;byte&#41;&#40;dir & 0xff&#41;;
      b&#91;15&#93; = &#40;byte&#41;&#40;&#40;dir & 0xff00&#41; >> 8&#41;;
      b&#91;16&#93; = &#40;byte&#41;&#40;flag & 0xff&#41;;
      b&#91;17&#93; = &#40;byte&#41;&#40;&#40;flag & 0xff00&#41; >> 8&#41;;
      b&#91;18&#93; = &#40;byte&#41;&#40;&#40;flag & 0xff0000&#41; >> 16&#41;;
      b&#91;19&#93; = &#40;byte&#41;&#40;&#40;flag & 0xff000000&#41; >> 24&#41;;
      return b;
    }

World.cs
Code:
        if &#40;Splitter&#91;0&#93; == &#34;/spawnnpc&#34; || Splitter&#91;0&#93; == &#34;/Spawnnpc&#34;&#41;
        {
          int NPC_id = Convert.ToInt32&#40;Splitter&#91;1&#93;&#41;;
          int NPC_x = Convert.ToInt32&#40;Splitter&#91;2&#93;&#41;;
          int NPC_y = Convert.ToInt32&#40;Splitter&#91;3&#93;&#41;;
          int NPC_type = Convert.ToInt32&#40;Splitter&#91;4&#93;&#41;;
          int NPC_dir = Convert.ToInt32&#40;Splitter&#91;5&#93;&#41;;
          int NPC_flag = Convert.ToInt32&#40;Splitter&#91;6&#93;&#41;;
          Client.SendData&#40;PacketBuilder.Message&#40;Client.MessageID, &#34;&#91;GM&#93;&#34;, Client.Char.Name, &#34;NPC Spawned.&#34;, ChatType.Top&#41;&#41;;
          Client.SendData&#40;PacketBuilder.SPAWNnpc&#40;NPC_id, NPC_x, NPC_y, NPC_type, NPC_dir, NPC_flag&#41;&#41;;
        }

This tool is so that you can spawn an a talkable npc which checks via the NPC's ID for a talk dialog.

CoClient.cs
Code:
else if &#40;Incoming.Length == 0x10 && Incoming&#91;0x02&#93; == 0xEF&#41; //NPC Talk
          {
            string npc_id = Convert.ToString&#40;Incoming&#91;0x04&#93;&#41;;
            World.LoadNPCsay&#40;this, npc_id&#41;;


          }
World.cs
(make sure u put it somewhere at the top with the "public static void's")
Code:
public static void LoadNPCsay&#40;COClient Client, string npc_id&#41;
    {
      Character Char = Client.Char;
      Client.SendData&#40;PacketBuilder.Message&#40;Client.MessageID, &#34;&#91;GM&#93;&#34;, Client.Char.Name, &#34;NPC ID&#58;&#34; + npc_id + &#34;.&#34;, ChatType.Center&#41;&#41;;
      int npc_id_2 = Convert.ToInt32&#40;npc_id&#41;;
      if &#40;npc_id_2 == 150&#41; {  Client.SendData&#40;PacketBuilder.NPCtalk&#40;&#34;Hey I'm the Retarded NPC hahaha.&#34;, &#34;I~see.&#34;&#41;&#41;; }
    }

Now we need to make them spawn with all players, but make it so that it doesnt spam the packet everytime u walk, its quite hard todo and this needs alot of work.
Atm this is only works for Jumping and seems to have a few bugs.

World.cs
Code:
public static void GetSurroundingsNPCs&#40;COClient Client, byte&#91;&#93; Packet&#41;
 {
 	int PrevX = &#40;Packet&#91;0x0d&#93; &#60;&#60; 8&#41; + Packet&#91;0x0c&#93;;
 	int PrevY = &#40;Packet&#91;0x0f&#93; &#60;&#60; 8&#41; + Packet&#91;0x0e&#93;;
 	int NewX = &#40;Packet&#91;0x15&#93; &#60;&#60; 8&#41; + Packet&#91;0x14&#93;;
 	int NewY = &#40;Packet&#91;0x17&#93; &#60;&#60; 8&#41; + Packet&#91;0x016&#93;;
      
      Character Char = Client.Char;
      ArrayList&#91;,&#93; Target = GetTarget&#40;Client.Char.Map&#41;;
      int x_min = Char.CurrentLoc.X - VIEWTHRESHOLD;
      int y_min = Char.CurrentLoc.Y - VIEWTHRESHOLD;
      int x_max = Char.CurrentLoc.X + VIEWTHRESHOLD;
      int y_max = Char.CurrentLoc.Y + VIEWTHRESHOLD;

      int x_min2 = PrevX - VIEWTHRESHOLD;
      int y_min2 = PrevY - VIEWTHRESHOLD;
      int x_max2 = PrevX + VIEWTHRESHOLD;
      int y_max2 = PrevY + VIEWTHRESHOLD;

      int&#91;&#93;&#91;&#93; arr = new int&#91;100&#93;&#91;&#93;;
      //TC
      arr&#91;0&#93; = new int&#91;7&#93; {1 , 413 , 351, 10, 1, 1, 1002};
      arr&#91;1&#93; = new int&#91;7&#93; { 2, 418, 351, 50, 6, 1, 1002 };

      //MA
      arr&#91;2&#93; = new int&#91;7&#93; { 3, 194, 195, 1600, 3, 1, 1036 };

      for &#40;int i = 0; i &#60; arr.Length; i++&#41;
      {
        uint testss = Convert.ToUInt32&#40;Client.Char.Map&#41;;
        if &#40;testss == arr&#91;i&#93;&#91;6&#93;&#41;
        {
          if &#40;x_min &#60;= &#40;arr&#91;i&#93;&#91;1&#93; + 4&#41; && x_max >= &#40;arr&#91;i&#93;&#91;1&#93; - 6&#41; && y_min &#60;= &#40;arr&#91;i&#93;&#91;2&#93; + 4&#41; && y_max >= &#40;arr&#91;i&#93;&#91;2&#93; - 6&#41;&#41;
          {
            if &#40;x_min2 &#60;= &#40;arr&#91;i&#93;&#91;1&#93; + 3&#41; && x_max2 >= &#40;arr&#91;i&#93;&#91;1&#93; - 5&#41; && y_min2 &#60;= &#40;arr&#91;i&#93;&#91;2&#93; + 3&#41; && y_max2 >= &#40;arr&#91;i&#93;&#91;2&#93; - 5&#41;&#41; { break; }
            else
            {
              Client.SendData&#40;PacketBuilder.Message&#40;Client.MessageID, &#34;Alert&#34;, Client.Char.Name, &#34;You are in Range of NPC. ID&#58;&#34; + arr&#91;i&#93;&#91;0&#93; + &#34; &#40;&#34; + PrevX + &#34;,&#34; + PrevY + &#34;&#41;. in &#34; + Client.Char.Map, ChatType.Top&#41;&#41;;
              int NPC_ID_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;0&#93;&#41;;
              int NPC_x_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;1&#93;&#41;;
              int NPC_y_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;2&#93;&#41;;
              int NPC_type_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;3&#93;&#41;;
              int NPC_dir_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;4&#93;&#41;;
              int NPC_flag_I = Convert.ToInt32&#40;arr&#91;i&#93;&#91;5&#93;&#41;;
              //Client.SendData&#40;PacketBuilder.SpawnGuard&#40;Guard_ID_I, Guard_Model_I, Guard_x_I, Guard_y_I&#41;&#41;;
              Client.SendData&#40;PacketBuilder.SPAWNnpc&#40;arr&#91;i&#93;&#91;0&#93;, arr&#91;i&#93;&#91;1&#93;, arr&#91;i&#93;&#91;2&#93;, arr&#91;i&#93;&#91;3&#93;, arr&#91;i&#93;&#91;4&#93;, arr&#91;i&#93;&#91;5&#93;&#41;&#41;;
            }
          }

        }
      }

    }

World.cs
Fix the InitWorld() so that it supports Market.
so search InitWorld() and replace it with the following code:
Code:
public static void InitWorld&#40;&#41;
 {
      
      for &#40;int x = 0; x &#60; 1000; x++&#41;
 	{
  for &#40;int y = 0; y &#60; 1000; y++&#41;
  {
  	TCLocHash&#91;x,y&#93; = new ArrayList&#40;2&#41;;
          MFLocHash&#91;x, y&#93; = new ArrayList&#40;2&#41;;
          MALocHash&#91;x, y&#93; = new ArrayList&#40;2&#41;;

  }
 	}
 	
 }

Adding the update when jumping
replace the existing code of "else if (Incoming[0x18] == 0x8e) //Jump packet"with the following code;
CoClient.cs

Code:
else if &#40;Incoming&#91;0x18&#93; == 0x8e&#41; //Jump packet
   	{
    if &#40;Status == Mode.World&#41;
    {
    	try
    	{
     World.Jump&#40;this, Incoming&#41;;
                    //World.WalkNPC&#40;this, Incoming&#41;;
                    World.GetSurroundingsNPCs&#40;this, Incoming&#41;;
                  }
    	catch
    	{
     throw;
    	}
    }
   	}
09/02/2006 22:49 Hybris#900
Tired of working on that project, btw gotta work for school seriously now. So to everyone, cya good luck and work well ! I hope i made my best to make the project go farther.