[WIP] Freemode-Remix

This is great news if it happens!

My friends and I have been looking for such a mod for the game as we miss only the Freeroam mode. If there’s anything I can donate(time, resource or otherwise), please let me know.

1 Like

Can not thank you enough if you do this again and would be thrilled for you to add on!! Your work is some of the best out there yes please continue!!
Already running your resource and love it!!

Fun little feature/bug: using a flying car or Blazer aqua will give you levels at an incredible rate due to “Airtime” bonuses. I gained 5 levels in just a minute or so out on the water in the Blazer aqua and one of the other server members gained over 25 levels while flying in the Delorean.

:smiley:

That’s because the last time this resource was updated there were no flying cars and it gives you a money bonus based on airtime if the vehicle isn’t a plane or helicopter.

I could probably quickly patch it (before picking up this project again) to exclude the flying cars from the airtime bonus. But right now I’m focusing on another project which is probably going to be a enormous help for both devs and users.

1 Like

No need to patch it on my account. We’re having fun with it and was just something that I imagine will get fixed somewhere down the road if the project is continued.

Would this be the proper place for any bug reports? We’ve had a couple errors and bugs when attempting the demo mission but at the time, the project seemed dormant so I didn’t share them. I"d be happy to post these types of things if it’s helpful, however.

Currently the best place to report bugs is here. However if there’s enough interest I could set up a discord server or such for this project which would allow quicker communication.

That’s what I’ll do then until directed otherwise. Thanks again for the great script, it adds just what we were looking for to FiveM!

This is just the sort of thing ive been looking for! Cant wait to see what you can do with it. Thank you for all the work so far. woot.

Hi there, Scammer!

I was wondering if you could help me a bit. I’m trying to decipher the mission part of the resource so I can create and add new missions but I’m not savvy enough to figure it out.

The first thing I did was duplicate the Assasination.cs, naming it Assasination2.cs. I modified it, making it a single target(just to make the testing easier):

using CitizenFX.Core;
using CitizenFX.Core.Native;
using CitizenFX.Core.UI;
using Freeroam.Utils;
using System;
using System.Threading.Tasks;

namespace Freeroam.Missions
{
    internal class Target
    {
        public Ped targetPed;
        public Ped[] bodyguards;

        public Target(Ped targetPed, Ped[] bodyguards)
        {
            this.targetPed = targetPed;
            this.bodyguards = bodyguards;
        }
    }

    class Assassination2 : IMission
    {
        private static Vector3[] targetSpawns = new Vector3[]
        {
            new Vector3(-1502f, 137f, 55f)
        };

        private Target[] targets = new Target[6];
        private bool enableTick = false;

        public async void Start()
        {
            Random random = new Random();
            for (int i = 0; i < targets.Length; i++)
            {
                Ped targetPed = await Util.CreatePed(PedHash.Business01AMY, targetSpawns[i]);
                targetPed.Task.StartScenario("WORLD_HUMAN_AA_SMOKE", targetPed.Position);
                Ped[] bodyguards = await SpawnBodyguards(targetPed, random.Next(10, 15));

                Function.Call(Hash.FLASH_MINIMAP_DISPLAY);

                Blip blip = targetPed.AttachBlip();
                blip.Sprite = BlipSprite.Enemy;
                blip.Color = BlipColor.Red;
                blip.Name = Strings.MISSIONS_ASSASSINATION2_BLIP;
                blip.Scale = 0.8f;

                targets[i] = new Target(targetPed, bodyguards);
            }

            Util.DisplayHelpText(Strings.MISSIONS_ASSASSINATION2_INFO);
            Screen.ShowSubtitle(Strings.MISSIONS_ASSASSINATION2_START, 15000);
            enableTick = true;
        }

        public void Stop(bool success)
        {
            if (!success)
            {
                foreach (Target target in targets)
                {
                    if (target != null)
                    {
                        DespawnTargetSquad(target);
                    }
                }
            }
            else
            {
                Screen.ShowNotification(Strings.MISSIONS_ASSASSINATION2_ALLTARGETSKILLED);
                BaseScript.TriggerEvent(Events.MONEY_ADD, 5000);
                BaseScript.TriggerEvent(Events.XP_ADD, 30);
            }
        }

