Redux v2 - Official 5065 Classic Source

10/15/2014 16:30 zakkwilde_17#1426
I believe not. I have reviewed the codes of the Albetros and believe it is the same

Redux codes:
Code:
                case DataAction.ObserveFriend:
                case DataAction.ObserveEquipment:
                    {
                        //packet.Action = DataAction.ObserveEquipment;
                        var target = client.Map.Search<Player>(packet.Data1);
                        if (target == null)
                            return;
                        Console.WriteLine(client.Name + " observing " + target.Name);
                        target.SendMessage(client.Name + " is observing your gear carefully.", ChatType.System);
                        client.Send(SpawnEntityPacket.Create(target));
                        for (byte loc = 1; loc < 10; loc++)
                        {
                            Structures.ConquerItem toView;
                            if (target.Equipment.TryGetItemBySlot(loc, out toView))
                                client.Send(ItemInformationPacket.CreateObserveItem(toView, target.UID));
                        }
                        //client.Send(packet);
                        break;
                    }
Albetros codes:

Code:
                                    case DataAction.QueryFriendEquip:
                                    case DataAction.QueryEquipment:
                                        {                                            
                                            if (!Kernel.Clients.ContainsKey(receive.Data1))
                                                return;
                                            Player target = Kernel.Clients[receive.Data1];
                                            user.Send(Packet.SpawnPlayerPacket.Create(target));
                                            for (byte i = 1; i <= (int)ItemLocation.Steed; i++)
                                            {
                                                var item = target.Equipment.GetItemBySlot((ItemLocation)i);
                                                if (item == null) continue;
                                                if (!item.ItemtypeData.HasValue) continue;
                                                user.Send(Packet.ViewItem.Create(target.UID, item));
                                                if (item.RefineryData != null || item.ArtifactData != null)
                                                    user.Send(Packet.RefineryInfoPacket.Create(item));
                                            }

                                            user.Send(StringPacket.Create(StringAction.QueryMate, target.Spouse));

                                            //StringPacket sp = new StringPacket();
                                            //sp.Strings = new NetStringPacker();
                                            //sp.UID = user.UID;
                                            //sp.Type = 16;
                                            //sp.Strings.AddString(target.Spouse);
                                            //user.Send(sp);
                                            //sp.Type = 10;
                                            //user.Send(sp);
                                            break;
                                        }
10/15/2014 18:01 corbit15#1427
not sure if version 1 has it but version 1.1 does, I logged in and checked myself.
wait are you talking about viewing someones equipment through the whisperbox? or through your friends list?
10/15/2014 18:31 zakkwilde_17#1428
Quote:
Originally Posted by corbit15 View Post
not sure if version 1 has it but version 1.1 does, I logged in and checked myself.
wait are you talking about viewing someones equipment through the whisperbox? or through your friends list?
Whisperbox and Friends check ar the same packet GeneralActionPacket 310. it work well when the target is on the screen x.x
10/15/2014 18:56 corbit15#1429
Quote:
Originally Posted by zakkwilde_17 View Post
Whisperbox and Friends check ar the same packet GeneralActionPacket 310. it work well when the target is on the screen x.x
oh I see what you mean. I just checked and albetros does that same thing haha. Your best bet would be to talk to ace since hes developing a live server from this base.

I'll take a look and see what I can do and ill post my fix if I get one. it wont be for this source though.
10/16/2014 00:11 pro4never#1430
Quote:
Originally Posted by corbit15 View Post
oh I see what you mean. I just checked and albetros does that same thing haha. Your best bet would be to talk to ace since hes developing a live server from this base.

I'll take a look and see what I can do and ill post my fix if I get one. it wont be for this source though.

The problem is that the client doesn't seem to send the ID for who is being viewed.

It was reported back during albetros and when we checked the client was sending its own ID rather than the target. I'm sure it's just a basic thing to work around but I never looked into it much back in the day
10/16/2014 07:13 corbit15#1431
Quote:
Originally Posted by pro4never View Post
The problem is that the client doesn't seem to send the ID for who is being viewed.

It was reported back during albetros and when we checked the client was sending its own ID rather than the target. I'm sure it's just a basic thing to work around but I never looked into it much back in the day
Hm. Wonder why it does that. I'm not at home to look right now but that gives me something to go off of.
10/16/2014 20:52 zakkwilde_17#1432
Quote:
Originally Posted by corbit15 View Post
oh I see what you mean. I just checked and albetros does that same thing haha. Your best bet would be to talk to ace since hes developing a live server from this base.

