Redux v2 - Official 5065 Classic Source

01/03/2015 08:16 mujake#1711
Hello, there seems to be some strange things with arrows, if you are on fly and reload arrows you will loose Fly status, you will remain flying after it runs out of time and monsters will start hitting you even you are in the air.
Its same for Fly Skill and XP Skill.

Any idea why ItemActionPacket 8 appears while equipping arrows on fly?
Sometimes packet 1111 will appear on console.

Any idea how to edit this code in order to make an NPC create the task input into database?

Code:
                _client.Tasks.TryAdd(TaskType.ExpBall, new Task(_client.UID, TaskType.ExpBall, DateTime.Now.AddHours(24)));
Wanted to modifiy the EXP Ball saving method so i can use it for other quests.
01/03/2015 15:56 pro4never#1712
Quote:
Originally Posted by mujake View Post
Hello, there seems to be some strange things with arrows, if you are on fly and reload arrows you will loose Fly status, you will remain flying after it runs out of time and monsters will start hitting you even you are in the air.
Its same for Fly Skill and XP Skill.

Any idea why ItemActionPacket 8 appears while equipping arrows on fly?
Sometimes packet 1111 will appear on console.

Any idea how to edit this code in order to make an NPC create the task input into database?

Code:
                _client.Tasks.TryAdd(TaskType.ExpBall, new Task(_client.UID, TaskType.ExpBall, DateTime.Now.AddHours(24)));
Wanted to modifiy the EXP Ball saving method so i can use it for other quests.

There's two things you need to change.

#1: When building a new Spawn Packet (happens whenever you swap gear so that others can see what gear you are wearing) you need to initialize your status effects to be what they already are. If not they get wiped server side and you lose all effects.

#2: When Recalculate() is run you need to re-add any applicable ClientStatuses (non visible buffs that track things like bonus damage/defense/etc) to the CombatStatistics class


For the new task to be created you have to add it to the server database.

Something like

Database.ServerDatabase.Context.Tasks.AddOrUpdate( DbTask);

I'm under the impression that the public version of redux already has a handy "AddTask" method in the client class which handles everything for you but I could be mistaken.
01/04/2015 10:25 mujake#1713
Tried this in entity, works only halfway, it will reapply statuses and effects but will always keep them applied even after their time is finished.

01/05/2015 07:27 pro4never#1714
Quote:
Originally Posted by mujake View Post
Tried this in entity, works only halfway, it will reapply statuses and effects but will always keep them applied even after their time is finished.


Not to be rude but my previous post mentioned exactly where the fixes need to be placed.

#1: The client effect pool is being cleared when the SpawnEntity packet is re-generated. It's not the collection that's a problem.

#2: The buff variables are being cleared when the CombatStatistics class is re-initialized. It's just a matter of re-setting them based on what buffs are active.
01/05/2015 22:51 mujake#1715
I am sorry, I was rude and acting inappropriate, seems like this is to blame when the client closes :

Code:
        #region Enqueue Packet 
        public override void Send(byte[] _data)
        {
            if (disconnected || ToSend.Count > 100 && !Socket.Alive || _data == null || _data.Length < 4)
            {
                Console.WriteLine("Terminating Socket");
                Disconnect(false);
                return;
            }
            if (ToSend != null)
                ToSend.Enqueue(_data.UnsafeClone());
        }
        #endregion
01/06/2015 01:16 pro4never#1716
Quote:
Originally Posted by mujake View Post
I am sorry, I was rude and acting inappropriate, seems like this is to blame when the client closes :

Code:
        #region Enqueue Packet 
        public override void Send(byte[] _data)
        {
            if (disconnected || ToSend.Count > 100 && !Socket.Alive || _data == null || _data.Length < 4)
            {
                Console.WriteLine("Terminating Socket");
                Disconnect(false);
                return;
            }
            if (ToSend != null)
                ToSend.Enqueue(_data.UnsafeClone());
        }
        #endregion
Disconnect will cause the client to be disconnected from the server. If the client is crashing then that should be related to the packet issue that it's not able to resolve (usually a packet length mismatch, packets being sent too frequently or an encryption error)
01/06/2015 06:55 mujake#1717
Should it be Item Action Packet 8 ( I believe that reloading arrows packet) ? It's not handling it and it's always sent when you run out of arrows.
01/06/2015 16:02 pro4never#1718
Quote:
Originally Posted by mujake View Post
Should it be Item Action Packet 8 ( I believe that reloading arrows packet) ? It's not handling it and it's always sent when you run out of arrows.
That's correct. It handles both auto equipping arrows and packing partial arrows into new packs to reduce inventory space.
01/11/2015 02:47 akitsukie#1719
why i cant find bassilisk map?
01/11/2015 03:13 pro4never#1720
Quote:
Originally Posted by akitsukie View Post
why i cant find bassilisk map?
It's a dynamic map. You need to make a few small changes for the source to properly load maps with duplicate base IDs (it's a simple change really)
01/11/2015 10:01 akitsukie#1721
Can you give Me a event codes
01/11/2015 12:12 mujake#1722
Events and other custom features you have to create yourself, the source is provided as an base to start with as it's fairly complete and easy to work with.
01/11/2015 14:38 yokmu#1723
there is a bug when player dead
[Only registered and activated users can see links. Click Here To Register...]
01/11/2015 16:59 mujake#1724
That seems more like invalid coordinates, I have no problem with revive and i modified in code to allow certain conditions to some events.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

For the Client status effects I am looking into Albetros to find some related lines of code, noticed that in Spawn Packet in albetros we have to effect references :
Effect1 and Effect2, I guess one of it is for the like Top ninja and stuff?
also in packet structure :

*((ulong*) (ptr + 22)) = packet.Effect1;
*((ulong*) (ptr + 30)) = packet.Effect2;
Am I on the right track?
01/12/2015 22:00 thebot1#1725
[Only registered and activated users can see links. Click Here To Register...] keep geting this on the loader =/