Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
                            }
                        }
                    }
                }
            }
        }