I have been trying to write a money drop function in single player using scripthookVdotnet and NativeUI. I cant for the life of me figure this out. I have tried rewriting it in multiple ways. The problem is if i don't use a loop it only drops once. When i do loop, it doesn't stop dropping and I cant open the menu again for some reason. So what i'm really trying to do is open the menu while its dropping so i could possibly stop it.
void DropMoney()
{
var moneyDrop = new UIMenuCheckboxItem("Money Drop", ketchup, "This took wayy too long.");
moneyMenu.AddItem(moneyDrop);
moneyMenu.OnCheckboxChange += (sender, item, checked_) =>
{
if (item == moneyDrop)
{
DropFunction(true);
}
};
}
public void DropFunction(bool dropTrue)
{
while (dropTrue)
{
UI.ShowSubtitle("Dropped money");
int money_bag = Function.Call<int>(Hash.GET_HASH_KEY, "prop_money_bag_01");
int pickup_title = Function.Call<int>(Hash.GET_HASH_KEY, "PICKUP_MONEY_CASE");
Vector3 dropPos = Game.Player.Character.GetOffsetInWorldCoords(new Vector3(0f, 0f, 2f));
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Function.Call(Hash.CREATE_AMBIENT_PICKUP, pickup_title, dropPos.X, dropPos.Y, dropPos.Z, 0, 200000, money_bag, false, true);
Wait(200);
}
}