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


ถามเกี่ยวกับ AutoIt + R_O ครับ

Share
avatar
papayaman
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 6
ความนิยม : 0
เข้าร่วมเมื่อ : 09/10/2012

ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by papayaman on 12/10/12, 02:23 pm

ทดลองใช้ AutoIt + Ro(เถื่อน) ครับ
สิ่งที่ทดลองคื
1.ทดสอบให้มันปั้มยาเอง
2.ทดสอบให้มันค้นหา Monster แล้วจัดการมันซะ

ผลลัพธ์
1.สามาปั้มยาเองได้ คำสั่ง PixelGetColor ใช้ได้ครับ
2.ไม่สามารถทำได้ครับ รู้สึกว่ามันจะอ้างอิงตำแหน่งเวลาคลิกมั่วครับ เช่น
ผมใช้ MouseClick("Left",481, 278,1,0) มันก็คลิกเมาส์ไปมั่วครับ ไม่กลับมาคลิกที่ตำแหน่งเดิม(ตามรูปด้านล่าง)

จึงอยากถามว่า
1.ที่ผมไม่สามารถใช้คำสั่ง MouseClick ได้เป็นเพราะว่าโปรแกรม AntiHack ,HackSheild หรือว่า Code ที่ทดสอบผิดพลาด
2.ถ้าติด Antihack,Hacksheild วิธีแก้ไขสามารถใช้วิธีอื่นนอกจาก วิธี by pass ไหมครับ


Code:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)
HotKeySet("{ESC}", "stop")

;;;;;;; Monster ;;;;;;;
Global $monster_drop = 0xE7AD84    ; Drop
Global $monster_poring = 0xEF7B7B  ; Poring
Global $monster_fabre = 0xF6FDC2    ; Fabre

;;;;;; Area Fight ;;;;;;;;;
Local $area[4] =[121, 181,737, 485]
 
if WinExists("Ragnarok") Then WinActivate("Ragnarok")
  While 1
 
    _FindMonster()
    _UsePotion()

  Sleep(100)
  WEnd

Func _FindMonster()
        $coord = PixelSearch( $area[0],$area[1],$area[2],$area[3], $monster_drop )
    If Not @error Then
        ConsoleWrite("Mouse x,y:"&$coord[0] & "," & $coord[1]&@CRLF)
        MouseClick("Left",$coord[0] ,$coord[1],1,0)
    EndIf
  Sleep(1000)
EndFunc

Func _UsePotion()
  if PixelGetColor(132, 57)= 0xD6DEDE Then Send("{F1}")
EndFunc

Func stop()
  ConsoleWrite(@CRLF&"exit"&@CRLF)
    Exit
EndFunc




ขอบคุณครับ em229
avatar
POS
PSsix
PSsix


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

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by POS on 13/10/12, 09:57 am

ถ้าคุณคลิกในเกมส์ได้ แต่คลิกมั่ว แสดงว่าไม่ได้ติดตัวป้องกันครับ แต่อ้างอิงตำแหน่งคลิกผิด ที่เป็นไปได้ในกรณีนี้คือ อ้างอิงจากหน้าจอ ซึ่งที่จริงแล้วต้องอ้างอิงจากกรอบหน้าต่างเกมส์

วิธีอ้างอิงพิกัดให้ถูกต้องอ่านตัวอย่างในบทที่ 8 ตามลิงก์ด้านล่างนี้(ทดลองทำจากตัวอย่างให้เข้าใจด้วยยิ่งดี)

[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
avatar
papayaman
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 6
ความนิยม : 0
เข้าร่วมเมื่อ : 09/10/2012

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by papayaman on 14/10/12, 12:32 am

POS พิมพ์ว่า:ถ้าคุณคลิกในเกมส์ได้ แต่คลิกมั่ว แสดงว่าไม่ได้ติดตัวป้องกันครับ แต่อ้างอิงตำแหน่งคลิกผิด ที่เป็นไปได้ในกรณีนี้คือ อ้างอิงจากหน้าจอ ซึ่งที่จริงแล้วต้องอ้างอิงจากกรอบหน้าต่างเกมส์

วิธีอ้างอิงพิกัดให้ถูกต้องอ่านตัวอย่างในบทที่ 8 ตามลิงก์ด้านล่างนี้(ทดลองทำจากตัวอย่างให้เข้าใจด้วยยิ่งดี)

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

ทำตามตั้งแต่แรกแล้วครับผม
ผมจึงได้คำสั่งนี้มา
Code:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)

ตอนทำตามตัวอย่างก็ใช้ได้อยู่นะครับอ้างอิงหน้าต่าง Client ได้ถูกต้อง เอาหน้าต่าง System Configuration ไปวาง
ไว้ตำแหน่งต่างๆ ของหน้าจอ เมาส์ก็จะไปคลิกตำแหน่งที่กำหนดได้อย่างถูกต้องครับ.....แต่พอนำมาประยุกต์ใช้กับ R_0
มันไม่สามารถใช้ได้ครับ อย่างเช่น
ผมใช้โปรแกรม AutoIt v3 Window Info จิ้มไปที่พิกัด 212,8 ของ Client R_O ได้ค่าสี 0x08215A
ตามรูปด้านล่างครับ





ผมทดสอบใช้ script
Code:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)

