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


พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

Share

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


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

พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by kornvampirekorn on 11/02/12, 11:33 pm

รบกวนพี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ em230

แบบว่าหามอนที่สี 0x182029 ใน 267,126,1024,559 แล้วเช็คที่สี 0xBD1818 ถ้ายังไม่หายให้กด 1 ต่อ ทีนี้ผมลองรันสคิปแล้วที่สี 0xBD1818 ใน 558,75,710,97 ยังไม่ทันหายไปเลยมานดันไปคลิ๊กที่สี 0x182029 ใหม่ต่อเลยครับ ในพื้นที่ 267,126,1024,559 (สี 0xBD1818 พื้นที่ใน 558,75,710,97 คือบริเวณหลอด hp ของมอนครับ) พี่ๆช่วยแนะนำด้วยครับ
หมายเหตุ ต้องการให้ตีตัวที่ 1 จนจบก่อนแล้วค่อยหาตัวใหม่ต่อครับ

While 1
$coord = PixelSearch( 267,126, 1024,559, 0x182029 )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
ControlSend($GameHD, "", "", "1")
While PixelGetColor("",$coord[0] , $coord[1])=PixelSearch( 558,75, 710,97, 0xBD1818 )
ControlSend($GameHD, "", "", "1")
WEnd
EndIf
Sleep (10)
ControlSend($GameHD, "", "", "5")
Sleep(10)
ControlSend($GameHD, "", "", "6")
Sleep(10)
ControlSend($GameHD, "", "", "7")
Sleep(10)
MouseClick("left",627,555,1,10)
Sleep (50)
MouseClick("left",627,555,1,10)
Sleep (100)
If PixelGetColor(130, 98) = 0x525131 Then
Send("q")
EndIf
Sleep(100)
If PixelGetColor(101, 110) = 0x525131 Then
Send("w")
EndIf
Sleep(100)
If PixelGetColor(117, 146) = 0x5A5539 Then
Send("e")
EndIf
Sleep(100)
If PixelGetColor(148, 161) = 0x5A5142 Then
Send("r")
EndIf
Sleep(100)
$coord = PixelSearch( 267,126, 1024,559, 0xD600AD )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
EndIf
Sleep(100)
$coord = PixelSearch( 267,126, 1024,559, 0xE77510 )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
EndIf
Sleep(100)
$coord = PixelSearch( 267,126, 1024,559, 0x944500 )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
EndIf
Sleep(100)
$coord = PixelSearch( 267,126, 1024,559, 0x522C00 )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
EndIf
Sleep(100)
WEnd
avatar
Hiewsound
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 91
ความนิยม : 33
เข้าร่วมเมื่อ : 08/01/2012

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by Hiewsound on 12/02/12, 03:54 am

สคริปคุณดูแล้ว ยาวแท้เหลา พยายามยุบรวมกันได้รึเปล่าครับ ว่าแต่เกมอารายอ่ะครับ เผื่อผมเคยเล่นแล้วจาได้ช่วยแก้ไขได้

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


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

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by kornvampirekorn on 13/02/12, 02:35 pm

พอดีเพิ่งเริ่มศึกษาแล้วก็ลองหัดเขียนครับ ช่วยดูเฉพาะส่วนนี้ก็พอครับ
While 1
$coord = PixelSearch( 267,126, 1024,559, 0x182029 )
If Not @error Then
MouseClick("",$coord[0] ,$coord[1],1,0)
ControlSend($GameHD, "", "", "1")
While PixelGetColor("",$coord[0] , $coord[1])=PixelSearch( 558,75, 710,97, 0xBD1818 )
ControlSend($GameHD, "", "", "1")
WEnd
EndIf
Sleep (10)

แบบว่าหามอนที่สี 0x182029 ใน 267,126,1024,559 แล้วเช็คที่สี 0xBD1818 ถ้ายังไม่หายให้กด 1 ต่อ ทีนี้ผมลองรันสคิปแล้วที่สี 0xBD1818 ใน 558,75,710,97 ยังไม่ทันหายไปเลยมานดันไปคลิ๊กที่สี 0x182029 ใหม่ต่อเลยครับ ในพื้นที่ 267,126,1024,559 (สี 0xBD1818 พื้นที่ใน 558,75,710,97 คือบริเวณหลอด hp ของมอนครับ) พี่ๆช่วยแนะนำด้วยครับ
หมายเหตุ ต้องการให้ตีตัวที่ 1 จนจบก่อนแล้วค่อยหาตัวใหม่ต่อครับ


loveapple244
PSsix Member Super Class II
PSsix Member Super Class II

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

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by loveapple244 on 14/02/12, 02:29 pm

