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


แนะนำทีครับ

Share

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


จำนวนข้อความ : 3
ความนิยม : 0
เข้าร่วมเมื่อ : 29/06/2013

แนะนำทีครับ

ตั้งหัวข้อ by peelapas on 30/06/13, 12:45 pm

พอดีผมกำลังฝึกเขียนสคริปสำหรับเกม ให้กดเก็บไอเท็ม

ผมเขียนออกมาได้ดังนี้

Global $GameHD

Func _PSsixLoadH($gtitle)
$GameHD = WinGetHandle($gtitle)
If @error Then
MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
Else
Return 1
EndIf
EndFunc

If _PSsixLoadH("Ragnarok") Then WinActivate($GameHD)


While 1
$coord = PixelSearch(30, 50, 1566, 814, 0xA1C2F1)
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
Sleep(30)
MouseClick("",$coord[0] ,$coord[1],1,0)
Sleep(1)
EndIf
Sleep(20)
WEnd

***********แต่ว่า มันจะมีอาการเออเร่อ คลิกมั่วๆ เพราะในหน้าจอมีพิกเซวสีเหมือนกับที่ตั้งไว้
ผมพยายาม ทำความเข้าใจกับบทที่5 ที่ว่า กำหนด2สี เพื่อให้มีความแม่นยำ

HotKeySet("{Esc}", "stop")
Global $GameHD

Func _PSsixLoadH($gtitle)
$GameHD = WinGetHandle($gtitle)
If @error Then
MsgBox(4096, "Error", "ไม่พบหน้าต่างเกม")
Else
Return 1
EndIf
EndFunc

If _PSsixLoadH("Ragnarok") Then WinActivate($GameHD)


While 1
$coord = PixelSearch(30, 50, 1566, 814, 0x706E63)
If IsArray($coord) Then
If PixelGetColor($coord[0] + 0, $coord[1] + 13) = 0xA1C2F1 Then
MouseClick("Left", $coord[0] + 0, $coord[1] + 13, 1, 0)
Sleep(10)
EndIf
Sleep(10)
EndIf
WEnd

Func stop()
ToolTip('stop', 0, 0)
Sleep(500)
Exit
EndFunc


แต่เหมือนมันจะไม่คลิกเลยครับ ควรแก้ตรงไหนดี
avatar
flapjack
PSsix Member Super Class III
PSsix Member Super Class III

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

Re: แนะนำทีครับ

ตั้งหัวข้อ by flapjack on 01/07/13, 09:05 pm

ลองใส่ else ใน if ในสุด ดูน่ะครับ
แล้วใช้คำสั่ง
Code:
ConsoleWrite
เช็คเอาว่าแสดงผลอะไรขึ้นมา(ที่ไม่คลิกแสดงว่าค่าสีที่ได้ออกมานั้นไม่ตรงที่กำหนดไว้)

    เวลาขณะนี้ 25/06/17, 02:02 am