CLEO Help Variable text equals a preset

CLEO related
Status
Not open for further replies.

habinabi

Active member
Joined
Nov 10, 2019
Messages
51
Reaction score
2
Location
Czech Republic
Hi, I need a condition that what is below 10@ is equal to the text "Hello", but I don't know how to do it. Does anyone know how to do this?
PHP:
10@ == "Hello" // Input text
 

ajom

Well-known member
Joined
Apr 14, 2020
Messages
389
Solutions
2
Reaction score
269
Location
Pluto
Hi, I need a condition that what is below 10@ is equal to the text "Hello", but I don't know how to do it. Does anyone know how to do this?
PHP:
10@ == "Hello" // Input text

Code:
alloc 31@ 6 // 5 characters max
0AD3: 0@ = format "Hello" // required size = 5+1
free 31@


Demonstration example:
Code:
{$CLEO}
0000:
0AC8: 31@ = allocate_memory_size 23 // max of 22 characters, increase this size you are inserting a longer string with formula "Size = N+1" N is character count

while true
Wait 500
0AD3: 0@ = format "hello habinabi."
0ACD: show_text_highpriority 31@ time 500

Wait 500
0AD3: 0@ = format "how are you habinabi?"
0ACD: show_text_highpriority 31@ time 500

Wait 500
0AD3: 0@ = format "gggggggggggrrrrrrrrrrr" // 22 character count
0ACD: show_text_highpriority 31@ time 500

Wait 500
0@ = 9
1@ = 5.82
0AD3: 0@ = format "%d - %f + %f - %d" 0@ 13.6 1@ 7
0ACD: show_text_highpriority 31@ time 500
End
 
Last edited:

habinabi

Active member
Joined
Nov 10, 2019
Messages
51
Reaction score
2
Location
Czech Republic
@ajom
I'm sorry, I said it wrong, I need it as a condition, I use DialogRespond and I need InputText to equal "Hello".
I use it:
PHP:
:isDialogResponded
{
    0.3.7 - R1
    0AB1: @isDialogResponded 0 _Returned: ID 0@ Type 1@ ListboxItem 2@ Button 3@ Text 4@ InputText 5@ Caption 6@ LeftButtonText 7@ RightButtonText 8@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0B8 // DIALOG_POINTER_OFFSET
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    0A8E: 29@ = 30@ + 0x28 // DIALOG_OPEN_OFFSET
    0A8D: 29@ = readMem 29@ sz 4 vp 0
    IF 29@ == TRUE // DIALOG OPEN
    THEN
    
        0A8E: 28@ = 30@ + 0x30 // DIALOG_ID_OFFSET
        0A8D: 28@ = readMem 28@ sz 4 vp 0
    
        0A8E: 27@ = 30@ + 0x2C // DIALOG_TYPE_OFFSET
        0A8D: 27@ = readMem 27@ sz 4 vp 0
        IF OR
        27@ == 2 // DIALOG_STYLE_LIST
        27@ == 4 // DIALOG_STYLE_TABLIST
        27@ == 5 // DIALOG_STYLE_TABLIST_HEADERS
        THEN
            0A8E: 26@ = 30@ + 0x20 // DIALOG_WITH_LIST_OFFSET           
            0A8D: 26@ = readMem 26@ sz 4 vp 0
            0A8E: 25@ = 31@ + 0x84850 // DIALOG_GET_LIST_ITEM_OFFSET
            0AA8: call_function_method 25@ struct 26@ num_params 1 pop 0 -1 _Returned: ListboxItem 24@
        ELSE 24@ = -1
        END
    
        IF OR
        27@ == 0 // DIALOG_STYLE_MSGBOX
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 14@ = 30@ + 0x34 // DIALOG_TEXT_OFFSET
            0A8D: 14@ = readMem 14@ sz 4 vp 0
        ELSE 14@ = 0
        END
    
        IF OR
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 23@ = 30@ + 0x24 // DIALOG_EDIT_BOX_OFFSET           
            0A8D: 23@ = readMem 23@ sz 4 vp 0
            0A8E: 22@ = 31@ + 0x81030 // DIALOG_GET_EDIT_BOX_TEXT_OFFSET
            0AA8: call_function_method 22@ struct 23@ num_params 0 pop 0 _Returned: InputText 21@
        ELSE 21@ = 0
        END
    
        0A8E: 20@ = 30@ + 0x40 // DIALOG_CAPTION_OFFSET
    
        0A8E: 19@ = 30@ + 0x1C // DIALOG_SECOND_POINTER_OFFSET           
        0A8D: 19@ = readMem 19@ sz 4 vp 0
    
        0A8E: 18@ = 19@ + 0x4AD // DIALOG_LEFT_BUTTON_TEXT_OFFSET
        0A8D: 16@ = readMem 18@ sz 1 vp 0
        IF NOT 16@ > 0
        THEN 18@ = 0
        END
    
        0A8E: 17@ = 19@ + 0x1615 // DIALOG_RIGHT_BUTTON_TEXT_OFFSET
        0A8D: 15@ = readMem 17@ sz 1 vp 0
        IF NOT 15@ > 0
        THEN 17@ = 0
        END
    
        0A8E: 13@ = 19@ + 0x466 // DIALOG_LEFT_BUTTON_CLICKED_OFFSET
        0A8D: 13@ = readMem 13@ sz 1 vp 0
    
        0A8E: 12@ = 19@ + 0x15CE // DIALOG_RIGHT_BUTTON_CLICKED_OFFSET
        0A8D: 12@ = readMem 12@ sz 1 vp 0
        IF OR
        0AB0: 27 // ESC
        12@ == 1
        THEN 11@ = 1
        ELSE
            IF OR
            0AB0: 13 // ENTER
            13@ == 1
            THEN  11@ = 0
            ELSE 11@ = -1 // RESET_CLICKED_BUTTONS
            END
        END
    ELSE
        11@ = -1 // RESET_CLICKED_BUTTONS   
    END
END   
0AB2: 9 28@ 27@ 24@ 11@ 14@ 21@ 20@ 18@ 17@
very sorry
 

Parazitas

God
Staff member
Joined
Jan 2, 2017
Messages
3,271
Solutions
6
Reaction score
926
Location
Lithuania
@ajom
I'm sorry, I said it wrong, I need it as a condition, I use DialogRespond and I need InputText to equal "Hello".
I use it:
PHP:
:isDialogResponded
{
    0.3.7 - R1
    0AB1: @isDialogResponded 0 _Returned: ID 0@ Type 1@ ListboxItem 2@ Button 3@ Text 4@ InputText 5@ Caption 6@ LeftButtonText 7@ RightButtonText 8@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0B8 // DIALOG_POINTER_OFFSET
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    0A8E: 29@ = 30@ + 0x28 // DIALOG_OPEN_OFFSET
    0A8D: 29@ = readMem 29@ sz 4 vp 0
    IF 29@ == TRUE // DIALOG OPEN
    THEN
  
        0A8E: 28@ = 30@ + 0x30 // DIALOG_ID_OFFSET
        0A8D: 28@ = readMem 28@ sz 4 vp 0
  
        0A8E: 27@ = 30@ + 0x2C // DIALOG_TYPE_OFFSET
        0A8D: 27@ = readMem 27@ sz 4 vp 0
        IF OR
        27@ == 2 // DIALOG_STYLE_LIST
        27@ == 4 // DIALOG_STYLE_TABLIST
        27@ == 5 // DIALOG_STYLE_TABLIST_HEADERS
        THEN
            0A8E: 26@ = 30@ + 0x20 // DIALOG_WITH_LIST_OFFSET         
            0A8D: 26@ = readMem 26@ sz 4 vp 0
            0A8E: 25@ = 31@ + 0x84850 // DIALOG_GET_LIST_ITEM_OFFSET
            0AA8: call_function_method 25@ struct 26@ num_params 1 pop 0 -1 _Returned: ListboxItem 24@
        ELSE 24@ = -1
        END
  
        IF OR
        27@ == 0 // DIALOG_STYLE_MSGBOX
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 14@ = 30@ + 0x34 // DIALOG_TEXT_OFFSET
            0A8D: 14@ = readMem 14@ sz 4 vp 0
        ELSE 14@ = 0
        END
  
        IF OR
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 23@ = 30@ + 0x24 // DIALOG_EDIT_BOX_OFFSET         
            0A8D: 23@ = readMem 23@ sz 4 vp 0
            0A8E: 22@ = 31@ + 0x81030 // DIALOG_GET_EDIT_BOX_TEXT_OFFSET
            0AA8: call_function_method 22@ struct 23@ num_params 0 pop 0 _Returned: InputText 21@
        ELSE 21@ = 0
        END
  
        0A8E: 20@ = 30@ + 0x40 // DIALOG_CAPTION_OFFSET
  
        0A8E: 19@ = 30@ + 0x1C // DIALOG_SECOND_POINTER_OFFSET         
        0A8D: 19@ = readMem 19@ sz 4 vp 0
  
        0A8E: 18@ = 19@ + 0x4AD // DIALOG_LEFT_BUTTON_TEXT_OFFSET
        0A8D: 16@ = readMem 18@ sz 1 vp 0
        IF NOT 16@ > 0
        THEN 18@ = 0
        END
  
        0A8E: 17@ = 19@ + 0x1615 // DIALOG_RIGHT_BUTTON_TEXT_OFFSET
        0A8D: 15@ = readMem 17@ sz 1 vp 0
        IF NOT 15@ > 0
        THEN 17@ = 0
        END
  
        0A8E: 13@ = 19@ + 0x466 // DIALOG_LEFT_BUTTON_CLICKED_OFFSET
        0A8D: 13@ = readMem 13@ sz 1 vp 0
  
        0A8E: 12@ = 19@ + 0x15CE // DIALOG_RIGHT_BUTTON_CLICKED_OFFSET
        0A8D: 12@ = readMem 12@ sz 1 vp 0
        IF OR
        0AB0: 27 // ESC
        12@ == 1
        THEN 11@ = 1
        ELSE
            IF OR
            0AB0: 13 // ENTER
            13@ == 1
            THEN  11@ = 0
            ELSE 11@ = -1 // RESET_CLICKED_BUTTONS
            END
        END
    ELSE
        11@ = -1 // RESET_CLICKED_BUTTONS 
    END
END 
0AB2: 9 28@ 27@ 24@ 11@ 14@ 21@ 20@ 18@ 17@
very sorry
Omg you saved my snippet xD
Do you have some others which is lost since ugbase burned?
 

habinabi

Active member
Joined
Nov 10, 2019
Messages
51
Reaction score
2
Location
Czech Republic
@habinabi
BTW one question.
You use SAMPFUNCS or not because there's big differences between codes?..

Yes I use sampfuncs.
I think these are all from you
PHP:
:Set_Virtual_Key
{
    255 = true
    0 = false
    0AB1: @Set_Virtual_Key 2 KeyOffSet 0x57 state 255
}
2@ = 0xB72CC8
0@ *= 2
005A: 2@ += 0@  // (int)
0A8C: write_memory 2@ size 1 value 1@ virtual_protect 0
0AB2: ret 0
return

:Set_Game_Key
// 0AB1: @Set_Game_key 2 KeyOffSet 0x57 State 255
2@ = 0xB72CC8
0@ *= 2
005A: 2@ += 0@  // (int)
0A8C: write_memory 2@ size 1 value 1@ virtual_protect 0
0AB2: ret 0

:SEND_CMD
{
    0AB1: @SEND_CMD 1 $text
    0.3.7 - R1
}
IF 0AA2: 1@ = "samp.dll"
THEN
    1@ += 0x65C60 // 0.3.7 R1 - 0x65C60 // 0.3.DL - 0x698C0
    0AA5: call 1@ num_param 1 pop 0 0@
END
0AB2: 0

:ShowDialog
{
    0.3.7 - R1
}
IF 0AA2: 10@ = "samp.dll"
THEN
    0A8E: 11@ = 10@ + 0x21A0B8 // SAMP_DIALOG_INFO_OFFSET
    0A8D: 12@ = readMem 11@ sz 4 vp 1
    0A8E: 11@ = 10@ + 0x6B9C0 //SAMP_DIALOG_SHOW
    0AA6: call_method 11@ struct 12@ num_params 7 pop 0 params 0 RightButton 4@ LeftButton 3@ dText 2@ Caption 1@ dType 5@ dID 0@ bServerside 0 _retVal 6@
END
0AB2: 0

:GetLastSentTextFromChatBox
{
    0.3.7 - R1
    0AB1: @GetLastSentTextFromChatBox 0 _Returned: Command 4@ Text 5@
}
if 0AA2: 2@ = "samp.dll"
then           
    0A8E: 3@ = 2@ + 0x21A0E8   
    0A8D: 3@ = readMem 3@ sz 4 vp 0
    0A8E: 4@ = 3@ + 0x14E5 // command
    0A8E: 5@ = 3@ + 0x1565 // text
end
0AB2: 2 4@ 5@

:cmpString1andString2
{
    Example: 0AB1: @cmpString1andString2 2 String1 1@ String2 2@
    In: 0@, 1@ - strings
    Out: result 0/1
}
for 7@ = 0 to 1024
    0A8D: 2@ = read_memory 0@ size 1 virtual_protect 0
    0A8D: 3@ = read_memory 1@ size 1 virtual_protect 0
    0@ += 1
    1@ += 1
    if 003B: 2@ == 3@
    jf break
    if and
    2@ == 0
    3@ == 0
    then
        0485: return_true
        0AB2: ret 0
    end
end
059A: return_false
0AB2: ret 0

:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: id 0@
30@ = 0
IF 0AA2: 31@ = load_library "samp.dll" // IF and SET
THEN
    31@ += 0x128
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1
    IF 29@ == 0x5542F47A
    THEN // 0.3.7 R1
        30@ = 1
    END

    IF 29@ == 0x59C30C94
    THEN // 0.3.7 R2
        30@ = 2
    END

    IF 29@ == 0x5A6A3130
    THEN // 0.3.DL
        30@ = 3
    END

    31@ -= 8 // reading samp.dll + 0x120
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1

    IF 29@ == 0x5C0B4243
    THEN // 0.3.7 R3
        30@ = 4
    END

    IF 29@ == 0x5DD606CD
    THEN // 0.3.7 R4
        30@ = 5
    END
END
0AB2: ret 1 30@

:SetChatInputEditBoxTextColor
{
    0AB1: @SetChatInputEditBoxTextColor 2 SampVersionID 0@ Color 0xFF00FF00
}
IF 0AA2: 31@ = "samp.dll"
THEN
    IF NOT 0@ < 1
    THEN
        IF 0@ == 1 // 0.3.7 R1
        THEN
            0A8E: 31@ = 31@ + 0x21A0E8            // SAMP_CHAT_INPUT_INFO_OFFSET (R1)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pChatInput;
            0A8E: 31@ = 31@ + 0x8                // pChatInput->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 2 // 0.3.7 R2
        THEN
            0A8E: 31@ = 31@ + 0x21A0F0            // SAMP_CHAT_INPUT_INFO_OFFSET (R2)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pChatInput;
            0A8E: 31@ = 31@ + 0x8                // pChatInput->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 3 // 0.3.DL
        THEN
            0A8E: 31@ = 31@ + 0x2ACA14            // SAMP_CHAT_INPUT_INFO_OFFSET (DL)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pChatInput;
            0A8E: 31@ = 31@ + 0x8                // pChatInput->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 4 // 0.3.7 R3
        THEN
            0A8E: 31@ = 31@ + 0x26E8CC            // SAMP_CHAT_INPUT_INFO_OFFSET (R3)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pChatInput;
            0A8E: 31@ = 31@ + 0x8                // pChatInput->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 5 // 0.3.7 R4
        THEN
            0A8E: 31@ = 31@ + 0x26E9FC            // SAMP_CHAT_INPUT_INFO_OFFSET (R4)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pChatInput;
            0A8E: 31@ = 31@ + 0x8                // pChatInput->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
        
        0A8E: 30@ = 31@ + 0x127                // pEditBox->TextColor;
        0A8C: write_memory 30@ size 4 value 1@ virtual_protect 0
        
        0A8E: 29@ = 31@ + 0x133                // pEditBox->CharacterAtTextEndColor;
        0A8C: write_memory 29@ size 4 value 1@ virtual_protect 0
    END
END
0AB2: 0

:SetDialogInputEditBoxTextColor
{
    0AB1: @SetDialogInputEditBoxTextColor 2 SampVersionID 0@ Color 0xFF00FF00
}
IF 0AA2: 31@ = "samp.dll"
THEN
    IF NOT 0@ < 1
    THEN
        IF 0@ == 1 // 0.3.7 R1
        THEN
            0A8E: 31@ = 31@ + 0x21A0B8            // SAMP_DIALOG_INFO_OFFSET (R1)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pDialog;
            0A8E: 31@ = 31@ + 0x24                // pDialog->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 2 // 0.3.7 R2
        THEN
            0A8E: 31@ = 31@ + 0x21A0C0            // SAMP_DIALOG_INFO_OFFSET (R2)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pDialog;
            0A8E: 31@ = 31@ + 0x24                // pDialog->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 3 // 0.3.DL
        THEN
            0A8E: 31@ = 31@ + 0x2AC9E0            // SAMP_DIALOG_INFO_OFFSET (DL)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pDialog;
            0A8E: 31@ = 31@ + 0x24                // pDialog->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 4 // 0.3.7 R3
        THEN
            0A8E: 31@ = 31@ + 0x26E898            // SAMP_DIALOG_INFO_OFFSET (R3)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pDialog;
            0A8E: 31@ = 31@ + 0x24                // pDialog->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
    
        IF 0@ == 5 // 0.3.7 R4
        THEN
            0A8E: 31@ = 31@ + 0x26E9C8            // SAMP_DIALOG_INFO_OFFSET (R4)
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pDialog;
            0A8E: 31@ = 31@ + 0x24                // pDialog->pEditBox;
            0A8D: 31@ = readMem 31@ sz 4 vp 0     // pEditBox;
        END
        
        0A8E: 30@ = 31@ + 0x127                   // pEditBox->TextColor;
        0A8C: write_memory 30@ size 4 value 1@ virtual_protect 0
        
        0A8E: 29@ = 31@ + 0x133                   // pEditBox->CharacterAtTextEndColor;
        0A8C: write_memory 29@ size 4 value 1@ virtual_protect 0
    END
END
0AB2: 0


:Chatmsg
{
    0AB1: @Chatmsg 3 SampVersionID 0@ text 1@ color 0xFF00FF00
}
IF 0AA2: 31@ = "samp.dll"
THEN
    IF NOT 0@ < 1
    THEN
        IF 0@ == 1 // 0.3.7 R1
        THEN
            0A8E: 30@ = 31@ + 0x21A0E4            // SAMP_CHAT_INFO_OFFSET (R1)
            0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
            0A8E: 29@ = 31@ + 0x64010             // FUNC_ADDTOCHATWND (R1)
        END
    
        IF 0@ == 2 // 0.3.7 R2
        THEN
            0A8E: 30@ = 31@ + 0x21A0EC            // SAMP_CHAT_INFO_OFFSET (R2)
            0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
            0A8E: 29@ = 31@ + 0x640E0            // FUNC_ADDTOCHATWND (R2)
        END
    
        IF 0@ == 3 // 0.3.DL
        THEN
            0A8E: 30@ = 31@ + 0x2ACA10            // SAMP_CHAT_INFO_OFFSET (DL)
            0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
            0A8E: 29@ = 31@ + 0x67650             // FUNC_ADDTOCHATWND (DL)
        END
    
        IF 0@ == 4 // 0.3.7 R3
        THEN
            0A8E: 30@ = 31@ + 0x26E8C8            // SAMP_CHAT_INFO_OFFSET (R3)
            0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
            0A8E: 29@ = 31@ + 0x67460             // FUNC_ADDTOCHATWND (R3)
        END
    
        IF 0@ == 5 // 0.3.7 R4
        THEN
            0A8E: 30@ = 31@ + 0x26E9F8            // SAMP_CHAT_INFO_OFFSET (R4)
            0A8D: 30@ = readMem 30@ sz 4 vp 0     // pChat;
            0A8E: 29@ = 31@ + 0x67BA0             // FUNC_ADDTOCHATWND (R4)
        END
          
        0AA6: call 29@ struct 30@ num_params 5 pop 0 params 0 2@ 0 1@ 8
    END
END
0AB2: 0
 

Parazitas

God
Staff member
Joined
Jan 2, 2017
Messages
3,271
Solutions
6
Reaction score
926
Location
Lithuania
@ajom
I'm sorry, I said it wrong, I need it as a condition, I use DialogRespond and I need InputText to equal "Hello".
I use it:
PHP:
:isDialogResponded
{
    0.3.7 - R1
    0AB1: @isDialogResponded 0 _Returned: ID 0@ Type 1@ ListboxItem 2@ Button 3@ Text 4@ InputText 5@ Caption 6@ LeftButtonText 7@ RightButtonText 8@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0B8 // DIALOG_POINTER_OFFSET
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    0A8E: 29@ = 30@ + 0x28 // DIALOG_OPEN_OFFSET
    0A8D: 29@ = readMem 29@ sz 4 vp 0
    IF 29@ == TRUE // DIALOG OPEN
    THEN
  
        0A8E: 28@ = 30@ + 0x30 // DIALOG_ID_OFFSET
        0A8D: 28@ = readMem 28@ sz 4 vp 0
  
        0A8E: 27@ = 30@ + 0x2C // DIALOG_TYPE_OFFSET
        0A8D: 27@ = readMem 27@ sz 4 vp 0
        IF OR
        27@ == 2 // DIALOG_STYLE_LIST
        27@ == 4 // DIALOG_STYLE_TABLIST
        27@ == 5 // DIALOG_STYLE_TABLIST_HEADERS
        THEN
            0A8E: 26@ = 30@ + 0x20 // DIALOG_WITH_LIST_OFFSET         
            0A8D: 26@ = readMem 26@ sz 4 vp 0
            0A8E: 25@ = 31@ + 0x84850 // DIALOG_GET_LIST_ITEM_OFFSET
            0AA8: call_function_method 25@ struct 26@ num_params 1 pop 0 -1 _Returned: ListboxItem 24@
        ELSE 24@ = -1
        END
  
        IF OR
        27@ == 0 // DIALOG_STYLE_MSGBOX
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 14@ = 30@ + 0x34 // DIALOG_TEXT_OFFSET
            0A8D: 14@ = readMem 14@ sz 4 vp 0
        ELSE 14@ = 0
        END
  
        IF OR
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 23@ = 30@ + 0x24 // DIALOG_EDIT_BOX_OFFSET         
            0A8D: 23@ = readMem 23@ sz 4 vp 0
            0A8E: 22@ = 31@ + 0x81030 // DIALOG_GET_EDIT_BOX_TEXT_OFFSET
            0AA8: call_function_method 22@ struct 23@ num_params 0 pop 0 _Returned: InputText 21@
        ELSE 21@ = 0
        END
  
        0A8E: 20@ = 30@ + 0x40 // DIALOG_CAPTION_OFFSET
  
        0A8E: 19@ = 30@ + 0x1C // DIALOG_SECOND_POINTER_OFFSET         
        0A8D: 19@ = readMem 19@ sz 4 vp 0
  
        0A8E: 18@ = 19@ + 0x4AD // DIALOG_LEFT_BUTTON_TEXT_OFFSET
        0A8D: 16@ = readMem 18@ sz 1 vp 0
        IF NOT 16@ > 0
        THEN 18@ = 0
        END
  
        0A8E: 17@ = 19@ + 0x1615 // DIALOG_RIGHT_BUTTON_TEXT_OFFSET
        0A8D: 15@ = readMem 17@ sz 1 vp 0
        IF NOT 15@ > 0
        THEN 17@ = 0
        END
  
        0A8E: 13@ = 19@ + 0x466 // DIALOG_LEFT_BUTTON_CLICKED_OFFSET
        0A8D: 13@ = readMem 13@ sz 1 vp 0
  
        0A8E: 12@ = 19@ + 0x15CE // DIALOG_RIGHT_BUTTON_CLICKED_OFFSET
        0A8D: 12@ = readMem 12@ sz 1 vp 0
        IF OR
        0AB0: 27 // ESC
        12@ == 1
        THEN 11@ = 1
        ELSE
            IF OR
            0AB0: 13 // ENTER
            13@ == 1
            THEN  11@ = 0
            ELSE 11@ = -1 // RESET_CLICKED_BUTTONS
            END
        END
    ELSE
        11@ = -1 // RESET_CLICKED_BUTTONS 
    END
END 
0AB2: 9 28@ 27@ 24@ 11@ 14@ 21@ 20@ 18@ 17@
very sorry

This snippet taked from me a lot time xD

etc...
PHP:
{$CLEO .cs}

0000:

repeat
wait 0
until 0AFA:

while true
wait 0

if 0B61:  samp is_local_player_spawned
then
    if 0B4C:  samp is_dialog_active -1
    then
        0AB1: @isDialogResponded 0 _Returned: ID 0@ Type 1@ ListboxItem 2@ Button 3@ Text 4@ InputText 5@ Caption 6@ LeftButtonText 7@ RightButtonText 8@
        if 0C29: $NOT_USED = stristr string1 5@ string2 "hello"
        then
            chatmsg "Detected!!!" -1
        end
    end
end

end

:isDialogResponded
{
    0.3.7 - R1
    0AB1: @isDialogResponded 0 _Returned: ID 0@ Type 1@ ListboxItem 2@ Button 3@ Text 4@ InputText 5@ Caption 6@ LeftButtonText 7@ RightButtonText 8@
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0A8E: 30@ = 31@ + 0x21A0B8 // DIALOG_POINTER_OFFSET
    0A8D: 30@ = readMem 30@ sz 4 vp 0
    0A8E: 29@ = 30@ + 0x28 // DIALOG_OPEN_OFFSET
    0A8D: 29@ = readMem 29@ sz 4 vp 0
    IF 29@ == TRUE // DIALOG OPEN
    THEN
   
        0A8E: 28@ = 30@ + 0x30 // DIALOG_ID_OFFSET
        0A8D: 28@ = readMem 28@ sz 4 vp 0
   
        0A8E: 27@ = 30@ + 0x2C // DIALOG_TYPE_OFFSET
        0A8D: 27@ = readMem 27@ sz 4 vp 0
        IF OR
        27@ == 2 // DIALOG_STYLE_LIST
        27@ == 4 // DIALOG_STYLE_TABLIST
        27@ == 5 // DIALOG_STYLE_TABLIST_HEADERS
        THEN
            0A8E: 26@ = 30@ + 0x20 // DIALOG_WITH_LIST_OFFSET          
            0A8D: 26@ = readMem 26@ sz 4 vp 0
            0A8E: 25@ = 31@ + 0x84850 // DIALOG_GET_LIST_ITEM_OFFSET
            0AA8: call_function_method 25@ struct 26@ num_params 1 pop 0 -1 _Returned: ListboxItem 24@
        ELSE 24@ = -1
        END
   
        IF OR
        27@ == 0 // DIALOG_STYLE_MSGBOX
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 14@ = 30@ + 0x34 // DIALOG_TEXT_OFFSET
            0A8D: 14@ = readMem 14@ sz 4 vp 0
        ELSE 14@ = 0
        END
   
        IF OR
        27@ == 1 // DIALOG_STYLE_INPUT
        27@ == 3 // DIALOG_STYLE_PASSWORD
        THEN
            0A8E: 23@ = 30@ + 0x24 // DIALOG_EDIT_BOX_OFFSET          
            0A8D: 23@ = readMem 23@ sz 4 vp 0
            0A8E: 22@ = 31@ + 0x81030 // DIALOG_GET_EDIT_BOX_TEXT_OFFSET
            0AA8: call_function_method 22@ struct 23@ num_params 0 pop 0 _Returned: InputText 21@
        ELSE 21@ = 0
        END
   
        0A8E: 20@ = 30@ + 0x40 // DIALOG_CAPTION_OFFSET
   
        0A8E: 19@ = 30@ + 0x1C // DIALOG_SECOND_POINTER_OFFSET          
        0A8D: 19@ = readMem 19@ sz 4 vp 0
   
        0A8E: 18@ = 19@ + 0x4AD // DIALOG_LEFT_BUTTON_TEXT_OFFSET
        0A8D: 16@ = readMem 18@ sz 1 vp 0
        IF NOT 16@ > 0
        THEN 18@ = 0
        END
   
        0A8E: 17@ = 19@ + 0x1615 // DIALOG_RIGHT_BUTTON_TEXT_OFFSET
        0A8D: 15@ = readMem 17@ sz 1 vp 0
        IF NOT 15@ > 0
        THEN 17@ = 0
        END
   
        0A8E: 13@ = 19@ + 0x466 // DIALOG_LEFT_BUTTON_CLICKED_OFFSET
        0A8D: 13@ = readMem 13@ sz 1 vp 0
   
        0A8E: 12@ = 19@ + 0x15CE // DIALOG_RIGHT_BUTTON_CLICKED_OFFSET
        0A8D: 12@ = readMem 12@ sz 1 vp 0
        IF OR
        0AB0: 27 // ESC
        12@ == 1
        THEN 11@ = 1
        ELSE
            IF OR
            0AB0: 13 // ENTER
            13@ == 1
            THEN  11@ = 0
            ELSE 11@ = -1 // RESET_CLICKED_BUTTONS
            END
        END
    ELSE
        11@ = -1 // RESET_CLICKED_BUTTONS  
    END
END  
0AB2: 9 28@ 27@ 24@ 11@ 14@ 21@ 20@ 18@ 17@
 
Status
Not open for further replies.
Top