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


คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

Share

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 14/11/11, 01:55 am

คือ อยากให้มันทำงานพร้อมๆกันทั้งสองอย่างครับ
แต่ผมไม่รู้ว่า จะเขียนให้เปงฟังชันยังไง ถ้ายังไงก้อกรุณา
แยกเปงฟังชัยให้ผมทีนะครับ

นี้ฟังชันอันนึง

While 1

$coord = PixelSearch(75, 2, 150, 12,0xBDBDBD)
If Not @error Then

if WinActive ("00000") then Send("{Q}")
Sleep(200)
EndIf
$coord = PixelSearch(76, 17, 125, 27,0xBDBDBD)
If Not @error Then

if WinActive ("00000") then Send("{W}")
Sleep(200)
EndIf
$coord = PixelSearch(75, 30, 125, 39 ,0xBDBDBD)
If Not @error Then
if WinActive ("00000") then Send("{E}")
Sleep(200)

EndIf

นี้อีกฟังชันอันนึง
While 1


if WinActive ("00000") then Send ("{1}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("00000") then Send ("{2}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("00000") then Send ("{3}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("00000") then Send ("{4}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("00000") then Send ("{5}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("00000") then Send ("{6}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("00000") then Send ("{7}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("00000") then Send ("{8}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("00000") then Send ("{9}")
If Not @error Then
Sleep(2200)
EndIf

WEnd
avatar
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 14/11/11, 06:18 am

สร้างฟังก์ชันขึ้นมาครับ
วิธีการ
Code:

Func ตามด้วยชื่อ()

EndFunc
สามารถอ่านเพิ่มเติม ตามนี้เลยครับ

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


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

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by mokio on 14/11/11, 09:54 am

มันจะไม่หลุด จาก ลูป อะสิครับถ้าจะทำสอง ฟังก์ชั่นใน ลักษณะด้าน บนคงต้องเป็นกรณีเลือกทำฟังก์ชั่นใดฟังก์ชั่นนึง แล้ว call อีกฟังก์ชั่น ในลูป ผมก็ เพิ่งศึกษาดู ยังงง อยู่ เหมือนกัน ผิดถูกไง ขอโทษ ณ ที่นี้ด้วยนะครับ
avatar
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 14/11/11, 11:31 am

ถ้าตามที่ผมเข้าใจคือ การเรียกฟังก์ชั่น ใช่ไหมครับ(ถ้าผมตีโจทย์ถูก)
Code:

Func หลัก()
ทำคำสั่ง...

เรียกฟังก์ชัน ย่อย()
EndFunc


Func  ฟังก์ชัน ย่อย()
ทำคำสั่ง...

EndFunc

ปล.ถ้าเป็นการเลือกว่าจะเข้าฟังก์ชันอะไรก็ต้องไปศึกษา if กับ else
ปล2.ถ้าจะออกจากลูปใช้คำสั่ง ExitLoop ครับ

Fast
PSsix Member Super Class III
PSsix Member Super Class III

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

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

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

ทำงานพร้อมกันไม่ได้มั้งครับ ทำได้แบบ 2 ฟังชั้นทำงานเรียงกันก็

While 1
A()
sleep(100)
B()
WEnd


Func A()
;ใส่คำสั่ง
EndFunc

Func B()
;ใส่คำสั่ง
EndFunc

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

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

คือผมลอง ใช้ Func ชื่อฟังชัน()
แล้วมัน ไม่ทำงาน เพราะชื่อ พังชันผม()
ผมไม่รู้จะเขียนว่าอะไร อ่ะคับ

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 14/11/11, 09:42 pm

คือผมอยากให้แบบว่า พอมันเจอสีนี้ปุ๊บ ก้อให้กด QWEA (อยากให้มันเช็คตลอด)
Func PixelColor()

$coord = PixelSearch(75, 2, 150, 12,0xBDBDBD)
If Not @error Then

if WinActive ("1") then Send("{Q}")
Sleep(100)
EndIf

$coord = PixelSearch(75, 2, 120, 12,0xBDBDBD)
If Not @error Then

if WinActive ("1") then Send("{W}")
Sleep(100)
EndIf

$coord = PixelSearch(76, 17, 125, 27,0xBDBDBD)
If Not @error Then

if WinActive ("1") then Send("{E}")
Sleep(100)
EndIf

$coord = PixelSearch(75, 30, 125, 39 ,0xBDBDBD)
If Not @error Then

if WinActive ("1") then Send("{A}")
Sleep(100)

EndIf
EndFunc
และอยากให้ทำงานฟังชันนี้ไปเรือยๆ กดไปเรือยๆ อย่าหยุด
Func KeySet()
if WinActive ("1") then Send ("{1}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("1") then Send ("{2}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("1") then Send ("{3}")
If Not @error Then
Sleep(2000)
EndIf

if WinActive ("1") then Send ("{4}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{5}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{6}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{7}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{8}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{9}")
If Not @error Then
Sleep(2200)
EndIf

if WinActive ("1") then Send ("{0}")
If Not @error Then
Sleep(2200)
EndIf
EndFunc
avatar
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 15/11/11, 06:43 am

ถ้าอยากให้มันเช็คตลอดก็คงต้องทำสคริป 2 ตัวล่ะครับ(โค๊ดด้านล่างจะเช็คครั้ง1ก่อนจะมีปัญหาตอนถ้าเจอสีตอนกด เลข 1จะไม่ กด QWEA )
ตามโค๊ดข้างล่างนี้ล่ะครับ
Code:

 
while 1
Main()
Sleep(100)
WEnd
Func Main()
PixelColor()

if WinActive ("1") then
Send ("{1}")
Sleep(2000)
Send ("{2}")
Sleep(2000)
Send ("{3}")
Sleep(2000)
Send ("{4}")
Sleep(2200)
Send ("{5}")
Sleep(2200)
Send ("{6}")
Sleep(2200)
Send ("{7}")
Sleep(2200)
Send ("{8}")
Sleep(2200)
Send ("{9}")
Sleep(2200)
Send ("{0}")
EndIf
EndFunc

Func PixelColor()
$coord = PixelSearch(75, 2, 150, 12,0xBDBDBD)
If Not @error Then

if WinActive ("1") then Send("{Q}{W}{E}{A}");ถ้าเจอสี0xBDBDBD(เจอเดียว) กด QWEA และต้องรอชื่อหน้าต่างโปรแกรม 1
Sleep(100)
EndIf

EndFunc
avatar
POS
PSsix
PSsix


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

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by POS on 15/11/11, 07:20 am

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

ลองดูอีกตัวอย่าง (ใช้แบบคุณ flapjack ก็ได้)

Code:

$key = StringSplit("1,2,3,4,5,6,7,8,9,0", ",")


While 1
   For $i = 1 To $key[0]
      If WinActive("1") Then Send($key[$i]) ;ส่งค่าคีย์เรียง 1234567890 โดยส่งทีละคีย์
      If Not @error Then
         PixelColor();กระโดดไปฟังชั่นสำหรับตรวจเช็คสี หลังส่งคีย์แล้วไปคีย์
         Sleep(2000)
      EndIf
      Sleep(100)
   Next
WEnd




Func PixelColor()

   $coord = PixelSearch(75, 2, 150, 12, 0xBDBDBD)
   If Not @error Then
      If WinActive("1") Then Send("{Q}")
      Sleep(100)
   EndIf

   $coord = PixelSearch(75, 2, 120, 12, 0xBDBDBD)
   If Not @error Then

      If WinActive("1") Then Send("{W}")
      Sleep(100)
   EndIf

   $coord = PixelSearch(76, 17, 125, 27, 0xBDBDBD)
   If Not @error Then

      If WinActive("1") Then Send("{E}")
      Sleep(100)
   EndIf

   $coord = PixelSearch(75, 30, 125, 39, 0xBDBDBD)
   If Not @error Then

      If WinActive("1") Then Send("{A}")
      Sleep(100)

   EndIf
EndFunc  ;==>PixelColor


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

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

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

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 15/11/11, 06:55 pm


$key = StringSplit("1,2,3,4,5,6,7,8,9,0", ",")แล้วอันนี้จะไส่ดีเล ได้มั้ยตับ


While 1
For $i = 1 To $key[0]
If WinActive("1") Then Send($key[$i]) ;ส่งค่าคีย์เรียง 1234567890 โดยส่งทีละคีย์
If Not @error Then
PixelColor();กระโดดไปฟังชั่นสำหรับตรวจเช็คสี หลังส่งคีย์แล้วไปคีย์
Sleep(2000)
EndIf
Sleep(100)
Next
WEnd




Func PixelColor()

$coord = PixelSearch(75, 2, 150, 12, 0xBDBDBD)
If Not @error Then
If WinActive("1") Then Send("{Q}")
Sleep(100)
EndIf

$coord = PixelSearch(75, 2, 120, 12, 0xBDBDBD)
If Not @error Then

If WinActive("1") Then Send("{W}")
Sleep(100)
EndIf

$coord = PixelSearch(76, 17, 125, 27, 0xBDBDBD)
If Not @error Then

If WinActive("1") Then Send("{E}")
Sleep(100)
EndIf

$coord = PixelSearch(75, 30, 125, 39, 0xBDBDBD)
If Not @error Then

If WinActive("1") Then Send("{A}")
Sleep(100)

EndIf
EndFunc ;==>PixelColor

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 15/11/11, 07:02 pm

ลอง ทำตามตัวอย่างที่ให้ มา มันไม่กด 12344567890 เลยคับ
avatar
aut
PSsix Powerful Scripting Class
PSsix Powerful Scripting Class

PSsix Game Coder
จำนวนข้อความ : 472
ความนิยม : 125
เข้าร่วมเมื่อ : 24/07/2010

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by aut on 15/11/11, 09:16 pm

นายเปี่ยนตงWinActive("1") ยังอะเกมรัยชื่อ1

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 21/11/11, 09:39 am

เปลี่ยน แล้ว ครับบบบบบ ที่ไส่ 1 ไปก้อ กัน กูลเกิ้ล อ่ะ

kissnew89
สมาชิกทั่วไป
สมาชิกทั่วไป


จำนวนข้อความ : 11
ความนิยม : 0
เข้าร่วมเมื่อ : 28/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by kissnew89 on 21/11/11, 09:41 am

คือผมอยากให้มันเช็ด หน้าต่างอ่ะครับ ถ้าหน้าต่างหาย
จะให้มันรัน ขึ้นมาใหม่ จะต้องใช้ คำสั่ง ประมาน ไหนคับ
avatar
asokura
PSsix Member High Class
PSsix Member High Class

PSsix Game Coder
จำนวนข้อความ : 72
ความนิยม : 11
เข้าร่วมเมื่อ : 03/09/2011

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by asokura on 21/11/11, 11:10 am

kissnew89 พิมพ์ว่า:คือผมอยากให้มันเช็ด หน้าต่างอ่ะครับ ถ้าหน้าต่างหาย
จะให้มันรัน ขึ้นมาใหม่ จะต้องใช้ คำสั่ง ประมาน ไหนคับ

ให้เช็คสีที่พิกัดหน้าต่างดูสิ ถ้าสีไม่ใช่ก็ให้เปิดหน้าต่างใหม่

Fast
PSsix Member Super Class III
PSsix Member Super Class III

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

Re: คือ อยากจะแยกเป็นฟังชันอ่ะ แต่ไม่รู้คำสั่งฟังชั่นเข้าไม่เข้าใจคับ

ตั้งหัวข้อ by Fast on 22/11/11, 03:17 pm

แบบนี้ เปลี่ยนชื่อ Notepad เป็นชื่อโปรแกรมที่จะตรวจ ถ้าไม่เจอสั่ง RUN โปรแกรมมาใหม่ ใส่ sleep ต่อท้ายเยอะๆ เผื่อเวลาโหลดโปรแกรม

Code:
If  Not WinExists("Notepad") Then
   Run("Notepad.exe");;;ใส่ชื่อโปรแกรมเช่น C:\programs\game.exe
   Sleep(5000)
   EndIf

    เวลาขณะนี้ 24/04/17, 12:45 am