ฟอรั่มของบล็อก http://pssix.blogspot.com


เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

Share

scanditionx
PSsix Member Class III
PSsix Member Class III

PSsix Game Coder
จำนวนข้อความ : 51
ความนิยม : 0
เข้าร่วมเมื่อ : 02/10/2010
อายุ : 28
ที่อยู่ : ดาวโลก

เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by scanditionx on 25/07/11, 12:44 pm

อยากจะให้ โปรแกรมตรวจจับชื่อ Monster โดยอ้างอิงจาก IniRead ที่เราบันทึกไว้ แล้วนำไปใช้กับคำสั่ง
Mouse Click ผมเคยเห็นผ่านๆแต่ไม่แน่ใจว่า จะใช้คำสั่งเดียวกันหรือเปล่า

File.ini ที่เราบันทึกชื่อ Monster ไว้ >>> โปรแกรมตรวจจับข้อความที่พบในหน้าจอ
หากพบคำที่เรา บันทึกไว้ใน File.ini สั่ง Mouse Click ตรงข้อความนั้น

ประมาณนี้ล่ะครับ



Fast
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Program Coder
จำนวนข้อความ : 217
ความนิยม : 52
เข้าร่วมเมื่อ : 19/06/2011

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by Fast on 25/07/11, 09:34 pm

มี AI ที่ทำขายกัน ตรวจชื่อได้ ตั้งตีเฉพาะตัวได้ โปรแกรม AI ทำมาจาก VB ครับ autoit ไม่รู้ทำได้หรือเปล่า

loveapple244
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by loveapple244 on 26/07/11, 10:00 am

VBกับAUTOITรู้สึกว่ารูปแบบคล้ายกันนะครับ
ถ้าทำได้ขอโค๊สVBบ้างครับจะดัดแปลงสู่ AUTOIT

loveapple244
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by loveapple244 on 26/07/11, 12:21 pm

#Include <Memory.au3>
_MemMoveMemory($pSource, $pDest, $iLength)

ช่วยขยายความทีครับงงมาก- -*

POS
PSsix
PSsix


จำนวนข้อความ : 1151
ความนิยม : 323
เข้าร่วมเมื่อ : 19/07/2010

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by POS on 26/07/11, 02:17 pm

ต้องใช้วิธีการอ่านค่าจากหน่วยความจำ (ของเกมส์) ใช้ไฟล์ NomadMemory.au3 วิธีการคร่าวๆ ดูได้จากลิงก์ด้านล่างนี้

[You must be registered and logged in to see this link.]






||----------------------------------------------------------------------------------------------------------------||

กลุ่ม AutoIt ในเฟสบุ๊ค
[You must be registered and logged in to see this link.]

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com

loveapple244
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 160
ความนิยม : 9
เข้าร่วมเมื่อ : 15/07/2011

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by loveapple244 on 26/07/11, 08:13 pm

Auto figth มาจากสูตรไหนของAutoitงับ แต่ที่ลบทำมันทำให้โชว์ เงิน HP MP ในเกมส์มาสู่
Buttonอะงับแต่ทำให้มันเข้าสูตรอ่านค่าชื่อไม่เป็น- -*ขอความรู้ถ้าผิดหรือมีผลทางกฏหมายขอโทษด้วยครับ

scanditionx
PSsix Member Class III
PSsix Member Class III

PSsix Game Coder
จำนวนข้อความ : 51
ความนิยม : 0
เข้าร่วมเมื่อ : 02/10/2010
อายุ : 28
ที่อยู่ : ดาวโลก

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by scanditionx on 27/07/11, 10:12 pm

ขอบคุณที่แนะนำความรู้ดีๆให้ครับ

scanditionx
PSsix Member Class III
PSsix Member Class III

PSsix Game Coder
จำนวนข้อความ : 51
ความนิยม : 0
เข้าร่วมเมื่อ : 02/10/2010
อายุ : 28
ที่อยู่ : ดาวโลก

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by scanditionx on 27/07/11, 10:51 pm

ตัวอย่างที่ผมทดสอบเอามาให้ดูครับเพื่อศึกษาครับ แบบที่ 1

