[Tutorial] How to use Fuse-O-Mat (vSro alchemy tool)

07/16/2012 19:00 Jamy2#76
yes it is :(
07/16/2012 20:22 intercsaki#77
Quote:
Originally Posted by Jamy2 View Post
yes it is :(
Look around the forum, maybe someone unpacked it (its a habit around here to unpack packed clients).
07/16/2012 20:57 GFX'LER#78
i cant start it i get dc every time.. i changed the source to make items +50 but the client crashes all time
07/16/2012 21:09 intercsaki#79
Quote:
Originally Posted by GFX'LER View Post
i cant start it i get dc every time.. i changed the source to make items +50 but the client crashes all time
The source? Where did you get the source from? Officially it's not released. So there can be problems with it.

If you set the source to +7 as a max, it doesn't crash?

(By the way, can you upload it for us, please? So someone maybe can fix it.)
07/16/2012 22:10 GFX'LER#80
#Changed
07/16/2012 23:04 intercsaki#81
Quote:
Originally Posted by GFX'LER View Post
I decompiled it and then i changed the + to 50
but it doesnt works on nesro -__-

the game crashes because of other opcodes
the Fuse-O-Mat.exe works fine

[Only registered and activated users can see links. Click Here To Register...]

(MY.exe VIRUS TOTAL):
virus found (in original too ;) )

[Only registered and activated users can see links. Click Here To Register...]

(ORIGINAL.exe VIRUS TOTAL):
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]

Can you upload the decompiled source code? I wouldn't waste time searching around, and then I would link your post to the first post.
07/16/2012 23:17 GFX'LER#82
Quote:
Originally Posted by intercsaki View Post
Can you upload the decompiled source code? I wouldn't waste time searching around, and then I would link your post to the first post.

the tool works for you?
07/16/2012 23:20 Shishidump#83
Yea men.. I found the source..
If anyone can fix the problem that the program stuck at the end of the bar many ppl will be very happy I think :D

