Hi liebe Community.
Bei der Entwicklung meines Dropeditor für ein Spiel namens Flyff bin ich auf ein Problem gestoßen.
Zuerst scheiterte es daran, die itemnamen aus der Propitem.txt.txt zu laden, danach daran diese mit den definenamen zu vergleichen.
Jetzt werden alle Items geladne aber und der definename auch, allerdings werden auch manche Itembeschreibungen geladen.´
Bei den items wo auch die beshcreibung gezeigt wird crasht mein Tool wenn ich es anwähle und jammert von wegen variabel wurde nicht deklariert.
Kleine Erklärung
In jeder itemzeile der propitem.txt steht einmal der definename, einmal der verweis auf den namen (dritte spalte--> IDS_PROPITEM_TXT_IRGENDWAS) und einmal der verweis auf den namen (letze spalte --> IDS_PROPITEM_TXT_IRGENDWAS2)
Hier der Source für diesen Prozess(stammt nicht von mir habe ihn von einem netten Supporter in einem andren Forum bekommen der aber mit dieser Frage nun auch überfordert war^^)
#include <GUIListView.au3>
Opt("GUIOnEventMode", 1)
$hGUI = GUICreate("Test", 500, 600)
GUISetOnEvent(-3, "close")
$hCombo = GUICtrlCreateCombo("", 20, 20, 400, 500)
GUICtrlSetOnEvent(-1, "bla")
GUISetState()
$itemnames = propitemget_itemname("propItem.txt.txt")
If IsArray($itemnames) Then
$inames = $itemnames[0]
For $x = 1 To UBound($itemnames) - 1
If $itemnames[$x] <> "" Then $inames &= "|" & $itemnames[$x]
Next
GUICtrlSetData($hCombo, $inames)
Else
MsgBox(0, "", $itemnames)
EndIf
While 1
WEnd
Func propitemget_itemname($propitempath)
Return StringRegExp(FileRead($propitempath), "IDS_PROPITEM_TXT_\w*\s([\w ()äÄöÖüÜ.]*)", 3)
EndFunc ;==>propitemget_itemname
Func propitemget_itemverweis($propitempath, $itemname)
Return StringRegExp(FileRead($propitempath), "(IDS_PROPITEM_TXT_\w*)\s" & $itemname, 3)
EndFunc ;==>propitemget_itemverweis
Func propitemget_itemdefine($propitempath, $itemverweis)
Return StringRegExp(FileRead($propitempath), "(II_[\w_]*)\s" & $itemverweis, 3)
EndFunc ;==>propitemget_itemdefine
Func bla()
$Z = propitemget_itemverweis("propItem.txt.txt", GUICtrlRead($hCombo))
If IsArray($Z) Then $BliBlaBlubb = propitemget_itemdefine("propItem.txt", $Z[0])
If IsArray($BliBlaBlubb) Then
FileOpen("propmoverex.inc", 1)
FileWrite("propmoverex.inc", "DropItem(" & $BliBlaBlubb[0] & ", 200000000, 0, 1);" & @CRLF)
FileClose("propmoverex.inc")
EndIf
EndFunc ;==>bla
Func close()
Exit
EndFunc ;==>close
Hier propitem.txt (für definenamen) und Propitem.txt.txt (für Itemnamen) downloaden : http://www.file-upload.net/download-2658748/Resource.rar.html
Ab der Zeile in Propitem.txt in der "//MANGEKYO STUFF//" steht kümmert euch nicht mehr drum diese habeich per hand hinzugefügt da könnten fehler drin sein bei der namensanzeige, meine Kunden werden die ieintr#äge ab der zeile sowieso nicht haben da ich sie gemacht habe^^, in Zeilen davor werden aber auch chon descriptions gelesen.
Beispiel für definenamen : II_SYS_SYS_SCR_BXIRISH01 definenamen stehen in der zweiten spalte in propitem.txt verweise auf propitem.txt.txt in der spalte 3 also direkt danach
In propitem.txt.txt stehen dann verweise auf propitem.txt und dahinter die namen.
hoffe irgendwer weiß da ne lösung, die Funktion ist wirklich wichtig für das Tool.
Danke im Vorraus
MFG Kyu