Неправильно засовываешьПодскажите каким опкодом можно засунуть переменную в диалог..
Не работаетКод:0B4B: samp set_current_dialog_editbox_text 5@
Работает тока тогда место @ стоит " ".
Код:0B4B: samp set_current_dialog_editbox_text "boom"
{$CLEO}
const
DIALOG_STYLE_MSGBOX = 0 // С текстом
DIALOG_STYLE_INPUT = 1 // С полем для ввода текста
DIALOG_STYLE_LIST = 2 // Со списком
DIALOG_STYLE_PASSWORD = 3 // С полем для ввода текста, текст заменяется точками
end
0000:
while not SAMP.Available()
wait 400
end
0ac8: alloc 2@ size 64 // буфер для хранения введенего текста
while true
wait 0
if 0ab0: key_down 66
then
while 0ab0: key_down 66
wait 0
if 0ab0: key_down 51
then
0ac8: alloc 0@ size 64
0ad3: format_stirng 0@ = "Первый пункт%cВторой пункт%cТретий пункт" 0xA 0xA
0B3B: samp show_dialog id 47 caption "Первый диалог" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
0ac9: free 0@
break
end
end
while 0ab0: key_down 66
wait 0
end
end
// DIALOG_STYLE_LIST
if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47
then
if 1@ == 1 // Была нажата первая кнопка
then
0af8: chat "Был выбран элемент номер: {ffff00}%d" -1 3@
if 3@ == 0
then
0B3B: samp show_dialog id 48 caption "Второй диалог" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_PASSWORD
end
if 3@ == 1
then
0af8: chat "Был выбран элемент: {ffff00}Второй пункт" -1
end
if 3@ == 2
then
0af8: chat "Был выбран элемент: {ffff00}Третий пункт" -1
end
else
0af8: chat "Была нажата вторая кнопка: {ffff00}Закрыть" -1
end
end
0ac8: alloc 2@ size 64 // Выделим память для хранения введеного текста // здесь неправильно выбрана позиция этого выделения, его лучше вставить после создания
// и очистить после обработки
if 0B3C: samp is_dialog_responded id 48 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46
then
if 1@ == 1 // Была нажата первая кнопка
then
0B35: samp 0@ = get_last_command_params
0C1A: 11@ = atoi 0@
0af8: chat "Вы отправили текст ID:{ffff00}%d" -1 11@
0AF9: samp say_msg "/pm %d Привет" 11@
else
0af8: chat "Была нажата вторая кнопка: {ffff00}Закрыть" -1
end
end
end
потому что ты получаешь параметры последней введенной команды, ид у тебя в переменной 2Что не так с кодом?
При вводе ида, пишет 0
Код:{$CLEO} const DIALOG_STYLE_MSGBOX = 0 // С текстом DIALOG_STYLE_INPUT = 1 // С полем для ввода текста DIALOG_STYLE_LIST = 2 // Со списком DIALOG_STYLE_PASSWORD = 3 // С полем для ввода текста, текст заменяется точками end 0000: while not SAMP.Available() wait 400 end 0ac8: alloc 2@ size 64 // буфер для хранения введенего текста while true wait 0 if 0ab0: key_down 66 then while 0ab0: key_down 66 wait 0 if 0ab0: key_down 51 then 0ac8: alloc 0@ size 64 0ad3: format_stirng 0@ = "Первый пункт%cВторой пункт%cТретий пункт" 0xA 0xA 0B3B: samp show_dialog id 47 caption "Первый диалог" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST 0ac9: free 0@ break end end while 0ab0: key_down 66 wait 0 end end // DIALOG_STYLE_LIST if 0B3C: samp is_dialog_responded id 47 button 1@ list_item 3@ input_text 0 // Логгируем нажатие кнопки диалога и выбранного элемента из списка диалога 47 then if 1@ == 1 // Была нажата первая кнопка then 0af8: chat "Был выбран элемент номер: {ffff00}%d" -1 3@ if 3@ == 0 then 0B3B: samp show_dialog id 48 caption "Второй диалог" text "Введите ID" button_1 "Закрыть" button_2 "" style DIALOG_STYLE_PASSWORD end if 3@ == 1 then 0af8: chat "Был выбран элемент: {ffff00}Второй пункт" -1 end if 3@ == 2 then 0af8: chat "Был выбран элемент: {ffff00}Третий пункт" -1 end else 0af8: chat "Была нажата вторая кнопка: {ffff00}Закрыть" -1 end end 0ac8: alloc 2@ size 64 // Выделим память для хранения введеного текста // здесь неправильно выбрана позиция этого выделения, его лучше вставить после создания // и очистить после обработки if 0B3C: samp is_dialog_responded id 48 button 1@ list_item 0 input_text 2@ // Логгируем нажатие кнопки диалога и введеного текста с идом 46 then if 1@ == 1 // Была нажата первая кнопка then 0B35: samp 0@ = get_last_command_params 0C1A: 11@ = atoi 0@ 0af8: chat "Вы отправили текст ID:{ffff00}%d" -1 11@ 0AF9: samp say_msg "/pm %d Привет" 11@ else 0af8: chat "Была нажата вторая кнопка: {ffff00}Закрыть" -1 end end end
через хук Информация - Гайд - Работа с RakNet хуками с помощью SAMPFUNCS(https://blast.hk/threads/17440/) Гайд - RakNet Hook'и в плагине SAMPFuncs(https://blast.hk/threads/14356/)Как сделать диалог невидимым? Но cleo могло с ним работать.
Делай через hex вставкуКод:0ad3: format_stirng 0@ = "Первый пункт%cВторой пункт%cТретий пункт%c Еще пункт%cЕще пункт" 0xA 0xA 0xA 0xA
Когда ввожу еще пункты, код не реагирует на действия
А как правильно это делать??Делай через hex вставку
А как правильно это делать??
:cmd
0AC6: 30@ = label @Buffer offset
0B3B: samp show_dialog id 123 caption "caption" text 30@ button_1 "button" button_2 "" style DIALOG_STYLE_MSGBOX
0B43: samp cmd_ret
:Buffer
HEX
"строка\n"
"это переход на новую строку->\n"
"На последней строке обязательно->\0"
END
Перебрать все и чекать дистанциюкак узнать id ближайшего пикапа ?
Как узнать координаты пикапа ?
065B: store_pickup 95@(43@,3i) position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3
Границы радара, черная обводкакого?
Чекни майнкрафт худ ср_тима.Как убрать бордер у радара?
{$CLEO}
{$INCLUDE SF}
0000:
0BE3: raknet setup_incoming_rpc_hook @hook
0BDE: pause_thread 0
:hook
0BE5: raknet 1@ = get_hook_param PARAM_PACKETID
IF 1@ == RPC_SCRCLIENTMESSAGE
THEN
0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT
0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT
0AC8: 4@ = allocate_memory_size 260
0BE8: raknet bit_stream 1@ read_array 4@ size 3@
0C1E: array 4@ element 3@ el_size 1 = 0
IF 0C29: 6@ = stristr string1 4@ string2 "Получил зарплату"
THEN
000A: 5@ += 1
0AF8: samp add_message_to_chat "Ты отыграл за все время {00ff00}%d {ffffff} час(ов)." color -1 5@
0AF1: write_int 5@ to_ini_file "cleo\ini\config.ini" section "SectionName" key "Ответов"
END
0AC9: free_allocated_memory 4@
END
0BE0: raknet hook_ret TRUE
А почему он не должен? Ты ведь не получаешь число после запускаКод:{$CLEO} {$INCLUDE SF} 0000: 0BE3: raknet setup_incoming_rpc_hook @hook 0BDE: pause_thread 0 :hook 0BE5: raknet 1@ = get_hook_param PARAM_PACKETID IF 1@ == RPC_SCRCLIENTMESSAGE THEN 0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM 0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT 0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT 0AC8: 4@ = allocate_memory_size 260 0BE8: raknet bit_stream 1@ read_array 4@ size 3@ 0C1E: array 4@ element 3@ el_size 1 = 0 IF 0C29: 6@ = stristr string1 4@ string2 "Получил зарплату" THEN 000A: 5@ += 1 0AF8: samp add_message_to_chat "Ты отыграл за все время {00ff00}%d {ffffff} час(ов)." color -1 5@ 0AF1: write_int 5@ to_ini_file "cleo\ini\config.ini" section "SectionName" key "Ответов" END 0AC9: free_allocated_memory 4@ END 0BE0: raknet hook_ret TRUE
Почему счет после перезахода заново идет? Что не так?