{$CLEO .cs}
0000: NOP
03A4: name_thread "newpll"
:Label000008
0001: wait 0 ms
0AFA: is_samp_available
004D: jump_if_false @Label000008
0B34: samp register_client_command "/autopl" to_label @Label000137
0AC8: 0@ = allocate_memory_size 144
0AC8: 1@ = allocate_memory_size 144
0006: $223 = 0
:Label0000A4
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 0@ prefix_to 1@ color_to 0 prefix_color_to 0
0AD3: 1@ = format "["
00D6: if and
0039: $223 == 1
0C29: 0 = stristr string1 0@ string2 "отыграл(а) на сервере"
0C18: 2@ = strstr string1 0@ string2 "["
004D: jump_if_false @Label00012C
0AD4: 3@ = scan_string 2@ format "[%d] отыграл(а) на сервере" 9@
00D6: if
0039: 3@ == 1
004D: jump_if_false @Label00012C
0AF9: samp say_msg "/hh %d [message]" 9@
0001: wait 1000 ms
:Label00012C
0002: jump @Label0000A4
0BDE: pause_thread 0
:Label000137
00D6: if
0039: $223 == 0
004D: jump_if_false @Label00015D
0006: $223 = 1
chatmsg "ON" color 0x33AA33
0002: jump @Label00016A
:Label00015D
0006: $223 = 0
chatmsg "OFF" color 0xFF6347
:Label00016A
0B43: samp cmd_ret
[14:28:13] Игроки 0 уровня:
[14:28:13] Lednik_Pihc[39] отыграл(а) на сервере 2 час(а).
[14:28:13] MeTa1uk0.[43] отыграл(а) на сервере 1 час(а).
[14:28:13] Kostya..[90] отыграл(а) на сервере 1 час(а).
[14:28:13] Shirayuki[93] отыграл(а) на сервере 1 час(а).
[14:28:13] Yan_Go[113] отыграл(а) на сервере 0 час(а).
[14:28:13] Parkallies[123] отыграл(а) на сервере 0 час(а).
[14:28:13] .qEza[125] отыграл(а) на сервере 0 час(а).
Я понял о чём ты, но не знаю как сделать так это. Хуки это вообще не моё. Можешь исправить?Как я понял, ты вводишь серверную команду, после чего моментально показываются игроки.
Так как ты сканируешь 99 строку, будет браться последний игрок в списке, следовательно, тебе нужно создать массив и в хуке добавления сообщения в чат заполнять его, после чего в основном потоке рассылать игрокам сообщение с нужной задержкой.
не работает на evolve и samp-rp.Работает все.
CLEO:{$CLEO} 0000: NOP repeat wait 0 until samp.Available() 0AC8: 2@ = allocate_memory_size 260 0C11: memset destination 2@ value 0x0 size 260 while true wait 0 0B75: samp get_chat_string 98 text_to 2@ prefix_to 3@ color_to 4@ prefix_color_to 5@ if 0C18: 0@ = 2@ "(( Остаток:" then 0AD4: 6@ = scan_string 2@ format "(( Остаток: %d грамм))" 7@ 0AF8: samp add_message_to_chat "Строка сканирована. Всего значений: %d | число: %d" color 4@ 6@ 7@ end 0C11: memset destination 2@ value 0x0 size 260 if 0ADC: test_cheat "2" then 0AF8: samp add_message_to_chat "(( Остаток: 123 грамм))" color 0xffffff 0AF8: samp add_message_to_chat "lmao" color 0xffffff end end
там строчка начинается с пробелане работает на evolve и samp-rp.
нули выдает.
Тут не исправлять нужно, а весь код переписыватьЯ понял о чём ты, но не знаю как сделать так это. Хуки это вообще не моё. Можешь исправить?
call @SetID 0 |
:SetID
alloc 0@ 64
if 0B3C: samp is_dialog_responded id 758 button 0 list_item 0 input_text 0@ // ID íàïàðíèêà
then
if and
0AD4: 0@ = scan_string 0@ format "%d" 1@
0B23: samp is_player_connected 1@
then
0AF5: write_string 1@ to_ini_file "CLEO\FakePD.ini" section "Settings" key "ID"
free 0@
ret 0
end
0AF5: write_string "-" to_ini_file "CLEO\FakePD.ini" section "Settings" key "ID"
free 0@
ret 0
end
free 0@
ret 0
Не. Я записывал не тем опкодомМб потому что ты перезаписываешь текст, т.е записал ты сначала текст диалога, а потом бац и записываешь "-" вместо текста, либо что-то с закрытием диалога
Вроде так должно работать
CLEO:call @SetID 0 | :SetID ALLOC 0@ 64 IF 0B3C: samp is_dialog_responded id 758 button 0 list_item 0 input_text 0@ // ID iaia?ieea THEN IF AND 0AD4: 0@ = scan_string 0@ format "%d" 1@ 0B23: samp is_player_connected 1@ THEN 0AF5: write_string 1@ to_ini_file "CLEO\FakePD.ini" section "Settings" key "ID" END ELSE 0AF5: write_string "-" to_ini_file "CLEO\FakePD.ini" section "Settings" key "ID" END FREE 0@ RET 0
0C18: 2@ = strstr string1 0@ string2 1@
if 0@ == 6
then
if 00DF: actor $PLAYER_ACTOR driving
then
if 0B23: samp is_player_connected 3@
then
say: "%s %s[%d]: [%s] Нахожусь в патруле города | Жетон напарника: %d" 2731586 1@ 5@ 4@ 2@ 3@
ret 0
end
say: "%s %s[%d]: [%s] Нахожусь в патруле города | Жетон напарника: Нет " 2731586 1@ 5@ 4@ 2@
ret 0
end
if 0B23: samp is_player_connected 3@
then
say: " %s %s[%d]: [%s] Нахожусь в пешим патруле города | Жетон напарника: %d" 2731586 1@ 5@ 4@ 2@ 3@
ret 0
end
say: " %s %s[%d]: [%s] Нахожусь в пешим патруле города | Жетон напарника: Нет" 2731586 1@ 5@ 4@
end
ret 0
{$CLEO}
0000:
repeat
wait 0
until 0AFA: is_samp_available
0AC8: 0@ = allocate_memory_size 251
0B34: samp register_client_command "hhs" to_label @newbie
while true
wait 0
end
:newbie
for 1@ = 0 to 250 step 1
0C0F: array 0@ element 1@ = -1
end
for 2@ = 0 to 250 step 1
if 0B23: samp is_player_connected 2@
then
0B65: samp 3@ = player 2@ score
if and
4@ > -1
4@ < 16
then
0C0F: array 0@ element 2@ = 2@
end
end
end
for 2@ = 0 to 250 step 1
0C0E: 4@ = array 0@ element 2@
if 4@ >= 0
then
say "/s %d [text]" 4@
wait 50
end
end
0b43: cmdret
0AC9: free_allocated_memory 0@
Всё не читал, но ты явно перепутал переменныеПроверка по табу, поставил ограничение до 16 уровня, но оно не работает и отправляет всем игрокам сообщение. Как исправить?
CLEO:{$CLEO} 0000: repeat wait 0 until 0AFA: is_samp_available 0AC8: 0@ = allocate_memory_size 251 0B34: samp register_client_command "hhs" to_label @newbie while true wait 0 end :newbie for 1@ = 0 to 250 step 1 0C0F: array 0@ element 1@ = -1 end for 2@ = 0 to 250 step 1 if 0B23: samp is_player_connected 2@ then 0B65: samp 3@ = player 2@ score if and 4@ > -1 4@ < 16 then 0C0F: array 0@ element 2@ = 2@ end end end for 2@ = 0 to 250 step 1 0C0E: 4@ = array 0@ element 2@ if 4@ >= 0 then say "/s %d [text]" 4@ wait 50 end end 0b43: cmdret 0AC9: free_allocated_memory 0@
0B65: samp 3@ = player 2@ score
if and
4@ > -1
4@ < 16