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

SPARTA

Новичок
53
2
Да я спрятал уже, т.к. урок отвратный.
А так, ссылка на вики находится наверху, между кнопками "Чат" и "Пользователи".

На те пример:
Код:
{$CLEO}
{$INCLUDE SF}
 
0000:
 
while not SAMP.Available()
    wait 400
end
 
0BE3: raknet setup_incoming_rpc_hook @hook_in_rpc
 
0BDE: pause_thread 0
 
:hook_in_rpc
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID
if 0@ == RPC_SCRCLIENTMESSAGE
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM
 
    0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_INT // color
    0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT // message len
 
    0AC8: 4@ = allocate_memory_size 145         
    0BE8: raknet bit_stream 1@ read_array 4@ size 3@
    0C1E: array 4@ element 3@ el_size 1 = 0x0
 
    if 0C14: strcmp string1 4@ string2 "Добро пожаловать"
    then
        0BEA: raknet bit_stream 1@ reset_write_pointer // safe
        0BEB: raknet bit_stream 1@ ignore_bits 32 // ignore color
 
        0C11: memset destination 4@ value 0x0 size 145 // clear mem
 
        0AD3: 4@ = format "Горите в аду!"
        0C17: 5@ = strlen 4@
        0B40: raknet bit_stream 1@ write 5@ type BS_TYPE_INT size 4 // message len
        0B40: raknet bit_stream 1@ write 4@ type BS_TYPE_ARRAY size 5@
        0BF6: raknet emul_rpc_receive RPC_SCRCLIENTMESSAGE bit_stream 1@
 
        free 4@
        0BE0: raknet hook_ret false
    end
 
    0AC9: free_allocated_memory 4@
end
0BE0: raknet hook_ret true

Сообщение скрывает, но не выводит сообщение чере emul rpc :(
 

Sergey_Gray

Новичок
78
3
Вот запись команды
Код:
0B34: samp register_client_command "test" @test
А как сделать проверку в следующем потоке на неё (Активацию)
Т.е.
Код:
..............
0B34: samp register_client_command "test" @test
 
:test
wait
Проверка верхнего 0B34
.......
И если можете деактивацию клео текста
Как ? Опкод чёт не нашёл в cleo wiki..
 

Lightkiller

Известный
Всефорумный модератор
557
397
Вот запись команды
Код:
0B34: samp register_client_command "test" @test
А как сделать проверку в следующем потоке на неё (Активацию)
Т.е.
Код:
..............
0B34: samp register_client_command "test" @test
 
:test
wait
Проверка верхнего 0B34
.......
И если можете деактивацию клео текста
Как ? Опкод чёт не нашёл в cleo wiki..

Код:
0b34: "test" @test
0b34: "stoptest" @stop
while true
wait 0
if 30@ == 1
then
wait 1000
0af9: "123"
end
end
 
:stop
30@ = 0
Samp.CmdRet
 
 
:test
30@ = 1
Samp.CmdRet
Либо можно деактивацию на одну и ту же команду

Код:
0b34: "test" @test
while true
wait 0
if 1@ == 1
then
0af8: "123" -1
wait 222
0af8: "123" -1 
end
end
 
 
:test
0B12: 1@ = 1@ XOR 1
if 1@ == 1
then
0af8: "активирован" -1
else
0af8: "деактивирован" -1
end
Samp.Cmdret
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
Вот запись команды
Код:
0B34: samp register_client_command "test" @test
А как сделать проверку в следующем потоке на неё (Активацию)
Какой поток? Это метка называется. Не слушай дабстепа, а читай справку. Там ясно написано, что один скрипт - один поток
 
  • Нравится
Реакции: fonarik

Sergey_Gray

Новичок
78
3
Допустим
Код:
0b34: "test" @test
while true
wait 0
if 1@ == 1
then
0af8: "123" -1
wait 222
0af8: "123" -1
end
end
 
 
 
:test
0B12: 1@ = 1@ XOR 1
if 1@ == 1
then
0af8: "активирован" -1
else
0af8: "деактивирован" -1
end
Samp.Cmdret
Что-то не очень понял, зачем вот это.
Код:
while true
wait 0
if 1@ == 1
then
0af8: "123" -1
wait 222
0af8: "123" -1
end
end
И вот это:
Код:
0B12: 1@ = 1@ XOR 1
if 1@ == 1
Я в cleo wiki не нашёл такого опкода, что он делает ? и чё это вообще (0B12: 1@ = 1@ XOR 1)?
 

Sergey_Gray

Новичок
78
3

Я попробовал
С активацией и деактивацией на разных командах получилось.
А вот на одной чёт нет, просто зависает игра при вводе команды, приходится закрывать процесс. Не подскажешь ? где ошибка ? (Не суди строго, я про100 учусь и пытаюсь сделать хоть что-то) ))
Код:
{$CLEO}
 
