Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
I dont ignore the line, i got the dropcount already.
This code dont have any value behind, so i dont know what this do =)
Just look this part of code hehe
It transfere all items into database table "items"
the function: Funktionen.SUmwandlung.StringVorbereitung(string) clean the string (tab, space etc.) and seperate all with just one space char)
CZahl will convert string to a number (double or integer), i need to write it myself, because, if vbasic fails to convert a string into a number, it throw a exception.
I think PriTaTor will get more then 6000 code lines hehe.
Its just hard to test it all myself xD
Some parts of my code is in german, because im from german and i wrote
some functions/class/sub with german names xD
Code:
Shared Sub ItemsEinspielen()
PriTaEditor.lblProg.Text = "Writing table: Items"
PriTaEditor.lblProg.Refresh()
Dim x As Integer = 0
Dim xx As Integer = 0
Dim selecteditem As Integer
Dim SQLComm As New SQLite.SQLiteCommand("", SQLConn)
Dim SQLParameter As SQLite.SQLiteParameter
Dim prozent As Double = (100 / PriTaEditor.ItemFound.Text)
Dim Fortschritt As Double
SQLComm.Parameters.Clear()
SQLComm.Connection.Open()
SQLTrans = SQLComm.Connection.BeginTransaction
SQLComm.Parameters.Clear()
SQLComm.Parameters.Add("@Item_JPName", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_Name", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_Code", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_QuestID", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_GlowColor", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_IntegrityMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_IntegrityMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_Weight", DbType.Int32)
SQLComm.Parameters.Add("@Item_Price", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiOrganicMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiOrganicMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiFireMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiFireMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiFrostMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiFrostMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiLightingMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiLightingMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiPoisonMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_ResiPoisonMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_HPRecoveryMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_HPRecoveryMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_MPRecoveryMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_MPRecoveryMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_STMRecoveryMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_STMRecoveryMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_PoitionStore", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackPowerMinMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackPowerMinMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackPowerMaxMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackPowerMaxMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackRange", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackSpeed", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackRatingMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackRatingMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_AttackCriticalRating", DbType.Int32)
SQLComm.Parameters.Add("@Item_AbsorbMin", DbType.Double)
SQLComm.Parameters.Add("@Item_AbsorbMax", DbType.Double)
SQLComm.Parameters.Add("@Item_DefenceMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_DefenceMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_BlockMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_BlockMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAttackSpeed", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecCriticalRating", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAttackPowerMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAttackPowerMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAttackRatingMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAttackRatingMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecAbsorbMin", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecAbsorbMax", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecDefenceMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecDefenceMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecBlock", DbType.Int32)
SQLComm.Parameters.Add("@Item_SpecHPRecoveryMin", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecHPRecoveryMax", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecMPRecoveryMin", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecMPRecoveryMax", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecRunSpeedMin", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecRunSpeedMax", DbType.Double)
SQLComm.Parameters.Add("@Item_SpecAttackRange", DbType.Int32)
SQLComm.Parameters.Add("@Item_RunSpeedMin", DbType.Double)
SQLComm.Parameters.Add("@Item_RunSpeedMax", DbType.Double)
SQLComm.Parameters.Add("@Item_HPRegenMin", DbType.Double)
SQLComm.Parameters.Add("@Item_HPRegenMax", DbType.Double)
SQLComm.Parameters.Add("@Item_MPRegenMin", DbType.Double)
SQLComm.Parameters.Add("@Item_MPRegenMax", DbType.Double)
SQLComm.Parameters.Add("@Item_STMRegenMin", DbType.Double)
SQLComm.Parameters.Add("@Item_STMRegenMax", DbType.Double)
SQLComm.Parameters.Add("@Item_HPAddMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_HPAddMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_MPAddMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_MPAddMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_STMAddMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_STMAddMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_MagicAPTMin", DbType.Int32)
SQLComm.Parameters.Add("@Item_MagicAPTMax", DbType.Int32)
SQLComm.Parameters.Add("@Item_Level", DbType.Int32)
SQLComm.Parameters.Add("@Item_Strengh", DbType.Int32)
SQLComm.Parameters.Add("@Item_Spirit", DbType.Int32)
SQLComm.Parameters.Add("@Item_Talent", DbType.Int32)
SQLComm.Parameters.Add("@Item_Agility", DbType.Int32)
SQLComm.Parameters.Add("@Item_Health", DbType.Int32)
SQLComm.Parameters.Add("@Item_PrimarySpec", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_SecondarySpec", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_FileName", DbType.AnsiString)
SQLComm.Parameters.Add("@Item_Datestamp", DbType.DateTime)
Do Until ItemFiles(xx) = Nothing
selecteditem = GetItemIndex(ItemFiles(xx))
x = 0
For Each SQLParameter In SQLComm.Parameters
SQLParameter.Value = Nothing
Next
SQLComm.Parameters("@Item_Code").Value = ItemCodes(xx).Replace(Chr(34), "").ToUpper
Do Until ItemDatenListe(selecteditem, x) = "End of File"
If ItemDatenListe(selecteditem, x).StartsWith("*") Then
If ItemDatenListe(selecteditem, x).StartsWith(ItemAbs) Then
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemAbs)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_AbsorbMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_AbsorbMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_AbsorbMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_AbsorbMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemJPName) Then
SQLComm.Parameters("@Item_JPName").Value = ItemDatenListe(selecteditem, x).Substring(Len(ItemJPName)).Trim
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemEngName) Then
SQLComm.Parameters("@Item_Name").Value = ItemDatenListe(selecteditem, x).Substring(Len(ItemEngName)).Trim.Replace(" ", " ").Replace(vbTab, " ")
End If
' tbItmInGameNAme.Text = ItemName(SelectedItem)
If ItemDatenListe(selecteditem, x).StartsWith(ItemQuest) Then
If ItemDatenListe(selecteditem, x).StartsWith(ItemColor) Then
SQLComm.Parameters("@Item_GlowColor").Value = ItemDatenListe(selecteditem, x).Substring(Len(ItemColor)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Else
SQLComm.Parameters("@Item_QuestID").Value = ItemDatenListe(selecteditem, x).Substring(Len(ItemQuest)).Trim.Replace(" ", " ").Replace(vbTab, " ")
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemIntegrity) Then
' tbItmIntegrity.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemIntegrity)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemIntegrity)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_IntegrityMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_IntegrityMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_IntegrityMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_IntegrityMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemWeight) Then
''tbItmWeight.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemWeight)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemWeight)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Weight").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemPrise) Then
' tbItmPrice.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemPrise)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemPrise)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Price").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemOrganic) Then
'tbItmOrganic.Text = ItemDatenListe(selecteditem, x).Substring(Len(ItemOrganic)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemOrganic)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_ResiOrganicMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiOrganicMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_ResiOrganicMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiOrganicMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemFire) Then
'tbItmFire.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemFire)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemFire)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_ResiFireMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiFireMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_ResiFireMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiFireMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemFrost) Then
'tbItmFrost.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemFrost)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemFrost)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_ResiFrostMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiFrostMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_ResiFrostMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiFrostMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemLighting) Then
'tbItmLighting.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemLighting)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemLighting)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_ResiLightingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiLightingMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_ResiLightingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiLightingMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemPosion) Then
'tbItmPoision.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemPosion)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemPosion)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_ResiPoisonMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiPoisonMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_ResiPoisonMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_ResiPoisonMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemHPREC) Then
'tbItmHPRec.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemHPREC)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemHPREC)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_HPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPRecoveryMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_HPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPRecoveryMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemMPREC) Then
'tbItmManaRec.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemMPREC)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemMPREC)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_MPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPRecoveryMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_MPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPRecoveryMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSTMREC) Then
'tbItmStmRec.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSTMREC)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSTMREC)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_STMRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMRecoveryMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_STMRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMRecoveryMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemPotStore) Then
'tbItmPots.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemPotStore)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemPotStore)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_PoitionStore").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAtkPower) Then
'tbItmAtkPow.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAtkPower)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemAtkPower)).Trim).Split(" ")
SQLComm.Parameters("@Item_AttackPowerMinMin").Value = Nothing
SQLComm.Parameters("@Item_AttackPowerMinMax").Value = Nothing
SQLComm.Parameters("@Item_AttackPowerMaxMin").Value = Nothing
SQLComm.Parameters("@Item_AttackPowerMaxMax").Value = Nothing
If Not Spl(0) = "" Then
For i As Integer = 0 To Spl.Length - 1
If i = 0 Then SQLComm.Parameters("@Item_AttackPowerMinMin").Value = Spl(i)
If i = 1 Then SQLComm.Parameters("@Item_AttackPowerMinMax").Value = Spl(i)
If i = 2 Then SQLComm.Parameters("@Item_AttackPowerMaxMin").Value = Spl(i)
If i = 3 Then SQLComm.Parameters("@Item_AttackPowerMaxMax").Value = Spl(i)
Next
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAtkRange) Then
'tbItmRange.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAtkRange)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemAtkRange)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_AttackRange").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAtkSpeed) Then
'tbItmSpeed.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAtkSpeed)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemAtkSpeed)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_AttackSpeed").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAtkRating) Then
'tbItmAtkRtg.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAtkRating)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemAtkRating)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_AttackRatingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_AttackRatingMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_AttackRatingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_AttackRatingMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAtkCrit) Then
'tbItmCrtRtg.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAtkCrit)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemAtkCrit)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_AttackCriticalRating").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemDef) Then
'tbItmdef.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemDef)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemDef)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_DefenceMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_DefenceMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_DefenceMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_DefenceMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemBlock) Then
'tbItmBlk.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemBlock)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemBlock)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_BlockMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_BlockMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_BlockMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_BlockMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpAtkSPeed) Then
'tbItmSPatkSpd.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpAtkSPeed)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpAtkSPeed)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_SpecAttackSpeed").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpAtkCrit) Then
'tbItmSPCrt.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpAtkCrit)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpAtkCrit)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_SpecCriticalRating").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpPowerLV) Then
'tbItmSPLvl.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpPowerLV)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpPowerLV)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecAttackPowerMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAttackPowerMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecAttackPowerMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAttackPowerMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpRatingLv) Then
'tbItmSPRtg.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpRatingLv)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpRatingLv)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecAttackRatingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAttackRatingMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecAttackRatingMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAttackRatingMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpAbs) Then
'tbItmSPabs.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpAbs)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpAbs)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecAbsorbMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAbsorbMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecAbsorbMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecAbsorbMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpDef) Then
'tbItmSPdef.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpDef)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpDef)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecDefenceMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecDefenceMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecDefenceMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecDefenceMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpBlock) Then
'tbItmSPblk.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemBlock)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemBlock)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_SpecBlock").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpHPRegen) Then
'tbItmSPdef.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpHPRegen)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpHPRegen)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecHPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecHPRecoveryMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecHPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecHPRecoveryMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpMPRegen) Then
'tbItmSPMp.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpMPRegen)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpMPRegen)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecMPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecMPRecoveryMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecMPRecoveryMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecMPRecoveryMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSPSpeed) Then
' tbItmSPRun.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSPSpeed)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSPSpeed)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_SpecRunSpeedMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecRunSpeedMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_SpecRunSpeedMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_SpecRunSpeedMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSPRange) Then
'tbItmSPRange.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSPRange)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemSPRange)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_SpecAttackRange").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemRunSpeed) Then
'tbItmRun.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemRunSpeed)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemRunSpeed)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_RunSpeedMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_RunSpeedMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_RunSpeedMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_RunSpeedMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemHPRegen) Then
'tbItmHPRegen.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemHPRegen)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemHPRegen)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_HPRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPRegenMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_HPRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPRegenMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemMPRegen) Then
'tbItmMPRegen.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemMPRegen)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemMPRegen)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_MPRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPRegenMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_MPRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPRegenMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSTMRegen) Then
'tbItmSTMRegen.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSTMRegen)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemSTMRegen)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_STMRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMRegenMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_STMRegenMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMRegenMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemHPAdd) Then
'tbItmHPAdd.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemHPAdd)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemHPAdd)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_HPAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPAddMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_HPAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_HPAddMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemMPAdd) Then
'tbItmMPAdd.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemMPAdd)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemMPAdd)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_MPAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPAddMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_MPAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MPAddMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSTMAdd) Then
'tbItmSTMAdd.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSTMAdd)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemMPAdd)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_STMAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMAddMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_STMAddMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_STMAddMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAPT) Then
'tbItmAPT.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAPT)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim Spl() As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(Len(ItemAPT)).Trim).Split(" ")
If Not Spl(0) = "" Then
If Spl.Length > 1 Then
SQLComm.Parameters("@Item_MagicAPTMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MagicAPTMax").Value = CZahl(Spl(1))
Else
SQLComm.Parameters("@Item_MagicAPTMin").Value = CZahl(Spl(0))
SQLComm.Parameters("@Item_MagicAPTMax").Value = Nothing
End If
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemLevel) Then
' 'tbItmLevel.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemLevel)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemLevel)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Level").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemStr) Then
'tbItmStr.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemStr)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemStr)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Strengh").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemSpirit) Then
'tbItmSpirit.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemSpirit)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemSpirit)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Spirit").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemTalent) Then
'tbItmTalent.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemTalent)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemTalent)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Talent").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemAgility) Then
' tbItmAgi.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemAgility)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemAgility)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Agility").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemHPReq) Then
'tbItmreqHP.Text = ItemDatenListe(SelectedItem, x).Substring(Len(ItemHPReq)).Trim.Replace(" ", " ").Replace(vbTab, " ")
Dim wert As Double = CZahl(ItemDatenListe(selecteditem, x).Substring(Len(ItemHPReq)).Trim.Replace(" ", " ").Replace(vbTab, " "))
If Not wert = Nothing Then
SQLComm.Parameters("@Item_Health").Value = wert
End If
End If
If ItemDatenListe(selecteditem, x).StartsWith(ItemPriSpec) Then
If ItemDatenListe(selecteditem, x).StartsWith(ItemSecSpec) Then
Dim wert As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(ItemSecSpec.Length).Trim)
SQLComm.Parameters("@Item_SecondarySpec").Value = wert
Else
Dim wert As String = Funktionen.SUmwandlung.StringVorbereitung(ItemDatenListe(selecteditem, x).Substring(ItemPriSpec.Length).Trim)
SQLComm.Parameters("@Item_PrimarySpec").Value = wert
End If
End If
End If
x = x + 1
Loop
SQLComm.Parameters("@Item_FileName").Value = ItemFiles(xx)
SQLComm.Parameters("@Item_Datestamp").Value = Date.Now
SQLComm.CommandText = "update items set " & _
"Item_JPName=@Item_JPName," & _
"Item_Name=@Item_Name," & _
"Item_Code=@Item_Code," & _
"Item_QuestID=@Item_QuestID," & _
"Item_GlowColor=@Item_GlowColor," & _
"Item_IntegrityMin=@Item_IntegrityMin," & _
"Item_IntegrityMax=@Item_IntegrityMax," & _
"Item_Weight=@Item_Weight," & _
"Item_Price=@Item_Price," & _
"Item_ResiOrganicMin=@Item_ResiOrganicMin," & _
"Item_ResiOrganicMax=@Item_ResiOrganicMax," & _
"Item_ResiFireMin=@Item_ResiFireMin," & _
"Item_ResiFireMax=@Item_ResiFireMax," & _
"Item_ResiLightingMin=@Item_ResiLightingMin," & _
"Item_ResiLightingMax=@Item_ResiLightingMax," & _
"Item_ResiPoisonMin=@Item_ResiPoisonMin," & _
"Item_ResiPoisonMax=@Item_ResiPoisonMax," & _
"Item_HPRecoveryMin=@Item_HPRecoveryMin," & _
"Item_HPRecoveryMax=@Item_HPRecoveryMax," & _
"Item_MPRecoveryMin=@Item_MPRecoveryMin," & _
"Item_MPRecoveryMax=@Item_MPRecoveryMax," & _
"Item_STMRecoveryMin=@Item_STMRecoveryMin," & _
"Item_STMRecoveryMax=@Item_STMRecoveryMax," & _
"Item_PoitionStore=@Item_PoitionStore," & _
"Item_AttackPowerMinMin=@Item_AttackPowerMinMin," & _
"Item_AttackPowerMinMax=@Item_AttackPowerMinMax," & _
"Item_AttackPowerMaxMin=@Item_AttackPowerMaxMin," & _
"Item_AttackPowerMaxMax=@Item_AttackPowerMaxMax," & _
"Item_AttackRange=@Item_AttackRange," & _
"Item_AttackSpeed=@Item_AttackSpeed," & _
"Item_AttackRatingMin=@Item_AttackRatingMin," & _
"Item_AttackRatingMax=@Item_AttackRatingMax," & _
"Item_AttackCriticalRating=@Item_AttackCriticalRating," & _
"Item_AbsorbMin=@Item_AbsorbMin," & _
"Item_AbsorbMax=@Item_AbsorbMax," & _
"Item_DefenceMin=@Item_DefenceMin," & _
"Item_DefenceMax=@Item_DefenceMax," & _
"Item_BlockMin=@Item_BlockMin," & _
"Item_BlockMax=@Item_BlockMax," & _
"Item_SpecAttackSpeed=@Item_SpecAttackSpeed," & _
"Item_SpecCriticalRating=@Item_SpecCriticalRating," & _
"Item_SpecAttackPowerMin=@Item_SpecAttackPowerMin," & _
"Item_SpecAttackPowerMax=@Item_SpecAttackPowerMax," & _
"Item_SpecAttackRatingMin=@Item_SpecAttackRatingMin," & _
"Item_SpecAttackRatingMax=@Item_SpecAttackRatingMax," & _
"Item_SpecAbsorbMin=@Item_SpecAbsorbMin," & _
"Item_SpecAbsorbMax=@Item_SpecAbsorbMax," & _
"Item_SpecDefenceMin=@Item_SpecDefenceMin," & _
"Item_SpecDefenceMax=@Item_SpecDefenceMax," & _
"Item_SpecBlock=@Item_SpecBlock," & _
"Item_SpecHPRecoveryMin=@Item_SpecHPRecoveryMin," & _
"Item_SpecHPRecoveryMax=@Item_SpecHPRecoveryMax," & _
"Item_SpecMPRecoveryMin=@Item_SpecMPRecoveryMin," & _
"Item_SpecMPRecoveryMax=@Item_SpecMPRecoveryMax," & _
"Item_SpecRunSpeedMin=@Item_SpecRunSpeedMin," & _
"Item_SpecRunSpeedMax=@Item_SpecRunSpeedMax," & _
"Item_SPecAttackRange=@Item_SpecAttackRange," & _
"Item_RunSpeedMin=@Item_RunSpeedMin," & _
"Item_RunSpeedMax=@Item_RunSpeedMax," & _
"Item_HPRegenMin=@Item_HPRegenMin," & _
"Item_HPRegenMax=@Item_HPRegenMax," & _
"Item_MPRegenMin=@Item_MPRegenMin," & _
"Item_MPRegenMax=@Item_MPRegenMax," & _
"Item_STMRegenMin=@Item_STMRegenMin," & _
"Item_STMRegenMax=@Item_STMRegenMax," & _
"Item_HPAddMin=@Item_HPAddMin," & _
"Item_HPAddMax=@Item_HPAddMax," & _
"Item_MPAddMin=@Item_MPAddMin," & _
"Item_MPAddMax=@Item_MPAddMax," & _
"Item_STMAddMin=@Item_STMAddMin," & _
"Item_STMAddMax=@Item_STMAddMax," & _
"Item_MagicAPTMin=@Item_MagicAPTMin," & _
"Item_MagicAPTMax=@Item_MagicAPTMax," & _
"Item_Level=@Item_Level," & _
"Item_Health=@Item_Health," & _
"Item_Spirit=@Item_Spirit," & _
"Item_Talent=@Item_Talent," & _
"Item_Agility=@Item_Agility," & _
"Item_Strengh=@Item_Strengh," & _
"Item_PrimarySpec=@Item_PrimarySpec," & _
"Item_SecondarySpec=@Item_SecondarySpec," & _
"Item_Datestamp=@Item_Datestamp " & _
" where Item_FileName=@Item_FileName"
Fortschritt = Fortschritt + prozent
PriTaEditor.pbWorking.Value = Fortschritt
PriTaEditor.pbWorking.Refresh()
SQLComm.ExecuteNonQuery()
xx = xx + 1
Loop
SQLTrans.Commit()
SQLComm.Connection.Close()
SQLConn.Close()
End Sub
1 Attachment(s)
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Quote:
Originally Posted by
Sumomo
Some parts of my code is in german, because im from german and i wrote
some functions/class/sub with german names xD
And why not? I've seen plenty in Portuguese, and I'm sure much of Gregoos programs have French function names. :lol:
That all looks pretty complex, but should vb be able to trap exceptions? That's usually what the "On Error Goto" facility is for. But it pre-dates the more common "Try... Throw..." syntax usually used for structured exception handling you see in C++, C# & J#... and vb.net looks a lot more like C# or J# than Basic to me a lot of the time. I'm sure your help files will have details on how to catch and handle exceptions though, as it's pretty common practice.
It used to be that you got an error code back from the function, and if you didn't handle it, it can't have been that important... but now the theory is that if you didn't handle the error condition, you are a moron and your program shouldn't continue running. :?: Such is progress. :(:
---EDIT---
You might like to try a 2D array, or linked list loop to get an index of "ItemDatenListe(selecteditem, x).StartsWith" to use a "Select Case" instead of the nested "If... ElseIf... EndIf" stuff. That is usually easier to read (for the programmer) and process (for the CPU).
---EDIT---
Code:
Declare Function Clean(ByVal sLine As String) As String
Dim As Integer InFile, OutFile
Dim As String InLine, OutLine
InFile = FreeFile()
OutFile = FreeFile() + 1 'Quick, but v.bad practice
Open Command For Input As InFile
Open Command & ".tmp" For Output As OutFile
While Not Eof(InFile)
Line Input #InFile, InLine
OutLine = Clean(InLine)
Print #OutFile, OutLine
WEnd
Close OutFile
Close InFile
Function Clean(ByVal sLine As String) As String
Dim As String sBuf, sInp
sInp = sLine
sBuf = ""
While Len(sInp) > 0
If Left(sInp, 1) = Chr(&h09) Then 'Chr(&h09) is a Tab
sBuf = sBuf & " "
sInp = Mid(sInp, 2)
ElseIf Left(sInp, 1) = Chr(&h22) Then 'Chr(&h22) is a double quote
sInp = Mid(sInp, 2)
If InStr(sInp, Chr(&h22)) <> 0 Then
sBuf = sBuf & Chr(&h22) & Left(sInp, InStr(sInp, Chr(&h22)) + 1)
sInp = Mid(sInp, InStr(sInp, Chr(&h22)) + 1)
Else
sBuf = sBuf & Chr(&h22)
sInp = Mid(sInp, 2)
EndIf
Else
sBuf = sBuf & Left(sInp, 1)
sInp = Mid(sInp, 2)
EndIf
Wend
While Len(sBuf) > 0
If Left(sBuf, 1) = " " Then
If Right(sInp, 1) <> " " Then
sInp = sInp & " "
EndIf
sBuf = Mid(sBuf, 2)
ElseIf Left(sBuf, 1) = Chr(&h22) Then 'Chr(&h22) is a double quote
sBuf = Mid(sBuf, 2)
If InStr(sBuf, Chr(&h22)) <> 0 Then
sInp = sInp & Chr(&h22) & Left(sBuf, InStr(sBuf, Chr(&h22)) + 1)
sBuf = Mid(sBuf, InStr(sBuf, Chr(&h22)) + 1)
Else
sInp = sInp & Chr(&h22)
sBuf = Mid(sBuf, 2)
EndIf
Else
sInp = sInp & Left(sBuf, 1)
sBuf = Mid(sBuf, 2)
EndIf
Wend
Return sInp
End Function
That cleans lines quite nicely. Two pass operation though, and not thoroughly tested.
I'm attaching an executable build. No parameter checking but if you drop a monster, npc or OpenItem file on it, it makes another with ".tmp" added to the name which is cleaned to one space only.
Correctly skips any double spaces, or tabs in quoted text. (I hope)
It has a "get out" clause if an open double quote (") is found but no matching close double quote, whereby it treats the " like any other character.
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Looks good =)
I wish i had someone that will help me to code and find errors lol.
---------- Post added at 09:48 AM ---------- Previous post was at 09:42 AM ----------
Looks good =)
I wish i had someone that will help me to code and find errors lol.
Something like this function. This is just a little thing, to clean the strings bevor u can use them in other function.
'But this need a lot of time to test them hehe
Same is, if some codes in Monsters/Items are activated, but no values behint.
I dont know what Pristontale use as default value, so i will leave a nothing(null) value there.
Im planing to use mask txt files like:
//monster example
@Mo_Size@
...
@Mo_AttackPower@
...
@Mo_DropList@
etc.
PriTaTor will use this mask with variabels to clan all monster and items files.
Just a idea xD
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Quote:
Originally Posted by
Sumomo
Same is, if some codes in Monsters/Items are activated, but no values behint.
I dont know what Pristontale use as default value, so i will leave a nothing(null) value there.
Sounds like a great idea.
I will try to help where I can. I wanted to get the routine to you quick, so I didn't have time to test hard... but I threw all folders at it and it didn't crash... the results looked okay with a cursory glance, but you can never be too sure. I think most of my data files are pretty clean, and I've seen some (usually from M.I.B., I'm sorry to say) that are really messy... good enough for PT to accept, but messy.
BTW, if you want some other small, fast (hopefully) routines like that, I could always build them them as DLL routines you could call from .net without me having to install and re-learn vb in it's new .net form. I have tried, and it just really doesn't seem practical to me.
Let me know how that code fits with vb.net, and if it works out. :D:
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
best way is the dll i think
because i need to translate it into vbasic .net
this is not that effectiv, if you give me this as dll ill use ur function to clean a string line =)
If you will help me this would be great.
i just found a little problem, that SQLite dont support "IF EXIST.." function.
This is little sad, maybe u have a idea ?
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Like "Function FileExists(FName As String) As Bool" you mean?
SQL wouldn't support that because it isn't concerned with files so much as tables and records. I'm not sure what the syntax for SQL, or SQLite is, but if a "SELECT FROM ... WHERE" returns no records, that's pretty much a "NOT EXISTS" if the table doesn't exist at all... err... I would guess that SQLite would return an error code, probably a handle with a negative value.
If you are actually trying to check the existence of a file (SQL or otherwise) then a. The regular FileExists() or FExists() function should work fine provided you know the full path to the file you want to check for, b. You can always simulate the function, and I can tell you there are times where you need more information than just TRUE or FALSE to the "does the file exist?" question.
Code:
If Open(FName for input as #1) = 0 Then
Return False
Else
Return True
EndIf
Close #1
Why this may be better is because you can try to open with write access, or see if you can get a read, write or shared lock on the file.
These things don't matter all that much 98% of the time, and TBH, that fragment is a very bad example if you where hoping to get that sort of information... but you aren't, so it's good enough.
If you monitor any C or Assembler program, they tend to open a file, close it, then open it again... because at System API level, that, or a FindFirst(), FindNext(), FindNext()... directory search is the only way to tell, and one operation beats the heck out of 1 to n operations.
The extended error data from Win32 GetLastError() will tell you why you couldn't open the file with a "not found" error code, but if you can't open it to read from it, does it really matter why? You're probably going to have to MsgBox() a critical fail, or skip to the next file anyway, right?
I'll build as a DLL, for you. I presume you would prefer an StdCall with C style ZString rather than FastCall or Basic/Pascal String... or, does vb.net prefer *WCharT these days? I can build to work to any of these, as freeBASIC has built in types for each, specifically so it can interact with other languages easily.
If you are not sure (though I guess you have examined this to some extent in order to link to SQLite.dll) I can always look it up. F.Y.I. Traditional Basic, or Pascal strings consist of a Word, or DWord character count followed by that many bytes of characters... where C uses a string of characters read up until one of them is Chr(0). Advantages either way, Basic and Pascal (and Fortran I think) can have Chr(0) encoded in a string and it doesn't terminate (sometimes handy, not often) C can store an infinite number of characters in one string, where Basic and Pascal max out at about 4Gigabytes. XD (sometimes unfortunate, not often)
1 Attachment(s)
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Oh well=) you know a lot about programming xD
Im not sure, all i know is: VB.Net can handle a lot of string types. U can declare strings like UTF16, UTF*** Unicode, Ansi etc. i will try it out xD
Finaly i made it. my first database with Pristontale Items/monster and the relations. the relations are a little bit complex. even i dont get it atm xD
Tables:
Items (Values of AtkPow etc.)
Monsters (Values of AtkPow etc.)
ItemDropLine (Foreign Key of monsters)
DropItems (Foreign key of ItemDropLine)
GoldDrop (Foreign key of monsters)
NoDrop (foreignkey of monsters)
lol with normal jpt basic server the DropItems table get 15.000 entrys xD
New version of Database Attachment 76341
1 Attachment(s)
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
I would have thought NoDrop could be a DropItems of item type null or something, but you may have found something that isn't obvious till you get there.
In any case, I'm attaching my DLL build. Right now, it's only got the one function:- char * StringClean(char *)
Or in human form pass it a pointer to a null terminated string and it will return a pointer to a null terminated string that is the cleaned up version of the one you gave it.
It's assuming the string is an ANSI string (8-bit no Unicode extensions local code page) which is how the PT server normally works. This dll is built the way most 32Bit Windows DLLs are, following C conventions, as I'm guessing this will cause you the least problems. If you can natively call the User32:MessageBox() API then you should be able to call this the same way... I hope. XD
Quote:
Originally Posted by
Sumomo
Oh well=) you know a lot about programming xD
I'm "out of date" which has advantages and disadvantages.
I'm trained and practised in writing small, fast functional code, and externally documenting what I do in a very explicit way. These days, OOP is considered to be "self-documenting" and optimization is something the compiler does for you... I disagree with both these points, as they run contrary to my education.
While I like to take advantage of the odd object, writing an entire program without functional programming techniques to hand seems like an impossible task to me. But that's how most programs are written these days, and how contemporary programmers are taught.
Like a fencer... dueling with one hand tied behind your back promoters and enforces good poise and elegance, promotes balance and reduces the risk of getting "foul" points through instinctive defence with the off-hand. (an illegal play) With both hands tied the chances of "epic fail" are beyond reasonable.:lol: A pro-fencer doesn't need to tie even his off-hand because he has already trained his balance and instinct. XD
OOP increases productivity. Software is written quickly, and new programmers learn it fast... I learned the hard way, and now that training is stuck in my head, and it's hard to change. Alternatively, there is no OOP safety net when you are using Assembler or Olly. XD
Attached, is a zip containing the PTSupp.dll and lib.PTSupp.dll.a. The latter is often added to the lib folder in your development environment to import the linking information, like a binary form of a .h / .hpp in C(++).
The Win32 SDK holds most of these for normal system DLLs... you may or may not need it. All the information is in the DLL header anyway, but some compilers don't want to root through the DLL just to find function names, addresses and legal parameters.
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Code:
*µÎ¸ñ //Boss
*¸ðµ¨Å©±â 1.4 //Model Size
*¼Ó¼º Àû //Attribute
*¸ð¾çÆÄÀÏ "char\monster\MonSKnight\MonSknight-b.ini" //Image files
*À̸§ "¾ðȦ¸® ³ªÀÌÆ®" //Name
*Name "Unholy Knight"
*·¹º§ 54 //Level
//¸ó½ºÅͰ¡ Ȱµ¿ÇÏ´Â ½Ã°£ //Monster time activity
*Ȱµ¿½Ã°£ Á¦ÇѾøÀ½ //Activity Time Protection
//¹«¸®°¡ ÇÊ¿äÇÑ ¸ó½ºÅÍÀÇ ¼ö ÃÖ¼ÒX-ÃÖ´ëX //For the multitude of monsters Min Max
*Á¶Á÷ 1
//Áö´ÉÀÇ ±¸ºÐÀº 1-10 ±îÁöÀÇ IQ //The distinction between intelligence 1-10
*Áö´É 7
//¸ó½ºÅÍÀÇ ¼ºÇâ Good, Neutral, Evil //Monsters of the propensity
*ǰ¼º Evil
//¸ó½ºÅͰ¡ ij¸¯Å͸¦ ÀνÄÇÏ´Â °Å¸® 1M = 27 //monster recognition 1m=27
*½Ã¾ß 430
//¸ó½ºÅÍÀÇ HP
*»ý¸í·Â 2550
//¸ó½ºÅÍÀÇ °ø°Ý·Â
*°ø°Ý·Â 69 81
//¸ó½ºÅÍÀÇ °ø°Ý Èí¼öÀ² XX% ¸¸Å µ¥¹ÌÁö¸¦ Èí¼öÇÑ´Ù.
*Èí¼öÀ² 18
//¹æÆÐ¸¦ µç ¸ó½ºÅÍÀÇ °æ¿ì ºí·°À²ÀÌ Á¸Àç //Monster holding a shield block rate, the present
*ºí·°À² 14
//¸ó½ºÅÍÀÇ ¹æ¾î·Â //Monsters of the Defense
*¹æ¾î·Â 340
//°ø°Ý ¼ÓµµÀÇ ºü¸£±â ÃÖ¼Ò 5 - ÃÖ´ë 9 //The fast attack speed, at least 5 - to 9
*°ø°Ý¼Óµµ 8
//°ø°Ý½Ã °ø°ÝÀÇ ¸íÁß·Â (92) //Attack of the attack myeongjungryeok (92)
*¸íÁß·Â 900
//¸ó½ºÅͰ¡ °¡Áö°í ÀÖ´Â °ø°Ý ÆÐÅÏÀÇ È®·ü ±¸ºÐ (ÃÖ¼Ò µ¥¹ÌÁö / ÃÖ´ë µ¥¹ÌÁö = m / m (+X) //Monster has a probability of an attack pattern 9 minutes - The minimum damage and maximum damage = m / m (X)
*Ư¼ö°ø°Ý·ü 15
//¸ó½ºÅÍÀÇ ±×¸²ÀÚ Å©±â ¼ÒÇü, ÁßÇü, Áß´ëÇü, ´ëÇü, ¾øÀ½ //The shadow of a monster the size of small, medium, medium to large, large, no
*Å©±â ÁßÇü
//°ø°Ý¹üÀ§ ¸ó½ºÅͰ¡ °ø°Ý ÇÒ ¶§ °ø°Ý ¹üÀ§¸¦ Ç¥½Ã //When the monsters attack attack attack range to display the range
*°ø°Ý¹üÀ§ 55
//¼Ó¼º
////////// ¼Ó¼º ÀúÇ×·Â //////////
*»ýü 100
*¹ø°³ 10
*¾óÀ½ 20
*ºÒ 10
*µ¶ 100
*¸ÅÁ÷ -10
//¸ó½ºÅÍ ºÐ·ù //Monster Categories
*¸ó½ºÅÍÁ¾Á· ¾ðµ¥µå //Monster races Undead
//¸ó½ºÅÍÀÇ À̵¿ ¼Óµµ 1-6ÀÇ ¹üÀ§ //Monsters of the moving speed of the range of 1-6
*À̵¿¼Óµµ 4
//À̵¿Å¸ÀÔ //Move Type
*À̵¿Å¸ÀÔ 0
//±¸ºÐ ( CYCLOPS / HOBGOBLIN / IMP / MINIG / PLANT / SKELETON / ZOMBI / OBIT )
*È¿°úÀ½ SkeletonMelee
//¹°¾à °¹¼ö (¸ó½ºÅͰ¡ ¹°¾àÀ» °¡Áö°í ÀÖ´Â ¼ö) //The number of potions (potions have monsters Wed)
*¹°¾àº¸À¯¼ö 0
//¹°¾à »ç¿ë·ü (¸ó½ºÅÍ ¹ß»ý½Ã ¹°¾àÀ» °¡Áö°í ³ª¿Ã È®·ü) //Potion utilization (the probability of getting a monster in the event with potion)
*¹°¾àº¸À¯·ü 0
//¸ó½ºÅÍ »ç¸Á½Ã À¯Àúµé¿¡°Ô µ¹¾Æ°¡´Â °æÇèÄ¡ÀÇ ¾ç //Upon the death of a monster amount of experience going back to the user
*°æÇèÄ¡ 17000
//¸ó½ºÅÍ »ç¸Á½Ã ÀüÀ¯¹°·Î ¶³¾î ¶ß¸®´Â GoldÀÇ ¾ç ÃÖ¼Òxx-ÃÖ´ëxx È®À² xx //Upon the death of a monster monopoly that Gold dropped to the minimum amount of up to xx-xx xx Odds
*°ñµå 200 220 80
*À̺¥Æ®¾ÆÀÌÅÛ QT110
//¸ó½ºÅͰ¡ ¶³¾î¶ß¸®´Â ¾ÆÀÌÅÛ ¼³Á¤ ºí·°
*¾ÆÀÌÅÛÄ«¿îÅÍ 3
*¾ÆÀÌÅÛ 0 ¾øÀ½
*¾ÆÀÌÅÛ 2000 µ· 2600 3100
*¾ÆÀÌÅÛ 5600 da108 da208 wa106 wc106 wh107 wm107 wp107 ws108 ws208 wt107 db106 ds106 dg106 oa206 or108 oa108 os105
*¾ÆÀÌÅÛ 1600 da109 da209 wa107 wc107 wh108 wm108 wp108 ws109 ws209 wt108 db107 ds107 dg107 oa207 or109 oa109 os106 os106
*¾ÆÀÌÅÛ 600 da110 da210 wa108 wc108 wh109 wm109 wp109 ws110 ws210 wt109 db108 ds108 dg108 oa208 or110 oa110 os106 os106
*¾ÆÀÌÅÛ 200 da111 da211 wa109 wc109 wh110 wm110 wp110 ws111 ws211 wt110 db109 ds109 dg109 oa209 or111 oa111 os106 os106
*¿¬°áÆÄÀÏ "name\B_43_SkeletonKnight.zhoon"
I made a little tool, to translate the monster files
I dont get it what the Gold Drop means, there are 3 values O.o and the gold drop are later.
Someone have a idea? (i marked it red)
Re: [Release]New Manager for Items, Monsters, Maps, Bellatra
Must you insist on using non-EUC Korean code page? XD
Code:
*¾ÆÀÌÅÛ 2000 µ· 2600 3100
should read
Code:
*아이템 2000 돈 2600 3100
Translation
*DropItem [chance/weight] Coins [min_coin] [max_coin]
This is often described in the comment lines above, but the file you use as example only says "몬스터가 떨어뜨리는 아이템 설정 블럭" Which is just a general drop item description.
To explain, the first variable number is the drop weight like any other drop and is added to the total 100% when the monster dies. The Korean word for "coin" (돈) breaks normal drop item processing and takes the next value as the minimum amount of gold to drop, and the one after that as the maximum amount to drop.
So if that kind of monster is killed, add up all the weights for drops INCLUDING the gold drop weight (see them like a pie chart if you like) pick a number (throw a dart at the pie chart, preferably with eyes shut XD) where it falls is what is dropped. If the drop is gold (the dart hit the pie chart was in the gold "cheese slice" XD) then pick a number between min_coin and max_coin and that's how many gold is in the pile dropped. If the dart hit a drop item list, pick an item from that list at random, and that is what the will fall.
Interestingly, your example monster has 0% chance of dropping a "nothing". But the above process will happen 3 times, as each kill should drop three items.
20% chance of dropping between 2600 and 3100 gold coins.
56% chance of dropping one of da108, da208, wa106, wc106, wh107, wm107, wp107, ws108, ws208, wt107, db106, ds106, dg106, oa206, or108, oa108 or os105
16% chance of dropping one of da**** da209, wa107, wc107, wh108, wm108, wp108, ws**** ws209, wt108, db107, ds107, dg107, oa207, or**** oa**** os106 or os106
6% chance of dropping one of da**** da210, wa108, wc108, wh**** wm**** wp**** ws**** ws210, wt**** db108, ds108, dg108, oa208, or**** oa**** os106 or os106
2% chance of dropping one of da**** da211, wa**** wc**** wh**** wm**** wp**** ws**** ws211, wt**** db**** ds**** dg**** oa209, or**** oa**** os106 or os106
Because each individual items drop chance is a percentage of a percentage, (and sometimes, item on several rows; so that + a percentage of a percentage [+ a percentage of a percentage {etc}]) it would be difficult (but possible) to generate a WoWHead style drop chance for each item the mob could possibly drop.
It's confusing, but I find it much easier to read in native Korean. And if you can see how you could calculate the true drop chance for each item from the rates (weights) and lists... then you really have cracked it. :D:
---EDIT---
I finally found your "red" line... scroll right.
The code
Code:
//몬스터 사망시 전유물로 떨어 뜨리는 Gold의 양 최소xx-최대xx 확율 xx
*골드 200 220 80
Doesn't work. What the Korean comment actually says is not "Upon the death of a monster monopoly that Gold dropped to the minimum amount of up to xx-xx xx Odds" as you (or someone before you) have / has auto translated. Though something not dislike that comes out of Google-translate.
The text is coder short-hand, not well punctuated, we've all done it when in code-head mode. Comments are notes, not sentences. If you try to translate the words, fix grammar / syntax to your own language etc. you get a better idea.
En = "[Monster] [death] [possession] [less] [break] Gold[amount] [amount] [Min]XX - [Max]XX [XX] [Chance]"
De = "[Monster] [tod] [zu ihrem ausschließlichen Besitz] [weniger] [bruch / pause] Gold[von] [betrag] [Geringste]XX - [Maximale]XX [Wetten]"
It may be connected to an older form of the file, or additional drops for a boss monster, but I've just not seen it do anything... the DropItem is where I go to change gold drops.