#include <NomadMemory.au3>
Func _Run1()
WinActivate ('XXXX') ;ชื่อเกม
Return
EndFunc

While 1
Start()
Sleep(100)
WEnd

Func Start()
_Run1()
$iv_Pid = ProcessExists ( "xxx.exe" ) ;ชื่อเกมอยู่ใน Process List task manager
$MemoryOpen = _MemoryOpen($iv_Pid)
while 2
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen) ; F420D3C ได้จากการใช้ CheatEngine หาค่าของ Hp ตัวผู้เล่น
ToolTip($Mem_Read,0,0,"HP ")
Sleep(100)
WEnd


_MemoryClose($MemoryOpen)
EndFunc


แก้ไขล่าสุดโดย scanditionx เมื่อ 27/07/11, 11:21 pm, ทั้งหมด 2 ครั้ง

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by flapjack on 27/07/11, 11:07 pm

scanditionx พิมพ์ว่า:ตัวอย่างที่ผมทดสอบเอามาให้ดูครับเพื่อศึกษาครับ แบบที่ 1

#include <NomadMemory.au3>
Func _Run1()
WinActivate ('XXXX') ;ชื่อเกม
Return
EndFunc

While 1
Start()
Sleep(100)
WEnd

Func Start()
_Run1()
$iv_Pid = ProcessExists ( "xxx.exe" ) ;ชื่อเกมอยู่ใน Process List task manager
$MemoryOpen = _MemoryOpen($iv_Pid)
while 2
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen) ; F420D3C ได้จากการใช้ CheatEngine หาค่าของ Hp ตัวผู้เล่น
ToolTip($Mem_Read,0,0,"HP ")
Sleep(100)
WEnd


_MemoryClose($MemoryOpen)
EndFunc

จากโค๊ดข้างบน สามารถนำค่า $Mem_Read มาตั้งเป็นเงื่อนไขได้แล้วใช่ไหมครับ...($Mem_Read = value ) em230

scanditionx
PSsix Member Class III
PSsix Member Class III

PSsix Game Coder
จำนวนข้อความ : 51
ความนิยม : 0
เข้าร่วมเมื่อ : 02/10/2010
อายุ : 28
ที่อยู่ : ดาวโลก

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by scanditionx on 27/07/11, 11:25 pm

อันนี้เกี่ยวกับเงื่อนไขครับ แก้ไข


#include <NomadMemory.au3>
Func _Run1()
WinActivate ('xxxx') ;ชื่อเกม
Return
EndFunc
While 1

Start()

Func Start()
$Process_Pid = ProcessExists ( "xxxx.exe" )
$MemoryOpen = _MemoryOpen($Process_Pid)
$Hp = '1000' ; เลือดที่กำหนด
while 2
_Run1()
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen)
ToolTip($Mem_Read,0,0,"HP")
if ($Mem_Read) < $Hp Then ;หาก เลือดน้อยกว่า 1000 กด ปุ่ม5
send ("{5}")
sleep(100)
EndIf
WEnd
_MemoryClose($MemoryOpen)
EndFunc


แก้ไขล่าสุดโดย scanditionx เมื่อ 28/07/11, 11:18 am, ทั้งหมด 1 ครั้ง

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Moderator PSsix Master PSsix Game Coder
จำนวนข้อความ : 311
ความนิยม : 74
เข้าร่วมเมื่อ : 05/10/2010

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by flapjack on 27/07/11, 11:36 pm

scanditionx พิมพ์ว่า:อันนี้เกี่ยวกับเงื่อนไขครับ


#include <NomadMemory.au3>
Func _Run1()
WinActivate ('xxxx') ;ชื่อเกม
Return
EndFunc
While 1
Start()
Sleep(50)
WEnd

Func Start()
$Process_Pid = ProcessExists ( "xxxx.exe" )
$MemoryOpen = _MemoryOpen($Process_Pid)
$Hp = '1000' ; เลือดที่กำหนด
while 2
_Run1()
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen)
ToolTip($Mem_Read,0,0,"HP")
if ($Mem_Read) < $Hp Then ;หาก เลือดน้อยกว่า 1000 กด ปุ่ม5
send ("{5}")
sleep(100)
EndIf
WEnd
_MemoryClose($MemoryOpen)
EndFunc

