Anthony_y Posted April 28, 2015 Share Posted April 28, 2015 (edited) It seems in my case that the Script Hook itself works fine but none of my scripts are actually loading: EDIT: We put .asi files into the scripts folder right? Oh god xD EDIT #2: I was stupid and was putting .asi's into my scripts folder. Sorry everyone. [16:39:34] Stopping 0 script(s) ... (this is where I reloaded the scripts)[16:39:34] Deleted script domain 'ScriptDomain_5BFAC441'.[16:39:34] Created script domain 'ScriptDomain_5BFAC441'.[16:39:34] Loading scripts from 'D:\Steam\steamapps\common\Grand Theft Auto V\scripts' into script domain 'ScriptDomain_5BFAC441' ... Edited April 28, 2015 by Anthony_y Link to comment Share on other sites More sharing options...
wozzy Posted April 28, 2015 Share Posted April 28, 2015 1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3270: There was a mismatch between the processor architecture of the project being built "MSIL" and the processor architecture of the reference "ScriptHookVDotNet", "AMD64". This mismatch may cause runtime failures. Please consider changing the targeted processor architecture of your project through the Configuration Manager so as to align the processor architectures between your project and references, or take a dependency on references with a processor architecture that matches the targeted processor architecture of your project. 1> Mod_1 -> F:\GTAV_MOD\Projects\Mod_1\Mod_1\bin\Debug\Mod_1.dll I get this when i try to call a native. You need to build your .NET dll with an x64 Configuration Link to comment Share on other sites More sharing options...
Finney Posted April 28, 2015 Share Posted April 28, 2015 Anyone mind throwing me a quick bone about getting a hash to use for creating a ped using the GET_HASH_KEY - I got it working fine in C++, but I just can't seem to find the right syntax / method for grab, and store the hash-key using native functions for later use... Link to comment Share on other sites More sharing options...
crosire Posted April 28, 2015 Author Share Posted April 28, 2015 (edited) Anyone mind throwing me a quick bone about getting a hash to use for creating a ped using the GET_HASH_KEY - I got it working fine in C++, but I just can't seem to find the right syntax / method for grab, and store the hash-key using native functions for later use... Either use the GTA::Model class: Model model = new Model("s_m_y_cop_01");int modelHash = model.Hash; Or call the native function manually: int modelHash = GTA.Native.Function.Call<int>(GTA.Native.Hash.GET_HASH_KEY, "s_m_y_cop_01"); Edited April 28, 2015 by Crosire Link to comment Share on other sites More sharing options...
wozzy Posted April 28, 2015 Share Posted April 28, 2015 The downloaded DLL works for me now, don't need to build it myself. Good work, thanks! Link to comment Share on other sites More sharing options...
Finney Posted April 28, 2015 Share Posted April 28, 2015 Anyone mind throwing me a quick bone about getting a hash to use for creating a ped using the GET_HASH_KEY - I got it working fine in C++, but I just can't seem to find the right syntax / method for grab, and store the hash-key using native functions for later use... Either use the GTA::Model class: Model model = new Model("s_m_y_cop_01");int modelHash = model.Hash;Or call the native function manually:int modelHash = GTA.Native.Function.Call<int>(GTA.Native.Hash.GET_HASH_KEY, "s_m_y_cop_01") I tried the second with not much result - I'll give the first method a go. Thanks for the reply. I'm currently also using the one I had to rebuild, so I'll give the new one a go. Link to comment Share on other sites More sharing options...
crosire Posted April 28, 2015 Author Share Posted April 28, 2015 I tried the second with not much result - I'll give the first method a go. Thanks for the reply. I'm currently also using the one I had to rebuild, so I'll give the new one a go. Yeah, you need at least 0.2.0 for the second one to work. Changed the way native functions are called there, after a suggestion by unknown modder. Link to comment Share on other sites More sharing options...
Nada 4K Posted April 28, 2015 Share Posted April 28, 2015 (edited) '/**********************************************************************\'Copyright © 2015 (N/A)'Author : steeven1 alias Nada 4D'This software is provided "as-is", All certified members on our Team Project'will be authors held liable for any damages arising from the use of this software.'Permission is granted to all certified members. to use this software 'for any purpose, including commercial applications, and to alter it 'and redistribute it freely, subject to following restricitions :' 1.The origin of this software must be misrepresented, you must not'claim that you wrote the original software. If you use this software'in a product, an acknowledgement in the product documentation would be'appreciated but is not required.' 2.Altered source versions must be plainly marked as such, and must'not be misrepresented as being the original software.' 3.This notice may not removed or altered from any source distribution.'\**********************************************************************/Imports SystemImports System.DrawingImports System.Windows.FormsImports GTA'Warning, this project source is only for the author (steeven1) or/and certified members on our Team Project !'Do not release this project source whithout permission.'i32 = Integer / u32 = Unsigned Integer / f32 = Float / b8 = BooleanPublic Class Class1_Trainer_V_Light Inherits Script Dim Gravity_Moon_and_Earth As Boolean = False Dim God_Mode_PLAYER As Boolean = False Dim Time_Scale As Boolean = False Public Enum eExplosionType EXP_VFXTAG_GRENADE EXP_VFXTAG_STICKYBOMB EXP_VFXTAG_MOLOTOV EXP_VFXTAG_ROCKET EXP_VFXTAG_PETROL_PUMP EXP_VFXTAG_VEHICLE EXP_VFXTAG_BIKE EXP_VFXTAG_DIR_STEAM EXP_VFXTAG_DIR_FLAME EXP_VFXTAG_DIR_WATER_HYDRANT EXP_VFXTAG_DIR_GAS_CANISTER EXP_VFXTAG_TRUCK EXP_VFXTAG_BULLET EXP_VFXTAG_SMOKE_GRENADE EXP_VFXTAG_BZGAS EXP_VFXTAG_FBI4_TRUCK_DOORS EXP_VFXTAG_GAS_CANISTER EXP_VFXTAG_EXTINGUISHER EXP_VFXTAG_TRAIN EXP_VFXTAG_BARREL EXP_VFXTAG_PROPANE EXP_VFXTAG_BLIMP EXP_VFXTAG_FLARE EXP_VFXTAG_PLANE_ROCKET EXP_VFXTAG_TANKER EXP_VFXTAG_PLANE EXP_VFXTAG_BOAT EXP_VFXTAG_TANKSHELL EXP_VFXTAG_TREV3_TRAILER EXP_VFXTAG_BLIMP2 EXP_VFXTAG_BIRDCRAP End Enum 'Source code : Nada 4D Shadows Sub God_Mode_Mii(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D1 Then God_Mode_PLAYER = Not God_Mode_PLAYER If God_Mode_PLAYER Then Game.Player.Character.IsInvincible = True Else Game.Player.Character.IsInvincible = False End If End If End Sub 'Source code : Nada 4D Shadows Sub Health_Mii_CurrentVehicle(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D2 Then If Game.Player.Character.IsInVehicle Then End If End If End Sub 'Source code : Nada 4D Shadows Sub Repair_Dirt_0(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D3 Then If Game.Player.Character.IsInVehicle Then Game.Player.Character.CurrentVehicle.Repair() Game.Player.Character.CurrentVehicle.DirtLevel = 0 End If End If End Sub 'Source code : Nada 4D Shadows Sub Wanted_0(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D4 Then Game.Player.WantedLevel = 0 End If End Sub 'Source code : Nada 4D Shadows Sub Weather_Christmas_Clear_ExtraSunny(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D5 Then World.Weather = Weather.Christmas End If If k.KeyCode = Keys.D6 Then World.Weather = Weather.Clear End If If k.KeyCode = Keys.D7 Then World.Weather = Weather.ExtraSunny End If End Sub 'Source code : Nada 4D Shadows Sub Time(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D8 Then Time_Scale = Not Time_Scale If Time_Scale Then Game.TimeScale = 0.25 Else Game.TimeScale = 1 End If End If End Sub 'Source code : Nada 4D Shadows Sub Gravity_0_1(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.D0 Then Gravity_Moon_and_Earth = Not Gravity_Moon_and_Earth If Gravity_Moon_and_Earth Then World.GravityLevel = 0.25 Else World.GravityLevel = 1.0 End If End If End Sub 'Source code : Nada 4D Shadows Sub Front(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.NumPad8 Then If Game.Player.Character.IsInVehicle Then Game.Player.Character.CurrentVehicle.Speed = +75 End If End If End Sub 'Source code : Nada 4D Shadows Sub Behind(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.NumPad2 Then If Game.Player.Character.IsInVehicle Then Game.Player.Character.CurrentVehicle.Speed = -50 End If End If End Sub 'Source code : Nada 4D Shadows Sub st0p(ByVal sender As Object, ByVal k As KeyEventArgs) Handles MyBase.KeyUp If k.KeyCode = Keys.NumPad0 Then If Game.Player.Character.IsInVehicle Then Game.Player.Character.CurrentVehicle.Speed = 0 End If End If End SubEnd Class Thank you very much for this work, now we can start make our scripts on .Net! .. I'm working on my own script but we need more functions for "ScriptHookVDotNet.dll"! I've just started my simple script and also share my source if I can help some guys starting modding here. There's only simple script without menu or something special... Edited April 28, 2015 by Nada_4D Link to comment Share on other sites More sharing options...
Loset Posted April 28, 2015 Share Posted April 28, 2015 using GTA;using System;using System.Windows.Forms;//using System.Windows.Forms;using GTA.Native;namespace ClassLibrary1{ public class Class1 : Script { private Ped player = Game.Player.Character; private Vehicle myCar = null; public Class1() { KeyDown += OnKeyDown; Tick += OnTick; Interval = 10; } private void OnTick(object sender, EventArgs e) { } // Calling native functions: // - No return type: GTA.Native.Function.Call(GTA.Native.Hash.SET_MAX_WANTED_LEVEL, 0); // - With return type: int id = GTA.Native.Function.Call<int>(GTA.Native.Hash.PLAYER_PED_ID); void OnKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Q) { if(player.IsInVehicle())player.CurrentVehicle.Explode(); if (player.IsInVehicle()) { myCar = player.CurrentVehicle; } float y = player.Position.Y + 5; for (int i = 1; i < 20; i++) { new Vehicle(i) { Position = new Vector3(player.Position.X, y, player.Position.Z) }; y += 5; } player.Position = new Vector3(player.Position.X, player.Position.Y + 5, player.Position.Z); } } }} this is my Class.cs I put this in my scripts folder.. and .net says its loading.. but when I press Q nothing happens.. even when I am inside a vehicle it doesn't explode? can someone point me in the right direction? Link to comment Share on other sites More sharing options...
crosire Posted April 28, 2015 Author Share Posted April 28, 2015 (edited) even when I am inside a vehicle it doesn't explode? can someone point me in the right direction? Tried it and successfully blew myself up. Strange. One note though: Creating vehicles the way you are currently trying doesn't yet work. Right now you have to call a native function and pass the id of the generated vehicle to the constructor, until proper creation is added. Edited April 28, 2015 by Crosire Link to comment Share on other sites More sharing options...
Loset Posted April 28, 2015 Share Posted April 28, 2015 even when I am inside a vehicle it doesn't explode? can someone point me in the right direction? Tried it and successfully blew myself up. Strange. One note though: Creating vehicles the way you are currently trying doesn't yet work. Right now you have to call a native function and pass the id of the generated vehicle to the constructor, until proper creation is added. I think I know what the problem was I did Ped Player = Game.Player.Character; out side of the method.. so probably at the moment of injection that value was null? after I moved it inside the method it worked.. but the wanted level didnt work =/ also I am trying to do var myEntity = Function.Call<Entity>(Hash._GET_AIMED_ENTITY); but I am not sure it returns any Entity at all? do I need argumets? and how do I know how to use those Hash Functions is there a doc anywhere? sorry for asking so much I joined the community just because I saw you make modding possible for .net so now I can learn to mod with a languege I know Link to comment Share on other sites More sharing options...
crosire Posted April 28, 2015 Author Share Posted April 28, 2015 (edited) var myEntity = Function.Call<Entity>(Hash._GET_AIMED_ENTITY); but I am not sure it returns any Entity at all? do I need argumets? and how do I know how to use those Hash Functions is there a doc anywhere? sorry for asking so much I joined the community just because I saw you make modding possible for .net so now I can learn to mod with a languege I know http://dev-c.com/nativedb/ for documentation on the native functions. _GET_AIMED_ENTITY is a little complicated: BOOL _GET_AIMED_ENTITY(Player Player, Entity *Entity) Which translates to the following C# code (I still need to figure out a way to make use of C#'s ref keyword instead of the cumbersome OutArgument boilerplate code): OutArgument outEntity = new OutArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Entity(outEntity.GetResult<int>()); Edited April 28, 2015 by Crosire Link to comment Share on other sites More sharing options...
Loset Posted April 28, 2015 Share Posted April 28, 2015 var myEntity = Function.Call<Entity>(Hash._GET_AIMED_ENTITY); but I am not sure it returns any Entity at all? do I need argumets? and how do I know how to use those Hash Functions is there a doc anywhere? sorry for asking so much I joined the community just because I saw you make modding possible for .net so now I can learn to mod with a languege I know http://dev-c.com/nativedb/ for documentation on the native functions. _GET_AIMED_ENTITY is a little complicated: BOOL _GET_AIMED_ENTITY(Player Player, Entity *Entity) Which translates to the following C# code (I still need to figure out a way to make use of C#'s ref keyword instead of the cumbersome OutArgument boilerplate code): OutArgument outEntity = new OutArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Entity(outEntity.GetResult<int>()); Just to be clear this returns the Entity that I am looking at right? because in NativesDB it says it returns boolean? Link to comment Share on other sites More sharing options...
gatienthe Posted April 28, 2015 Share Posted April 28, 2015 [22:22:11] Caught unhandled exception: System.MissingMethodException: Method not found: 'Void GTA.Native.Function.Call(GTA.Native.Hash, GTA.Native.InputArgument[])'. at Class1.OnKeyDown(Object sender, KeyEventArgs e) at GTA.ScriptDomain.Run() Now i'm getting this... --' Link to comment Share on other sites More sharing options...
Loset Posted April 28, 2015 Share Posted April 28, 2015 (edited) OutArgument outEntity = new OutArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Entity(outEntity.GetResult<int>()); I cant just create new OutArgument =/ not sure how to fix this =/ "Cannot accses Internal constructor 'OutArgument' here" Edited April 28, 2015 by Loset Link to comment Share on other sites More sharing options...
crosire Posted April 28, 2015 Author Share Posted April 28, 2015 My bad, it's actually GTA.Native.OutputArgument: OutputArgument outEntity = new OutputArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Ped(outEntity.GetResult<int>()); Link to comment Share on other sites More sharing options...
Finney Posted April 28, 2015 Share Posted April 28, 2015 Can't wait for this to expand in terms of spawning things in and so forth. I'm also having a large issue calling the natives, while compared to just using C++ and Alexanders hook, its rather straight forward. Keep at it! Link to comment Share on other sites More sharing options...
Loset Posted April 28, 2015 Share Posted April 28, 2015 My bad, it's actually GTA.Native.OutputArgument: OutputArgument outEntity = new OutputArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Ped(outEntity.GetResult<int>()); yes after searching google for few minutes I found that method .. they indeed look alike lol but still void OnKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Q) { Ped Player = Game.Player.Character; Function.Call(Hash.SET_PLAYER_WANTED_LEVEL,Player.ID,4,0); Function.Call(Hash.SET_PLAYER_WANTED_LEVEL_NOW,Player.ID,0); OutputArgument dada = new OutputArgument(); Function.Call<bool>(Hash._GET_AIMED_ENTITY, Player.ID, dada); Ped NPC = new Ped(dada.GetResult<int>()); NPC.Position = new Vector3(Player.Position.X,Player.Position.Y,Player.Position.Z); Function.Call<int>(Hash.GET_PED_NEARBY_PEDS, Player.ID, dada, -1); Ped[] Players = dada.GetResult<Ped[]>(); int[] Players2 = dada.GetResult<int[]>(); foreach (var player in Players) { player.Position = Player.Position; } foreach (var player in Players2) { Ped Temp = new Ped(player); Temp.Position = Player.Position; } } } cant get nothing to work =/ cant even change my wanted level or vaccum npcs to my position =/ Link to comment Share on other sites More sharing options...
hashtag Posted April 28, 2015 Share Posted April 28, 2015 (edited) Anyone know how to get AnimationFlags? The old way doesn't seem to work. AnimationFlags animflags = AnimationFlags.Unknown11 | AnimationFlags.Unknown09;AnimationSet anims = new AnimationSet("blablabla"); Also how do I getPeds? GTA.Ped[] pedArray = GTA.World.GetPeds(Game.Player.Character.Position.Equals(4.9f), 5.9F, 40); Edited April 28, 2015 by hashtag Link to comment Share on other sites More sharing options...
unknown modder Posted April 28, 2015 Share Posted April 28, 2015 Anyone know how to get AnimationFlags? The old way doesn't seem to work. AnimationFlags animflags = AnimationFlags.Unknown11 | AnimationFlags.Unknown09;AnimationSet anims = new AnimationSet("blablabla"); Also how do I getPeds? GTA.Ped[] pedArray = GTA.World.GetPeds(Game.Player.Character.Position.Equals(4.9f), 5.9F, 40); the version is 0.2, just let that sink in before asking why stuff from IV scripthookdotnet isnt here Link to comment Share on other sites More sharing options...
unknown modder Posted April 28, 2015 Share Posted April 28, 2015 (edited) My bad, it's actually GTA.Native.OutputArgument: OutputArgument outEntity = new OutputArgument();Function.Call<bool>(Hash._GET_AIMED_ENTITY, player.ID, outEntity);var myEntity = new Ped(outEntity.GetResult<int>()); yes after searching google for few minutes I found that method .. they indeed look alike lol but still void OnKeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Q) { Ped Player = Game.Player.Character; Function.Call(Hash.SET_PLAYER_WANTED_LEVEL,Player.ID,4,0); Function.Call(Hash.SET_PLAYER_WANTED_LEVEL_NOW,Player.ID,0); OutputArgument dada = new OutputArgument(); Function.Call<bool>(Hash._GET_AIMED_ENTITY, Player.ID, dada); Ped NPC = new Ped(dada.GetResult<int>()); NPC.Position = new Vector3(Player.Position.X,Player.Position.Y,Player.Position.Z); Function.Call<int>(Hash.GET_PED_NEARBY_PEDS, Player.ID, dada, -1); Ped[] Players = dada.GetResult<Ped[]>(); int[] Players2 = dada.GetResult<int[]>(); foreach (var player in Players) { player.Position = Player.Position; } foreach (var player in Players2) { Ped Temp = new Ped(player); Temp.Position = Player.Position; } } } cant get nothing to work =/ cant even change my wanted level or vaccum npcs to my position =/ get_ped_nearby_peds is a weird one, I'll look into it though EDIT:: I got it working in c++ but It'll be really hard to make in c#(if possible) the only way i can use it in c# is building it into the ped class of the script hook, then I can do this foreach (Ped p in player.GetPedsAroundPed()) { p.Position = player.Position; } It even pulls drivers out of their cars(though only 1 person show where I am due to the game deleting entities if they try and teleport where another entity is. May make a method to return a random pos around an entity Edited April 28, 2015 by unknown modder Link to comment Share on other sites More sharing options...
wozzy Posted April 29, 2015 Share Posted April 29, 2015 I want to help flesh out the API, but I just want to clarify how it'll be designed first. Am I safe to assume that for the most part, we'll follow the previous ScriptHookDotNet? Now I never actually worked with the previous API, but I've been looking it over the last few days. For example, if I want to tackle Vehicle/Ped spawning, it looks like it was a static World method, like this: Vehicle vehicle = World.CreateVehicle(model, position);where World.CreateVehicle() has the the Model class load the model, then creates a vehicle and caches it and returns it. I understand there's no caching yet, but is this the direction we want to go in? Link to comment Share on other sites More sharing options...
identitymatrix Posted April 29, 2015 Share Posted April 29, 2015 VERY NICE! Crosire Problem is, barely anything works. Only thing that works for me, is making ped invisible and the car indicator thing. Other than that, nothing else will do anything e.g player.isOnFire = true (Does Nothing) Game.Player.Character.Velocity = Vector3.WorldUp * 100 (Does Nothing) etc The insert key needs a confirmation for the time being if the console is coming later. I asked hazardX (codeaparat) if he could lend any of his knowledge, but who says he will show. MulleDk19, took over development of scripthook.net on gta iv after hazardX released the source, but he killed the project or something. Those two know what they are doing, so it would be cool if they would team up with you and bring us the best .net scripthook yet. Too bad I know f all about C++ and it's headers this and headers that. Very good progress, keep it going!!! Link to comment Share on other sites More sharing options...
MulleDK19 Posted April 29, 2015 Share Posted April 29, 2015 bring us the best .net scripthook yet. *cough*http://ragepluginhook.net*couch* Link to comment Share on other sites More sharing options...
Rugz007 Posted April 29, 2015 Share Posted April 29, 2015 Guys I am a noob,how to spawn a vehicle. Link to comment Share on other sites More sharing options...
crosire Posted April 29, 2015 Author Share Posted April 29, 2015 (edited) It would be great if you can join the discussion on how to best design entity creation at: https://github.com/crosire/scripthookvdotnet/pull/4. Other than that, nothing else will do anythinge.g player.isOnFire = true (Does Nothing)Game.Player.Character.Velocity = Vector3.WorldUp * 100 (Does Nothing)etc It's mainly about figuring out the GTA 5 native scripting functions. Those are fundamentally different from GTA 4 in parts and it's a lot of guess work. The ones used in those two properties apparently don't do what I was hoping they would do. *cough*http://ragepluginhook.net*couch* Oh. I saw that a bit ago, but it looked abadoned at first glance and I wasn't quite sure what to make out of it (what it is, what it does). But I indeed suggest working together in case it's similar too. There's really no benefit in having two such projects (unless you have a problem with being open source, I prefer things to be open to everybody, which is no issue provided it's properly licensed). Edited April 29, 2015 by Crosire Link to comment Share on other sites More sharing options...
wozzy Posted April 29, 2015 Share Posted April 29, 2015 It would be great if you can join the discussion on how to best design entity creation at: https://github.com/crosire/scripthookvdotnet/pull/4. Ya, I just found that discussion and commented there an hour ago. My Github username is WozStudios Link to comment Share on other sites More sharing options...
xsploit Posted April 29, 2015 Share Posted April 29, 2015 where do you find all these world functions, i need to know how to use getallpeds Link to comment Share on other sites More sharing options...
identitymatrix Posted April 29, 2015 Share Posted April 29, 2015 bring us the best .net scripthook yet. *cough*http://ragepluginhook.net*couch* Yeah, I though that project was cancelled. Oh very smooth. Using a .net domain. How is progress on this? ETA on release? Are you the only one working on it or are there others? Link to comment Share on other sites More sharing options...
r34ld34l Posted April 29, 2015 Share Posted April 29, 2015 bring us the best .net scripthook yet. *cough*http://ragepluginhook.net*couch* Yeah, I though that project was cancelled. Oh very smooth. Using a .net domain. How is progress on this? ETA on release? Are you the only one working on it or are there others? This is not thread for this. PM him or he can just create new thread. TJGM 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now