private async Task DelayParachute(Ped ped) { ped.SetNotChaosPed(true); ped.ClearTasksImmediately(); ped.Position += new Vector3(0, 0, 0.5f); ped.SetToRagdoll(); await Task.Delay(TimeSpan.FromSeconds(0.1f)); ped.ApplyForce(new Vector3(0, 0, 40.0f)); ped.IsInvincible = true; await Task.Delay(TimeSpan.FromSeconds(1.5f)); if (!ped.IsSafeExist()) { return; } ped.IsInvincible = false; ped.ParachuteTo(PlayerPed.Position); await Task.Delay(TimeSpan.FromSeconds(15)); if (!ped.IsSafeExist()) { return; } ped.SetNotChaosPed(false); }
private IEnumerable <object> DelayParachute(Ped ped) { ped.SetNotChaosPed(true); ped.ClearTasksImmediately(); ped.Position += new Vector3(0, 0, 0.5f); ped.SetToRagdoll(); yield return(null); ped.ApplyForce(new Vector3(0, 0, 40.0f)); ped.IsInvincible = true; yield return(WaitForSeconds(1.5f)); if (!ped.IsSafeExist()) { yield break; } ped.IsInvincible = false; ped.ParachuteTo(core.PlayerPed.Position); yield return(WaitForSeconds(10)); if (!ped.IsSafeExist()) { yield break; } ped.SetNotChaosPed(false); }