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

    1. Red Dead Redemption 2

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

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

      1. Recruitment
    2. Events

    1. GTA Online

      1. DLC
      2. Find Lobbies & Players
      3. Guides & Strategies
      4. Vehicles
      5. Content Creator
      6. Help & Support
      7. The Diamond Casino Heist
    2. Grand Theft Auto Series

    3. GTA 6

    4. GTA V

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

      1. Episodes from Liberty City
      2. Multiplayer
      3. Guides & Strategies
      4. Help & Support
      5. GTA IV Mods
    6. GTA Chinatown Wars

    7. GTA Vice City Stories

    8. GTA Liberty City Stories

    9. GTA San Andreas

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

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

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

      1. GTA Advance
      2. GTA 2
      3. GTA
    13. Wiki

      1. Merchandising
    1. GTA Modding

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Mod Showroom

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

      1. DYOM
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Red Dead Redemption

    2. Rockstar Games

    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
    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.
Foxtrot64

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

Recommended Posts

Foxtrot64

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.

 

WHY?

Reason 1: I hate Visual Studio.

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

 

Installation

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

 

VXzCuyZ.jpg

 

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.

 

oNHyfkK.jpg

 

 

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.

 

oLtMjrb.jpg

 

 

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

 

uhjpmPh.jpg

 

 

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

 

U3YW9Au.jpg

 

 

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.

 

RCzS705.jpg

 

 

Here is your first cs file with some sample code.

 

N3fRZht.jpg

 

 

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.

crFMEPv.png

 

 

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.

zE24Im0.png

 

 

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

 

b5XJjk3.jpg

 

 

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.

YIGRh65.jpg

 

 

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

EqsvtCt.jpg

 

 

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.

0rSKZ9U.jpg

 

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";			}		}	}}

Share this post


Link to post
Share on other sites
Zach

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.

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.
Note: Your post will require moderator approval before it will be visible.

Guest
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.


  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

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