Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
    1. Welcome to GTAForums!

    1. GTA Online

      1. The Diamond Casino Heist
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
    2. Red Dead Online

      1. Frontier Pursuits
      2. Find Lobbies & Outlaws
      3. Help & Support
    3. Crews & Posses

      1. Recruitment
      2. Events
    1. Red Dead Redemption 2

      1. PC
      2. Gameplay
      3. Missions
      4. Help & Support
    2. Red Dead Redemption

    1. Grand Theft Auto Series

    2. GTA 6

    3. GTA V

      1. PC
      2. Guides & Strategies
      3. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    5. GTA Chinatown Wars

    6. GTA Vice City Stories

    7. GTA Liberty City Stories

    8. GTA San Andreas

      1. Guides & Strategies
      2. Help & Support
      3. GTA SA Mods
    9. GTA Vice City

      1. Guides & Strategies
      2. Help & Support
      3. GTA VC Mods
    10. GTA III

      1. Guides & Strategies
      2. Help & Support
      3. GTA III Mods
    11. Top Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Programming
      5. Movies & TV
      6. Music
      7. Sports
      8. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    3. Gangs

    1. News

    2. Forum Support

    3. Site Suggestions

Please be aware that this is not a tutorial request forum! Use the appropriate topic for the effect.

[Tutorial] Developing mods with Script Hook V .NET using Xamarin Studi

Recommended Posts


If you're anything like me you probably hate using Visual Studio. I absolutely hate it. Only Microsoft could make a text editor that uses so much memory and CPU.

I'm not going to explain too much what Xamarin Studio is, but basically it uses Mono C# and uses all your .NET packages.


I've managed to get the Community Script Hook V .NET to work and I'm going to show you how to setup your first project using Xamarin Studio.



Reason 1: I hate Visual Studio.

Reason 2: The Xamarin Studio uses less memory and is faster. I like that.



Firstly, You're going to need to download the Xamarin Studio from here: http://www.monodevelop.com/download/- You'll of course need the .NET Framework 4.5 for things to work. Links to which are on the download. You'll also need the GTK# for .NET 2.12.25 - again, links on the monodevelop download page.


Once installed, go ahead and open Xamarin Studio.

You may get a few warnings regarding subversion and other stuff, but unless you're into that sorta stuff don't worry about it, it's not important.


Welcome to Xamarin




You should get a landing screen similar to the one above. Xamarin does lots of things, not just C#. We're only interested in creating a blank C# project. Click "New Solution" from the left hand sidebar.


Set up a new solution


Make a new project, selecting .NET from the left, and choosing an Empty Project from the middle. Click Next.





Name your project and solution name to something relevant. You can also choose which directory to store everything. There's no need to make this your GTA V Installation directory just yet, as we'll create a post-build to copy over the DLL to where it needs to be later.





After you hit Create, you'll now be presented with your empty project.





Time to add your first .cs script to the project. Right click on your project > Add > New File...





This will open the new file dialog. Make an Empty Class from the General tab. I like to name my first script the same as my namespace / project name.





Here is your first cs file with some sample code.





We don't need to any code yet as we still need to add our references to our project. We need to be using some of the .NET references as well as the all mighty ScriptHookVDotNet stuff.

We'll add the System references first.

Expand the files of your project and right click on References. Then Click Edit References.




For the purpose of this tutorial, we're only going to add System.Drawing and System.Windows.Forms - You may want add more references in the future depending on what you want to code.

Simply search and check the assemblies you want to add. Then click OK.




You'll now need to add ScriptHookVDotNet.dll to the project. I like to paste a copy of this into the debug directory for the project.

Go back to Edit References and choose the .Net Assembly tab. Then click browse and select the ScriptHookVDotNet.dll





You now need to make sure your project compiles as a Library and not an Executable. To do this, right click on your project and click Options.

You then want to change the Compile Target to a Library.




In the same Options window you now need to go to Build > Compiler and change the Platform Target to x64 instead of x86.




Finally, we need to add a post-build event to copy over the compiled DLL into the scripts directory in the GTA V Installation.

Build > Custom Commands > After Build


Add the following line into command box: xcopy "${TargetPath}" "T:\YOUR_TO_GTA\Grand Theft Auto V\scripts" /Y

Adding the correct path to your installation. Remember, a "scripts" folder must exist and this is where your dotnet .dll mods shall live.



Adding this post-build event means that not only do we compile our DLL to its debug directory, but upon a successful compile we overwrite the DLL in the scripts folder. You can then use the Insert key to reload the dot net mods in your game.


With all references and build configurations set, we can now go ahead and start scripting. Compiling our code will result in the DLL being placed where it needs to be. You also need to have the ScriptHookVDotNet.dll and ScriptHookVDotNet.asi files in the root of your GTA V directory. Not forgetting ScriptHookV.dll and dinput8.dll


Below is a sample script:

using System;using System.Drawing;using System.Windows.Forms;using GTA;using GTA.Math;using GTA.Native;namespace basicGTAmod{	public class basicGTAmod : Script	{		public basicGTAmod ()		{			this.KeyUp += onKeyUp;			}		private void onKeyUp(object sender, KeyEventArgs e)		{			if (e.KeyCode == Keys.NumPad0) 			{				Vehicle vehicle = World.CreateVehicle (VehicleHash.Adder, Game.Player.Character.Position + Game.Player.Character.ForwardVector * 5);				vehicle.CanTiresBurst = false;				vehicle.PrimaryColor = VehicleColor.MatteBlack;				vehicle.SecondaryColor = VehicleColor.MetallicSilver;				vehicle.PlaceOnGround ();				vehicle.NumberPlate = "IH8VS";			}		}	}}
  • Like 1

Share this post

Link to post
Share on other sites

If you're anything like me you probably hate using Visual Studio. I absolutely hate it. Only Microsoft could make a text editor that uses so much memory and CPU.


The fact that you think Visual Studio is simply a text editor tells us a lot.

  • Like 3

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • 2 Users Currently Viewing
    0 members, 0 Anonymous, 2 Guests

  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.