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


เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

Share

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

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

 


 em231 จากรูปนะครับ em231 

ตัวละครผมล็อคเป้ามอนเตอร์ได้เรียบร้อย  
และ จะมุ่งไปโจมตีมอนครับ แต่ดันติดสิ่งกีดขวางทำให้วิ่งติด และ ไม่หาเป้าหมายใหม่
ที่ไม่หามอนใหม่เพราะผมเขียนสคริป ให้เช็คเลือดมอนไว้น่ะถ้าHp มอนยังอยู่ก็ให้ส่งค่าโจมตีต่อไปครับ
มันเลยมุ่งหน้าหามอนตัวเดิมๆ -*-/

ทีนี้ผมอยาก เขียน สคริปให้ มัน เช็ค ว่าถ้าล็อคเป้ามอนตัวนี้นานเกิน 5-10 วินาทีให้
กดปุ่มยกเลิกเป้าหมาย น่ะครับ

ปัญหาคือผมจะเขียน code ยังไงให้มันเช็คค่าเวลาการล็อคเป้ามอนครับ ชี้ทางทีนาาา  em246 


แก้ไขล่าสุดโดย test_music เมื่อ 04/04/14, 11:37 pm, ทั้งหมด 1 ครั้ง (Reason for editing : แก้หัวข้อกระทู้)

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 05/04/14, 03:49 pm

ลองใส่หน่วยเวลาในตอนโจมตีมอนเตอร์ ดูน่ะครับ
(เป็นกรณีที่เวลาตีมอนเตอร์เมื่อถึงเวลาเท่านี้ให้เลิกโจมตี)
Code:

atk_time(10)
Func atk_time($time)

While  (PixelGetColor ("พิกัด x"," พิกัด y")  = "สีแทบเลือดมอนเตอร์" ) And $time >=0
 $time  = $time   - 1
 ;คำสั่งโจมตีมอน;
 Sleep(1000)
WEnd

EndFunc
จากโค๊ดด้านบน
ใช้ ตัวแปร $time เป็นตัวกำหนดหน่วยเวลาว่า ถึงกี่วินาทีถึงจะออกจากลูป

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 05/04/14, 10:08 pm

^^v ขอบคุณครับขอนำไปทดสอบก่อนนะ เดี๋ยวมาแจ้งผลครับท่าน flapjack

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 06/04/14, 12:13 am

การหน่วงเวลามัน เอ๋อๆแปลกๆครับ การทำงานรวนมากๆครับ

atk_time(10)
Func atk_time($time)

While (PixelGetColor ("634"," 15") = "0x0000FF" ) And $time >=0
$time = $time -1
Send("{ESC}")
Sleep(300)
Send("{ESC}")
Sleep(1000)
Send("{LEFT down}") ; หมุนหน้าจอไปทางซ๊ายแบบกลับหลังหัน
Sleep(200)
Send("{LEFT up}")
Sleep(200)
WEnd

EndFunc


ปุ่ม Esc ในเกมส์ผมมันยกเลิกโจมตี และถ้ากด Esc อีกครั้งจะยกเลิกเป้าหมาย
ตาม code ผมจะยกเลิกเป้าหมาย และหมุนจอกลับหลังหัน
แต่พอมันเจอมอนตัวใหม่ ก็ กลายเป็น กด ยกเลิกมอน รัวๆแทนน่ะครับ >เลยกลายเป็นพอเจอเป้าหมายและตำแหน่งเลือดปุ๊ปยกเลิกปัํ๋บ
ต้องเพิ่มเงื่อนไขอะไรในการเช็คไหมน่ะครับ >

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 06/04/14, 02:16 am

test_music พิมพ์ว่า:การหน่วงเวลามัน เอ๋อๆแปลกๆครับ การทำงานรวนมากๆครับ

atk_time(10)
Func atk_time($time)

While  (PixelGetColor ("634"," 15")  = "0x0000FF" ) And $time >=0
$time  = $time  -1
Send("{ESC}")
Sleep(300)
Send("{ESC}")
Sleep(1000)
                       Send("{LEFT down}") ; หมุนหน้าจอไปทางซ๊ายแบบกลับหลังหัน
Sleep(200)
Send("{LEFT up}")
Sleep(200)
WEnd

EndFunc


ปุ่ม Esc ในเกมส์ผมมันยกเลิกโจมตี และถ้ากด Esc อีกครั้งจะยกเลิกเป้าหมาย
ตาม code  ผมจะยกเลิกเป้าหมาย และหมุนจอกลับหลังหัน
แต่พอมันเจอมอนตัวใหม่ ก็ กลายเป็น กด ยกเลิกมอน รัวๆแทนน่ะครับ ><!
เลยกลายเป็นพอเจอเป้าหมายและตำแหน่งเลือดปุ๊ปยกเลิกปัํ๋บ
ต้องเพิ่มเงื่อนไขอะไรในการเช็คไหมน่ะครับ ><!

ลองเพิ่มเงื่อนไขนี้ดูน่ะครับ
Code:

atk_time(10)
Func atk_time($time =  5)

While (PixelGetColor ("พิกัด x"," พิกัด y")  = "สีแทบเลือดมอนเตอร์" ) And $time >=0

    if $time <=0 Then
 Send("{ESC}")
 Sleep(100)
 Send("{ESC}")
 Sleep(100)
 Send("{LEFT down}") ; หมุนหน้าจอไปทางซ๊ายแบบกลับหลังหัน
 Sleep(100)
 Send("{LEFT up}")
