Im making a quest where you are getting certain items, but where do i make items drop from mobs, so they drop the items?:handsdown:
public bool GetDamage(uint Damage)
{
if (CurHP > Damage)
{
CurHP -= Damage;
return false;
}
else
{
CurHP = 0;
Alive = false;
Revive = false;
uint MoneyDrops = 0;
if (Other.ChanceSuccess(30))
{
int DropTimes = 1;
if (Other.ChanceSuccess(15))
{
DropTimes = General.Rand.Next(1, 6);
}
for (int i = 0; i < DropTimes; i++)
{
MoneyDrops = (uint)General.Rand.Next(1, 10);
if (Other.ChanceSuccess(90))
MoneyDrops = (uint)General.Rand.Next(1, 200);
if (Other.ChanceSuccess(70))
MoneyDrops = (uint)General.Rand.Next(30, 500);
if (Other.ChanceSuccess(50))
MoneyDrops = (uint)General.Rand.Next(100, 1000);
if (Other.ChanceSuccess(30))
MoneyDrops = (uint)General.Rand.Next(500, 5000);
if (Other.ChanceSuccess(15))
MoneyDrops = (uint)General.Rand.Next(1000, 15000);
MoneyDrops = MoneyDrops / (136 - (uint)Level) * 10;
if (MoneyDrops < 1)
MoneyDrops = 1;
string Item = "";
if (MoneyDrops < 10)
Item = "1090000-0-0-0-0-0";
else if (MoneyDrops < 100)
Item = "1090010-0-0-0-0-0";
else if (MoneyDrops < 1000)
Item = "1090020-0-0-0-0-0";
else if (MoneyDrops < 3000)
Item = "1091000-0-0-0-0-0";
else if (MoneyDrops < 10000)
Item = "1091010-0-0-0-0-0";
else
Item = "1091020-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
}
else
{
if (Other.ChanceSuccess(0.5))
{
string Item = "1060101-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(0.5))
{
string Item = "1060100-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(8))
{
string Item = "721533-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(9))
{
string Item = "721536-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(10))
{
string Item = "723038-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(8) || BossMob && Other.ChanceSuccess(50))
{
byte Repeat = 1;
if (BossMob && Other.ChanceSuccess(50))
Repeat = 2;
if (BossMob && Other.ChanceSuccess(40))
Repeat = 3;
if (BossMob && Other.ChanceSuccess(25))
Repeat = 4;
if (BossMob && Other.ChanceSuccess(5))
Repeat = 5;
for (int i = 0; i < Repeat; i++)
{
string Item = "1088001-0-0-0-0-0";
if (Other.ChanceSuccess(3) || BossMob)
Item = "1088000-0-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
}
if (Other.ChanceSuccess(0.5) || BossMob && Other.ChanceSuccess(30))
{
string Item = "730001-1-0-0-0-0";
if (Other.ChanceSuccess(10) || BossMob && Other.ChanceSuccess(30))
Item = "730002-2-0-0-0-0";
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, MoneyDrops);
World.ItemDrops(item);
}
if (Other.ChanceSuccess(40))
{
byte Quality = (byte)General.Rand.Next(3, 6);
byte Soc1 = 0;
byte Soc2 = 0;
byte Bless = 0;
byte IsPlus = 0;
if (Other.ChanceSuccess(2) || BossMob && Other.ChanceSuccess(10))
IsPlus = 1;
if (Other.ChanceSuccess(7))
Quality = 7;
if (Other.ChanceSuccess(4) || BossMob && Other.ChanceSuccess(25))
Quality = 8;
if (Other.ChanceSuccess(2) || BossMob && Other.ChanceSuccess(10))
Quality = 9;
uint ItemId = Other.GenerateEquip((byte)Level, Quality);
if (Other.ItemType(ItemId) == 4 || Other.ItemType(ItemId) == 5)
{
if (Other.ChanceSuccess(50) || BossMob && Other.ChanceSuccess(80))
{
Soc1 = 255;
if (Other.ChanceSuccess(40) || BossMob && Other.ChanceSuccess(60))
Soc2 = 255;
}
}
if (Other.ChanceSuccess(10) || BossMob && Other.ChanceSuccess(30))
Bless = (byte)General.Rand.Next(1, 7);
if (ItemId != 0)
{
string Item = ItemId.ToString() + "-" + IsPlus.ToString() + "-" + Bless.ToString() + "-0-" + Soc1.ToString() + "-" + Soc2.ToString();
DroppedItem item = DroppedItems.DropItem(Item, (uint)(PosX - General.Rand.Next(4) + General.Rand.Next(4)), (uint)(PosY - General.Rand.Next(4) + General.Rand.Next(4)), (uint)Map, 0);
World.ItemDrops(item);
}
}
}
return true;
}
}