Capture the flag & Champion arena

06/03/2013 10:26 -impulse-#1
Does anyone have the packets for either?

I need for CTF the packet that puts the circle on the minimap for flag carriers and the base owned by a guild.
EDIT: What is the map id for the CTF tournament?


For champion I need the dumps for the match packets, I already have the ranking...
06/03/2013 10:40 LordGragen.#2
2057 is the CTF map
07/15/2013 18:23 abdoumatrix#3
still no dumps for the match packets? :(
07/15/2013 22:15 -impulse-#4
This is the packet used for champion matches.

Code:
 
        public class ChampionKernel : Writer
        {
            public enum KernelType : int
            {
                SignUp = 0,
                DialogCountdown = 1,
                OpponentInfo = 4,
                WinDialog = 6,
                LoseDialog = 7,
                MatchStats = 8
            }
            object[] strs;
            KernelType type;

            public static ChampionKernel SignUp()
            {
                return new ChampionKernel(KernelType.SignUp);
            }
            public static ChampionKernel DialogCountdown()
            {
                return new ChampionKernel(KernelType.DialogCountdown);
            }
            public static ChampionKernel Stats(uint damage1, uint damage2)
            {
                return new ChampionKernel(KernelType.MatchStats, damage1.ToString(), damage2.ToString());
            }
            public static ChampionKernel OpponentInfo(ChampionStatistic stats)
            {
                return new ChampionKernel(KernelType.OpponentInfo,
                    stats.UID, stats.Name, stats.Class, "1", stats.Rank, stats.Level,
                    stats.Class, stats.BattlePower);
            }
            public static ChampionKernel Win(bool forfeit, uint pts, int streak, uint extrapts)
            {
                return new ChampionKernel(KernelType.WinDialog,
                    forfeit ? 1 : 0, pts, streak, extrapts);
            }
            public static ChampionKernel Lose(uint pts)
            {
                return new ChampionKernel(KernelType.LoseDialog, pts);
            }

            public ChampionKernel(KernelType type, params object[] strs)
            {
                this.type = type;
                this.strs = strs;
            }

            public byte[] BuildPacket()
            {
                var array = new string[strs.Length];
                for (int i = 0; i < array.Length; i++)
                    array[i] = strs[i].ToString();

                int len = strs.Length;
                for (int i = 0; i < strs.Length; i++)
                    len += array[i].Length;
                byte[] data = new byte[16 + len];
                WriteUInt16((ushort)(data.Length - 8), 0, data);
                WriteUInt16(2604, 2, data);
                data[4] = (byte)type;
                WriteStringList(array, 5, data);
                return data;
            }
        }
#request close.
07/16/2013 05:41 ImmuneOne#5
Quote:
Originally Posted by -impulse- View Post
This is the packet used for champion matches.

Code:
 
        public class ChampionKernel : Writer
        {
            public enum KernelType : int
            {
                SignUp = 0,
                DialogCountdown = 1,
                OpponentInfo = 4,
                WinDialog = 6,
                LoseDialog = 7,
                MatchStats = 8
            }
            object[] strs;
            KernelType type;

            public static ChampionKernel SignUp()
            {
                return new ChampionKernel(KernelType.SignUp);
            }
            public static ChampionKernel DialogCountdown()
            {
                return new ChampionKernel(KernelType.DialogCountdown);
            }
            public static ChampionKernel Stats(uint damage1, uint damage2)
            {
                return new ChampionKernel(KernelType.MatchStats, damage1.ToString(), damage2.ToString());
            }
            public static ChampionKernel OpponentInfo(ChampionStatistic stats)
            {
                return new ChampionKernel(KernelType.OpponentInfo,
                    stats.UID, stats.Name, stats.Class, "1", stats.Rank, stats.Level,
                    stats.Class, stats.BattlePower);
            }
            public static ChampionKernel Win(bool forfeit, uint pts, int streak, uint extrapts)
            {
                return new ChampionKernel(KernelType.WinDialog,
                    forfeit ? 1 : 0, pts, streak, extrapts);
            }
            public static ChampionKernel Lose(uint pts)
            {
                return new ChampionKernel(KernelType.LoseDialog, pts);
            }

            public ChampionKernel(KernelType type, params object[] strs)
            {
                this.type = type;
                this.strs = strs;
            }

            public byte[] BuildPacket()
            {
                var array = new string[strs.Length];
                for (int i = 0; i < array.Length; i++)
                    array[i] = strs[i].ToString();

                int len = strs.Length;
                for (int i = 0; i < strs.Length; i++)
                    len += array[i].Length;
                byte[] data = new byte[16 + len];
                WriteUInt16((ushort)(data.Length - 8), 0, data);
                WriteUInt16(2604, 2, data);
                data[4] = (byte)type;
                WriteStringList(array, 5, data);
                return data;
            }
        }
#request close.

I see you're still in your old coding habits.
07/16/2013 06:23 shadowman123#6
Whats Wrong with his way of Coding ?
07/17/2013 14:11 -impulse-#7
Quote:
Originally Posted by ImmuneOne View Post
I see you're still in your old coding habits.
Why bother changing something that wouldnt really make a difference? I chose to stick with what I know to type fast enough.
07/17/2013 19:15 ImmuneOne#8
Quote:
Originally Posted by -impulse- View Post
Why bother changing something that wouldnt really make a difference? I chose to stick with what I know to type fast enough.
Some organization and efficiency would do good tbh. Instead of the old messy glued sources that just barely hold together.
07/18/2013 13:18 -impulse-#9
Quote:
Originally Posted by ImmuneOne View Post
Some organization and efficiency would do good tbh. Instead of the old messy glued sources that just barely hold together.
If only organization would actually matter in programming. Organization brings nothing else than ease to the reader, not efficiency as far as the machine is concerned (if a machine is ever concerned about smth).
Also, it's not necessary the efficiency that make the servers crash (& burn.). It's the programming platform imo.
A C++ server hardly crashes because everything is managed by the programmer, whereas with C# so many things are simply out of your control.
07/18/2013 14:31 _DreadNought_#10
Quote:
Originally Posted by -impulse- View Post
If only organization would actually matter in programming. Organization brings nothing else than ease to the reader, not efficiency as far as the machine is concerned (if a machine is ever concerned about smth).
Also, it's not necessary the efficiency that make the servers crash (& burn.). It's the programming platform imo.
A C++ server hardly crashes because everything is managed by the programmer, whereas with C# so many things are simply out of your control.
Actually, for moral value, your code should be easily read by others.

Secondly, when writing code it will take you longer to write it if everything else is simply a mess and you have to think twice about what things do.
07/18/2013 15:06 Smaehtin#11
Quote:
Originally Posted by -impulse- View Post
If only organization would actually matter in programming. Organization brings nothing else than ease to the reader, not efficiency as far as the machine is concerned (if a machine is ever concerned about smth).
Also, it's not necessary the efficiency that make the servers crash (& burn.). It's the programming platform imo.
A C++ server hardly crashes because everything is managed by the programmer, whereas with C# so many things are simply out of your control.
That's probably some of the dumbest things ever said here on epvp by someone who's not completely retarded
07/18/2013 15:20 -impulse-#12
Quote:
Originally Posted by Smaehtin View Post
That's probably some of the dumbest things ever said here on epvp by someone who's not completely retarded
Is that so? Since you did not really provide any feedback on a specific point I argued, I'll back both.

So long as the thing you are working is not going to ever be public, then why bother making it look nice? or having some weird names just so others could understand what you actually use a specific class for?

As for the C# and the control you have over the application you create, please show me exactly how you can use the ThreadPool provided by .NET or even abandon the GarbageCollector. Obviously when writing a server the performance counts so, since you say that you can control everything in C# please tell me why do you use the thread pool provided by .NET without even reading any documentation on it? (Probably because you can't avoid it since it's the part of the .NET platform.) You obviously don't know that when the thread pool has some priority items in the queue it will suspend some of threads so the priority item gets done as quickly as possible, and it is recommended not to change the priority of the threads that are used by the thread pool because then you might end up your application crashed.
On the other hand, with C++, your application runs on the threads(or threadpool you chose) and so you don't end up with threads being suspended whenever someone thinks so.

As threading is kinda the most important part of the server, using the ThreadPool provided by .net you don't actually have control over the threads your application uses. (That is if you don't create other threads on your own.)
07/18/2013 15:39 Smaehtin#13
Quote:
Originally Posted by -impulse- View Post
Is that so? Since you did not really provide any feedback on a specific point I argued, I'll back both.

