XConquer

Uso de MsgMapItem/FloorItem

Mar 16th, 2019
109
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Existen Muchos Tipos de FloorItem`s en nuestro MonsterTable, yo les enseñare 3 Tipos (Que son los 3 Mas Usados)
  2.  
  3. 1.- El de Drop Items Modo Random:
  4.  
  5. #region Stones +1 y +2 & +3
  6.             if (Kernel.Rate(10) && Kernel.Rate(20))
  7.             {
  8.                 uint b = 0;
  9.                 uint ban = (uint)Kernel.Random.Next(1, 30);
  10.                 switch (ban)
  11.                 {
  12.                     case 1: b = 730001; break;
  13.                     case 2: b = 0; break;
  14.                     case 3: b = 730002; break;
  15.                     case 4: b = 0; break;
  16.                     case 5: b = 0; break;
  17.                     case 6: b = 730003; break;
  18.                     case 7: b = 0; break;
  19.                     case 8: b = 730001; break;
  20.                     case 9: b = 0; break;
  21.                     case 10: b = 0; break;
  22.                     case 11: b = 0; break;
  23.                     case 12: b = 730002; break;
  24.                     case 13: b = 0; break;
  25.                     case 14: b = 0; break;
  26.                     case 15: b = 730003; break;
  27.                     case 16: b = 0; break;
  28.                     case 17: b = 0; break;
  29.                     case 18: b = 730001; break;
  30.                     case 19: b = 0; break;
  31.                     case 20: b = 0; break;
  32.                     case 21: b = 730001; break;
  33.                     case 22: b = 0; break;
  34.                     case 23: b = 0; break;
  35.                     case 24: b = 730001; break;
  36.                     case 25: b = 0; break;
  37.                     case 26: b = 0; break;
  38.                     case 27: b = 730001; break;
  39.                     case 28: b = 0; break;
  40.                     case 29: b = 0; break;
  41.                     case 30: b = 730002; break;
  42.  
  43.                 }
  44.                 var infoss = Database.ConquerItemInformation.BaseInformations[ban];
  45.                 ushort XX = Owner.X, YY = Owner.Y;
  46.                 Game.Map MMap = Kernel.Maps[Owner.MapID];
  47.                 if (MMap.SelectCoordonates(ref XX, ref YY))
  48.                 {
  49.                     Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  50.                     floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  51.                     floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  52.                     floorItem.Item.ID = ban;
  53.                     if (floorItem.ItemID == 730001)
  54.                     {
  55.                         floorItem.Item.Plus = 1;
  56.                     }
  57.                     if (floorItem.ItemID == 730002)
  58.                     {
  59.                         floorItem.Item.Plus = 2;
  60.                     }
  61.                     if (floorItem.ItemID == 730003)
  62.                     {
  63.                         floorItem.Item.Plus = 3;
  64.                     }
  65.                     if (killer.VIPLevel == 4)
  66.                     {
  67.                         killer.Owner.Inventory.Add(b, 0, 1);
  68.                        
  69.                     }
  70.                     floorItem.Item.MaximDurability = 65535;
  71.                     floorItem.Item.Durability = 65535;
  72.                     floorItem.Item.MobDropped = true;
  73.                     floorItem.OwnerUID = killer.UID;
  74.                     floorItem.Item.StackSize = 1;
  75.                     floorItem.Item.MaxStackSize = 1;
  76.                     floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  77.                     floorItem.ItemID = ban;
  78.                     floorItem.MapID = Owner.MapID;
  79.                     floorItem.MapObjType = Game.MapObjectType.Item;
  80.                     floorItem.X = XX;
  81.                     floorItem.Y = YY;
  82.                     floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  83.                     floorItem.OnFloor = Time32.Now;
  84.                     floorItem.ItemColor = floorItem.Item.Color;
  85.                     floorItem.Owner = killer.Owner;
  86.                     floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  87.                     while (MMap.Npcs.ContainsKey(floorItem.UID))
  88.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  89.                     MMap.AddFloorItem(floorItem);
  90.                     SendScreenSpawn(floorItem);
  91.                 }
  92.  
  93.             }
  94.             #endregion
  95. =======================================
  96. 2.- El de Drop de Item de Modo Unico(Solo 1)
  97. #region DragonBall
  98.             if (Kernel.Rate(20) && Kernel.Rate(60))
  99.             {
  100.                 var infoss = Database.ConquerItemInformation.BaseInformations[10088001];
  101.                 ushort XX = Owner.X, YY = Owner.Y;
  102.                 Game.Map MMap = Kernel.Maps[Owner.MapID];
  103.                 if (MMap.SelectCoordonates(ref XX, ref YY))
  104.                 {
  105.                     Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  106.                     floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  107.                     floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  108.                     floorItem.Item.ID = 10088001;
  109.                  
  110.                     floorItem.Item.MaximDurability = 65535;
  111.                     floorItem.Item.Durability = 65535;
  112.                     floorItem.Item.MobDropped = true;
  113.                     floorItem.OwnerUID = killer.UID;
  114.                     floorItem.Item.StackSize = 1;
  115.                     floorItem.Item.MaxStackSize = 1;
  116.                     floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  117.                     floorItem.ItemID = 10088001;
  118.                     floorItem.MapID = Owner.MapID;
  119.                     floorItem.MapObjType = Game.MapObjectType.Item;
  120.                     floorItem.X = XX;
  121.                     floorItem.Y = YY;
  122.                     floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  123.                     floorItem.OnFloor = Time32.Now;
  124.                     floorItem.ItemColor = floorItem.Item.Color;
  125.                     floorItem.Owner = killer.Owner;
  126.                     floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  127.                     while (MMap.Npcs.ContainsKey(floorItem.UID))
  128.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  129.                     MMap.AddFloorItem(floorItem);
  130.                     SendScreenSpawn(floorItem);
  131.                 }
  132.  
  133.             }
  134.             #endregion
  135. =================================================
  136. 3.- El Modo que Muy Pocos Usan el Modo FloorValueType. Este trata para poner a que Dropeè por Ejemplo 1 Caja (QUE NO ESTE Puesta en ItemHandler, UseItem) y darle un Valor de CPs/Oro, Copien mi Codigo y podran implementar sus Items
  137.  
  138. if (Kernel.Rate(100))//Rate lo Pueden Acomodar a Gusto
  139.             {
  140.                 ushort X = Owner.X, Y = Owner.Y;
  141.                 Map Map = Kernel.Maps[Owner.MapID];
  142.                 if (Map.SelectCoordonates(ref X, ref Y))
  143.                 {
  144.                     MsgMapItem floorItem = new MsgMapItem(true);
  145.                     floorItem.Item = new MsgItemInfo(true);
  146.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  147.                     floorItem.Item.MobDropped = true;
  148.                     floorItem.ValueType = MsgMapItem.FloorValueType.ConquerPoints;//Aca me dara CPs al Cojer el Item
  149.                     floorItem.ItemID = 720123;
  150.                     floorItem.MapID = Owner.MapID;
  151.                     floorItem.MapObjType = MapObjectType.Item;
  152.                     floorItem.Value = 150000;//Esta es la Cantidad de Cps que me dara al cojer el Item.
  153.                     floorItem.X = X;
  154.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  155.                     floorItem.Type = MsgMapItem.Drop;
  156.                     floorItem.OnFloor = Time32.Now;
  157.                     floorItem.ItemColor = floorItem.Item.Color;
  158.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  159.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  160.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  161.                     Map.AddFloorItem(floorItem);
  162.                     SendScreenSpawn(floorItem);
  163.                 }
  164.  
  165.             }
RAW Paste Data