If WinExists("Ragnarok") Then WinActivate("Ragnarok")
ConsoleWrite(Hex(PixelGetColor(212, 8),6)&@CRLF)
ได้ผลลัพท์คือ
>C:\program files\autoit3\autoit3.exe "C:\Users\WTF\Desktop\tutorial8.au3"
08215A
>Exit code: 0 Time: 0.514

สีจากโปรแกรม AutoIt v3 Window Info และจาก Script ที่เขียน ตรงกันครับ แสดงว่าพิกัดนี้ไม่ fake

หลังจากที่ใช้คำสั่ง PixelGetColor สำเร็จแล้วผมก็มาต่อด้วยเมาส์ครับ
เขียนคำสั่ง MouseClick("",212, 8,1,50) ลงไปใน scrip แล้ว มันก้เหมือนเดิมครับ เหมือนมันจะอ้างอิงตำแหน่งของหน้าต่างอื่น...ครับ ซึ่ง...ผมก็ใช้คำสั่ง Opt("MouseCoordMode", 2) แล้วนะครับ
อีกคำสั่ง MouseGetPos ก็ใช้ไม่ได้ครับ
em228 em228
avatar
POS
PSsix
PSsix


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

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by POS on 14/10/12, 07:50 am

คุณลองนำสคริปต์ด้านล่างนี้ไปทดสอบดูก่อน ถ้าใช้งานได้เม้าส์จะคลิกตามแนวขวาง โดยเริ่มคลิกจาะขอบซ้ายสุดไปยังขอบขวาสุด

ถ้าคลิกตามแนวขวางได้ แสดงว่าสคริปต์คุณเขียนผิดสักจุดหนึ่ง แต่ถ้ายังคลิกมั่ว ไม่ได้คลิกตามแนวขวางของหน้าต่างเกมส์ แสดงว่า AutoIt ไม่สามารถใช้ได้กับเกมส์ที่คุณทำ


Code:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)


If WinExists("Ragnarok") Then WinActivate("Ragnarok")

Sleep(1000)
$size = WinGetPos("[active]")

For $i = 1 To $size[2]
   Sleep(10)
   MouseClick("left", $i * 5, $size[1] + 200)
   If $i * 5 + 10 > $size[2] Then Exit
Next


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

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

++++++++++++++++++++++++++++++++++++++++++++
pssix.blogspot.com
avatar
papayaman
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 6
ความนิยม : 0
เข้าร่วมเมื่อ : 09/10/2012

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by papayaman on 14/10/12, 01:34 pm

POS พิมพ์ว่า:คุณลองนำสคริปต์ด้านล่างนี้ไปทดสอบดูก่อน ถ้าใช้งานได้เม้าส์จะคลิกตามแนวขวาง โดยเริ่มคลิกจาะขอบซ้ายสุดไปยังขอบขวาสุด

ถ้าคลิกตามแนวขวางได้ แสดงว่าสคริปต์คุณเขียนผิดสักจุดหนึ่ง แต่ถ้ายังคลิกมั่ว ไม่ได้คลิกตามแนวขวางของหน้าต่างเกมส์ แสดงว่า AutoIt ไม่สามารถใช้ได้กับเกมส์ที่คุณทำ


Code:
Opt("MouseCoordMode", 2)
Opt("PixelCoordMode", 2)
Opt("CaretCoordMode", 2)


If WinExists("Ragnarok") Then WinActivate("Ragnarok")

Sleep(1000)
$size = WinGetPos("[active]")

For $i = 1 To $size[2]
   Sleep(10)
   MouseClick("left", $i * 5, $size[1] + 200)
   If $i * 5 + 10 > $size[2] Then Exit
Next

ใช้ไม่ได้ครับ มันคลิกที่มุมซ้ายล่างตลอด....ครับ มองไม่เห็น pointer ด้วยครับ
พอลองรันบน client อื่นๆ คลิกเป็นแนวขวางปกติ

สรุปคือ ใช้ mouseclick ไม่ได้ครับ em228 em228

Fast
PSsix Member Super Class III
PSsix Member Super Class III

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

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by Fast on 14/10/12, 06:19 pm

ทำเป็น 64 บิตยังท่าน
avatar
papayaman
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 6
ความนิยม : 0
เข้าร่วมเมื่อ : 09/10/2012

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by papayaman on 15/10/12, 11:11 am

Fast พิมพ์ว่า:ทำเป็น 64 บิตยังท่าน

ยังอ่า ครับ ผมใช้ win7 32bit

loveapple244
PSsix Member Super Class II
PSsix Member Super Class II

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

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by loveapple244 on 09/11/12, 09:17 am

ต้องใช้หารูปแทนเกมส์พวกนี้สีมันเหมือนกันเยอะพื้นเป็นสีเขียวมอนเป้นสีเขียวทำได้แค่วิธีเดียวหารูป

momo1180
มือใหม่เพิ่งสมัคร
มือใหม่เพิ่งสมัคร


จำนวนข้อความ : 2
ความนิยม : 0
เข้าร่วมเมื่อ : 20/07/2016

Re: ถามเกี่ยวกับ AutoIt + R_O ครับ

ตั้งหัวข้อ by momo1180 on 07/08/16, 05:14 pm

ถ้าใช้กับเกมส์ ROEXE ต้องใช้กับ VMware หรือ windows xp ครับ

    เวลาขณะนี้ 24/09/17, 03:46 pm