Foxtrot64 Posted July 30, 2015 Share Posted July 30, 2015 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 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"; } } }} Hellight 1 Link to comment Share on other sites More sharing options...
Zach Posted August 8, 2015 Share Posted August 8, 2015 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. smuthe, Grichka Bogdanoff and Hellight 3 Link to comment Share on other sites More sharing options...