public static void Draw3DText(Vector3 Position, string text, int size, int font, int range) { Vector3 CameraPosition = API.GetGameplayCamCoord(); float Distance = API.GetDistanceBetweenCoords(CameraPosition.X, CameraPosition.Y, CameraPosition.Z, Position.X, Position.Y, Position.Z, true); if (Distance <= TextRanges[range]) { float SimpleScale = (1 / Distance) * TextSizes[size]; float FOV = (1 / API.GetGameplayCamFov()) * 100; float AdjustedScale = SimpleScale * FOV; API.SetDrawOrigin(Position.X, Position.Y, Position.Z, 0); API.SetTextScale(0 * AdjustedScale, .35f * AdjustedScale); API.SetTextFont(TextFonts[font]); API.SetTextProportional(true); API.SetTextColour(255, 255, 255, 255); API.SetTextDropshadow(0, 0, 0, 0, 255); API.SetTextEdge(2, 0, 0, 0, 150); API.SetTextDropShadow(); API.SetTextOutline(); API.SetTextEntry("STRING"); API.SetTextCentre(true); API.AddTextComponentString(text); API.DrawText(0, 0); API.ClearDrawOrigin(); } }
private async static void Loop() { if (eventSpawned) { int playerPedId = API.PlayerPedId(); if (!eventDespawned && API.GetEntityHealth(playerPedId) == 0) { eventDespawned = true; await BaseScript.Delay(2000); Deregister(); } Vector3 playerPos = GetPedCoords(playerPedId); if (!eventOnScene) { foreach (int ped in peds) { Vector3 pedPos = GetPedCoords(ped); float distance = API.GetDistanceBetweenCoords(pedPos.X, pedPos.Y, pedPos.Z, playerPos.X, playerPos.Y, playerPos.Z, true); if (distance < 20F) { eventOnScene = true; foreach (int spawnedPed in peds) { API.TaskCombatPed(spawnedPed, playerPedId, 0, 16); } } } } } }