|
public void Teleport(ushort BaseID, ushort DynamicID, ushort X, ushort Y)
public bool OnFatalStrike()
{
return ContainsFlag(Network.GamePackets.Update.Flags.FatalStrike);
}
#region XPSpells inoffensive
#region XPSpells inoffensive
case 1015:
case 1020:
case 1025:
case 1110:
case 6011:
case 10390:
{
if (CanUseSpell(spell, attacker.Owner))
{
PrepareSpell(spell, attacker.Owner);
SpellUse suse = new SpellUse(true);
suse.Attacker = attacker.UID;
suse.SpellID = spell.ID;
suse.SpellLevel = spell.Level;
suse.X = X;
suse.Y = Y;
suse.AddTarget(attacked.UID, 0, attack);
if (spell.ID == 6011)
{
attacked.FatalStrikeStamp = Time32.Now;
attacked.FatalStrikeTime = 60;
attacked.AddFlag((ulong)Update.Flags.FatalStrike);
attacker.RemoveFlag((ulong)Update.Flags.Ride);
}
else if (spell.ID == 1110 || spell.ID == 1025 || spell.ID == 10390)
{
if (!attacked.OnKOSpell())
attacked.KOCount = 0;
attacked.KOSpell = spell.ID;
if (spell.ID == 1110)
{
attacked.CycloneStamp = Time32.Now;
attacked.CycloneTime = 20;
attacked.AddFlag((ulong)Update.Flags.Cyclone);
}
else if (spell.ID == 10390)
{
attacked.OblivionStamp = Time32.Now;
attacked.OblivionTime = 20;
attacked.AddFlag2((ulong)Update.Flags2.Oblivion);
}
else
{
attacked.SupermanStamp = Time32.Now;
attacked.SupermanTime = 20;
attacked.AddFlag((ulong)Update.Flags.Superman);
}
}
else if (spell.ID == 1020)
{
attacked.ShieldStamp = Time32.Now;
attacked.MagicShieldStamp = Time32.Now;
attacked.MagicShieldTime = 0;
attacked.ShieldTime = 0;
attacked.AddFlag((ulong)Update.Flags.MagicShield);
attacked.ShieldStamp = Time32.Now;
attacked.ShieldIncrease = spell.PowerPercent;
attacked.ShieldTime = 60;
}
else
{
attacked.AccuracyStamp = Time32.Now;
attacked.StarOfAccuracyStamp = Time32.Now;
attacked.StarOfAccuracyTime = 0;
attacked.AccuracyTime = 0;
attacked.AddFlag((ulong)Update.Flags.StarOfAccuracy);
attacked.AccuracyStamp = Time32.Now;
attacked.AccuracyTime = (byte)spell.Duration;
}
attacked.Owner.SendScreen(suse, true);
}
break;
}
#endregion
#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
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
شباب عايز حل المشكله دي بسرعه بعد ما ظبط السوس وقعد شهر يطلع المشاكل دي عايز حل بسرعه | Tyranny-Team's | مشكلات السيرفيرات كونكر الشخصيه | 1 | 2020-04-19 05:59 AM |
اهو يا رايدر | taha | مشكلات السيرفيرات كونكر الشخصيه | 7 | 2020-02-18 06:36 AM |
طلب من رايزو او رايدر | محمودمحمدسالم | مشكلات السيرفيرات كونكر الشخصيه | 3 | 2020-02-17 12:29 AM |
معلش يا رايدر | nova | مشكلات السيرفيرات كونكر الشخصيه | 2 | 2019-11-24 10:45 AM |
يا رايدر انت وعدتني هتساعدني | neno2052 | مشكلات السيرفيرات كونكر الشخصيه | 2 | 2019-11-24 10:37 AM |