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


ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

Share

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


จำนวนข้อความ : 7
ความนิยม : 0
เข้าร่วมเมื่อ : 19/07/2011

ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

ตั้งหัวข้อ by zaqqq12341 on 26/07/11, 07:14 pm

เรียนถาม Admin และ ทุกท่านที่กรุณา

ผมใช้คำสั่ง while loop แล้วรันสคลิปแลัวไม่ยอมออกจากลูป

เขียนเพื่อช่วยเก็บเหรียญในเกมนะครับถ้าเก็บเหรียญหมดก็ให้ออกจากลูป

While 1

findcoin();เก็บเหรียญG
findpopup();ปิดป๊อปอัป
findcloseOK();ปิดป๊อปอัปกลางหน้าจอเกม
permitcard();เก็บใบอนุญาต
suggest();ปิดป๊อปอัปชวนเพื่อน

Sleep(300)
WEnd;เมื่อเสร็จภาระกิจแล้ว


Func findcoin();หาและเก็บเหรียญG
$gcoin = PixelSearch( 161, 623, 792, 299, 0xE2A447) ;กำหนดพิกัด สีทองของเหรียญG
If IsArray($gcoin) Then;ถ้าข้อมูลเป็นอาเรย์
MouseClick("",$gcoin[0],$gcoin[1],3,2);ให้กดเก็บเหรียญ ๓ ครั้งติดกัน(กดครั้งเดียวกลัวมันไม่เก็บ)
EndIf
EndFunc

Func suggest() ;ปิดpopupชักชวนเพื่อน (รูปแก้วนมมีปิกบิน)
$colsuggest = PixelSearch( 473, 462, 585, 499, 0x67CF32);กำหนดพิกัดและหาสี(สีเขียว)
If IsArray($colsuggest) Then;ถ้าข้อมูลเป็นอาเรย์
MouseClick("",378, 486,2,2);ให้กดปุ่มยกเลิกตามพิกัดที่กำหนด ๒ ครั้ง
EndIf
EndFunc

Func findcloseOK();ปิดpopup ที่ขึ้นตรงกลางเกม เช่น ใบอนุญาติ แปรรูป ฟาร์มสอง ฯลฯ
$colorok = PixelSearch( 408, 390, 523, 424, 0x7C9838);กำหนดพิกัดค้นหา กำหนดสี(สีเขียว)
If Not @error Then;กำหนดพิกัดไม่ผิดพลาด
MouseClick("",$colorok[0],$colorok[1],2,3);ให้กดปิด
EndIf
EndFunc

Func permitcard();เก็บใบอนุญาติแปรรูป
$pcard = PixelSearch( 660, 502, 721, 559, 0xEBBE94);กำหนดพิกัดและหาสี
If Not @error Then;กำหนดพิกัดไม่ผิดพลาด
MouseClick("",$pcard[0],$pcard[1],2,3);ให้เก็บใบอนุญาต
EndIf
EndFunc



ต้องขอโทษ Admin ด้วยนะครับที่เคยไปถามต่อในกระทู้ที่ไม่เกี่ยวข้อง
avatar
rolovely
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 193
ความนิยม : 24
เข้าร่วมเมื่อ : 15/10/2010
อายุ : 28
ที่อยู่ : THAILAND

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

ตั้งหัวข้อ by rolovely on 26/07/11, 10:32 pm

ออกจากลูปนี่คือ ให้ปิดโปรแกรมเลยหรือเปล่า
avatar
rolovely
PSsix Member Super Class II
PSsix Member Super Class II

PSsix Game Coder
จำนวนข้อความ : 193
ความนิยม : 24
เข้าร่วมเมื่อ : 15/10/2010
อายุ : 28
ที่อยู่ : THAILAND

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

ตั้งหัวข้อ by rolovely on 26/07/11, 10:35 pm

