Вопросы по CLEO-скриптингу

k1sher

Известный
201
4
Как-то обойти можно? Я хотел сделать что-то типо....
Когда игрока в банду приглашаешь я бы автоматов в чат писал типа "Сделай скриншот и отпишись в составе на форуме."
 

azdsfbzxv

Новичок
73
6
Как узнать своё HP и вывести например в чат?
Вот. Ещё и броню показывает
CLEO:
{$CLEO .cs}
0000: NOP

:Noname_2
0001: wait 300 ms
0AFA:  is_samp_available
004D: jump_if_false @Noname_2
0AC8: 2@ = allocate_memory_size 32
0B6D: render 3@ = create_font "Arial" height 10 flags 8

:Noname_39
0001: wait 0 ms
0226: 0@ = actor $PLAYER_ACTOR health
04DD: 1@ = actor $PLAYER_ACTOR armour
0AD3: 2@ = format "[ARM=%d | HP=%d]" 1@ 0@ 
0B6F: render font 3@ draw_text 2@ pos 200 200 color -65536
0002: jump @Noname_39
в этом опкоде можно поменять позицию на экране:
0B6F: render font 3@ draw_text 2@ pos 200 200 color -65536
 

azdsfbzxv

Новичок
73
6
Как-то обойти можно? Я хотел сделать что-то типо....
Когда игрока в банду приглашаешь я бы автоматов в чат писал типа "Сделай скриншот и отпишись в составе на форуме."
Мне бы глянуть кусок чат лога, где эти строки с принятием в банду. На разных серверах по разному же.
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0001: wait 2500 ms
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_49
0001: wait 2500 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_49

:Noname_67
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "..."  // впишешь в кавычках, вместо точек какое выражение искать
004D: jump_if_false @Noname_166
0001: wait 1000 ms
0AF9: samp say_msg "/b Сделай скриншот и отпишись в составе на форуме" 
0001: wait 500 ms

:Noname_166
0002: jump @Noname_67
 

k1sher

Известный
201
4
Мне бы глянуть кусок чат лога, где эти строки с принятием в банду. На разных серверах по разному же.
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0001: wait 2500 ms
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64

:Noname_49
0001: wait 2500 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_49

:Noname_67
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 6@ = strstr string1 1@ string2 "..."  // впишешь в кавычках, вместо точек какое выражение искать
004D: jump_if_false @Noname_166
0001: wait 1000 ms
0AF9: samp say_msg "/b Сделай скриншот и отпишись в составе на форуме"
0001: wait 500 ms

:Noname_166
0002: jump @Noname_67
Не знаю какие именно строки тебе нужны, но смысал кода которой ты написал верен. И все же дисконектит при нахождении "вступил в нашу фракцию."
 

azdsfbzxv

Новичок
73
6
Не знаю какие именно строки тебе нужны...."
Чат лог. Это документ в папке Админ - мои документы - GTA San Andreas User Files - SAMP - chatlog.txt.
Строки скопируй сюда. Там где ты кого то принимаешь.
...И все же дисконектит при нахождении "вступил в нашу фракцию"
Обнови Cleo библиотеку. В Sanny Builder 3 внизу есть надпись CLEO в зелёной или красной рамке. Нажми на него. Убери все остальные Cleo с папки CLEO. И проверь.
 

Perojek)0

Известный
205
3
CLEO:
{$CLEO}
{$INCLUDE SF}

0001: wait 0 ms

while not SAMP.Available()
   wait 400
end

0BE1: raknet setup_outcoming_rpc_hook @hook

0BDE: pause_thread 0

:hook
0BE5: raknet 3@ = get_hook_param PARAM_PACKETID 
    if
    3@ == RPC_SERVERCOMMAND
    then
    0BE5: raknet 4@ = get_hook_param PARAM_BITSTREAM                      
    0BE7: raknet 5@ = bit_stream_read 4@ type BS_TYPE_BYTE
    0AC8: 7@ = allocate_memory_size 228
    0BE8: raknet bit_stream 4@ read_array 7@ size 5@
    0C1E: array 7@ element 5@ el_size 1 = 0
    0AF8: samp add_message_to_chat "%s" color -1 7@
    0AC9: free_allocated_memory 7@
    end
0BE0: raknet hook_ret true
поч не робит?
 

azdsfbzxv

Новичок
73
6
Проблема со скриптом. Допустим в чает в последней строке появляется это:
Рядовой Ivan_Ivanov: [5 Отряд]: Заступил на пост
Скрипт видит "Отряд]" и видит Ivan_Ivanov (ник). Убирает "_" и должен выдать исправление:
/r (( Ivan Ivanov. У тебя тег не верный ))
Однако пишет по другому:
/r (( Ivanov : [5 Отряд]: Заступил на пост. У тебя тег не верный ))
То есть захватывает всю строку, а не ник. И ник не полностью
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0001: wait 2500 ms
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64
0AC8: 5@ = allocate_memory_size 64
0AC8: 6@ = allocate_memory_size 64

