WinAPI SetCursorPosспасибо, а можешь скинуть функцию для перемещения курсора?
0B34: samp register_client_command "weather" to_label @cmd
while true
wait 0
end
:cmd
wait 0
if
20@==22
then
01b6: set_weather 22
20@=1
else
20@+=1
01b6: set_weather 20@
end
SAMP.CmdRet
0AC6: 0@ = label @text offset
0B3B: samp show_dialog id 2 caption "Шестой диалог" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_TABLIST_HEADERS
0A93: end_custom_thread
:text
hex
"Место назначнения\tРасстояние\tСтоимость\tПримерное время поездки\n"
"Лос-Сантос\t1,8 км.\t100$\t2:57\n"
"Сан-Фиерро\t5,8 км.\t250$\t5:25\n"
"Лас-Вентурас\t4,8 км.\t175$\t4:32\n"
"Другой пункт\tX км.\tY$\tZ\n"
"Кудыкины горы\t9999 км.\tunlim$\t144000:22\n"
"Остаться здесь\0"
end
"Лос-Сантос\t1,8 км.\t100$\t2:57\n"
"1@\t2@\t3@\t4@\n"
В локальных диалогах есть такой стиль:
Могу ли я вместо текста:C++:0AC6: 0@ = label @text offset 0B3B: samp show_dialog id 2 caption "Шестой диалог" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_TABLIST_HEADERS 0A93: end_custom_thread :text hex "Место назначнения\tРасстояние\tСтоимость\tПримерное время поездки\n" "Лос-Сантос\t1,8 км.\t100$\t2:57\n" "Сан-Фиерро\t5,8 км.\t250$\t5:25\n" "Лас-Вентурас\t4,8 км.\t175$\t4:32\n" "Другой пункт\tX км.\tY$\tZ\n" "Кудыкины горы\t9999 км.\tunlim$\t144000:22\n" "Остаться здесь\0" end
сделать как - то так:C++:"Лос-Сантос\t1,8 км.\t100$\t2:57\n"
В этих переменных будут содержаться данные полученные из ini файла.C++:"1@\t2@\t3@\t4@\n"
"%d\t%d\t%d\t%d\n" 1@ 2@ 3@ 4@
По поводу дополнения ини файлов:1. Ребят, скажите пожалуйста, для записи и чтения с .txt файлов используются те же опкоды , что и для .ini или есть для этого какие - то другие опкоды ?
2. Как я понял, .ini файлы дополняются этим опкодом:
Содержание .ini файлов такое:C++:0AD8: write_string_to_file $hFile from 0@v //IF and SET
(Ну как - то так :trollface:)C++:[Main] Parametr=Value
Как можно дополнять .ini файл по такой же схеме? например:
Конечно самому можно в .ini файле прописать как надо, а потом сделать считывание, а если не выходя из игры?C++:[Main1] Paramtr=Value [Main2] Parametr=Value
Ну я надеюсь достаточно понятно обьяснил.
{$CLEO}
0000:
CONST
MOUSEEVENTF_ABSOLUTE = 0x8000
MOUSEEVENTF_LEFTDOWN = 0x0002
MOUSEEVENTF_LEFTUP = 0x0004
MOUSEEVENTF_MIDDLEDOWN = 0x0020
MOUSEEVENTF_MIDDLEUP = 0x0040
MOUSEEVENTF_MOVE = 0x0001
MOUSEEVENTF_RIGHTDOWN = 0x0008
MOUSEEVENTF_RIGHTUP = 0x0010
MOUSEEVENTF_WHEEL = 0x0800
MOUSEEVENTF_XDOWN = 0x0080
MOUSEEVENTF_XUP = 0x0100
MOUSEEVENTF_WHEEL = 0x0800
MOUSEEVENTF_HWHEEL = 0x01000
NULL = 0
END
WHILE TRUE
0001: 0
IF 0ADC: test_cheat "1"
THEN 0AB1: /* [SP/MP] */ call_scm_func @SCM_mouse_event params 5 | dwFlags MOUSEEVENTF_LEFTDOWN dx NULL dy NULL dwData NULL dwExtraInfo NULL ||
END
END
:SCM_mouse_event // 0AB1: /* [SP/MP] */ call_scm_func @SCM_mouse_event params 5 | dwFlags 0@ dx 1@ dy 2@ dwData 3@ dwExtraInfo 4@ ||
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "mouse_event" library 25@
0AA5: call 26@ num_params 5 pop 0 | dwExtraInfo 4@ dwData 3@ dy 2@ dx 1@ dwFlags 0@ ||
0AA3: free_library 25@
0AB2: ret 0 ||
спасибо, правда я уже сам сделал) да и странно почему через keybd_event не работает клик мышки, а через эту функцию нормCLEO:{$CLEO} 0000: CONST MOUSEEVENTF_ABSOLUTE = 0x8000 MOUSEEVENTF_LEFTDOWN = 0x0002 MOUSEEVENTF_LEFTUP = 0x0004 MOUSEEVENTF_MIDDLEDOWN = 0x0020 MOUSEEVENTF_MIDDLEUP = 0x0040 MOUSEEVENTF_MOVE = 0x0001 MOUSEEVENTF_RIGHTDOWN = 0x0008 MOUSEEVENTF_RIGHTUP = 0x0010 MOUSEEVENTF_WHEEL = 0x0800 MOUSEEVENTF_XDOWN = 0x0080 MOUSEEVENTF_XUP = 0x0100 MOUSEEVENTF_WHEEL = 0x0800 MOUSEEVENTF_HWHEEL = 0x01000 NULL = 0 END WHILE TRUE 0001: 0 IF 0ADC: test_cheat "1" THEN 0AB1: /* [SP/MP] */ call_scm_func @SCM_mouse_event params 5 | dwFlags MOUSEEVENTF_LEFTDOWN dx NULL dy NULL dwData NULL dwExtraInfo NULL || END END :SCM_mouse_event // 0AB1: /* [SP/MP] */ call_scm_func @SCM_mouse_event params 5 | dwFlags 0@ dx 1@ dy 2@ dwData 3@ dwExtraInfo 4@ || 0AA2: 25@ = load_library "User32.DLL" 0AA4: 26@ = get_proc_address "mouse_event" library 25@ 0AA5: call 26@ num_params 5 pop 0 | dwExtraInfo 4@ dwData 3@ dy 2@ dx 1@ dwFlags 0@ || 0AA3: free_library 25@ 0AB2: ret 0 ||
Потому что keybd_event для клавиатуры, а не мышки.спасибо, правда я уже сам сделал) да и странно почему через keybd_event не работает клик мышки, а через эту функцию норм
:10
wait 0
if and
0AB0: key_pressed 17
0AB0: key_pressed 53
jf @1
7@ = Actor.CurrentCar($PLAYER_ACTOR)
0A97: 0@ = car 7@ struct
0@ += 0x464 //указатель на пассажира на переднем месте
0A8D: 1@ = read_memory 0@ size 4 virtual_protect 0
0B2B: samp 12@ = get_player_id_by_actor_handle 1@
0AF8: samp add_message_to_chat "%d" color 0xFFFF00 12@
jump @1
0B35: samp 1@ = get_last_command_paramsЕсть ли проверка на введение параметров в команде?например нужно вписать ид и если он не вписан писало бы в чат подсказку типо: Используйте /arrest [id]
cпасибо0B35: samp 1@ = get_last_command_params
if
1@ == 0
then
"используйте /arrest id"
{$CLEO}
0000:
wait 0
chatmsg "{ADFF2F}Cleo fake arrest for ARP by {0000FF}ackman31 успешно загружено"
0B34: "farrest" @fArrest
0BDE: pause_thread 0
:fArrest
0B35: samp 0@ = get_last_command_params
if
0@ == 0
then
chatmsg "[Подсказка}: Используйте /farrest [Звание] [Ваш ник] [Ник преступника] [Время ареста]" 0xADFF2F
if
0@ == 1
then
alloc 1@ 128
alloc 2@ 128
alloc 3@ 128
0AA5: call 0x8220AD num_params 7 pop 7 params 5@v 4@v 1@ 2@ 3@ "%s %s %s %i:%i" 0@
0AF8: "%s %s передает преступника %s в полицейский участок" color 0x00B2EE 3@ 2@ 1@
0AF8: "%s был доставлен в тюрьму для отбытия наказания" color 0xFFFFFF 1@
0AF8: "Время заключения:: %i:%i" color 0x32CD32 4@ 5@
0AC9: free_allocated_memory 1@
0AC9: free_allocated_memory 2@
end
end
cmdret