Code:
Func findcoin()
$gcoin = PixelSearch( 161, 623, 792, 299, 0xE2A447)
If IsArray($gcoin) Then
MouseClick("",$gcoin[0],$gcoin[1],3,2)
else
กำหนดว่าจะให้มันทำอะไร เกิดถ้าเหรียญไม่มีให้เก็บแล้ว  <<<<<<<<<<<<<<<<<<<<<<
EndIf
EndFunc

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


จำนวนข้อความ : 7
ความนิยม : 0
เข้าร่วมเมื่อ : 19/07/2011

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

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


คือให้ออกจากลูปwhile แล้วให้ไปทำงานบรรทัด11 นะครับ

ประมาณว่า งานที่ 1 ให้เก็บเหรียญ เก็บใบอนุญาตแปรรูป ถ้ามีป๊อปอัปขึ้นให้ปิด
...ถ้าเหรียญหมด ออกจากลูป whlie ไปทำงานที่ 2 ที่บันทัดที่ 11

งานที่ 2 ไปคอกหมูเพื่อนคนถัดไป


1 While 1
2
3 findcoin();เก็บเหรียญG
4 findpopup();ปิดป๊อปอัป
5 findcloseOK();ปิดป๊อปอัปกลางหน้าจอเกม
6 permitcard();เก็บใบอนุญาต
7 suggest();ปิดป๊อปอัปชวนเพื่อน
8
9 Sleep(300)
10 WEnd
11 mouseclick(" ",x,y,1,10);คลิกรูปเพื่อน


code ที่คุณ rolovely แนะนำ

Func findcoin()
$gcoin = PixelSearch( 161, 623, 792, 299, 0xE2A447)
If IsArray($gcoin) Then
MouseClick("",$gcoin[0],$gcoin[1],3,2)
else
กำหนดว่าจะให้มันทำอะไร เกิดถ้าเหรียญไม่มีให้เก็บแล้ว <<<<<<<<<<<<<<<<<<<<<<
EndIf
EndFunc


ผมเขียนเป็น บรรทัดที่ 6 ผมต้องเขียนคำสั่งอย่างไรครับ?

1 Func findcoin()
2 $gcoin = PixelSearch( 161, 623, 792, 299, 0xE2A447)
3 If IsArray($gcoin) Then
4 MouseClick("",$gcoin[0],$gcoin[1],3,2)
5 else
6 (ให้ไปทำงานบรรทัดที่ 11 ของwhile loop) ;??????????
7 EndIf
8 EndFunc

avatar
POS
PSsix
PSsix


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

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

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

Return = ออกจากฟังก์ชัน
ExitLoop = ออกจากลูป

หรือทำง่ายกว่านั้น เขียนฟังก์ชันสำหรับคลิกอีกอัน


1 Func findcoin()
2 $gcoin = PixelSearch( 161, 623, 792, 299, 0xE2A447)
3 If IsArray($gcoin) Then
4 MouseClick("",$gcoin[0],$gcoin[1],3,2)
5 else
6 clickXY();กระโดดไปฟังก์ชันคลิก
7 EndIf
8 EndFunc

Func clickXY()
mouseclick(" ",x,y,1,10);คลิกรูปเพื่อน
EndFunc



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

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

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

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


จำนวนข้อความ : 7
ความนิยม : 0
เข้าร่วมเมื่อ : 19/07/2011

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

ตั้งหัวข้อ by zaqqq12341 on 28/07/11, 10:47 am

ขอบคุณครับ

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


จำนวนข้อความ : 3
ความนิยม : 0
เข้าร่วมเมื่อ : 03/08/2011

Re: ใช้คำสั่ง while loop แล้วไม่ยอมออกจากลูป เป็นเพราะอะไรครับ

ตั้งหัวข้อ by blackcsc on 10/08/11, 02:45 am

สาเหตุที่ไม่ออกจาก loop เพราะ คุณใช้ while 1
ถ้าต้องการควบคุม ว่าต้องทำใน while ตอนไหน ให้ยกเลิกตอนไหน ก็ต้องสร้างตัวแปร มาเพื่อเช็ค
แทน ที่จะใส่ 1

    เวลาขณะนี้ 23/05/17, 06:20 am