:Noname_77
0001: wait 2500 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_77

:Noname_95
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 5@ = strstr string1 1@ string2 "Отряд]"
004D: jump_if_false @Noname_95
0C18: 5@ = strstr string1 1@ string2 "_"
0C16: 6@ = strstr string1 5@ string2 "_"
0001: wait 1000 ms
0AF9: samp say_msg "/r (( %s. У тебя тег не верный ))" 6@
0001: wait 1000 ms
0002: jump @Noname_95
 

san0

Известный
Друг
411
268
0BE7: raknet 5@ = bit_stream_read 4@ type BS_TYPE_BYTE
BS_TYPE_INT
Проблема со скриптом
Такие извращения
// 0@ строка с чата
0C18: 1@ = strstr string1 0@ string2 " "
0C19: 3@ = strcspn string1 1@ string2 "_"
0C19: 4@ = strcspn string1 1@ string2 ":"
0C0D: struct 1@ offset 3@ size 0x1 = 0x20
0C0D: struct 1@ offset 4@ size 0x1 = 0x0
// 1@ - Ivan Ivanov
или нормально
https://www.blast.hk/threads/7486/
 
  • Нравится
Реакции: Perojek)0

azdsfbzxv

Новичок
73
6
BS_TYPE_INT

Такие извращения
// 0@ строка с чата
0C18: 1@ = strstr string1 0@ string2 " "
0C19: 3@ = strcspn string1 1@ string2 "_"
0C19: 4@ = strcspn string1 1@ string2 ":"
0C0D: struct 1@ offset 3@ size 0x1 = 0x20
0C0D: struct 1@ offset 4@ size 0x1 = 0x0
// 1@ - Ivan Ivanov
или нормально
https://www.blast.hk/threads/7486/
Работает, но выводит ник не целиком.
Надо:
Ivan_Ivanov
Выводит:
Ivan
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0001: wait 2500 ms
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64
0AC8: 5@ = allocate_memory_size 64
0AC8: 6@ = allocate_memory_size 64
0AC8: 7@ = allocate_memory_size 64
0AC8: 8@ = allocate_memory_size 64

:Noname_49
0001: wait 2500 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_49

:Noname_67
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 5@ = strstr string1 1@ string2 "Отряд]"
004D: jump_if_false @Noname_67
0C18: 6@ = strstr string1 1@ string2 " "
0C16: 7@ = strtok string1 6@ string2 "_"
0C19: 8@ = strcspn string1 6@ string2 ":"
0C0D: struct 6@ offset 7@ size 0x1 = 0x20
0C0D: struct 6@ offset 8@ size 0x1 = 0x0
0001: wait 1000 ms
0AF9: samp say_msg "/w (( %s. Исправь тег ))" 6@
0001: wait 2000 ms
0002: jump @Noname_67
 

san0

Известный
Друг
411
268
Работает, но выводит ник не целиком.
Надо:
Ivan_Ivanov
Выводит:
Ivan
CLEO:
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP
0001: wait 2500 ms
0AC8: 1@ = allocate_memory_size 64
0AC8: 2@ = allocate_memory_size 64
0AC8: 5@ = allocate_memory_size 64
0AC8: 6@ = allocate_memory_size 64
0AC8: 7@ = allocate_memory_size 64
0AC8: 8@ = allocate_memory_size 64

:Noname_49
0001: wait 2500 ms
00D6: if
0AFA:  is_samp_available
004D: jump_if_false @Noname_49

:Noname_67
0001: wait 0 ms
0B75: samp get_chat_string 99 text_to 1@ prefix_to 2@ color_to 3@ prefix_color_to 4@
00D6: if
0C18: 5@ = strstr string1 1@ string2 "Отряд]"
004D: jump_if_false @Noname_67
0C18: 6@ = strstr string1 1@ string2 " "
0C16: 7@ = strtok string1 6@ string2 "_"
0C19: 8@ = strcspn string1 6@ string2 ":"
0C0D: struct 6@ offset 7@ size 0x1 = 0x20
0C0D: struct 6@ offset 8@ size 0x1 = 0x0
0001: wait 1000 ms
0AF9: samp say_msg "/w (( %s. Исправь тег ))" 6@
0001: wait 2000 ms
0002: jump @Noname_67
ну если ты тупо скопировать и циферки поменять не можешь, то соре ((((
 

azdsfbzxv

Новичок
73
6
ну если ты тупо скопировать и циферки поменять не можешь, то соре ((((
Скопировал как у тебя. Попытался разобраться. Поменял переменные. Ну в принципе имя показывает. Там ещё ранг перед именем показывает. Пойдёт. Но всё таки хотелось лучше разобраться для другого скрипта. Ладно Спасибо и на этом
 

SHOTIKkk

Новичок
95
27
Каким способом можно закрыть соединение с сервером(не фейковое)
 

Goldfish

Известный
106
22
можно обойти античиты крупных РП на HP, AP, наличие оружия у игрока и денег с помощью рпц/пакетов?