
Originally Posted by
KingLordMaster
Is this supposed to work also for eX700 clients, if anyone knows?
It's text editor for Server Side Item(New).txt
You have source code released, download Visual Basic 2008.
and modify Form1.vb code to work with ur Item.txt version - any other Item.txt than one supported by this release
will be loaded too, just u won't see data in correct columns :)
also he forgot to add Dark Lord column & 12/13/14/15 sections.
Anw if you want section 12/13/14/15 & Dark Lord
Find & replace in
Form3.Designer.vb
Code:
Me.ListBox1.Items.AddRange(New Object() {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15"})
& replace whole
Form1.vb to
Code:
Imports System.IO
Public Class Form1
Dim itemLoc As String = Application.StartupPath + "\" + Form3.TextBox2.Text
Dim itemData As String
Dim itemLines() As String
Dim lastID As Integer
Dim x As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Form3.CheckBox1.Checked Then
Me.WindowState = FormWindowState.Maximized
Else
Me.WindowState = FormWindowState.Normal
Me.FormBorderStyle = FormBorderStyle.Sizable
End If
Using sr As New StreamReader(itemLoc)
itemData = sr.ReadToEnd()
End Using
itemLines = itemData.Split(vbNewLine)
For Each item As String In itemLines
item = System.Text.RegularExpressions.Regex.Replace(item, "\s{2,}", " ")
If item.Contains("//") Then ' Comment
Continue For
End If
If item.Length < 10 Then ' non item line
If IsNumeric(item) Then ' Category
lastID = Convert.ToInt32(item)
Continue For
ElseIf item.Length >= 4 Then
Dim xd() = item.ToCharArray()
If xd(0) = "e" And xd(1) = "n" And xd(2) = "d" Then
Exit For
End If
Else
Continue For
End If
End If
If Form3.TextBox1.Text.Length = 0 Then
If lastID = Convert.ToInt32(Form3.ListBox1.SelectedItem) Then
If lastID = 0 Or lastID = 1 Or lastID = 2 Or lastID = 3 Or lastID = 4 Or lastID = 5 Then ' Weapons
DataGridView1.ColumnCount = 30
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Damage Min"
DataGridView1.Columns(11).Name = "Damage Max"
DataGridView1.Columns(12).Name = "Speed"
DataGridView1.Columns(12).Width = 50
DataGridView1.Columns(13).Name = "Durablity"
DataGridView1.Columns(13).Width = 80
DataGridView1.Columns(14).Name = "Magic Durablity"
DataGridView1.Columns(14).Width = 50
DataGridView1.Columns(15).Name = "Magic Power"
DataGridView1.Columns(15).Width = 50
DataGridView1.Columns(16).Name = "Req Level"
DataGridView1.Columns(17).Name = "Strength"
DataGridView1.Columns(18).Name = "Agility"
DataGridView1.Columns(19).Name = "Energy"
DataGridView1.Columns(20).Name = "Vitality"
DataGridView1.Columns(21).Name = "Command"
DataGridView1.Columns(22).Name = "Type"
DataGridView1.Columns(22).Width = 50
DataGridView1.Columns(23).Name = "Dark Wizard"
DataGridView1.Columns(24).Name = "Dark Knight"
DataGridView1.Columns(25).Name = "Fairy Elf"
DataGridView1.Columns(26).Name = "Magic Gladiator"
DataGridView1.Columns(27).Name = "Dark Lord"
DataGridView1.Columns(28).Name = "Summoner"
DataGridView1.Columns(29).Name = "Rage Fighter"
ElseIf lastID = 6 Then ' Shields
DataGridView1.ColumnCount = 27
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Defense"
DataGridView1.Columns(11).Name = "DefRate"
DataGridView1.Columns(12).Name = "Durablity"
DataGridView1.Columns(12).Width = 80
DataGridView1.Columns(13).Name = "Req Level"
DataGridView1.Columns(14).Name = "Strength"
DataGridView1.Columns(15).Name = "Agility"
DataGridView1.Columns(16).Name = "Energy"
DataGridView1.Columns(17).Name = "Vitality"
DataGridView1.Columns(18).Name = "Command"
DataGridView1.Columns(19).Name = "Type"
DataGridView1.Columns(19).Width = 50
DataGridView1.Columns(20).Name = "Dark Wizard"
DataGridView1.Columns(21).Name = "Dark Knight"
DataGridView1.Columns(22).Name = "Fairy Elf"
DataGridView1.Columns(23).Name = "Magic Gladiator"
DataGridView1.Columns(24).Name = "Dark Lord"
DataGridView1.Columns(25).Name = "Summoner"
DataGridView1.Columns(26).Name = "Rage Fighter"
ElseIf lastID = 7 Or lastID = 8 Or lastID = 9 Or lastID = 10 Or lastID = 11 Then ' Sets
DataGridView1.ColumnCount = 27
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Defense"
DataGridView1.Columns(11).Name = "Magic Def"
DataGridView1.Columns(12).Name = "Durablity"
DataGridView1.Columns(12).Width = 80
DataGridView1.Columns(13).Name = "Req Level"
DataGridView1.Columns(14).Name = "Strength"
DataGridView1.Columns(15).Name = "Agility"
DataGridView1.Columns(16).Name = "Energy"
DataGridView1.Columns(17).Name = "Vitality"
DataGridView1.Columns(18).Name = "Command"
DataGridView1.Columns(19).Name = "Type"
DataGridView1.Columns(19).Width = 50
DataGridView1.Columns(20).Name = "Dark Wizard"
DataGridView1.Columns(21).Name = "Dark Knight"
DataGridView1.Columns(22).Name = "Fairy Elf"
DataGridView1.Columns(23).Name = "Magic Gladiator"
DataGridView1.Columns(24).Name = "Dark Lord"
DataGridView1.Columns(25).Name = "Summoner"
DataGridView1.Columns(26).Name = "Rage Fighter"
ElseIf lastID = 12 Then
DataGridView1.ColumnCount = 25
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Defense"
DataGridView1.Columns(11).Name = "Durablity"
DataGridView1.Columns(11).Width = 80
DataGridView1.Columns(12).Name = "Req Level"
DataGridView1.Columns(13).Name = "Energy"
DataGridView1.Columns(14).Name = "Strength"
DataGridView1.Columns(15).Name = "Agility"
DataGridView1.Columns(16).Name = "Command"
DataGridView1.Columns(17).Name = "Zen"
DataGridView1.Columns(17).Width = 50
DataGridView1.Columns(18).Name = "Dark Wizard"
DataGridView1.Columns(19).Name = "Dark Knight"
DataGridView1.Columns(20).Name = "Fairy Elf"
DataGridView1.Columns(21).Name = "Magic Gladiator"
DataGridView1.Columns(22).Name = "Dark Lord"
DataGridView1.Columns(23).Name = "Summoner"
DataGridView1.Columns(24).Name = "Rage Fighter"
ElseIf lastID = 13 Then
DataGridView1.ColumnCount = 26
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Durablity"
DataGridView1.Columns(10).Width = 80
DataGridView1.Columns(11).Name = "Ice"
DataGridView1.Columns(12).Name = "Poison"
DataGridView1.Columns(13).Name = "Lighting"
DataGridView1.Columns(14).Name = "Fire"
DataGridView1.Columns(15).Name = "Earth"
DataGridView1.Columns(16).Name = "Wind"
DataGridView1.Columns(17).Name = "Water"
DataGridView1.Columns(18).Name = "Type"
DataGridView1.Columns(19).Name = "Dark Wizard"
DataGridView1.Columns(20).Name = "Dark Knight"
DataGridView1.Columns(21).Name = "Fairy Elf"
DataGridView1.Columns(22).Name = "Magic Gladiator"
DataGridView1.Columns(23).Name = "Dark Lord"
DataGridView1.Columns(24).Name = "Summoner"
DataGridView1.Columns(25).Name = "Rage Fighter"
ElseIf lastID = 14 Then
DataGridView1.ColumnCount = 11
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Value"
DataGridView1.Columns(10).Name = "Item Level"
DataGridView1.Columns(10).ToolTipText = "Min monster level from monster.txt to drop this item"
ElseIf lastID = 15 Or lastID = 16 Then
DataGridView1.ColumnCount = 20
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Req Level"
DataGridView1.Columns(11).Name = "Energy"
DataGridView1.Columns(12).Name = "Zen"
DataGridView1.Columns(13).Name = "Dark Wizard"
DataGridView1.Columns(14).Name = "Dark Knight"
DataGridView1.Columns(15).Name = "Fairy Elf"
DataGridView1.Columns(16).Name = "Magic Gladiator"
DataGridView1.Columns(17).Name = "Dark Lord"
DataGridView1.Columns(18).Name = "Summoner"
DataGridView1.Columns(19).Name = "Rage Fighter"
End If
Dim sword()
Dim formated
Dim Item_Split() As String = item.Split("""")
Try
formated = Item_Split(0).Replace(vbTab, " ").Trim() + " " + Item_Split(1).Replace(" ", "_").Trim() + " " + Item_Split(2).Replace(vbTab, " ").Trim()
sword = formated.Trim().Split(" ")
DataGridView1.Rows.Add(sword)
Catch ex As Exception
' MessageBox.Show(ex.Message, "Item Load")
End Try
End If
If lastID > Convert.ToInt32(Form3.ListBox1.SelectedItem) Then
Exit For
End If
x += 1
Else
DataGridView1.ColumnCount = 27
DataGridView1.Columns(0).Name = "Index"
DataGridView1.Columns(0).Width = 50
DataGridView1.Columns(1).Name = "Slot"
DataGridView1.Columns(1).Width = 50
DataGridView1.Columns(2).Name = "Skill"
DataGridView1.Columns(2).Width = 50
DataGridView1.Columns(3).Name = "X"
DataGridView1.Columns(3).Width = 50
DataGridView1.Columns(4).Name = "Y"
DataGridView1.Columns(4).Width = 50
DataGridView1.Columns(5).Name = "Serial"
DataGridView1.Columns(5).Width = 50
DataGridView1.Columns(6).Name = "Option"
DataGridView1.Columns(6).Width = 50
DataGridView1.Columns(7).Name = "Drop"
DataGridView1.Columns(7).Width = 50
DataGridView1.Columns(8).Name = "Name"
DataGridView1.Columns(9).Name = "Item Level"
DataGridView1.Columns(9).ToolTipText = "Min monster level from monster.txt to drop this item"
DataGridView1.Columns(10).Name = "Defense"
DataGridView1.Columns(11).Name = "Magic Def"
DataGridView1.Columns(12).Name = "Durablity"
DataGridView1.Columns(12).Width = 80
DataGridView1.Columns(13).Name = "Req Level"
DataGridView1.Columns(14).Name = "Strength"
DataGridView1.Columns(15).Name = "Agility"
DataGridView1.Columns(16).Name = "Energy"
DataGridView1.Columns(17).Name = "Vitality"
DataGridView1.Columns(18).Name = "Command"
DataGridView1.Columns(19).Name = "Type"
DataGridView1.Columns(19).Width = 50
DataGridView1.Columns(20).Name = "Dark Wizard"
DataGridView1.Columns(21).Name = "Dark Knight"
DataGridView1.Columns(22).Name = "Fairy Elf"
DataGridView1.Columns(23).Name = "Magic Gladiator"
DataGridView1.Columns(24).Name = "Dark Lord"
DataGridView1.Columns(25).Name = "Summoner"
DataGridView1.Columns(26).Name = "Rage Fighter"
Dim sword()
Dim formated
Dim Item_Split() As String = item.Split("""")
Try
formated = Item_Split(0).Replace(vbTab, " ").Trim() + " " + Item_Split(1).Replace(" ", "_").Trim() + " " + Item_Split(2).Replace(vbTab, " ").Trim()
sword = formated.Trim().Split(" ")
If (sword(0) = Form3.TextBox1.Text) Then
If lastID = 7 Or lastID = 8 Or lastID = 9 Or lastID = 10 Or lastID = 11 Then
DataGridView1.Rows.Add(sword)
End If
End If
Catch ex As Exception
' MessageBox.Show(ex.Message, "Item Load")
End Try
End If
Next
End Sub
Private Sub SaveGridDataInFile(ByRef fName As String)
Dim strRowValue As String = ""
For m As Integer = 0 To DataGridView1.Rows.Count - 2
For n As Integer = 0 To DataGridView1.Columns.Count
Dim tem
Try
tem = DataGridView1.Rows(m).Cells(n).Value.ToString
Catch ex As Exception
End Try
If (tem.Contains("_") = True) Then
tem = """" + tem.Replace("_", " ") + """" + vbTab + vbTab
ElseIf IsNumeric(tem) = False Then
tem = """" + tem + """" + vbTab + vbTab
End If
strRowValue += tem + vbTab
Next
strRowValue += vbNewLine
Next
Dim objWriter As New System.IO.StreamWriter(fName, True)
objWriter.Write((lastID - 1).ToString + vbNewLine + strRowValue + "end")
objWriter.Close()
End Sub
Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
Me.Close()
End Sub
Private Sub MultipleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MultipleToolStripMenuItem.Click
Form2.Show()
End Sub
Private Sub SaveToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveToolStripMenuItem.Click
SaveGridDataInFile(Application.StartupPath + "/Item(New)v2.txt")
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
End Sub
End Class
& Compile (Build -> Build ItemEditor) / output should be in bin/Release
anw take compiled if you want
Download
http://www.sendspace.com/file/0d8qqe
*Tested on S6 E3, nothing new in ex700 item.txt except new items right? so should work.