I'll take a look and see what I can do and ill post my fix if I get one. it wont be for this source though.
Okay, I'll wait for what you can do for us
10/16/2014 21:56 corbit15#1433
Quote:
Originally Posted by zakkwilde_17 View Post
Okay, I'll wait for what you can do for us
Don't wait for me to find a fix for it. Chances are I won't have time since I work and go to college. Check it out yourself also. Have you tried breakpointing? And also read what pro posted on the previous page if you haven't already
10/16/2014 23:47 zakkwilde_17#1434
Quote:
Originally Posted by corbit15 View Post
Don't wait for me to find a fix for it. Chances are I won't have time since I work and go to college. Check it out yourself also. Have you tried breakpointing? And also read what pro posted on the previous page if you haven't already
yep, i'm breakpointing, it sends all informations of target, but when it return packet or send to screen, it fail... i dont know why x.x

----------------------------
EDIT

Here i got fix a problem with the observe. Before he was only observing characters who were on the same map as you. Now he seeks in all the characters that are online. Also added the string name spouse. But don't fix my problem u.u

Code:
                case DataAction.ObserveFriend:
                case DataAction.ObserveEquipment:
                    {
                        if (!PlayerManager.Players.ContainsKey(packet.Data1))
                            return;

                        Player target = PlayerManager.GetUser(packet.Data1);
                        client.Send(SpawnEntityPacket.Create(target));

                        target.SendMessage(client.Name + " is observing your gear carefully.", ChatType.System);

                        for (byte loc = 1; loc < 10; loc++)
                        {
                            Structures.ConquerItem toView;
                            if (target.Equipment.TryGetItemBySlot(loc, out toView))
                                client.Send(ItemInformationPacket.CreateObserveItem(toView, target.UID));
                        }

                        client.Send(StringsPacket.Create(target.UID, StringAction.QueryMate, target.Spouse));
                        
                        break;
                    }
10/17/2014 02:34 Aceking#1435
If the client isn't sending the correct target ID there might not be much you can do.
This is especially true in the case of the friends list.

Perhaps it might be something as simple as having the right value in a packet to have the client send the right ID, seems unlikely but possible.
10/17/2014 09:26 corbit15#1436
Quote:
Originally Posted by zakkwilde_17 View Post
yep, i'm breakpointing, it sends all informations of target, but when it return packet or send to screen, it fail... i dont know why x.x

----------------------------
EDIT

Here i got fix a problem with the observe. Before he was only observing characters who were on the same map as you. Now he seeks in all the characters that are online. Also added the string name spouse. But don't fix my problem u.u

Code:
                case DataAction.ObserveFriend:
                case DataAction.ObserveEquipment:
                    {
                        if (!PlayerManager.Players.ContainsKey(packet.Data1))
                            return;

                        Player target = PlayerManager.GetUser(packet.Data1);
                        client.Send(SpawnEntityPacket.Create(target));

                        target.SendMessage(client.Name + " is observing your gear carefully.", ChatType.System);

                        for (byte loc = 1; loc < 10; loc++)
                        {
                            Structures.ConquerItem toView;
                            if (target.Equipment.TryGetItemBySlot(loc, out toView))
                                client.Send(ItemInformationPacket.CreateObserveItem(toView, target.UID));
                        }

                        client.Send(StringsPacket.Create(target.UID, StringAction.QueryMate, target.Spouse));
                        
                        break;
                    }
correct me if i'm wrong but I don't think for it to be looking for all the players online..
10/17/2014 17:56 zakkwilde_17#1437
Quote:
Originally Posted by corbit15 View Post
correct me if i'm wrong but I don't think for it to be looking for all the players online..
The PlayerManager.Player is a Dictionary, when a player do a login he is added to the Dictionary :)
10/17/2014 19:08 corbit15#1438
Quote:
Originally Posted by zakkwilde_17 View Post
The PlayerManager.Player is a Dictionary, when a player do a login he is added to the Dictionary :)
But why would the player need to see every online player's gear?
10/17/2014 19:34 pro4never#1439
Quote:
Originally Posted by corbit15 View Post
correct me if i'm wrong but I don't think for it to be looking for all the players online..
It is correct because this is inspectingn the gear of someone who whispered you. They can whisper from any map so you have to search all maps to find them.
10/17/2014 19:54 corbit15#1440
Quote:
Originally Posted by pro4never View Post
It is correct because this is inspectingn the gear of someone who whispered you. They can whisper from any map so you have to search all maps to find them.
oh ok that's what I wasn't sure about. I thought he was saying that the client would be trying to look at everyone players gears at once.

#EDIT when you whispered someone was it showing your gear if they were off the map? or did it show the person you whispered?