        public async Task Tick()
        {
            if (enableTick)
            {
                Ped playerPed = Game.PlayerPed;

                if (playerPed.IsDead)
                {
                    BaseScript.TriggerEvent(Events.MISSION_STOP, false);
                    enableTick = false;
                }
                else
                {
                    int livingTargets = 0;
                    for (int i = targets.Length - 1; i > -1; i--)
                    {
                        if (targets[i] != null)
                        {
                            if (!targets[i].targetPed.IsDead) livingTargets++;
                            else
                            {
                                Screen.ShowNotification(Strings.MISSIONS_ASSASSINATION2_TARGETKILLED);

                                Entity killer = targets[i].targetPed.GetKiller();

                                if (killer == playerPed)
                                {
                                    if (Game.Player.WantedLevel < 3) Game.Player.WantedLevel = 3;
                                }

                                DespawnTargetSquad(targets[i]);
                                targets[i] = null;
                            }
                        }
                    }

                    if (livingTargets == 0) BaseScript.TriggerEvent(Events.MISSION_STOP, true);
                }
            }

            await Task.FromResult(0);
        }

        private async Task<Ped[]> SpawnBodyguards(Ped targetPed, int amount)
        {
            PedGroup group = new PedGroup();
            group.Add(targetPed, true);
            group.FormationType = FormationType.Default;
            group.SeparationRange = 1f;

            RelationshipGroup relationship = World.AddRelationshipGroup("_ASSASSIN_TARGETS");
            relationship.SetRelationshipBetweenGroups(new RelationshipGroup(Util.GetHashKey("COP")), Relationship.Respect, true);
            relationship.SetRelationshipBetweenGroups(new RelationshipGroup(Util.GetHashKey("SECURITY_GUARD")), Relationship.Respect, true);
            targetPed.RelationshipGroup = relationship;

            Random random = new Random();
            Ped[] bodyguards = new Ped[amount];
            for (int i = 0; i < amount; i++)
            {
                float x = Util.GetRandomFloat(random, -2, 2);
                float y = Util.GetRandomFloat(random, -2, 2);
                Vector3 spawnPos = targetPed.GetOffsetPosition(new Vector3(x, y, 0f));
                Ped bodyguard = await Util.CreatePed(PedHash.FibOffice01SMM, spawnPos);
                bodyguard.Armor = 300;
                bodyguard.Weapons.Give(WeaponHash.CarbineRifle, int.MaxValue, true, true);

                bodyguard.RelationshipGroup = new RelationshipGroup(Util.GetHashKey("SECURITY_GUARD"));
                group.Add(bodyguard, false);

                bodyguards[i] = bodyguard;
            }

            return bodyguards;
        }

        private void DespawnTargetSquad(Target target)
        {
            target.targetPed.AttachedBlip.Delete();
            target.targetPed.MarkAsNoLongerNeeded();
            foreach (Ped bodyguard in target.bodyguards) bodyguard.MarkAsNoLongerNeeded();
        }
    }
}

I added the entries needed into strings.cs:

        /* Testing second mission */
        
        public const string MISSIONS_ASSASSINATION2_NAME = "Bunny Hop";
        public const string MISSIONS_ASSASSINATION2_DESC = "Take out the mansion owner.";
        public const string MISSIONS_ASSASSINATION2_START = "Take out the ~r~target~w~.";
        public const string MISSIONS_ASSASSINATION2_BLIP = "Target";
        public const string MISSIONS_ASSASSINATION2_INFO = "The ~r~target~w~ is secured by their security " +
            "and the police. Plan your actions if you want to succeed.";
        public const string MISSIONS_ASSASSINATION2_TARGETKILLED = "The ~r~target~w~ has been assassinated.";
        public const string MISSIONS_ASSASSINATION2_ALLTARGETSKILLED = "";

then in Mission.cs, I tried a few different ways to add it to the list:

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION_NAME, Strings.MISSIONS_ASSASSINATION_DESC, typeof(Assassination))
        };

		public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION2_NAME, Strings.MISSIONS_ASSASSINATION2_DESC, typeof(Assassination2))
        };