So long as the thing you are working is not going to ever be public, then why bother making it look nice? or having some weird names just so others could understand what you actually use a specific class for?

As for the C# and the control you have over the application you create, please show me exactly how you can use the ThreadPool provided by .NET or even abandon the GarbageCollector. Obviously when writing a server the performance counts so, since you say that you can control everything in C# please tell me why do you use the thread pool provided by .NET without even reading any documentation on it? (Probably because you can't avoid it since it's the part of the .NET platform.) You obviously don't know that when the thread pool has some priority items in the queue it will suspend some of threads so the priority item gets done as quickly as possible, and it is recommended not to change the priority of the threads that are used by the thread pool because then you might end up your application crashed.
On the other hand, with C++, your application runs on the threads(or threadpool you chose) and so you don't end up with threads being suspended whenever someone thinks so.

As threading is kinda the most important part of the server, using the ThreadPool provided by .net you don't actually have control over the threads your application uses. (That is if you don't create other threads on your own.)
Okay, I take back what I said. You are actually completely retarded.
07/18/2013 15:42 -impulse-#14
Quote:
Originally Posted by Smaehtin View Post
Okay, I take back what I said. You are actually completely retarded.
Okay. Please enlighten me. Tell me exactly what is wrong about I wrote.

I only write from experience so, if you know differently, please don't just make accusations, back them up as well.
07/18/2013 15:48 go for it#15
Quote:
Originally Posted by Smaehtin View Post
Okay, I take back what I said. You are actually completely retarded.
seriously since your first post on this forum 80% if not more of what you post are memes and sarcasm which i don't find it funny but that's not relevant, but could you just enlighten us as impulse said and give us more info of to why you call him "retard" ?