267,126, 1024,559 คือรูปสี่เหลี่ยมเกือบเต็มหน้าจอหรือขนาดจอ1024*559-768อันนี้ก็ไม่ดีแล้วนะครับน่าจะใช้อยู่ในช่วง 900*800เพราะมันกว้างไป
0x182029(สีดำ)0xBD1818(สีแดง)ปกติก็ถูกแล้วครับต้องทำการPixelSearchแต่ไม่ได้ใช้
If Not @error Then จะเป็นถ้า if (0xBD1818) = then MouseClickเพราะว่าถ้าทำอย่างข้างบนปัญหาคือมันจะทำซ้ำคือหาสีแดงได้แล้วก็ยังค้นหาอีกถ้าเกิดใน267,126, 1024,559มีสีแดงซะ5จุดก็เวียนหัวแล้วครับ- -*ฉะนั้นให้มันหาค่าแดงครั่งเดียวก็พอแล้วก็ PixelGetColor("",$coord[0] , $coord[1])=PixelSearch( 558,75, 710,97, 0xBD1818 )ดูแล้วมันคือปามานกลางบนค้นหาใส่วินาทีด้วยก็ดีนะครับเพราะรัวไปน่าจะใส่ซะ sleep(1000)เป็นตัวอย่างนะแล้วก็ControlSend($GameHD, "", "", "1")ใช้ไม่ได้เพราะข้างบนไม่มีการประกาศทั้งเกมส์Global อ่าแต่ดูจากรูปแล้วใช้ในรูปแบบสมมุติเกมส์ชื่อASDก็เป็น("ASD", "", "", "{1}")แทน+ชัวกว่าแล้วก็ใส่sleepเหมือนเดิมซะ100ถ้าใช้ในรูปif ดีสุดแต่ต้องเอาไปรวมใน fuce ชื่อฟังก์ชั่น() endfuce นะ คือจะบอกว่าทำรูป if มันจะเห็นผล2อย่างเองครับจริงกับเท็จ ในรูปความคิดคือสมมุติว่ามอนไม่ตายเลือดยังเป็นสีแดงแปลว่าเป็นจริงอยู่พอไม่มีสีแดงแล้วก็ให้ยกเลิกการControlSendแล้วทำการPixelSearchโดยใช้2PixelSearchนะครับPixelSearchอันแรกไว้หามอนพอหาได้แล้วส่งไปที่PixelSearchที่2เพื่ออะไรก็เพื่อให้ทราบว่าเลือดมอนสีแดงคือมอนเตอร์ยังคงไม่ตายก็ทำการส่งคีบอร์ดตามต้องการหรือเม้าส์คริ๊กอะไรก็ตามสะดวกแล้วก็พอหมดสีดังกล่าวก็ถึงเอาไป looping ซึงจากข้างบนนั้นเป็นแค่การหาสีมอนสีแดงโดนใช้คลิ๊ก1ทีแล้วคีบอร์ดดึงมอนเท่าที่ดูจากสคิปคือเห็นมอนสีเลือดจากจุดกลางยังไม่ได้ทำทำเพิ่มเลยครับทำเหมือน$coord = PixelSearch( 267,126, 1024,559, 0x182029 ) นั้นละแต่เปลี่ยนตำแหน่งที่ได้ไปอยู่ที่ขีดเลือดขอจบการช่วยเหลือครับอิอิจริงกระผมก็มะเคยเล่นตัวนี้เท่าไหร่ผมเน้นไปที่ซี- -*แต่เห็นแล้วคล้ายกัลมาก

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


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

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by kornvampirekorn on 15/02/12, 06:28 pm

ผมยัง งงกับส่วนที่ว่า สมมุติชื่อเกมคือ ASD ต้องนำไปใส่ตรงไหนมั่งครับ
ปล.นี่คือสคลิปส่วนหัวเริ่มตั้งแต่บรรทัดที่ 1 ครับ

Global $GameHD
HotKeySet("{ESC}", "stop")
Func stop()
ToolTip('หยุดการทำงาน', 0, 0)
Sleep(500)
Exit
EndFunc

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

If _PSsixLoadH("ข้อความตรงนี้คือชื่อเกมบนเบราว์เซอร์ที่ผมเล่นครับ") Then WinActivate($GameHD)
While 1

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


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

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by kornvampirekorn on 15/02/12, 06:46 pm

แก้เป็นแบบบนี้ถูกต้องมั้ยครับ ถ้าไม่ถูกต้องรบกวนพี่ๆช่วยชี้แนะต่อด้วยครับ
ขอบคุณครับ



While 1
$coord = PixelSearch( 267,126, 1024,559, 0x182029 )
if (0xBD1818) = then MouseClick
MouseClick("",$coord[0] ,$coord[1],1,0)
("ตรงส่วนนี้คือชื่อเกมที่สมมุติว่าชื่อ ASD ถูกมั้ยครับ", "", "", "{1}")
sleep(1000)
While PixelGetColor("",$coord[0] , $coord[1])=PixelSearch( 558,75, 710,97, 0xBD1818 )
sleep(1000)
("ตรงส่วนนี้คือชื่อเกมที่สมมุติว่าชื่อ ASD ถูกมั้ยครับ", "", "", "{1}")
sleep(1000)
WEnd
EndIf
Sleep (10)

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


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

Re: พี่ๆช่วยชี้จุดบกพร่องของสคลิปนี้ให้หน่อยครับ

ตั้งหัวข้อ by kornvampirekorn on 15/02/12, 07:01 pm

แก้อีกนิดครับดูพลาดไป 1 บรรทัด

While 1
$coord = PixelSearch( 267,126, 1024,559, 0x182029 )
if (0x182029) = then MouseClick
MouseClick("",$coord[0] ,$coord[1],1,0)
("ตรงส่วนนี้คือชื่อเกมที่สมมุติว่าชื่อ ASD ถูกมั้ยครับ", "", "", "{1}")
sleep(1000)
While PixelGetColor("",$coord[0] , $coord[1])=PixelSearch( 558,75, 710,97, 0xBD1818 )
sleep(1000)
("ตรงส่วนนี้คือชื่อเกมที่สมมุติว่าชื่อ ASD ถูกมั้ยครับ", "", "", "{1}")
sleep(1000)
WEnd
EndIf
Sleep (10)

    เวลาขณะนี้ 26/03/17, 02:32 am