as well as:

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION_NAME, Strings.MISSIONS_ASSASSINATION_DESC, typeof(Assassination))

           new MissionItem(Strings.MISSIONS_ASSASSINATION2_NAME, Strings.MISSIONS_ASSASSINATION2_DESC, typeof(Assassination2))
        };

I tried typeof(Assassination) as well, in case it was a mission type and not name.

None of this added a mission to the menu. Could you perhaps tell me what I’m getting wrong? I imagine it’s a bunch :slight_smile:
Thanks for your time!

That’s weird. Simply adding the new MissionItem to the MISSIONS list should make it appear in the Missions Menu. Can you retry creating the second mission and adding a new MenuItem to the MISSIONS list?

I’ll roll back the files and give it another shot. Before I start, is the the proper manner of adding another mission?

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION_NAME, Strings.MISSIONS_ASSASSINATION_DESC, typeof(Assassination))

           new MissionItem(Strings.MISSIONS_ASSASSINATION2_NAME, Strings.MISSIONS_ASSASSINATION2_DESC, typeof(Assassination2))
        };

Yup, that’s how you should add new missions.

I don’t know what’s going on then. I made the following changes:

In the file /server-data/resources/freemode-remix/Freeroam/Freeroam/Missions/Mission.cs line 34:

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION_NAME, Strings.MISSIONS_ASSASSINATION_DESC, typeof(Assassination))
            
            new MissionItem(Strings.MISSIONS_ASSASSINATION2_NAME, Strings.MISSIONS_ASSASSINATION2_DESC, typeof(Assassination2))
        }; 

Then I tried:

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
            new MissionItem(Strings.MISSIONS_ASSASSINATION2_NAME, Strings.MISSIONS_ASSASSINATION2_DESC, typeof(Assassination2))
        }; 

Then I tried:

public static MissionItem[] MISSIONS { get; } = new MissionItem[]
        {
           
        }; 

Every single restart resulted in the same thing, that being the original Bounty Hunter displaying in the “B” / Missions menu.

How could the Bounty Hunter mission show up when I empty the array completely? Is there a cache folder somewhere that I need to empty?

That’s the source code. You have to compile it into a .dll afterwards and replace the Freeroam.net.dll in the resource folder.

Oof. I’ve never compiled a dll file. Would I be compiling the first (parent) Freeroam folder into a dll file?

The Freeroam folder in the resource is the project folder. Open that one with Visual Studio and compile it.

Hi there Scammer and sorry to bother you again,

I know it’s not your job to help me understand VStudio but I was wondering if you wouldn’t mind helping me figure out how to handle compiling the resource.

I installed Visual Studio Community 2017. I downloaded a fresh copy of Freeroam from Github and opened it as a project.

Without changing anything, just as a test measure, I tried to first “Build solution” then “Build Freeroam” When I did that, I got a bunch of errors(this is a shortened paste. I can provide all errors if it would help):

Severity	Code	Description	Project	File	Line	Suppression State
Error	CS0246	The type or namespace name 'OutputArgument' could not be found (are you missing a using directive or an assembly reference?)	Freeroam	C:\Users\micro\Downloads\freemode-remix-master\Freeroam\Freeroam\Utils\Util.cs	121	Active
Error	CS0103	The name 'Function' does not exist in the current context	Freeroam	C:\Users\micro\Downloads\freemode-remix-master\Freeroam\Freeroam\Utils\Util.cs	122	Active
Error	CS0103	The name 'Hash' does not exist in the current context	Freeroam	C:\Users\micro\Downloads\freemode-remix-master\Freeroam\Freeroam\Utils\Util.cs	122	Active
Error	CS0103	The name 'Screen' does not exist in the current context	Freeroam	C:\Users\micro\Downloads\freemode-remix-master\Freeroam\Freeroam\Utils\Util.cs	132	Active
Error	CS0103	The name 'Delay' does not exist in the current context	Freeroam	C:\Users\micro\Downloads\freemode-remix-master\Freeroam\Freeroam\Utils\Util.cs	133	Active
Warning		Could not resolve this reference. Could not locate the assembly "CitizenFX.Core". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.	Freeroam			
Warning		The referenced component 'CitizenFX.Core' could not be found.	Freeroam			