Sleep(100)
  ExitLoop
  EndIf
 $time  = $time   - 1
;คำสั่งโจมตีมอน;
 Sleep(1000)

WEnd

EndFunc

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 06/04/14, 11:10 am

ok แล้ว ครับผม ขอบคุณท่าน flapjack มากๆครับที่แนะนำแนวทางเน้ออ em233 
และนี่เป็น code ทั้งหมดที่ผมอ่านๆและจับมายำๆใส่ ฮี่ๆ

ป.ล ในช่อง MsgBox มีคำสั่งไหนให้มันขึ้นต้นบรรทัดใหม่ไหมครับ?


คลิ๊กเพื่อดู code:

แว่ฟมาลบ


แก้ไขล่าสุดโดย test_music เมื่อ 26/07/15, 11:26 pm, ทั้งหมด 1 ครั้ง

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 09/04/14, 12:33 am

ใช้
Code:
@CRLF
ในการขึ้นบรรทัดใหม่ ครับ

Arm
PSsix Member Super Class III
PSsix Member Super Class III

PSsix Master PSsix Program Coder
จำนวนข้อความ : 267
ความนิยม : 54
เข้าร่วมเมื่อ : 31/03/2011
อายุ : 19

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by Arm on 09/04/14, 12:49 pm

flapjack พิมพ์ว่า:ใช้
Code:
@CRLF
ในการขึ้นบรรทัดใหม่ ครับ

ใช้ & เป็นตัวเชื่อมนะครับ
Ex. "aaa" & @CRLF & "bbb"

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 11/04/14, 03:43 pm



จากในรูป ผมอยาก กำหนดโซนค้นหามอนจาก Zone1 ก่อน
แล้ว ค่อยไล่ลำดับไป Zone2 Zone3
เพราะอยากให้มันตีมอนจากตำแหน่งใกล้ๆก่อนน่ะครับ

ผมต้องใส่ code เงื่อนไขแบบไหนครับ? ?
$coord = PixelSearch( พิกัด, พิกัด, พิกัด, พิกัด, 0xFF00FF) <---- Zone1 เจอมอนแล้วให้ข้ามไปโจมตีเลย
$coord = PixelSearch( พิกัด, พิกัด, พิกัด, พิกัด, 0xFF00FF) <---- Zone2
$coord = PixelSearch( พิกัด, พิกัด, พิกัด พิกัด, 0xFF00FF) <----- Zone3


test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 03/05/14, 10:29 am

ดันหาคนแนะนำครับ -*-/

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


จำนวนข้อความ : 4
ความนิยม : 5
เข้าร่วมเมื่อ : 07/04/2014

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by oneforalls on 09/05/14, 06:52 pm

test_music พิมพ์ว่า:ดันหาคนแนะนำครับ -*-/

แค่ if else ซ้อนกันธรรมดานี่แระ

Code:

While 1
   $coord = PixelSearch(z1x1, z1y1, z1x2, z1y2, z1color)
   If Not @error Then
      ConsoleWrite("เจอที่ zone 1" & @CRLF)
      Sleep(3000)
   Else
      $coord = PixelSearch(z2x1, z2y1, z2x2, z2y2, z2color)
      If Not @error Then
         ConsoleWrite("เจอที่ zone 2" & @CRLF)
         Sleep(3000)
      Else
         $coord = PixelSearch(z3x1, z3y1, z3x2, z3y2, z3color)
         If Not @error Then
            ConsoleWrite("เจอที่ zone 3" & @CRLF)
            Sleep(3000)
         Else
            ConsoleWrite("ไม่เจอ" & @CRLF)
            Sleep(3000)
         EndIf
      EndIf
   EndIf
WEnd

test_music
PSsix Member Class II
PSsix Member Class II


จำนวนข้อความ : 41
ความนิยม : 7
เข้าร่วมเมื่อ : 05/08/2013

Re: เรื่องการเช็ึคเวลาการล็อคเป้ามอน . . .

ตั้งหัวข้อ by test_music on 24/06/14, 10:22 am

oneforalls พิมพ์ว่า:
test_music พิมพ์ว่า:ดันหาคนแนะนำครับ -*-/

แค่ if else ซ้อนกันธรรมดานี่แระ

Code:

While 1
   $coord = PixelSearch(z1x1, z1y1, z1x2, z1y2, z1color)
   If Not @error Then
      ConsoleWrite("เจอที่ zone 1" & @CRLF)
      Sleep(3000)
   Else
      $coord = PixelSearch(z2x1, z2y1, z2x2, z2y2, z2color)
      If Not @error Then
         ConsoleWrite("เจอที่ zone 2" & @CRLF)
         Sleep(3000)
      Else
         $coord = PixelSearch(z3x1, z3y1, z3x2, z3y2, z3color)
         If Not @error Then
            ConsoleWrite("เจอที่ zone 3" & @CRLF)
            Sleep(3000)
         Else
            ConsoleWrite("ไม่เจอ" & @CRLF)
            Sleep(3000)
         EndIf
      EndIf
   EndIf
WEnd

ไม่ค่อยได้เข้าบอร์ดผมก็ทำสำเร็จนานแล้วครับหลักเดียวตามที่ท่านบอกเลยล่ะ ^^
ขอบคุณมากๆเลยครับที่แว๊ะมาตอบคำถามนาาา em218 

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