Edit : //
I tried to run the script and I allways got an disconnect..
Tried both the script and the normal Fuse program..
The normal one works :(((

Code:
#include <GUIConstants.au3>
#include <GUIListView.au3>
#include <EditConstants.au3>
#include <String.au3>

;Zeug
$wintitel = "Fuse-O-Mat v1.1"
$fusen = False
$fertig = True
$alle = false

;Load from Ini
$alchemy_packet = IniRead("settings.ini","opcodes","alchemy","")
$result_packet = IniRead("settings.ini","opcodes","result","")
$invupdate_packet = IniRead("settings.ini","opcodes","inventory_update","")
$slotclean_packet = IniRead("settings.ini","opcodes","slot_clean","")

;GUI
$fenster = GUICreate(""&$wintitel,300,400)
GUICtrlCreateLabel("Fuse bis +",20,20)
$plus_combo = GUICtrlCreateCombo("01",75,18,40,20)
GUICtrlSetData(-1, "02|03|04|05|06|07|08|09|10")
$start_btn = GUICtrlCreateButton("Start",20,50,100,40)
GUICtrlCreateLabel("Elexiere übrig: ",20,100)
$elexiere_box = GUICtrlCreateInput("n/a",150,100,30,20,$ES_ReadOnly)
GUICtrlCreateLabel("Lucky Powder übrig: ",20,120)
$powder_box = GUICtrlCreateInput("n/a",150,120,30,20,$ES_ReadOnly)
$leiste = GUICtrlCreateProgress(20,150,260,20)
$liste = GUICtrlCreateListView("Log",10,180,280,210)
_GUICtrlListView_SetColumnWidth($liste,0,250)
$header = HWnd(_GUICtrlListView_GetHeader($liste))
ControlDisable($fenster, "", $header)
GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Tool gestartet...",$liste)
GUISetState()

WinSetOnTop(""&$wintitel,"",1);

;connect to phCOnnector
TCPStartUp()
$socket = TCPConnect("127.0.0.1", 22580)
If $socket > 0 then
		GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Connected to phConnector...",$liste)
		_GUICtrlListView_Scroll($liste,0,20)
Else
		GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Connection Error!!!",$liste)
		_GUICtrlListView_Scroll($liste,0,20)
		Sleep(1000)
		Exit
EndIf


While 1

	$recv = ReadPacket()
	$msg = GUIGetMsg()

	If $recv<>"" then
		$size = Dec(StringMid($recv, 3, 2) & StringMid($recv, 1, 2))
		$opcode = StringMid($recv, 7, 2) & StringMid($recv, 5, 2)
		$data = StringMid($recv, 13)
		BeginParse($data, $size)

		;If $opcode = "B150" then ;Alchemy Result
		If $opcode = $result_packet then

			$ok    = ParseByte() ;->01
			if $ok= "01" then
				$dummy = ParseByte() ;->02
				$dummy = ParseByte() ;->01
				$iPos  = ParseByte() ;->11
				$dummy = ParseDWord() ; 00 00 00 00
				$iId   = ParseDWord() ;
				Global $plus  = ParseByte() ;->01

				GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Item ist +"&$plus, $liste)
				_GUICtrlListView_Scroll($liste,0,20)


				If $plus = GUICtrlRead($plus_combo) then
					GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Gewünsches + erreicht!", $liste)
					_GUICtrlListView_Scroll($liste,0,20)
					GUICtrlSetData($start_btn, "Start")
					$fusen = False
				EndIf

				GUICtrlSetData($leiste,0)
				$fertig = True
			Else
				GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Error Packet entdeckt! Gestopped.", $liste)
				_GUICtrlListView_Scroll($liste,0,20)
				GUICtrlSetData($leiste,0)
				GUICtrlSetData($start_btn, "Start")
				$fusen = False
			EndIF
		EndIf

		;If $opcode = "3040" then ;Inventar Update
		If $opcode = $invupdate_packet then

			$iPos = ParseByte() ;->Inv. Pos.
			$dummy  = ParseByte() ;->kp
			$iCount  = ParseWord() ;->Anzahl

			If $iPos = "0E" Then GUICtrlSetData($elexiere_box, Dec($iCount))
			If $iPos = "0F" Then GUICtrlSetData($powder_box, Dec($iCount))

		EndIf

		;If $opcode = "B034" then ;Slot clean
		If $opcode = $slotclean_packet then

			$ok = ParseByte()  ;->01
			$type = ParseByte() ;->0F

			if ($ok="01") and ($type="0F") then

				$iPos  = ParseByte() ;->0E

				If $iPos = "0E" Then
					$fusen = false
					$fertig = True
					GUICtrlSetData($elexiere_box, "0")
					GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Elexiere alle!",$liste)
					_GUICtrlListView_Scroll($liste,0,20)
				EndIf

				If $iPos = "0F" Then
					$fusen = false
					$fertig = true
					GUICtrlSetData($start_btn, "Start")
					GUICtrlSetData($powder_box, "0")
					GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Lucky Powder alle!",$liste)
					_GUICtrlListView_Scroll($liste,0,20)

				EndIf
			EndIf
		EndIf
	EndIf

	Switch $msg
	Case $GUI_Event_Close
		ExitLoop
	Case $start_btn
		If $fusen = FALSE Then
				$fusen = True
				GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Tool gestartet",$liste)
				_GUICtrlListView_Scroll($liste,0,20)
				GUICtrlSetData($start_btn, "Stopp")
		EndIf
	EndSwitch

	If $fusen = True And $fertig = True then

			$fertig = false
			GUICtrlCreateListViewItem(@HOUR&":"&@MIN&":"&@SEC&" - Am fusen...", $liste)
			_GUICtrlListView_Scroll($liste,0,20)
			;InjectPacket("7150", "0203030D0E0F")
			InjectPacket($alchemy_packet, "0203030D0E0F")
			GUICtrlSetData($leiste,20)
			sleep(900)
			GUICtrlSetData($leiste,40)
			sleep(900)
			GUICtrlSetData($leiste,60)
			sleep(900)
			GUICtrlSetData($leiste,80)
			sleep(900)
			GUICtrlSetData($leiste,100)
	EndIf

WEnd

;Read & Inject --------------------------------------------------------------------------------------------------------
Func ReadPacket()
	$recv = Hex(Binary(TCPRecv($socket, 2)))
	If $recv = "" Then
		Return ""
	Else
		$size = Dec(StringMid($recv, 3, 2) & StringMid($recv, 1, 2))
		$recv &= Hex(Binary(TCPRecv($socket, $size+4)))
		Return $recv
	EndIf
EndFunc

Func InjectPacket($opcode, $data, $security = "0100")
	$size = Hex(StringLen($data) / 2, 4)
	$size = StringMid($size, 3, 2) & StringMid($size, 1, 2)
	$opcode = StringMid($opcode, 3, 2) & StringMid($opcode, 1, 2)
	$packet = _HexToString($size & $opcode & $security & $data)
	TCPSend($socket, $packet)
EndFunc

;Parser ----------------------------------------------------------------------------------------------------------------
Func BeginParse($buffer, $size)
	Global $globalParseIndex = 1
	Global $globalParseSize = $size
	Global $globalParseBuffer = $buffer
EndFunc

Func ParseByte()
	$result = StringMid($globalParseBuffer, $globalParseIndex, 2)
	$globalParseIndex = $globalParseIndex + 2
	return $result
EndFunc

Func ParseWord()
	$low = ParseByte()
	$hi = ParseByte()
	return $hi & $low
EndFunc

Func ParseDword()
	$low = ParseWord()
	$hi = ParseWord()
	return $hi & $low
EndFunc

Func ParseQWord()
	$low = ParseDword()
	$hi = ParseDword()
	return $hi & $low
EndFunc

Func ParseAscii($length)
	$result = StringMid($globalParseBuffer, $globalParseIndex, $length * 2)
	$globalParseIndex = $globalParseIndex + ($length * 2)
	$len = StringLen($result)
	$strResult = ""
	For $i = 1 to $len Step 2
		$strResult = $strResult & Chr(Dec(StringMid($result, $i, 2)))
	Next
	return $strResult
EndFunc
07/16/2012 23:28 GFX'LER#84
#Changed
07/17/2012 00:12 intercsaki#85
Quote:
Originally Posted by GFX'LER View Post
the tool works for you?
I could start, but did not try to run sro, I'm running other apps which consume my ram. Later I'll try. Can you upload your decompiled source code? The one you edited, and recompiled.

Thanks in advance.

Quote:
Originally Posted by Shishidump View Post
Yea men.. I found the source..
If anyone can fix the problem that the program stuck at the end of the bar many ppl will be very happy I think :D

Edit : //
I tried to run the script and I allways got an disconnect..
Tried both the script and the normal Fuse program..
The normal one works :(((


Try for sharing. ^^
07/17/2012 00:15 GFX'LER#86
try to run and try to pimp..
i think it wont work
07/17/2012 00:27 Shishidump#87
The script I posted doesnt work for me..
We need one who can edit the source to get work ..

I have a tipp :
It works for me ( Win 7 Ultimate x64 ) :
-> Right click on ur desktop
-> Adept
-> Change ur Style to Windows 7 - Basis

On the .exe of the program :
-> Righ click on it
-> Settings
-> Compatibility
-> Windows XP Service Pack 3
-> Tick Run as administrator

Now try the alchemy tool ...
07/17/2012 00:49 Devsome#88
Quote:
Originally Posted by intercsaki View Post
I could start, but did not try to run sro, I'm running other apps which consume my ram. Later I'll try. Can you upload your decompiled source code? The one you edited, and recompiled.

Thanks in advance.




Try for sharing. ^^
He got the source from the owner ;)
[Only registered and activated users can see links. Click Here To Register...]
07/17/2012 00:51 Shishidump#89
Yea I found it there..
I never said it is mine and I decompiled it?

That was a other guy....
07/17/2012 07:27 leboreiro#90
Quote:
Originally Posted by intercsaki View Post
Oh, 64 bit! Number one source of problems. :)

It seems anyway that the tool has been written poorly even for 32bit systems, not even to mention 64bit ones...
this tool works great on my w7 ultimate 64bits . it works for me even for +09 . but after +10 it wont stop . so ur item will fail eventually.

i had before w7 32bits . and letme tell u i've never seen more stability on a operative system. 64bits FTW

unfortunadely i don't know at all that autoit languange.. i barely have some c++ knowledge .

basically the tool need only 1 thing. it has to stop when a plus over +10 gets reached .. coz the original works till +09. you just have to write it .