Jump to content

[TUT|IV]Scripts maken in .Net


Recommended Posts

Geplaatst:

dotnetgtaiv.png

Inleiding:

In deze tutorial ga ik uitleggen hoe je, je eigen .NET scripts kan maken voor GTA IV.

.NET scripts kan je maken met:

- Visual Basic

- Visual Studio C#

Voor nu ga ik alleen behandelen hoe je een script maak in Visual Basic.

Benodigdheden:

- GTA IV, versie: 1.0.1.0 of 1.0.2.0 of 1.0.3.0 of 1.0.4.0

- Visual basic

- .Net Framework 2.0 (minimaal)

- ASI Loader

- GTAIV .Net Script Hook < gemaakt door: HazardX

- Best veel Kennis van Visual Basic (het scripten)

Vooraf het scripten:

Nadat je alles goed geïnstalleerd hebt en Visual basic hebt opgestart:

- Ga je naar: File > New Project...

- Klik op: "Class Library" ,vul een naam in en klik op OK.

- Ga naar je projectnaam (rechtboven) , Rechtermuisknop > Properties

- Nu krijg je weer een scherm te zien, nu klik je op de tab: References

- Verwijder de references op: "system" na

- Voeg de volgende references toe: "System.drawing" en "System.Windows.Forms" (dat doe je door op "add" te drukken, tab: .net, in de lijst selecteren en op "OK" drukken.

- Voeg nu de "scripthookdotnet" toe aan de references. (dat doe je door op "add" te drukken, tab: Browse, en selecteer de "scripthookdotnet.dll"

Als je niet snapt hoe je references toevoegd/verwijderd, dan weet je nog niet genoeg over visual basic.

Als je alles gedaan hebt keer je terug naar je lege script.

Declareren:

Zet helemaal bovenaan het volgende neer:

Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports GTA



Zet onder:

Public Class <scriptnaam>



Dit neer:

Inherits Script



Scripten:

Ik ga niet uitleggen wat een "sub", "byval" is, of hoe je een sub maakt.

Als je dat niet weet, dan kan je het scripten voor de rest wel vergeten!

Ik laat alleen scripts zien met hoe een bepaalde functie werkt.

Ik laat nu een paar kleine voorbeeld scripts zien:

Voorbeeld Script 1: Key event

Wat er in dit script gebeurt is: Als je op F5 drukt dan zal je wanted level naar 0 worden gezet.

Private Sub gta_keys(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyDown
If e.Key = Keys.F5 Then
Player.WantedLevel = 0
end if
end sub



Voorbeeld Script 2: TIMER

Zet onder: "Inherits Script" het volgende neer:

 Public Sub New()
	Interval = 10
End Sub



De interval kan je veranderen in wat voor tijd je wilt. (let op het is in miliseconden, 1000 = 1 sec)

Daarna maak je een sub:

Private Sub gta_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Tick
If Not Player.Character.Weapons.Current = Nothing Then
			Dim max As Integer = Player.Character.Weapons.Current.MaxAmmoInClip
			Player.Character.Weapons.Current.AmmoInClip = max
		End If
end sub



Nu zal deze Sub om de ingevulde interval tijd worden uitgevoerd.

De code die ik erin heb gezet die vult steeds het magazijn van het wapen dat je hebt, zodat je nooit meer hoeft te herladen.

Script in GTA IV gebruiken:

Als je het script in GTA IV wilt gebruiken doe je het volgende:

Manier 1:

Sla het project op en kopieer je script (extensie: .vb) naar de script map in je GTA IV map.

Manier 2:

Sla het project op en ga naar: Build > Build <projectnaam>

Ga nu naar de map waar je het opgeslagen, ga naar de map: Bin > release

Daar zal een nu een dll staan: <projectnaam>.dll, verander de naam in: <projectnaam.dll.net>

En kopieer <projectnaam.dll.net> naar de scripts map in je GTA IV map.

Dit is het voor nu. In het volgende deel ga ik uitleggen hoe je:

- Forms maakt in GTA IV

- Een texture drawt op het scherm.

- En ik zal wat plaatjes toevoegen om het begrijpelijker te maken

Ik hoop dat je nu een beetje weet hoe je scripts maakt in visual basic voor GTA IV.

BC7 :cya:

Geplaatst: (bewerkt)

Gereserveerd voor Deel 2



Binnenkort het 2e deel met een andere .net script hook.

Deze word dan uitgelegd in VB.net en C#

En hieronder mag gepost worden hoor ;)

Bewerkt: door BC7
  • 8 maanden later...
Geplaatst:

De game crasht net als ik spawn na het laden van me game :(

heb alleen heel standaard code voor uit te teste of het werkte nee dus..

Imports System
Imports System.Drawing
Imports System.Windows.Forms
Imports GTA

Public Class Class1
   Inherits Script

   Private Sub gta_keys(ByVal sender As Object, ByVal e As GTA.KeyEventArgs) Handles MyBase.KeyDown
       If e.Key = Keys.F5 Then
           Player.WantedLevel = 0
       End If
   End Sub
End Class

en dit zegt ScriptHookDotNet.txt:

2010-04-13 13:17:17 - Initializing ScriptHookDotNet v0.893 BETA (GTA IV version 1.0.4.0)
2010-04-13 13:19:15 - Direct3D device created!

2010-04-13 13:19:16 - SEARCHING FOR SCRIPTS...
2010-04-13 13:19:16 - Loading scripts in Assembly 'scripts\Shotyoudie.dll.net.dll' ...

~Shotyoudie

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

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

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...