I don’t see anything else in the application concerning compiling something. Could I ask you what I’m doing wrong? I didn’t change any files in the Freeroam folder so it shouldn’t be that I’ve left a file malformed.

Thanks for your time!

I did some searching and found that the CitizenFX.core file being mentioned in most of the errors can be found in the client, so I found the path(for my install) : D:\fivem\gta5-fivem\alpine\opt\cfx-server\citizen\clr2\lib\mono\4.5

so I tried to fix the missing issue but can’t find any way to tell the project where it can be found. the “path” under properties for CitizenFX.core is greyed out not allowing for adding a path and changing any of the boolean options in the properties pane did nothing to change that.

Am I on the right path? What do I need to do to get to where I can build this?

Thanks!

I was able to figure out how to properly add the CitizenFX.core thanks to the help of some older threads. It removed a lot of errors but my remaining errors still related to that file:

1>------ Build started: Project: Freeroam, Configuration: Debug Any CPU ------
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Menus\PhoneMenu.cs(16,56,16,70): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Menus\PhoneMenu.cs(32,13,32,42): error CS0012: The type 'Rectangle' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Menus\PhoneMenu.cs(90,13,90,31): error CS0012: The type 'Rectangle' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Level.cs(78,39,78,48): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Level.cs(81,23,81,27): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Level.cs(81,13,81,27): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(87,39,87,48): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(90,23,90,27): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(90,13,90,27): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(95,45,95,54): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(100,33,100,40): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(100,33,100,40): error CS1061: 'UIResText' does not contain a definition for 'Caption' and no extension method 'Caption' accepting a first argument of type 'UIResText' could be found (are you missing a using directive or an assembly reference?)
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(101,33,101,38): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(101,33,101,38): error CS1061: 'UIResText' does not contain a definition for 'Color' and no extension method 'Color' accepting a first argument of type 'UIResText' could be found (are you missing a using directive or an assembly reference?)
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(105,33,105,40): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(105,33,105,40): error CS1061: 'UIResText' does not contain a definition for 'Caption' and no extension method 'Caption' accepting a first argument of type 'UIResText' could be found (are you missing a using directive or an assembly reference?)
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(106,33,106,38): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(106,33,106,38): error CS1061: 'UIResText' does not contain a definition for 'Color' and no extension method 'Color' accepting a first argument of type 'UIResText' could be found (are you missing a using directive or an assembly reference?)
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(109,29,109,33): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Holders\Money.cs(109,13,109,33): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(55,43,55,57): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(56,22,56,26): error CS0012: The type 'Rectangle' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(56,13,56,26): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(59,39,59,48): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(60,23,60,27): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(60,13,60,27): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Players\PlayerBlips.cs(26,40,26,72): error CS0117: 'Hash' does not contain a definition for '_SET_BLIP_SHOW_HEADING_INDICATOR'
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(81,44,81,58): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(82,23,82,27): error CS0012: The type 'Rectangle' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(82,13,82,27): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(87,44,87,53): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(89,28,89,32): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(89,13,89,32): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(95,44,95,53): error CS0012: The type 'PointF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(97,28,97,32): error CS0012: The type 'Text' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Scoreboard.cs(97,13,97,32): error CS0012: The type 'SizeF' is defined in an assembly that is not referenced. You must add a reference to assembly 'CitizenFX.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'.
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Challenges\DriveDistanceChallenge.cs(10,23,10,41): warning CS0169: The field 'DriveDistanceChallenge.bestDrivenDistance' is never used
1>D:\fivem\gta5-fivem\server-data\resources\freemode-remix\Freeroam\Freeroam\Challenges\DriveDistanceChallenge.cs(8,22,8,38): warning CS0414: The field 'DriveDistanceChallenge.challengeStarted' is assigned but its value is never used
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Seems to be the general issue. Could you help me figure out what I need to do to resolve these and get the resource compiled?

Thanks for your time!

Use this freshly compiled nativeui.net.dll

nativeui.net.dll (115.5 KB)

Add this as a reference along with the CitizenFX.Core.dll (from FiveM\FiveM.app\citizen\clr2\lib\mono\4.5) and set the project’s .net framework version to 4.5.2 if it isn’t already.

If it errors out at some line, just comment it out for now.