Advertisement
Guest User

LOLAS

a guest
Aug 1st, 2015
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 25.34 KB | None | 0 0
  1. // * Creada y Editada Por Genesis
  2. // * Copyright © 2010-2014
  3. // * Genesis - Project
  4.  
  5. using System;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Collections.Generic;
  9. using COServer.Game;
  10.  
  11. namespace COServer.Network.GamePackets
  12. {
  13.     public unsafe class AutoInvite
  14.     {
  15.         public enum Mode : uint
  16.         {
  17.             CaptureFlag = 10535,
  18.             SkillTeam = 10541,
  19.             EliteGW = 10566,
  20.             PowerArena = 10531,
  21.             ElitePk = 10533,
  22.             TeamPk = 10543,
  23.             HorseRace = 10525,
  24.             MonthlyPk = 10523,
  25.             ClassPKWar = 10519,
  26.             WeeklyPk = 10521,
  27.             Champions = 10549,
  28.             Lastman = 10550,
  29.             DeathWar = 10551,
  30.             FastScent = 10552,
  31.             ExtremePK = 10553,
  32.             Terrorist = 10554,
  33.             Couples = 10555,
  34.             Treasure = 10556,
  35.             DemonBox = 10557,
  36.             DisCity = 10558,
  37.             SuperGuildWar = 10559,
  38.             SkyFight = 10560,
  39.             TwinCityWar = 10561,
  40.             TeamQualifier = 10562,
  41.             HeroOfGame = 10563,
  42.             Devastated = 10564,
  43.             Quarantine = 10565
  44.         }
  45.         byte[] Packet;
  46.         public AutoInvite()
  47.         {
  48.             Packet = new byte[28];
  49.             fixed (byte* ptr = Packet)
  50.             {
  51.                 *(ushort*)(ptr + (Packet.Length - 8)) = 0;
  52.                 *((ushort*)(ptr + 2)) = PacketID.AutoInvite;
  53.             }
  54.         }
  55.         public uint StrResID
  56.         {
  57.             get { return BitConverter.ToUInt32(Packet, 8); }
  58.             set { fixed (byte* Pack = Packet) *((uint*)(Pack + 8)) = value; }
  59.         }
  60.         public byte Action
  61.         {
  62.             get { return (byte)Packet[12]; }
  63.             set { fixed (byte* Pack = Packet) *((byte*)(Pack + 12)) = value; }
  64.         }
  65.         public uint Countdown
  66.         {
  67.             get { return BitConverter.ToUInt32(Packet, 16); }
  68.             set { fixed (byte* Pack = Packet) *((uint*)(Pack + 16)) = value; }
  69.         }
  70.         public byte[] ToArray()
  71.         {
  72.             fixed (void* buff = Packet)
  73.                 return Packet;
  74.         }
  75.         public void Deserialize(byte[] Pack)
  76.         {
  77.             Packet = Pack;
  78.         }
  79.         public static void Process(byte[] Packet, Client.GameState client)
  80.         {
  81.             AutoInvite Auto = new AutoInvite();
  82.             Auto.Deserialize(Packet);
  83.             switch (client.Entity.StrResID)
  84.             {
  85.                 case (uint)AutoInvite.Mode.HeroOfGame:
  86.                     {
  87.                         if (client.Entity.Dead) return;
  88.                         if (client.Entity.MapID == 3846)
  89.                         {
  90.                             Data data = new Data(true);
  91.                             data.UID = client.Entity.UID;
  92.                             data.ID = 104;
  93.                             data.TimeStamp = Time32.Now;
  94.                             data.dwParam = 0;
  95.                             client.Send(data);
  96.                             client.SendScreen(data, true);
  97.                             client.Screen.Reload(null);
  98.                         }
  99.                         client.Entity.PKMode = Game.Enums.PKMode.PK;
  100.                         client.Send(new Data(true)
  101.                         {
  102.                             UID = client.Entity.UID,
  103.                             ID = Data.ChangePKMode,
  104.                             dwParam = (uint)client.Entity.PKMode
  105.                         });
  106.                         client.Entity.Teleport(1507, 96, 113);
  107.                         client.Entity.StrResID = 0;
  108.                         break;
  109.                     }
  110.                 case (uint)AutoInvite.Mode.TeamQualifier:
  111.                     {
  112.                         if (client.Entity.Dead) return;
  113.                         Game.TeamQualifier.QualifyEngine.DoSignup(client);
  114.                         client.Entity.StrResID = 0;
  115.                         break;
  116.                     }
  117.                 case (uint)AutoInvite.Mode.HorseRace:
  118.                     {
  119.                         if (client.Entity.Dead) return;
  120.                         if (client.Entity.MapID == 3846)
  121.                         {
  122.                             Data data = new Data(true);
  123.                             data.UID = client.Entity.UID;
  124.                             data.ID = 104;
  125.                             data.TimeStamp = Time32.Now;
  126.                             data.dwParam = 0;
  127.                             client.Send(data);
  128.                             client.SendScreen(data, true);
  129.                             client.Screen.Reload(null);
  130.                         }
  131.                         if (!SteedRace.isOn)
  132.                         {
  133.                             client.Send(new Message("The tournament has ended.", Message.Center));
  134.                         }
  135.                         else if (SteedRace.isOn && SteedRace.InvitationsExpired)
  136.                         {
  137.                             client.Send(new Message("You lost your chance to join the steed race.", Message.Center));
  138.                         }
  139.                         else if (SteedRace.InvitationsOut && !SteedRace.InvitationsExpired)
  140.                         {
  141.                             if (!client.Spells.ContainsKey(7001))
  142.                             {
  143.                                 client.Send("You need learn the riding skill!");
  144.                             }
  145.                             else
  146.                             {
  147.                                 if (!client.Equipment.Free(ConquerItem.Steed))
  148.                                     Server.Thread.SteedRace.Join(client);
  149.                                 else  client.Send("You need to wear a horse first!");
  150.                             }
  151.                         }
  152.                         client.Entity.StrResID = 0;
  153.                         break;
  154.                     }
  155.                 case (uint)AutoInvite.Mode.CaptureFlag:
  156.                     {
  157.                         if (client.Entity.Dead) return;
  158.                         if (client.Entity.MapID == 3846)
  159.                         {
  160.                             Data data = new Data(true);
  161.                             data.UID = client.Entity.UID;
  162.                             data.ID = 104;
  163.                             data.TimeStamp = Time32.Now;
  164.                             data.dwParam = 0;
  165.                             client.Send(data);
  166.                             client.SendScreen(data, true);
  167.                             client.Screen.Reload(null);
  168.                         }
  169.                         client.Entity.Teleport(1002, 225, 237);
  170.                         client.Entity.StrResID = 0;
  171.                         break;
  172.                     }
  173.                 case (uint)AutoInvite.Mode.TwinCityWar:
  174.                     {
  175.                         if (client.Entity.Dead) return;
  176.                         if (client.Entity.MapID == 3846)
  177.                         {
  178.                             Data data = new Data(true);
  179.                             data.UID = client.Entity.UID;
  180.                             data.ID = 104;
  181.                             data.TimeStamp = Time32.Now;
  182.                             data.dwParam = 0;
  183.                             client.Send(data);
  184.                             client.SendScreen(data, true);
  185.                             client.Screen.Reload(null);
  186.                         }
  187.                         Random random = new Random();
  188.                         int r = random.Next(1, 10);
  189.                         if (r == 1) client.Entity.Teleport(1002, 309, 344);
  190.                         if (r == 2) client.Entity.Teleport(1002, 322, 341);
  191.                         if (r == 3) client.Entity.Teleport(1002, 321, 352);
  192.                         if (r == 4) client.Entity.Teleport(1002, 313, 347);
  193.                         if (r == 5) client.Entity.Teleport(1002, 307, 353);
  194.                         if (r == 6) client.Entity.Teleport(1002, 383, 256);
  195.                         if (r == 7) client.Entity.Teleport(1002, 385, 263);
  196.                         if (r == 8) client.Entity.Teleport(1002, 388, 251);
  197.                         if (r == 9) client.Entity.Teleport(1002, 394, 266);
  198.                         if (r == 10) client.Entity.Teleport(1002, 397, 251);
  199.                         client.Entity.StrResID = 0;
  200.                         break;
  201.                     }
  202.                 case (uint)AutoInvite.Mode.SkillTeam:
  203.                     {
  204.                         if (client.Entity.Dead) return;
  205.                         if (client.Entity.MapID == 3846)
  206.                         {
  207.                             Data data = new Data(true);
  208.                             data.UID = client.Entity.UID;
  209.                             data.ID = 104;
  210.                             data.TimeStamp = Time32.Now;
  211.                             data.dwParam = 0;
  212.                             client.Send(data);
  213.                             client.SendScreen(data, true);
  214.                             client.Screen.Reload(null);
  215.                         }
  216.                         client.Entity.Teleport(1002, 313, 143);
  217.                         client.Entity.StrResID = 0;
  218.                         break;
  219.                     }
  220.                 case (uint)AutoInvite.Mode.PowerArena:
  221.                     {
  222.                         if (client.Entity.Dead) return;
  223.                         if (client.Entity.MapID == 3846)
  224.                         {
  225.                             Data data = new Data(true);
  226.                             data.UID = client.Entity.UID;
  227.                             data.ID = 104;
  228.                             data.TimeStamp = Time32.Now;
  229.                             data.dwParam = 0;
  230.                             client.Send(data);
  231.                             client.SendScreen(data, true);
  232.                             client.Screen.Reload(null);
  233.                         }
  234.                         client.Entity.Teleport(1002, 336, 137);
  235.                         client.Entity.StrResID = 0;
  236.                         break;
  237.                     }
  238.                 case (uint)AutoInvite.Mode.ElitePk:
  239.                     {
  240.                         if (client.Entity.Dead) return;
  241.                         if (client.Entity.MapID == 3846)
  242.                         {
  243.                             Data data = new Data(true);
  244.                             data.UID = client.Entity.UID;
  245.                             data.ID = 104;
  246.                             data.TimeStamp = Time32.Now;
  247.                             data.dwParam = 0;
  248.                             client.Send(data);
  249.                             client.SendScreen(data, true);
  250.                             client.Screen.Reload(null);
  251.                         }
  252.                         client.Entity.Teleport(1002, 301, 143);
  253.                         client.Entity.StrResID = 0;
  254.                         break;
  255.                     }
  256.                 case (uint)AutoInvite.Mode.TeamPk:
  257.                     {
  258.                         if (client.Entity.Dead) return;
  259.                         if (client.Entity.MapID == 3846)
  260.                         {
  261.                             Data data = new Data(true);
  262.                             data.UID = client.Entity.UID;
  263.                             data.ID = 104;
  264.                             data.TimeStamp = Time32.Now;
  265.                             data.dwParam = 0;
  266.                             client.Send(data);
  267.                             client.SendScreen(data, true);
  268.                             client.Screen.Reload(null);
  269.                         }
  270.                         client.Entity.Teleport(1002, 292, 146);
  271.                         client.Entity.StrResID = 0;
  272.                         break;
  273.                     }
  274.                 case (uint)AutoInvite.Mode.MonthlyPk:
  275.                     {
  276.                         if (client.Entity.Dead) return;
  277.                         if (client.Entity.MapID == 3846)
  278.                         {
  279.                             Data data = new Data(true);
  280.                             data.UID = client.Entity.UID;
  281.                             data.ID = 104;
  282.                             data.TimeStamp = Time32.Now;
  283.                             data.dwParam = 0;
  284.                             client.Send(data);
  285.                             client.SendScreen(data, true);
  286.                             client.Screen.Reload(null);
  287.                         }
  288.                         client.Entity.Teleport(1002, 323, 194);
  289.                         client.Entity.StrResID = 0;
  290.                         break;
  291.                     }
  292.                 case (uint)AutoInvite.Mode.SuperGuildWar:
  293.                     {
  294.                         if (client.Entity.Dead) return;
  295.                         if (client.Entity.MapID == 3846)
  296.                         {
  297.                             Data data = new Data(true);
  298.                             data.UID = client.Entity.UID;
  299.                             data.ID = 104;
  300.                             data.TimeStamp = Time32.Now;
  301.                             data.dwParam = 0;
  302.                             client.Send(data);
  303.                             client.SendScreen(data, true);
  304.                             client.Screen.Reload(null);
  305.                         }
  306.                         client.Entity.Teleport(1234, 224, 237);
  307.                         client.Entity.StrResID = 0;
  308.                         break;
  309.                     }
  310.                 case (uint)AutoInvite.Mode.EliteGW:
  311.                     {
  312.                         if (client.Entity.Dead) return;
  313.                         if (client.Entity.MapID == 3846)
  314.                         {
  315.                             Data data = new Data(true);
  316.                             data.UID = client.Entity.UID;
  317.                             data.ID = 104;
  318.                             data.TimeStamp = Time32.Now;
  319.                             data.dwParam = 0;
  320.                             client.Send(data);
  321.                             client.SendScreen(data, true);
  322.                             client.Screen.Reload(null);
  323.                         }
  324.                         client.Entity.Teleport(1002, 311, 263);
  325.                         client.Entity.StrResID = 0;
  326.                         break;
  327.                     }
  328.                 case (uint)AutoInvite.Mode.WeeklyPk:
  329.                     {
  330.                         if (client.Entity.Dead) return;
  331.                         if (client.Entity.MapID == 3846)
  332.                         {
  333.                             Data data = new Data(true);
  334.                             data.UID = client.Entity.UID;
  335.                             data.ID = 104;
  336.                             data.TimeStamp = Time32.Now;
  337.                             data.dwParam = 0;
  338.                             client.Send(data);
  339.                             client.SendScreen(data, true);
  340.                             client.Screen.Reload(null);
  341.                         }
  342.                         client.Entity.Teleport(1002, 323, 194);
  343.                         client.Entity.StrResID = 0;
  344.                         break;
  345.                     }
  346.                 case (uint)AutoInvite.Mode.Champions:
  347.                     {
  348.                         if (client.Entity.Dead) return;
  349.                         Game.Champion.ChampionKernel.SignUp();
  350.                         client.Send(new Message("You`ve signed up for Champion`s Arena!", Message.System));
  351.                         client.Entity.StrResID = 0;
  352.                         break;
  353.                     }
  354.                 case (uint)AutoInvite.Mode.Lastman:
  355.                     {
  356.                         if (client.Entity.Dead) return;
  357.                         if (client.Entity.MapID == 3846)
  358.                         {
  359.                             Data data = new Data(true);
  360.                             data.UID = client.Entity.UID;
  361.                             data.ID = 104;
  362.                             data.TimeStamp = Time32.Now;
  363.                             data.dwParam = 0;
  364.                             client.Send(data);
  365.                             client.SendScreen(data, true);
  366.                             client.Screen.Reload(null);
  367.                         }
  368.                         client.Entity.Teleport(1002, 299, 243);
  369.                         client.Entity.StrResID = 0;
  370.                         break;
  371.                     }
  372.                 case (uint)AutoInvite.Mode.DeathWar:
  373.                     {
  374.                         if (client.Entity.Dead) return;
  375.                         if (client.Entity.MapID == 3846)
  376.                         {
  377.                             Data data = new Data(true);
  378.                             data.UID = client.Entity.UID;
  379.                             data.ID = 104;
  380.                             data.TimeStamp = Time32.Now;
  381.                             data.dwParam = 0;
  382.                             client.Send(data);
  383.                             client.SendScreen(data, true);
  384.                             client.Screen.Reload(null);
  385.                         }
  386.                         client.Entity.Teleport(1002, 299, 243);
  387.                         client.Entity.StrResID = 0;
  388.                         break;
  389.                     }
  390.                 case (uint)AutoInvite.Mode.FastScent:
  391.                     {
  392.                         if (client.Entity.Dead) return;
  393.                         if (client.Entity.MapID == 3846)
  394.                         {
  395.                             Data data = new Data(true);
  396.                             data.UID = client.Entity.UID;
  397.                             data.ID = 104;
  398.                             data.TimeStamp = Time32.Now;
  399.                             data.dwParam = 0;
  400.                             client.Send(data);
  401.                             client.SendScreen(data, true);
  402.                             client.Screen.Reload(null);
  403.                         }
  404.                         client.Entity.Teleport(1002, 299, 243);
  405.                         client.Entity.StrResID = 0;
  406.                         break;
  407.                     }
  408.                 case (uint)AutoInvite.Mode.ExtremePK:
  409.                     {
  410.                         if (client.Entity.Dead) return;
  411.                         if (client.Entity.MapID == 3846)
  412.                         {
  413.                             Data data = new Data(true);
  414.                             data.UID = client.Entity.UID;
  415.                             data.ID = 104;
  416.                             data.TimeStamp = Time32.Now;
  417.                             data.dwParam = 0;
  418.                             client.Send(data);
  419.                             client.SendScreen(data, true);
  420.                             client.Screen.Reload(null);
  421.                         }
  422.                         client.Entity.Teleport(1002, 315, 148);
  423.                         client.Entity.StrResID = 0;
  424.                         break;
  425.                     }
  426.                 case (uint)AutoInvite.Mode.Terrorist:
  427.                     {
  428.                         if (client.Entity.Dead) return;
  429.                         if (client.Entity.MapID == 3846)
  430.                         {
  431.                             Data data = new Data(true);
  432.                             data.UID = client.Entity.UID;
  433.                             data.ID = 104;
  434.                             data.TimeStamp = Time32.Now;
  435.                             data.dwParam = 0;
  436.                             client.Send(data);
  437.                             client.SendScreen(data, true);
  438.                             client.Screen.Reload(null);
  439.                         }
  440.                         client.Entity.Teleport(1002, 299, 243);
  441.                         client.Entity.StrResID = 0;
  442.                         break;
  443.                     }
  444.                 case (uint)AutoInvite.Mode.Couples:
  445.                     {
  446.                         if (client.Entity.Dead) return;
  447.                         if (client.Entity.MapID == 3846)
  448.                         {
  449.                             Data data = new Data(true);
  450.                             data.UID = client.Entity.UID;
  451.                             data.ID = 104;
  452.                             data.TimeStamp = Time32.Now;
  453.                             data.dwParam = 0;
  454.                             client.Send(data);
  455.                             client.SendScreen(data, true);
  456.                             client.Screen.Reload(null);
  457.                         }
  458.                         client.Entity.Teleport(1002, 292, 191);
  459.                         client.Entity.StrResID = 0;
  460.                         break;
  461.                     }
  462.                 case (uint)AutoInvite.Mode.Treasure:
  463.                     {
  464.                         if (client.Entity.Dead) return;
  465.                         if (client.Entity.MapID == 3846)
  466.                         {
  467.                             Data data = new Data(true);
  468.                             data.UID = client.Entity.UID;
  469.                             data.ID = 104;
  470.                             data.TimeStamp = Time32.Now;
  471.                             data.dwParam = 0;
  472.                             client.Send(data);
  473.                             client.SendScreen(data, true);
  474.                             client.Screen.Reload(null);
  475.                         }
  476.                         client.Entity.Teleport(1002, 299, 243);
  477.                         client.Entity.StrResID = 0;
  478.                         break;
  479.                     }
  480.                 case (uint)AutoInvite.Mode.DemonBox:
  481.                     {
  482.                         if (client.Entity.Dead) return;
  483.                         if (client.Entity.MapID == 3846)
  484.                         {
  485.                             Data data = new Data(true);
  486.                             data.UID = client.Entity.UID;
  487.                             data.ID = 104;
  488.                             data.TimeStamp = Time32.Now;
  489.                             data.dwParam = 0;
  490.                             client.Send(data);
  491.                             client.SendScreen(data, true);
  492.                             client.Screen.Reload(null);
  493.                         }
  494.                         client.Entity.Teleport(1002, 274, 194);
  495.                         client.Entity.StrResID = 0;
  496.                         break;
  497.                     }
  498.                 case (uint)AutoInvite.Mode.DisCity:
  499.                     {
  500.                         if (client.Entity.Dead) return;
  501.                         if (client.Entity.MapID == 3846)
  502.                         {
  503.                             Data data = new Data(true);
  504.                             data.UID = client.Entity.UID;
  505.                             data.ID = 104;
  506.                             data.TimeStamp = Time32.Now;
  507.                             data.dwParam = 0;
  508.                             client.Send(data);
  509.                             client.SendScreen(data, true);
  510.                             client.Screen.Reload(null);
  511.                         }
  512.                         client.Entity.Teleport(1002, 297, 149);
  513.                         client.Entity.StrResID = 0;
  514.                         break;
  515.                     }
  516.                 case (uint)AutoInvite.Mode.SkyFight:
  517.                     {
  518.                         if (client.Entity.Dead) return;
  519.                         if (client.Entity.MapID == 3846)
  520.                         {
  521.                             Data data = new Data(true);
  522.                             data.UID = client.Entity.UID;
  523.                             data.ID = 104;
  524.                             data.TimeStamp = Time32.Now;
  525.                             data.dwParam = 0;
  526.                             client.Send(data);
  527.                             client.SendScreen(data, true);
  528.                             client.Screen.Reload(null);
  529.                         }
  530.                         client.Entity.Teleport(1002, 299, 243);
  531.                         client.Entity.StrResID = 0;
  532.                         break;
  533.                     }
  534.                 case (uint)AutoInvite.Mode.Devastated:
  535.                     {
  536.                         if (client.Entity.Dead) return;
  537.                         if (client.Entity.MapID == 3846)
  538.                         {
  539.                             Data data = new Data(true);
  540.                             data.UID = client.Entity.UID;
  541.                             data.ID = 104;
  542.                             data.TimeStamp = Time32.Now;
  543.                             data.dwParam = 0;
  544.                             client.Send(data);
  545.                             client.SendScreen(data, true);
  546.                             client.Screen.Reload(null);
  547.                         }
  548.                         client.Entity.Teleport(1002, 299, 243);
  549.                         client.Entity.StrResID = 0;
  550.                         break;
  551.                     }
  552.                 case (uint)AutoInvite.Mode.Quarantine:
  553.                     {
  554.                         if (client.Entity.Dead) return;
  555.                         if (client.Entity.MapID == 3846)
  556.                         {
  557.                             Data data = new Data(true);
  558.                             data.UID = client.Entity.UID;
  559.                             data.ID = 104;
  560.                             data.TimeStamp = Time32.Now;
  561.                             data.dwParam = 0;
  562.                             client.Send(data);
  563.                             client.SendScreen(data, true);
  564.                             client.Screen.Reload(null);
  565.                         }
  566.                         client.Entity.Teleport(1002, 299, 243);
  567.                         client.Entity.StrResID = 0;
  568.                         break;
  569.                     }
  570.  
  571.             }
  572.         }
  573.     }
  574. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement