{$CLEO}
{$INCLUDE SF}
const
MAX_DIALOG_CONTENT = 4096
end
0001: wait 0 ms
0662: "by legend2360"
0662: "BlastHack - cheating is art"
while not SAMP.Available()
wait 400
end
/*
Ex.:
{ffffff}Введите номер куста со склада, который
подлежит обработке
315 - {4BB85A}пoдлeжит oбрaбoткe{ffffff}
316 - ужe обрaбoтaн
317 - ужe обрaбoтaн
318 - ужe обрaбoтaн
319 - ужe обрaбoтaн
*/
0AC6: 0@ = label @dialog_test offset
0B3B: samp show_dialog id 1000 caption "_" text 0@ button_1 "Close" button_2 "" style DIALOG_STYLE_MSGBOX
while true
wait 0
if and
key 123
SAMP.IsDialogActive(-1)
then
alloc 0@ MAX_DIALOG_CONTENT
0C11: memset destination 0@ value 0 size MAX_DIALOG_CONTENT
0BD7: samp get_dialog_text 0@
call @split_text_by_newline 2 text 0@ function @_myfunction_split_callback
free 0@
while key 123
wait 0
end
end
end
:dialog_test
hex
"{ffffff}Введите номер куста со склада, который подлежит обработке\n"
"\n"
"315 - {4BB85A}пoдлeжит oбрaбoткe{ffffff}\n"
"316 - ужe обрaбoтaн\n"
"317 - ужe обрaбoтaн\n"
"318 - ужe обрaбoтaн\n"
"319 - ужe обрaбoтaн\0"
end
:_myfunction_split_callback
// 0@ - string
if 0C18: 0 = strstr string1 0@ string2 "пoдлeжит"
then
0C1A: 1@ = atoi 0@
0B79: samp set_chat_input_enabled true
alloc 2@ 8
0C1C: 2@ = itoa 1@ radix 10
0B76: samp set_chat_input_text 2@
free 2@
end
ret 0
:split_text_by_newline
// call @split_text_by_newline 2 text 0@ function 1@
if or
0@ == 0
1@ == 0
then ret 0
end
0C17: 2@ = strlen 0@
if 2@ < 1
then ret 0
end
0A8E: 3@ = 2@ + 1
// allocate new buffer, because strtok replace delim to \0
0AC8: 4@ = allocate_memory_size 3@
0C0D: struct 4@ offset 3@ size 1 = 0x0
0C24: strncpy destination 4@ source 0@ size 2@
0AC7: 5@ = var 30@ offset
30@ = 0xA
0C16: 6@ = strtok string1 4@ string2 5@
while 6@ <> 0
call 1@ 1 string 6@
0C16: 6@ = strtok string1 0 string2 5@
end
0AC9: free_allocated_memory 4@
ret 0