0B39: samp get_current_server_address 0@ port 1@Как узнать IP сервера, к которому подключён, или как это проверить?
а что это тогда по твоему? Или ты не видишь кривоту переведенного текста?Как узнать IP сервера, к которому подключён, или как это проверить?
И как отсюда можно что-то считать? Это не текстдрав
![]()
{$CLEO .cs}
{$INCLUDE SF}
0000:
var
0@: int
end
repeat
wait 300
until 0AFA: is_samp_available
wait 0
0C6A: 2@ = create_custom_thread_at_label @thread 0@ // создаю поток и передаю в него переменную
0B34: samp register_client_command "show" to_label @show
0B80: dialog 1@ = create "Dialog"
0B84: dialog 1@ set_pos_XY 45 380 size 280 120
0B91: dialog 1@ add_static id 1 text "0" pos_XY 10 10 size 300 20
0B91: dialog 1@ add_static id 2 text "$0" pos_XY 10 30 size 300 20
0B82: dialog 1@ add_button id 3 text "Start" pos_XY 10 55 size 120 30
0B82: dialog 1@ add_button id 4 text "Stop" pos_XY 150 55 size 120 30
0B86: dialog 1@ set_visible 0
while true
wait 0
if 0B81: dialog 1@ pop_event_to 3@ control_id_to 4@
then
if 3@ == 257
then
if 4@ == 3
then
0AF8: samp add_message_to_chat "1232" color -1 params
end
if 4@ == 4
then
0AF8: samp add_message_to_chat "1231" color -1 params
end
end
end
end
:show
wait 0
if 0@ == 0
then
0B86: dialog 1@ set_visible 1
0@ = 1
else
0B86: dialog 1@ set_visible 0
0@ = 0
end
0B43: samp cmd_ret
:thread
wait 0
while true
wait 2500
log "%d" 0@ // поток работает, НО тут всегда 0, даже если в переменной 1
end
jump @thread
0B8D: samp set_cursor_mode 2Как активировать мышку для использования диалогов?
Эмулировать входящий пакет о дисконекте.Как правильно использовать опкод:
Он дает рестарт сервера и Крэшь, а нужно именно "Server closed Connect"CLEO:0B28: samp disconnect_with_reason 0
Возможно ли в клео без sampFuncs реализовать world_to_screen? (как в собейте на M, где расположение игроков показывает относительно игрока)
И если да, то как? (пример вывода информации на эти координаты, если можно, тоже покажите)
:getScreenXYFrom3DCoords
0AC7: 14@ = var 0@ offset
0AC7: 15@ = var 3@ offset
0AC7: 16@ = var 6@ offset
0AC7: 17@ = var 9@ offset
0AA5: call 0x70CE30 num_params 6 pop 6 {18@ 18@} 0 0 17@ 16@ 15@ 14@
0007: 12@ = 640.0
0007: 13@ = 448.0
0A8D: 14@ = read_memory 0xC17044 size 4 virtual_protect 0
0A8D: 15@ = read_memory 0xC17048 size 4 virtual_protect 0
0093: 14@ = integer 14@ to_float
0093: 15@ = integer 15@ to_float
0073: 12@ /= 14@
0073: 13@ /= 15@
006B: 3@ *= 12@
006B: 4@ *= 13@
0AB2: ret 2 3@ 4@
{$CLEO .cs}
{$INCLUDE SF}
0000:
var
0@: int
end
repeat
wait 300
until 0AFA: is_samp_available
wait 0
0C6A: 2@ = create_custom_thread_at_label @thread 0@ // создаю поток и передаю в него переменную
0B34: samp register_client_command "show" to_label @show
0B80: dialog 1@ = create "Dialog"
0B84: dialog 1@ set_pos_XY 45 380 size 280 120
0B91: dialog 1@ add_static id 1 text "0" pos_XY 10 10 size 300 20
0B91: dialog 1@ add_static id 2 text "$0" pos_XY 10 30 size 300 20
0B82: dialog 1@ add_button id 3 text "Start" pos_XY 10 55 size 120 30
0B82: dialog 1@ add_button id 4 text "Stop" pos_XY 150 55 size 120 30
0B86: dialog 1@ set_visible 0
while true
wait 0
if 0B81: dialog 1@ pop_event_to 3@ control_id_to 4@
then
if 3@ == 257
then
if 4@ == 3
then
0AF8: samp add_message_to_chat "1232" color -1 params
end
if 4@ == 4
then
0AF8: samp add_message_to_chat "1231" color -1 params
end
end
end
end
:show
wait 0
if 0@ == 0
then
0B86: dialog 1@ set_visible 1
0@ = 1
else
0B86: dialog 1@ set_visible 0
0@ = 0
end
0B43: samp cmd_ret
:thread
wait 0
while true
wait 2500
log "%d" 0@ // поток работает, НО тут всегда 0, даже если в переменной 1
end
jump @thread
{$CLEO .cs}
0000:
repeat
wait 0
until SAMP.Available()
const
FCR_BOLD = 4
FCR_CHADOW = 8
end
while true
wait 0
if and
8118: NOT actor $PLAYER_ACTOR dead
0AD2: 0@ = player $PLAYER_CHAR targeted_actor
then
1@ = SAMP.GetSAMPPlayerIDByActorHandle(0@)
0B36: samp 6@ = get_player_nickname 1@
0AD3: 7@ = format "%d[%d]" 6@ 1@
0B6D: render 4@ = create_font "Arial" height 8 flags 12
end
end
:render
wait 0
0ab0: 01
jf @render
0B6F: render font 4@ draw_text 7@ pos 150 150 color 0x8B00FF
jump @render
глобальные переменные сф естьКак создать второй поток и передать в него переменную?
Или подскажите альтернативный вариант. Как хочу сделать я: 1 поток для проверки нажатия кнопок в DXUT диалоге, который работает без задержки, а второй поток для работы самого бота. Проверку нажатия кнопок и работу бота не могу сделать в одном потоке, потому что бот работает с задержками, а кнопку могут нажать в любой момент.
Код:{$CLEO .cs} {$INCLUDE SF} 0000: var 0@: int end repeat wait 300 until 0AFA: is_samp_available wait 0 0C6A: 2@ = create_custom_thread_at_label @thread 0@ // создаю поток и передаю в него переменную 0B34: samp register_client_command "show" to_label @show 0B80: dialog 1@ = create "Dialog" 0B84: dialog 1@ set_pos_XY 45 380 size 280 120 0B91: dialog 1@ add_static id 1 text "0" pos_XY 10 10 size 300 20 0B91: dialog 1@ add_static id 2 text "$0" pos_XY 10 30 size 300 20 0B82: dialog 1@ add_button id 3 text "Start" pos_XY 10 55 size 120 30 0B82: dialog 1@ add_button id 4 text "Stop" pos_XY 150 55 size 120 30 0B86: dialog 1@ set_visible 0 while true wait 0 if 0B81: dialog 1@ pop_event_to 3@ control_id_to 4@ then if 3@ == 257 then if 4@ == 3 then 0AF8: samp add_message_to_chat "1232" color -1 params end if 4@ == 4 then 0AF8: samp add_message_to_chat "1231" color -1 params end end end end :show wait 0 if 0@ == 0 then 0B86: dialog 1@ set_visible 1 0@ = 1 else 0B86: dialog 1@ set_visible 0 0@ = 0 end 0B43: samp cmd_ret :thread wait 0 while true wait 2500 log "%d" 0@ // поток работает, НО тут всегда 0, даже если в переменной 1 end jump @thread
А как мне извлечь данные из глобальной переменной в созданном потоке?А собственно почему там должно быть не 0? Ты передал переменную в которой было 0, что по твоему там должно быть?