ถ้าผมประกาศ Global $Mem_Read
แล้วมาสร้าง Func(if)อีกที สามารถทำได้ไหมครับ....

Fast
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Program Coder
จำนวนข้อความ : 217
ความนิยม : 52
เข้าร่วมเมื่อ : 19/06/2011

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by Fast on 28/07/11, 12:50 pm

Star Defender 3 ทำงัยถึงอ่านค่าจรวดจะแก้จำนวนจรวดทำแบบไหนครับ [You must be registered and logged in to see this link.] ทำแก้คะแนนก็ได้ครับอยากได้วิธีทำแบบภาษาไทย




DarkWarrior
PSsix Member
PSsix Member


จำนวนข้อความ : 27
ความนิยม : 1
เข้าร่วมเมื่อ : 28/07/2011
ที่อยู่ : ดาวนาเม็ก

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by DarkWarrior on 28/07/11, 12:56 pm

ใช้ CheatEngine สิครับ ลองเปิดดูใน Google มีสอนครับ
พอดีเครื่องที่ บริษัทเปิดบางเว็บไม่ได้ เย็นๆเดี๋ยวผม เข้าไปดูให้ครับ

#include <NomadMemory.au3>
Func _Run1()
WinActivate ('xxxx') ;ชื่อเกม
Return
EndFunc
While 1

Start()

Func Start()
$Process_Pid = ProcessExists ( "xxxx.exe" )
$MemoryOpen = _MemoryOpen($Process_Pid)
$Hp = '1000' ; เลือดที่กำหนด
while 2
_Run1()
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen);F420D3C นี้คือค่าที่ได้จากการใช้ โปรแกรม CheatEngine หาค่ามา ครับ
ToolTip($Mem_Read,0,0,"HP")
if ($Mem_Read) < $Hp Then ;หาก เลือดน้อยกว่า 1000 กด ปุ่ม5
send ("{5}")
sleep(100)
EndIf
WEnd
_MemoryClose($MemoryOpen)
EndFunc

ท่าน Scanditionx เป็นเพื่อนผมเองตอนนี้เขาไม่ว่างและครับ คงจะไม้ได้มาอีกนานเลย ส่วนผมพึ่งศึกษาเหมือนกันผิดถูกยังไงก็ขออภัย :lol!: นะครับ

DarkWarrior
PSsix Member
PSsix Member


จำนวนข้อความ : 27
ความนิยม : 1
เข้าร่วมเมื่อ : 28/07/2011
ที่อยู่ : ดาวนาเม็ก

Re: เกี่ยวกับ IniRead,IniWrite กับเงื่อนไขนี้ครับ

ตั้งหัวข้อ by DarkWarrior on 28/07/11, 02:02 pm

flapjack พิมพ์ว่า:
ถ้าผมประกาศ Global $Mem_Read
แล้วมาสร้าง Func(if)อีกที สามารถทำได้ไหมครับ...>>>>>ได้ครับ

#include <NomadMemory.au3>
Global $Mem_Read

Func _Run1()
WinActivate ('xxxx') ;ชื่อเกม
Return
EndFunc
While 1

Start()

Func Start()
$Process_Pid = ProcessExists ( "xxxx.exe" )
$MemoryOpen = _MemoryOpen($Process_Pid)
$Hp = '1000' ; เลือดที่กำหนด
while 2
_Run1()
$Mem_Read = _MemoryRead('0x' & 'F420D3C', $MemoryOpen);F420D3C นี้คือค่าที่ได้จากการใช้ โปรแกรม CheatEngine หาค่ามา ครับ
ToolTip($Mem_Read,0,0,"HP")
if $Mem_Read < $Hp Then ;หาก เลือดน้อยกว่า 1000 ไปที่ Func
_Test()
sleep(100)
EndIf
WEnd
_MemoryClose($MemoryOpen)
EndFunc

Func _Test()
Send("{A}")
Sleep(100)
EndFunc


    เวลาขณะนี้ 23/02/17, 06:51 pm