0000:
 
:1
wait 0
if
  SAMP.Available
else_jump @1
jump @2
 
:2
12@ = SAMP.Base()
0b34: "test" @test
while true           
wait 0
if 1@ == 1
end
 
:test
0B12: 1@ = 1@ XOR 1
if 1@ == 1
then
0B6D: render 0@ = create_font "Arial" height 7 flags 5
while true
    wait 0
    11@ = 450
    2@ = 335
    0B6F: render font 0@ draw_text "{FF0000}test" pos 11@ 2@ color 0xFFff0000
end
else
0B6F: render font 0@ draw_text " " pos 11@ 10@ color 0xFFff0000
end
Samp.Cmdret
И вот при таком
Я понял описание первого твоего кода, а с 2 либо не оч понял, либо не понял, что она зависает.
 

hnnssy

Известный
Друг
2,684
2,749
Я попробовал
С активацией и деактивацией на разных командах получилось.
А вот на одной чёт нет, просто зависает игра при вводе команды, приходится закрывать процесс. Не подскажешь ? где ошибка ? (Не суди строго, я про100 учусь и пытаюсь сделать хоть что-то) ))
Код:
{$CLEO}
 
0000:
 
:1
wait 0
if
  SAMP.Available
else_jump @1
jump @2
 
:2
12@ = SAMP.Base()
0b34: "test" @test
while true         
wait 0
if 1@ == 1
end
 
:test
0B12: 1@ = 1@ XOR 1
if 1@ == 1
then
0B6D: render 0@ = create_font "Arial" height 7 flags 5
while true
    wait 0
    11@ = 450
    2@ = 335
    0B6F: render font 0@ draw_text "{FF0000}test" pos 11@ 2@ color 0xFFff0000
end
else
0B6F: render font 0@ draw_text " " pos 11@ 10@ color 0xFFff0000
end
Samp.Cmdret
И вот при таком
Я понял описание первого твоего кода, а с 2 либо не оч понял, либо не понял, что она зависает.
Тут даже объяснять тебе что-то смысла не вижу. Знания полностью отсутствуют.
 

Dark_Knight

Me, me and me.
Друг
4,065
2,079
Я попробовал
И вот при таком
Я понял описание первого твоего кода, а с 2 либо не оч понял, либо не понял, что она зависает.
Нельзя юзать циклы в командах. Наслушаются дабстепа и ябутся с жопы.
 
  • Нравится
Реакции: fonarik и hnnssy

developer-av

Новичок
11
0
Ребята, у меня одного 0AF5: write_string крашит на cleo 4.3.16?
На 4,1 - работает, но тогда не работает sampfancs, если кто знает как можно исправить эту неполадку посоветуйте пожалуйста..
 

fonarik

Известный
206
3
Ребята, у меня одного 0AF5: write_string крашит на cleo 4.3.16?
На 4,1 - работает, но тогда не работает sampfancs, если кто знает как можно исправить эту неполадку посоветуйте пожалуйста..

SF прекрасно работает на 4.1. Win7 или XP у тебя?
 

developer-av

Новичок
11
0
У меня XP но скрипт пишется не только для себя, так что мне надо что бы работало и на XP и на 7.
Так не только у меня не работает в cleo 4.3.16&