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


ถาม วิธีหาค่าสีมอนเตอร์พร้อมกันหลายสี

Share

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


จำนวนข้อความ : 6
ความนิยม : 2
เข้าร่วมเมื่อ : 08/06/2011

ถาม วิธีหาค่าสีมอนเตอร์พร้อมกันหลายสี

ตั้งหัวข้อ by golfwat on 22/06/11, 09:38 am

สวัสดีครับ

จากที่ผมได้ทำการศึกษาและลงมือทำมา 4-5 วัน

-บอทสามารถเดินทั่วแมพได้
-บอทตีมอนเตอร์ได้ แต่โอกาสตีนั้น 70% ตีบ้างไม่ตีบ้างเพราะหน้าจะเป็นที่ค่าสี

คำถามคือ
1. มีวิธีที่ทำให้มอนเตอร์เป็นสีเดียวกันทั้งเกมส์เลยได้ไหมแบบว่า เข้าไปแก้ที่ตัวเกมส์มัน
ถ้าได้ลองสอนที่นะครับ แต่ผมว่าแต่ละเกมส์มันก็แก้ไม่เหมือนกัน แต่อยากได้วิธีทีหน้าจะทำได้มากที่สุด

2. จะทำให้บอทตีมอนในแมพนั้น แค่ 3 ตัว แต่มันตีแค่ตัวเดียว ดูโค๊ดทีถูกไหม โค๊ดคราวๆ

$mon1 0x----- << สีมอนตัว1
$mon2 0x----- << สีมอนตัว2
$mon3 0x----- << สีมอนตัว3

$1 xxx
$2 xxx
$3 xxx
$4 xxx

$coord = PixelSearch($1, $2, $3, $4, $mon1)
$coord = PixelSearch($1, $2, $3, $4, $mon2)
$coord = PixelSearch($1, $2, $3, $4, $mon3)
If @error Then
Call("Check2")
Else
MouseClick("Left", $coord[0], $coord[1], 1, 0)



3. เรื่องเก็บ ITEM มันไม่ยอมเก็บ อยากถามว่า การเก็บ item นั้นใช้โคดเดียวกับที่เราตีมอนหรือไม่
คือเช็คค่าสีเรากดเก็บ



ขอบคุณครับ

flapjack
PSsix Member Super Class III
PSsix Member Super Class III

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

Re: ถาม วิธีหาค่าสีมอนเตอร์พร้อมกันหลายสี

ตั้งหัวข้อ by flapjack on 22/06/11, 06:33 pm

เปลี่ยนค่าสีค่าในตัวเกมคงจะยุ่งยากน่ะครับ
ในตัวเกมมันไม่มี Key เฉพาะเหรอ(เลือกมอนอะไรประมาณนี้)แล้วก็เช็คค่าสีอีกทีว่าถูกต้องหรือเปล่า
ส่วนเรื่องเก็บของก็ใช้หลักการเหมือนกัน ครับ
แต่เรื่องโค๊ด ต้องรอ ผู้รู้มาตอบอีกทีน่ะครับ
เพราะ ไม่เคยประกาศตัวแปร เหมือนคุณ golfwat มาก่อน em230

POS
PSsix
PSsix


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

Re: ถาม วิธีหาค่าสีมอนเตอร์พร้อมกันหลายสี

ตั้งหัวข้อ by POS on 22/06/11, 06:58 pm

โค้ดหาสีของคุณจะหาแค่สีสุดท้าย

ถ้าจะหาสีแบบหลายๆ สีพร้อมกันต้องใส่อาร์เรย์

ตัวอย่างโค้ดด้านล่างนี้ เป็นการหาสี 3 สี เมื่อเจอก็จะวิ่งไปคลิก ถ้าจะลดหรือเพิ่มก็เปลี่ยนที่อาร์เรย์ $monster[3] แถวแรก (ถ้ายังงงเรื่องอาร์เรย์ ลองอ่านบทความหน้าบล็อกดูครับ)



Code:
Global $monster[3] = [ 0xFF0000, 0x00FF00 ,0x0000FF];ใส่รหัสสีที่จะหา


For $i = 0 To UBound($monster)-1
 $coord = PixelSearch(0,0, 500, 600,$monster[$i])
       ConsoleWrite('หาสี = ' &Hex($monster[$i],6) & @error & @crlf)
    If IsArray($coord) Then
       ConsoleWrite(' เจอที่ = ' & $coord[0]&'x' & $coord[1] & @error & @crlf)
MouseClick("",$coord[0],$coord[1],1,0)
EndIf
Next



ถ้าจะเอาแบบหาสีใดสีหนึ่งเจอแล้ว ไม่ต้องหาสีอื่นอีก ก็ใส่คำสั่ง ExitLoop ดังนี้


Code:
Global $monster[3] = [ 0xFF0000, 0x00FF00 ,0x0000FF];ใส่รหัสสีที่จะหา


For $i = 0 To UBound($monster)-1
 $coord = PixelSearch(0,0, 500, 600,$monster[$i])
       ConsoleWrite('หาสี = ' &Hex($monster[$i],6) & @error & @crlf)
    If IsArray($coord) Then
       ConsoleWrite(' เจอที่ = ' & $coord[0]&'x' & $coord[1] & @error & @crlf)
MouseClick("",$coord[0],$coord[1],1,0)
ExitLoop;เจอสี สั่งคลิกแล้วออกจากลูป
EndIf
Next



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

กลุ่ม AutoIt ในเฟสบุ๊ค
https://www.facebook.com/groups/AutoItThai/

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

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


จำนวนข้อความ : 6
ความนิยม : 2
เข้าร่วมเมื่อ : 08/06/2011

Re: ถาม วิธีหาค่าสีมอนเตอร์พร้อมกันหลายสี

ตั้งหัวข้อ by golfwat on 23/06/11, 08:48 am

โอ้ว ขอบคุณครับ

ได้ความรู้เพิ่มอีกแล้ว

    เวลาขณะนี้ 05/12/16, 03:33 pm