ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

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


2 posters

    ช่วยอธิบายเรื่อง การทำงานของ combobox

    sticked
    sticked
    PSsix Member
    PSsix Member


    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox Empty
    จำนวนข้อความ : 24
    ความนิยม : 1
    เข้าร่วมเมื่อ : 30/01/2012
    อายุ : 34

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by sticked 09/02/12, 01:52 am

    ช่วยอธิบาย statement และการนำไปใช้ ของ combobox ให้หน่อยครับ

    $Combo1 = GUICtrlCreateCombo("โปรดเลือก", 40, 96, 145, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "a1|a2|a3");

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

    ขอขอบคุณล่วงหน้าด้วยครับ

    em218 em218
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 09/02/12, 10:27 am

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

    Code:

    Dim $SKILL_ATT_1 = 1             
    Dim $SKILL_COMBO_1 = 1 
    GuiCtrlCreateTabItem("Auto Skill")

    Local $gui_attack_check = GUICtrlCreateCheckbox("Auto Skill",50,25)
        If ($auto_attack == True) Then
            GUICtrlSetState($gui_attack_check,$GUI_CHECKED)
        Else
            GUICtrlSetState($gui_attack_check,$GUI_UNCHECKED)
        EndIf

        GUICtrlCreateLabel("Skill 1 :",50,55)
        GUICtrlCreateLabel("Phim tat:",130,55)
        Local $gui_attack_phep1 = GUICtrlCreateCombo($SKILL_ATT_1,180,50,30)
        GUICtrlSetData($gui_attack_phep1,$short_key_attack,$SKILL_ATT_1)


       
    GuiCtrlCreateTabItem("Auto Combo")

        Local $gui_auto_combo_check = GUICtrlCreateCheckbox("Auto Combo",70,30)
        If ($auto_combo == True) Then
            GUICtrlSetState($gui_auto_combo_check,$GUI_CHECKED)
        Else
            GUICtrlSetState($gui_auto_combo_check,$GUI_UNCHECKED)
        EndIf

        GUICtrlCreateLabel("Phep 1:",50,70)
        GUICtrlCreateLabel("phim tat:",110,70)
        Local $gui_key_skill1 = GUICtrlCreateCombo($SKILL_COMBO_1,170,65,30)
        GUICtrlSetData($gui_key_skill1,$short_key,$SKILL_COMBO_1)
    GuiSetState(@SW_SHOW)

        While (1)
                    $SKILL_ATT_1 = GUICtrlRead($gui_attack_phep1)
                    $SKILL_COMBO_1 = GUICtrlRead($gui_key_skill1)
        WEnd

    Func AutoAtt()
        If ($auto_attack == True) Then
            ControlSend("Camon","","" ,$SKILL_ATT_1)
            Opt("SendKeyDelay", 5)
            Sleep(5)
        EndIf
    EndFunc

    Func AutoCombo()
    ;If ($auto_COMBO == True) Then
    ;  Send($SKILL_COMBO_1)
    ;  Opt("SendKeyDelay", 5)

    ;  Sleep(5)
    ;EndIf
    EndFunc
    sticked
    sticked
    PSsix Member
    PSsix Member


    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox Empty
    จำนวนข้อความ : 24
    ความนิยม : 1
    เข้าร่วมเมื่อ : 30/01/2012
    อายุ : 34

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by sticked 09/02/12, 02:36 pm

    ต้องขอโทษด้วยที่ผมสื่อความหมายไม่เป็น
    สมมุติว่า

    ผมประกาศใช้คอมโบ

    $Combo1 = GUICtrlCreateCombo("โปรดเลือก", 40, 96, 145, 25))
    GUICtrlSetData(-1, "a1|a2|a3");


    แล้วผมจะนำไปใช้ยังไงอ่ะคับ
    เช่นถ้าเอาไปเข้าเงื่อนไข ยังงี้รึป่าว

    If a1 == GUICtrlRead($Combo1) Then
    $anc = 0x523C29
    EndIf

    มึนตึ๊บ...เลยครับ
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 09/02/12, 03:16 pm

    นายเล่นเกมส์ Eden Eternal Simple Bot ป๊ะขอชื่อเกมส์จะดีกว่าจำได้จัดตามสถานะการณ์อะBitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))มันคือตัวปัญหาอะ- -*เด๊ยวลองไปสือค้นแปบมะได้เล่นภาษานี้หลักด้วยอ่า แต่เด๊ยวไปดูของเพื่อนที่เล่นคาบาลแปบน๊ะรู้สึกจะใช้หลักการเดียวกัน

    รบกวนขอชื่อเกมส์ที่เล่นครับผมไม่เก่งเท่าไหร่เก่งก๊อฟข้อมูลแล้วให้เพื่อนในกลุ่มเฟทบุคช่วยกันแก้อะครับ + +
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 09/02/12, 06:34 pm

    Code:

    ก่อนอื่นจะสร้างข้างบนได้จะต้องมี GUICreate โดยจะต้องเรียก preprocessor directiveมาก่อนไม่งั้นโปรแกรมจะไม่รู้จัก GUICreate นั้นก็คือ
    #include <GUIConstantsEx.au3> ;preprocessor directive
    GUICreate("My GUI combo") ;เมื่อสร้างขึ้นมาแล้วก็จะได้หน้าต่างMy GUI combo
    แล้วก็ส่งที่นายต้องการคือGUICtrlCreateComboก็จะได้
    GUICtrlCreateCombo("โปรดเลือก", 40, 96, 145, 25)
    GUICtrlSetData(-1, "a1|a2|a3");
    แล้วก็สร้างตัวปิดโปรแกรมก็
        GUISetState()
     Local $msg
        While 1
            $msg = GUIGetMsg()

            If $msg = $GUI_EVENT_CLOSE Then ExitLoop
        WEnd
    EndFunc 

    ทีนี้ก็จะถามว่าต่อยอดยังไงโดยให้เจ้าตัวa1มีฟังก์ชั่งซะเลย
    $combo_1 = a1
    $combo_2 = a2
    $combo_3 = a3
    $xTop = 120
    $yTop = 200
    $xBot = 700
    $yBot = 600
    $mobGreen = " 0x523C29"
    ;จากข้างบนคือเราจะสร้างซ้าย บน ขวา ล่าง สีเพื่อจะมากำหนดฟังก์ชั่นจะได้
    While 1
            $msg = GUIGetMsg()
            Select
                Case $msg = $GUI_EVENT_CLOSE
                    ExitLoop
                Case $msg = $combo_1
    $coord = PixelSearch($xTop,$yTop,$xBot,$yBot,$mobGreen)
                If Not @error Then
                MouseClick("",$coord[0] ,$coord[1],1,0)
                Sleep(1000)
                EndIf
    ;จากข้างบนเป็นการหาค่าสีแล้วให้เม้าส์คลิ๊ก- -*            
                Case $msg = $Button_2
                  MsgBox(0,'a2','ฟังก์ชั่น2ในa2')
    Case $msg = $Button_3
                  MsgBox(0,'a3','ฟังก์ชั่น3ในa3')       
    EndSelect
        WEnd
    EndFunc

    เราไม่รู้แบบนี้ใช้สิ่งที่นายต้องการหรือเปล่า-*-ถ้าไม่ใช่ขอโทษด้วยนะครับคงต้องรอพี่ๆระดับขั้นเทพช่วยท่านแล้วละ-*-
    sticked
    sticked
    PSsix Member
    PSsix Member


    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox Empty
    จำนวนข้อความ : 24
    ความนิยม : 1
    เข้าร่วมเมื่อ : 30/01/2012
    อายุ : 34

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by sticked 10/02/12, 12:52 am

    if ไม่ออกอ่ะครับ

    If $b1 = 0x080608 Then
    If PixelGetColor(490, 746) And PixelGetColor(520, 746) And PixelGetColor(550, 746) And PixelGetColor(580, 746) And PixelGetColor(610, 746) And PixelGetColor(640, 746) And PixelGetColor(670, 746) <> 0xA52018 Then
    Send("z")
    EndIf

    If PixelGetColor(490, 746) = 0xA52018 Then
    Send("{F1}")
    ElseIf PixelGetColor(520, 746) = 0xA52018 Then
    Send("{F2}")
    ElseIf PixelGetColor(550, 746) = 0xA52018 Then
    Send("{F3}")
    ElseIf PixelGetColor(580, 746) = 0xA52018 Then
    Send("{F4}")
    ElseIf PixelGetColor(610, 746) = 0xA52018 Then
    Send("{F5}")
    ElseIf PixelGetColor(640, 746) = 0xA52018 Then
    Send("{F6}")
    ElseIf PixelGetColor(670, 746) = 0xA52018 Then
    Send("{F7}")
    Else
    EndIf
    EndIf

    ตรง Send("z")
    อ่ะคับ ไม่รุ้ว่าถูกรึเปล่า ใช้ and ในการเปรียบเทียบค่า
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 10/02/12, 09:39 am

    นายลืมดึงจอเปล่าWinWaitActive นะแล้วก็ifมันใช้ได้แค่1ครั้งจะใช้ต่อเยอะๆแนะนำให้ใช้รูปฟังก์ชั่นแล้วก็ใช้ตัวแปร+สติงเช่น$var = PixelGetColor( $pos[0] , $pos[1] )แล้วใส่ค่าของนายในรูปแบบของอาเรย์ถึงจะถูกนะ- -*แต่ของเราด้านบนเราใช้ Select Case EndSelect แต่มันมีตัวหนึ่งที่ข้างบนเราลืมใส่ให้ไปคือฟังก์ชั่นเริ่มต้นเราผิดเองละ-*-ลองประกาศพวกGlobalด้วยเพราะว่านายเล่นใส่If $b1 = 0x080608 Thenเลยมันคงไม่รันคงต้องไปประกาศ global $b1 = อะไรจะดีกว่าเพราะดูจากข้างบนนายใช้ในรูปของสีอันเดียวถ้าหลายสีก็ใส่อาเรย์เข้าไปแล้วใส่ในรูปแบบของการอ่านค่า IniRead ไปใช้แก้ในiniจะง่ายซะกว่ามานั่งเขียนสีในนั้นอ่าเหมือนของพี่ autอะลองไปโหลดดิถ้าใช้ก็ใช้รูปiniแทนไปถ้าถามทำยังไงเราทำเป็นไม่หมดรอพี่ pos กับพี่ aut มาตอบพี่autเก่ง IniRead ลองไปโหลดมาเล่นดูดิ + +
    sticked
    sticked
    PSsix Member
    PSsix Member


    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox Empty
    จำนวนข้อความ : 24
    ความนิยม : 1
    เข้าร่วมเมื่อ : 30/01/2012
    อายุ : 34

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by sticked 10/02/12, 01:05 pm

    If BitAND(GUICtrlRead($Radio1), $GUI_CHECKED) Then
    $b1 = PixelGetColor(100, 13)
    ElseIf BitAND(GUICtrlRead($Radio2), $GUI_CHECKED) Then
    $b1 = PixelGetColor(137, 13)
    Else
    $b1 = PixelGetColor(165, 13)
    EndIf
    (ผมลืมเอาที่มาของ $b1 มาให้ ลืมเรื่องความละเอียดรอบคอบ ขอโทษด้วยนะคับ T^T )
    b1 จะเป็นช่วงของค่าสีครับ ที่กำหนดตำแหน่งไว้

    ได้ละครับ ผมยุบรวม if เช็คแต่ค่าสุดท้ายโดยไม่ต้องใช้ and เทียบมาตั้งแต่ค่าแรกเพราะ ยังไงก้ต้องใช้ F1 หมดก่อน ถึงจะ F2 ต่อ

    If PixelGetColor(670, 746) = ค่าสีใกล้ๆ 0xA52018 Then
    Send("Z")
    ElseIf PixelGetColor(490, 746) = 0xA52018 Then
    Send("{F1}")
    ElseIf PixelGetColor(520, 746) = 0xA52018 Then
    Send("{F2}")
    ElseIf PixelGetColor(550, 746) = 0xA52018 Then
    Send("{F3}")
    ElseIf PixelGetColor(580, 746) = 0xA52018 Then
    Send("{F4}")
    ElseIf PixelGetColor(610, 746) = 0xA52018 Then
    Send("{F5}")
    ElseIf PixelGetColor(640, 746) = 0xA52018 Then
    Send("{F6}")
    ElseIf PixelGetColor(670, 746) = 0xA52018 Then
    Send("{F7}")
    Else
    EndIf
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 10/02/12, 01:49 pm

    Code:

    PixelGetColor(490, 746) = 0xA52018 ThenSend("{F1}")จากที่เราลองเราโปรแกรมลากดูนะมันจะเหมือนกับกล่องอาเรย์หนึ่งๆโดยมีความประส่งที่จะกดF1ที่กล่องนั้นพอกล่องถัดไปคือ(520, 746)คือกล่องถัดมาคือมันจะอยู่ใกล้ๆกับอาเรย์แรกแต่มันจะเคลื่อนมาที่ทางขวามืออีกหน่อยเป็นกล่องอาเรย์ที่2คือจะทำการกดF2เป็นแบบนี้ไปคือF3 F4 F5 F6 F7แล้วนายต้องการกด Z F1-F7 แล้วก็100 137 167น่าจะเป็นแถบของเลือดหรืออะไรซะอย่างที่นายกะไว้3ช่องคือ100 137 167 ไอตรงนี้ละคือสิ่งที่นายจะทำถูกเปล่าคือเราสันนิถานว่าคือถ้าเลือดอยู่ที่167ไม่ต้องทำอะไรแต่ถ้าเลือด137เมื่อไหร่กดF1แล้วถ้าเลือด100ให้กดF2ช่ายป๊ะตามหลักการคิดก็คือถ้า137เป็นเท็จก็จะทำการกดF1ที่เราใช้เราแบ่งแค่2ช่วงนะปกติคนเราจะคิด50กับ70เปอเซ้นสำหรับสร้างตัวปั้มเลือดนะอันนี้มุมความคิดเรานะ- -* ถ้าเป็นแบบนี้ให้นายอ่านเขียนบอทเกมด้วย AutoIt : Bot 2 เช็คพิกัดสีเพื่อเขียนคำสั่งควบคุม เพราะมีคนเขียนไว้แล้วฉะนั้นจากด้านบนนายทำซ้อนหรือคิดยอะไป-*-เลยยากจิงๆแล้วค่าที่ใช้คือ137,13 กับสีที่0xA52018 เราเลยคิดว่ามันน่าจะใช้รูปของ Ifไง- -*จิงน่าจะเขียนแบบนี้นะ
    If PixelGetColor(137,13) = xA52018 Then
    Send("{F1}")
    EndIf
     
    ถ้าเกิดว่าที่เราคิดไว้ใม่ใช่ขอโทษรอบที่3ครับที่ทำให้นายเกิดความปวดหัวอิอิคิดเยอะๆดีคับทำให้ผมยากสร้างสิ่งใหม่ตามนายจริงเรามะได้เน้นภาษานี้เท่าไหร่เราหาจากในนี้แล้วมาตอบนาย- -*จิงๆเราพึ่งหัดเรียนภาษาซีอยู่งะ-*-ยังไปไม่รอดเลยแต่มันมีความคล้ายอยู่เกือบ80เปอร์เซ้นต์- -*
    sticked
    sticked
    PSsix Member
    PSsix Member


    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty ช่วยอธิบายเรื่อง การทำงานของ combobox Empty
    จำนวนข้อความ : 24
    ความนิยม : 1
    เข้าร่วมเมื่อ : 30/01/2012
    อายุ : 34

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by sticked 10/02/12, 03:17 pm

    เป็น พิกัดจุด สีของช่อง F1-F7 อ่ะคับ จะเทียบทุกจุด ตั้งแต่ ช่อง F1-F7 ว่าเป็นสีเดียวกันหรือไม่โดย ใช้ and ในการเทียบ ใช้ตรรกศาสตร์ อ่ะครับ ถ้าไม่ใช่สี 0xA52018 ให้กด Z
    em228

    ยังไงพี่ก้ช่วยผมได้เยอะเลย งมโข่งเกือบ 2 วัน 555 พลิกมาดูที่โพสไว้ก้พอปิ๊งไอดีย (ลอกที่คุณโพสมาต่างหาก 55)
    em230

    ที่ผมเรียนมา c# ก้แทบลืมไปหมดละ มาลองคลำ autoit ดูๆ
    em219
    avatar
    loveapple244
    PSsix Member Super Class II
    PSsix Member Super Class II


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

    ช่วยอธิบายเรื่อง การทำงานของ combobox Empty Re: ช่วยอธิบายเรื่อง การทำงานของ combobox

    ตั้งหัวข้อ by loveapple244 12/02/12, 08:27 pm

    โหเก่งอ่าเคยเป็นซีชาปเลย-0-ผมพึ่งซีพื้นฐานเอง--*ยังไมไม่ไหนเลยจากโจทย์ข้างบนผมคิดหาผังงานก่อนอะคือมี1.F1-F7 2มีสี0xA52018คือสีแดงคิดว่านีแดงเพราะเดา- -*เปล่าหรอกพิมพ์color บนกูเกิ้ลนะ- -*สร้างพิกัดจุดก็คืออาเรย์ที่[F1][F2][F3]..[F7]รวม7อาเรย์ โดยใช้andเทียมตะกะ BitORแล้วไม่ใช่คือ ส่งค่าเท็จNOT แล้วกดZแปลว่าเราทราบค่าเริ่มต้นคือF1สิ้นสุดที่F7แล้วถ้าไม่มีF1-F7ก็เป็นเท็จก็ออกจากloopingก็คือจบการทำงาน-*-ผมก็มาคิดต่อว่าต้องการอะไรนายต้องการ1.ค้นหาว่าอาเรย์ทั้ง7มีสีxA52018หรือไม่ถ้าเป็นจิงก็ให้วนต่อไป2.ถ้าเป็นเท็จให้ออกจากloopแล้วส่งค่าZ จากด้านบนเราก็คิดว่ามีปัญหาคือเรากำหนดอาเรย์มาF1-F7แต่ไม่รู้ค่าในนั้น-*-จบเลย-*-ไม่สามารถสร้างloopวนซ้ำได้ที่คิดว่าต้องทำเพราะนายบอกว่าสร้างตรรกศาสตร์ในที่นี้น่าจะสือถึงว่าค่าในF1-F7เป็นจริงหรือเป็นเท็จถูกไม่ถูกอันนี้เราคิดคนเดียว-*-แล้วคำถามที่3คือ ถ้าไม่ใช่สี 0xA52018 ให้กด Zอันนี้เป็นคำสั่งเดาได้เลยว่าเป็นคำสั่งต่อเนื่องค่าเมื่อF1-F7ไม่ใช่สี 0xA2018แล้วมันก็น่าจะจบการทำงานแต่ด้วยจากรูปแบบข้างบนเราคิดว่าต้องแสดงเป็นฟังก์ชั่นหรือในรูปอื่นก็ได้โดยสร้างเหตุการณ์จำลองF1จนถึงF7แล้วก็สร้างเหตุการณ์อีกอันคือถ้าไม่ใช่หรือเป็นเท็จคือไม่ใช่0xA52018แล้วกดZถ้าเขียนในภาษาเลยคิดว่าน่าจะเป็นแบบนี้
    Global $ค่าสี = 0xA52018
    $สีที่1 =
    while
    fuce notcolor()
    if not $ค่าสี then
    send("Z")
    elseIf
    endfunc
    WEnd

    fuce สีที่F1-F7(เขียน7ฟังก์ชั่น)
    while1
    if $ค่าสี1-7 then
    WEnd
    elseIf
    endfunc

    แต่ตัวโค๊ดจริงๆเราก็ไม่มั่นใจแต่น่าจะเขียนประมาณนี้ละมั้งครับ TvT เพราะยังไม่เคยลองของจิงอ่าเดา70%--*ขอโทษงับให้คำปรึกษาไรไม่ได้เลย- -*

      เวลาขณะนี้ 28/03/24, 04:19 pm