#region DropMoney byte morepercent = 0; byte lessrate = 0; if (Kernel.Rate(Constants.MoneyDropRate - lessrate + morepercent)) { if (killer.MapID == 1002) return; uint amount = (uint)Kernel.Random.Next((int)MinMoneyDropAmount, (int)MaxMoneyDropAmount); amount *= Constants.MoneyDropMultiple; if (amount > 100000) amount = 500000; if (amount == 0) return; uint ItemID = Network.PacketHandler.MoneyItemID(amount); ushort X = Owner.X, Y = Owner.Y; Game.Map Map = Kernel.Maps[Owner.MapID]; if (Map.SelectCoordonates(ref X, ref Y)) { Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true); floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Money; floorItem.Value = amount; floorItem.ItemID = ItemID; floorItem.MapID = Owner.MapID; floorItem.MapObjType = Game.MapObjectType.Item; floorItem.X = X; floorItem.Y = Y; floorItem.Type = Network.GamePackets.FloorItem.Drop; floorItem.OnFloor = Time32.Now; floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next; while (Map.Npcs.ContainsKey(floorItem.UID)) floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next; Map.AddFloorItem(floorItem); SendScreenSpawn(floorItem); } } #endregion
#region DropMoney byte morepercent = 0; byte lessrate = 0; if (Kernel.Rate(Constants.MoneyDropRate - lessrate + morepercent)) سطر ده نسبة حظ يعني لو ضربت وحش احتمال 5 ف ميه انه يوقع فلوس طب انا مش فاهم حاجه من كلام ده خليه كده if (Kernel.Rate(30)) كده هيوقع فلوس بس بسهوله نسبيا و ممكن تغير رقم 30 برحتك لحد ما يظبط { if (killer.MapID == 1002) return; دي لو عايز مابه معينه متوقعش فلوس uint amount = (uint)Kernel.Random.Next((int)MinMoneyDropAmount, (int)MaxMoneyDropAmount); دي بقا مقدار فلوس مش فاهم اقولك لو عملناها كده من 10 ل 20 uint amount = (uint)Kernel.Random.Next(10, 20); فلوس هتتقع 10 11 12 13 14 15 16 17 18 19 20 تمام كده الي بعده amount *= Constants.MoneyDropMultiple; دي لو لاعب معاه توكت بتخلي دروب فلوس في 2 او 3 او اي رقم بياخد رقم الي فوق و يضربه في رقم بتاع Constants.MoneyDropMultiple if (amount > 100000) هنا لو واد هيقعله اكتر من 100 الف amount = 500000; هيقعله 500 الف if (amount == 0) return; طب لو هيقعله 0 متقعش خالص سبيكة فلوس بس كده دول اهم حاجاه انته عايز تعرفهم uint ItemID = Network.PacketHandler.MoneyItemID(amount); ushort X = Owner.X, Y = Owner.Y; Game.Map Map = Kernel.Maps[Owner.MapID]; if (Map.SelectCoordonates(ref X, ref Y)) { Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true); floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Money; floorItem.Value = amount; floorItem.ItemID = ItemID; floorItem.MapID = Owner.MapID; floorItem.MapObjType = Game.MapObjectType.Item; floorItem.X = X; floorItem.Y = Y; floorItem.Type = Network.GamePackets.FloorItem.Drop; floorItem.OnFloor = Time32.Now; floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next; while (Map.Npcs.ContainsKey(floorItem.UID)) floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next; Map.AddFloorItem(floorItem); SendScreenSpawn(floorItem); } } #endregion