VISUAL BASIC ERROR(s).

Post here about scripting and programming for HaloPC (audio, network, ai, etc.)
Locked
fudgy





Posts: 26
Joined: Mon Feb 25, 2008 3:18 pm

VISUAL BASIC ERROR(s).

Post by fudgy »

i get the following errors.
:( :( :( :( :( :( :( :( :( :( :( :(
iv been trying to find answers on google. but i couldnt find any, or they didnt help me at all. please try to help me

msn : [email protected]


errors : error name. line column

Code: Select all

Error	1	End of statement expected.	31	23	Halo2 Editor (Beta)
Error	2	Statement is not valid in a namespace.	81	1	Halo2 Editor (Beta)

Error	3	End of statement expected.      108	58	Halo2 Editor (Beta)

Error	4	End of statement expected.	126	129	Halo2 Editor (Beta)

Error	5	Statement is not valid in a namespace.	151	1	Halo2 Editor (Beta)

Error	6	End of statement expected.	176	108	Halo2 Editor (Beta)

Error	7	End of statement expected.	193	140	Halo2 Editor (Beta)
my script :

Code: Select all

Imports System.IO
Public Class Form1
    Public HaloMap As H2Map
End Class



Public Class H2Map
    'Basic Map Info
    Public MapLocation As String
    Public MapLoaded As Boolean
    Public H2Tag() As H2Map
    Public mapMagic As Long
    Public mapSecondaryMagic As Long
    Public mapName As String

    'Basic Header Info
    Public indexOffset As Long
    Public indexSize As Long
    Public metaSize As Long
    Public fileTableOffset As Long

    'Basic Index Info
    Public primaryMagicConstantMagic As Long
    Public objectIndexOffset As Long
    Public objectCount As Long


End Class

Public Sub LoadH2Map().

    Dim BR As New BinaryReader(New FileStream(MapLocation, FileMode.Open, FileAccess.Read, FileShare.Read))
    BR.BaseStream.Position = 16
    indexOffset = BR.ReadInt32()
    indexSize = BR.ReadInt32()
    metaSize = BR.ReadInt32()
    BR.BaseStream.Position = 708
    fileTableOffset = BR.ReadInt32()
    BR.BaseStream.Position = 408
    Dim tempcharforname As Char = " "
    Do While tempcharforname <> Chr(0)
        tempcharforname = BR.ReadChar
        If tempcharforname <> Chr(0) Then mapName &= tempcharforname
    Loop
    BR.BaseStream.Position = indexOffsetprimaryMagicConstantMagic = BR.ReadInt32()
    BR.BaseStream.Position += 4
    objectIndexOffset = BR.ReadInt32()
    BR.BaseStream.Position += 12
    objectCount = BR.ReadInt32()
    Dim TagStart As Long = indexOffset + 32 + (objectIndexOffset - primaryMagicConstantMagic)
    ReDim H2Tag(0 To objectCount + 1)
    BR.BaseStream.Position = TagStart
    For i As Integer = 1 To objectCount Step 1
        H2Tag(i).TagClass = StrReverse(BR.ReadChars(4))
        H2Tag(i).TagID = BR.ReadInt32()
        H2Tag(i).MetaOffset = BR.ReadInt32()
        H2Tag(i).MetaSize = BR.ReadInt32()
    Next
    mapMagic = H2Tag(1).MetaOffset - (indexOffset + indexSize)
    mapSecondaryMagic = primaryMagicConstantMagic - indexOffset
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Re: VISUAL BASIC ERROR(s).

Post by Prey »

  1. You don't fullstop methods.
  2. Methods must be contained within a class or struct.
  3. You're initialising your H2Tag array as H2Map's..
  4. It's "indexOffset - primaryMagicConstantMagic".. not "indexOffsetprimaryMagicConstantMagic"..
  5. Comments are started with the apostrophe(') character.
  6. Different instructions are normally put on different lines for clarity.. if you want them on one line, you must separate them with the colon(:) character.
  7. Closing brackets()) are meant to close initially opened open-brackets(()..
  8. Learn how to use "if" statements with open file dialogs..
Fixed code..

Code: Select all

Imports System.IO

Public Class Form1
    Public HaloMap As H2Map

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim OFD As New OpenFileDialog
        OFD.Filter = "Halo 2 Map (*.map)|*.map"

        If OFD.ShowDialog() = Windows.Forms.DialogResult.OK Then
            HaloMap.MapLocation = OFD.FileName
            HaloMap.LoadH2Map()

            HaloMap.LoadIntoTreeView(TreeView1, ProgressBar1)
            HaloMap.LoadIntoListBox(ListBox1, ProgressBar1)
            HaloMap.LoadIntoListBox(ListBox2, ProgressBar1, "bipd")
        End If

    End Sub

    Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged

        Dim TempInteger As Integer = HaloMap.FindTagIndexByPath(ListBox1.Text)
        If TempInteger = 0 Then Exit Sub

        'This is the TagMeta offset that we will be editing
        Dim TagMetaOffset As Long = HaloMap.H2Tag(TempInteger).MetaOffset
        'This is the offset thats on the XML plugin or the offset in the meta you want to edit
        Dim PluginValue As Long = ("504")
        'Open up a BinaryReader so we can read our value
        Dim BR As New BinaryReader(New FileStream(HaloMap.MapLocation, FileMode.Open, FileAccess.Read, FileShare.Read))

        'Move to the Offset of the value we want to edit
        BR.BaseStream.Position = TagMetaOffset + PluginValue

        'Read the value
        'Note: Not all values are Singles some can be other data types
        TextBox1.Text = BR.ReadSingle

        'Close the map
        BR.Close()

    End Sub
End Class

Public Class H2Map
    'Basic Map Info
    Public MapLocation As String
    Public MapLoaded As Boolean
    Public H2Tag() As H2Tag
    Public mapMagic As Long
    Public mapSecondaryMagic As Long
    Public mapName As String

    'Basic Header Info
    Public indexOffset As Long
    Public indexSize As Long
    Public metaSize As Long
    Public fileTableOffset As Long

    'Basic Index Info
    Public primaryMagicConstantMagic As Long
    Public objectIndexOffset As Long
    Public objectCount As Long

    Public Sub LoadH2Map()

        Dim BR As New BinaryReader(New FileStream(MapLocation, FileMode.Open, FileAccess.Read, FileShare.Read))
        BR.BaseStream.Position = 16
        indexOffset = BR.ReadInt32()
        indexSize = BR.ReadInt32()
        metaSize = BR.ReadInt32()
        BR.BaseStream.Position = 708
        fileTableOffset = BR.ReadInt32()
        BR.BaseStream.Position = 408
        Dim tempcharforname As Char = " "
        Do While tempcharforname <> Chr(0)
            tempcharforname = BR.ReadChar
            If tempcharforname <> Chr(0) Then mapName &= tempcharforname
        Loop
        BR.BaseStream.Position = indexOffset - primaryMagicConstantMagic = BR.ReadInt32()
        BR.BaseStream.Position += 4
        objectIndexOffset = BR.ReadInt32()
        BR.BaseStream.Position += 12
        objectCount = BR.ReadInt32()
        Dim TagStart As Long = indexOffset + 32 + (objectIndexOffset - primaryMagicConstantMagic)
        ReDim H2Tag(0 To objectCount + 1)
        BR.BaseStream.Position = TagStart
        For i As Integer = 1 To objectCount Step 1
            H2Tag(i).TagClass = StrReverse(BR.ReadChars(4))
            H2Tag(i).TagID = BR.ReadInt32()
            H2Tag(i).MetaOffset = BR.ReadInt32()
            H2Tag(i).MetaSize = BR.ReadInt32()
        Next
        mapMagic = H2Tag(1).MetaOffset - (indexOffset + indexSize)
        mapSecondaryMagic = primaryMagicConstantMagic - indexOffset - 32
        For i As Integer = 1 To objectCount Step 1
            H2Tag(i).MetaOffset = H2Tag(i).MetaOffset - mapMagic
        Next
        BR.BaseStream.Position = fileTableOffset

        For i As Integer = 1 To objectCount Step 1
            Dim tempchar As Char = " "
            Do While tempchar <> Chr(0)
                tempchar = BR.ReadChar()
                H2Tag(i).TagPath &= tempchar
            Loop
        Next
        BR.Close()


        MapLoaded = True


    End Sub

    Public Sub LoadIntoTreeView(ByVal TreeView1 As TreeView, ByVal ProgressBar1 As ProgressBar)

        TreeView1.Nodes.Add("Map(" & mapName & ")")
        TreeView1.Sorted = True

        ProgressBar1.Maximum = objectCount + 1
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = 0
        Dim templistbox As New ListBox
        For x As Integer = 1 To objectCount Step 1
            'If the templistbox dosent have the class in it then add it to it and also add it to the treeview
            If templistbox.Items.Contains(H2Tag(x).TagClass) = False Then
                templistbox.Items.Add(H2Tag(x).TagClass)
                TreeView1.Nodes(0).Nodes.Add(BuildClassNode(H2Tag(x).TagClass))
                Application.DoEvents()
            End If
            'Increase the Progressbar
            ProgressBar1.Value += 1
        Next
        'Dispose the templistbox
        templistbox.Dispose()

        'Expand the TreeView
        TreeView1.Nodes(0).Expand()

        'Reset the Progressbar to 0
        ProgressBar1.Value = 0
    End Sub

    Private Function BuildClassNode(ByVal tagClass As String)
        'create a temp TreeNode
        Dim ClassNode As New TreeNode

        'Set the text to the tagclass
        ClassNode.Text = "[" & tagClass & "]"

        'Loop through all the tags and if its of the class we want then add to the node
        For i As Integer = 1 To objectCount Step 1
            If H2Tag(i).TagClass = tagClass Then
                ClassNode.Nodes.Add(H2Tag(i).TagPath)
            End If
        Next

        'return the node we put together
        Return ClassNode

    End Function

    Public Sub LoadIntoListBox(ByVal Listbox1 As ListBox, ByVal ProgressBar1 As ProgressBar, Optional ByVal TagClass As String = "")

        'Set up the ProgressBars
        ProgressBar1.Maximum = objectCount + 1
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = 0
        'If they dont specify A tagClass then do all then if they do then do just that class
        If TagClass = "" Then
            'This will let you use a Listbox
            For i As Integer = 1 To objectCount Step 1
                Listbox1.Items.Add(H2Tag(i).TagPath)
                ProgressBar1.Value += 1
            Next
        Else
            'This will let you use a Listbox with only 1 tag class
            For i As Integer = 1 To objectCount Step 1
                If H2Tag(i).TagClass = TagClass Then
                    Listbox1.Items.Add(H2Tag(i).TagPath)
                End If
                ProgressBar1.Value += 1
            Next
        End If
        ProgressBar1.Value = 0

    End Sub

    Public Function FindTagIndexByPath(ByVal TagPath As String) As Integer
        Dim index As Integer = 0
        'Loop through all the tags and if we find a matching path then we return then index of it
        For i As Integer = 1 To objectCount Step 1
            If H2Tag(i).TagPath = TagPath Then
                index = i
                Exit For
            End If
        Next
        Return index

    End Function

End Class

Public Structure H2Tag
    Public TagID As Long
    Public TagClass As String
    Public MetaOffset As Long
    Public MetaSize As Long
    Public TagPath As String
End Structure
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
User avatar
Prey




Connoisseur Snitch! Pyre Articulatist 500

Posts: 1026
Joined: Wed Dec 27, 2006 6:49 am
Location: UK
Contact:

Re: VISUAL BASIC ERROR(s).

Post by Prey »

Prey wrote:
  1. You don't fullstop methods.
  2. Methods must be contained within a class or struct.
  3. You're initialising your H2Tag array as H2Map's..
  4. It's "indexOffset - primaryMagicConstantMagic".. not "indexOffsetprimaryMagicConstantMagic"..
  5. Comments are started with the apostrophe(') character.
  6. Different instructions are normally put on different lines for clarity.. if you want them on one line, you must separate them with the colon(:) character.
  7. Closing brackets()) are meant to close initially opened open-brackets(()..
  8. Learn how to use "if" statements with open file dialogs..
Fixed code..

Code: Select all

Imports System.IO

Public Class Form1
    Public HaloMap As H2Map

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim OFD As New OpenFileDialog
        OFD.Filter = "Halo 2 Map (*.map)|*.map"

        If OFD.ShowDialog() = Windows.Forms.DialogResult.OK Then
            HaloMap.MapLocation = OFD.FileName
            HaloMap.LoadH2Map()

            HaloMap.LoadIntoTreeView(TreeView1, ProgressBar1)
            HaloMap.LoadIntoListBox(ListBox1, ProgressBar1)
            HaloMap.LoadIntoListBox(ListBox2, ProgressBar1, "bipd")
        End If

    End Sub

    Private Sub ListBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox2.SelectedIndexChanged

        Dim TempInteger As Integer = HaloMap.FindTagIndexByPath(ListBox1.Text)
        If TempInteger = 0 Then Exit Sub

        'This is the TagMeta offset that we will be editing
        Dim TagMetaOffset As Long = HaloMap.H2Tag(TempInteger).MetaOffset
        'This is the offset thats on the XML plugin or the offset in the meta you want to edit
        Dim PluginValue As Long = ("504")
        'Open up a BinaryReader so we can read our value
        Dim BR As New BinaryReader(New FileStream(HaloMap.MapLocation, FileMode.Open, FileAccess.Read, FileShare.Read))

        'Move to the Offset of the value we want to edit
        BR.BaseStream.Position = TagMetaOffset + PluginValue

        'Read the value
        'Note: Not all values are Singles some can be other data types
        TextBox1.Text = BR.ReadSingle

        'Close the map
        BR.Close()

    End Sub
End Class

Public Class H2Map
    'Basic Map Info
    Public MapLocation As String
    Public MapLoaded As Boolean
    Public H2Tag() As H2Tag
    Public mapMagic As Long
    Public mapSecondaryMagic As Long
    Public mapName As String

    'Basic Header Info
    Public indexOffset As Long
    Public indexSize As Long
    Public metaSize As Long
    Public fileTableOffset As Long

    'Basic Index Info
    Public primaryMagicConstantMagic As Long
    Public objectIndexOffset As Long
    Public objectCount As Long

    Public Sub LoadH2Map()

        Dim BR As New BinaryReader(New FileStream(MapLocation, FileMode.Open, FileAccess.Read, FileShare.Read))
        BR.BaseStream.Position = 16
        indexOffset = BR.ReadInt32()
        indexSize = BR.ReadInt32()
        metaSize = BR.ReadInt32()
        BR.BaseStream.Position = 708
        fileTableOffset = BR.ReadInt32()
        BR.BaseStream.Position = 408
        Dim tempcharforname As Char = " "
        Do While tempcharforname <> Chr(0)
            tempcharforname = BR.ReadChar
            If tempcharforname <> Chr(0) Then mapName &= tempcharforname
        Loop
        BR.BaseStream.Position = indexOffset - primaryMagicConstantMagic = BR.ReadInt32()
        BR.BaseStream.Position += 4
        objectIndexOffset = BR.ReadInt32()
        BR.BaseStream.Position += 12
        objectCount = BR.ReadInt32()
        Dim TagStart As Long = indexOffset + 32 + (objectIndexOffset - primaryMagicConstantMagic)
        ReDim H2Tag(0 To objectCount + 1)
        BR.BaseStream.Position = TagStart
        For i As Integer = 1 To objectCount Step 1
            H2Tag(i).TagClass = StrReverse(BR.ReadChars(4))
            H2Tag(i).TagID = BR.ReadInt32()
            H2Tag(i).MetaOffset = BR.ReadInt32()
            H2Tag(i).MetaSize = BR.ReadInt32()
        Next
        mapMagic = H2Tag(1).MetaOffset - (indexOffset + indexSize)
        mapSecondaryMagic = primaryMagicConstantMagic - indexOffset - 32
        For i As Integer = 1 To objectCount Step 1
            H2Tag(i).MetaOffset = H2Tag(i).MetaOffset - mapMagic
        Next
        BR.BaseStream.Position = fileTableOffset

        For i As Integer = 1 To objectCount Step 1
            Dim tempchar As Char = " "
            Do While tempchar <> Chr(0)
                tempchar = BR.ReadChar()
                H2Tag(i).TagPath &= tempchar
            Loop
        Next
        BR.Close()


        MapLoaded = True


    End Sub

    Public Sub LoadIntoTreeView(ByVal TreeView1 As TreeView, ByVal ProgressBar1 As ProgressBar)

        TreeView1.Nodes.Add("Map(" & mapName & ")")
        TreeView1.Sorted = True

        ProgressBar1.Maximum = objectCount + 1
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = 0
        Dim templistbox As New ListBox
        For x As Integer = 1 To objectCount Step 1
            'If the templistbox dosent have the class in it then add it to it and also add it to the treeview
            If templistbox.Items.Contains(H2Tag(x).TagClass) = False Then
                templistbox.Items.Add(H2Tag(x).TagClass)
                TreeView1.Nodes(0).Nodes.Add(BuildClassNode(H2Tag(x).TagClass))
                Application.DoEvents()
            End If
            'Increase the Progressbar
            ProgressBar1.Value += 1
        Next
        'Dispose the templistbox
        templistbox.Dispose()

        'Expand the TreeView
        TreeView1.Nodes(0).Expand()

        'Reset the Progressbar to 0
        ProgressBar1.Value = 0
    End Sub

    Private Function BuildClassNode(ByVal tagClass As String)
        'create a temp TreeNode
        Dim ClassNode As New TreeNode

        'Set the text to the tagclass
        ClassNode.Text = "[" & tagClass & "]"

        'Loop through all the tags and if its of the class we want then add to the node
        For i As Integer = 1 To objectCount Step 1
            If H2Tag(i).TagClass = tagClass Then
                ClassNode.Nodes.Add(H2Tag(i).TagPath)
            End If
        Next

        'return the node we put together
        Return ClassNode

    End Function

    Public Sub LoadIntoListBox(ByVal Listbox1 As ListBox, ByVal ProgressBar1 As ProgressBar, Optional ByVal TagClass As String = "")

        'Set up the ProgressBars
        ProgressBar1.Maximum = objectCount + 1
        ProgressBar1.Minimum = 0
        ProgressBar1.Value = 0
        'If they dont specify A tagClass then do all then if they do then do just that class
        If TagClass = "" Then
            'This will let you use a Listbox
            For i As Integer = 1 To objectCount Step 1
                Listbox1.Items.Add(H2Tag(i).TagPath)
                ProgressBar1.Value += 1
            Next
        Else
            'This will let you use a Listbox with only 1 tag class
            For i As Integer = 1 To objectCount Step 1
                If H2Tag(i).TagClass = TagClass Then
                    Listbox1.Items.Add(H2Tag(i).TagPath)
                End If
                ProgressBar1.Value += 1
            Next
        End If
        ProgressBar1.Value = 0

    End Sub

    Public Function FindTagIndexByPath(ByVal TagPath As String) As Integer
        Dim index As Integer = 0
        'Loop through all the tags and if we find a matching path then we return then index of it
        For i As Integer = 1 To objectCount Step 1
            If H2Tag(i).TagPath = TagPath Then
                index = i
                Exit For
            End If
        Next
        Return index

    End Function

End Class

Public Structure H2Tag
    Public TagID As Long
    Public TagClass As String
    Public MetaOffset As Long
    Public MetaSize As Long
    Public TagPath As String
End Structure
Edit: I just looked over the actual code, wow that's terrible..
Halo 2 Prophet - Skin with ease with the simple 3D point and click interface.
Halo 3 Research Thread - Contribute to the research into Halo 3.
User avatar
xzodia




Translator Connoisseur Coagulator

Posts: 1981
Joined: Sun May 15, 2005 10:31 am
Location: UK
Contact:

Post by xzodia »

thats because its a clone of anthony's code XD
Image
Halo 2 Plugins | Lock-on To Just About Anything | My Sites | Snow Hog
Old Plugins you have, upgrade you must...
Always Maintain a High Quality-To-Crap Ratio.
fudgy





Posts: 26
Joined: Mon Feb 25, 2008 3:18 pm

thanks you

Post by fudgy »

thank you, please lock/delete.
Locked