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

LokoLoyKoo

Новичок
103
8
Как сделать, чтобы после появления в Чате нужно текста, прописывалась команда с рандомным значением.
К примеру: Лотто: выберите от 1 - 80. И скрипт брал лото от 1 до 80, абсолютно любое
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
Как сделать, чтобы после появления в Чате нужно текста, прописывалась команда с рандомным значением.
К примеру: Лотто: выберите от 1 - 80. И скрипт брал лото от 1 до 80, абсолютно любое
CLEO:
0@ = sscanf("Лотто: выберите от %d - %d", 1@, 2@)
if 0@ == 2
then
    2@++
    0209: 3@ = random_int_in_ranges 1@ 2@
    chatmsg "%d" -1 3@
end
 

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
как хукануть д3д9 в клео
 

noob213

Известный
33
2
Некоторый код или мод, чтобы делать то, что некоторые серверы не делают, когда игроки входят и выходят

чтобы показать сообщение таким образом
chatmsg "зашел на сервер% s" -1 1 @
chatmsg "покинул сервер% s" -1 1 @
 
1,417
1,029
Некоторый код или мод, чтобы делать то, что некоторые серверы не делают, когда игроки входят и выходят

чтобы показать сообщение таким образом
chatmsg "зашел на сервер% s" -1 1 @
chatmsg "покинул сервер% s" -1 1 @
CLEO:
{$CLEO}
{$INCLUDE SF}

0001: wait 0 ms

while not SAMP.Available()
    wait 400
end

0BE3: raknet setup_incoming_rpc_hook @in_rpc // подготавливаем хук

0BDE: pause_thread 0 // Бесконечный цикл нам не нужен, поэтому просто поставим скрипт на "паузу". Хуки, вызовы команды и т.п. будут работать в это время

:in_rpc
0BE5: raknet 0@ = get_hook_param PARAM_PACKETID // Получаем ИД RPC
if or
    0@ == RPC_SCRSERVERJOIN // сверяем с необходимым ИДом
    0@ == RPC_SCRSERVERQUIT // ...
then
    0BE5: raknet 1@ = get_hook_param PARAM_BITSTREAM // Получаем битстрим

    if 0@ == RPC_SCRSERVERJOIN
    then
        // RPC_SCRSERVERJOIN
        0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_SHORT // ид подключившегося игрока
        0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_INT // цвет никнейма
        0BE7: raknet 4@ = bit_stream_read 1@ type BS_TYPE_BYTE // игрок NPC(true - да, false - нет)
        0BE7: raknet 5@ = bit_stream_read 1@ type BS_TYPE_BYTE // длина ника

        0AC8: 6@ = allocate_memory_size 25 // буфер
        0BE8: raknet bit_stream 1@ read_array 6@ size 5@ // копируем никнейм с указанной длиной в буфер
        0C1E: array 6@ element 5@ el_size 1 = 0 // обрезаем буфер нулевым символом(т.к. нулевой символ - конец строки), чтобы при чтении не попадало лишних символов
        0AF8: samp add_message_to_chat "%s[%d] подключился на сервер." color -1 params 6@ 2@ // выводим сообщение в чат
        0AC9: free_allocated_memory 6@
    else
        // RPC_SCRSERVERQUIT
        0BE7: raknet 2@ = bit_stream_read 1@ type BS_TYPE_SHORT // ид отключившегося игрока
        0BE7: raknet 3@ = bit_stream_read 1@ type BS_TYPE_BYTE // причина отключения
        0AF8: samp add_message_to_chat "Игрок с ИДом %d отключился от сервера. Код причины: %d" color -1 params 2@ 3@ // ...
    end
end
0BE0: raknet hook_ret true // принимаем RPC, false - не принимать
 
  • Нравится
Реакции: noob213

leak.

Известный
37
4
ну держи

CLEO:
{$CLEO}
0B34: samp register_client_command "getServerSet" to_label @cmd_getServerSet
0BDE: pause_thread 0

:cmd_getServerSet
0AF7: samp 0@ = get_base
0C0C: 1@ = struct 0@ offset {SAMP_ONFOOTSENDRATE}0xEC0A8 size 4
0C0C: 2@ = struct 0@ offset {SAMP_INCARSENDRATE}0xEC0AC size 4
0C0C: 3@ = struct 0@ offset {SAMP_AIMSENDRATE}0xEC0B0 size 4
0AF8: samp add_message_to_chat " | OnFoot: %d ::: InCar: %d ::: Aim: %d | " color 0xFFFFFF | {int}1@ {int}2@ {int}3@ |
0B43: samp cmd_ret

// By DarkP1xel

сорри, что поздно спрашиваю. Почему так в чате "D" ? :D
 

Вложения

  • sa-mp-007.png
    sa-mp-007.png
    1.4 KB · Просмотры: 278

Ranto

Участник
45
1
Задался такой вопрос:
Как делают клео что-бы не палился античитом сервера например: аризона, для нее делают приват клео и тд, но как? Они ищут дыры сервера, или что? Я просто туговат. Если не понятно объяснил, попробую объяснить проще =)
 

LaRossa

Потрачен
429
117
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Задался такой вопрос:
Как делают клео что-бы не палился античитом сервера например: аризона, для нее делают приват клео и тд, но как? Они ищут дыры сервера, или что? Я просто туговат. Если не понятно объяснил, попробую объяснить проще :)
ищут дыры
 

Swaggy

Новичок
5
0
Код:
{$CLEO}
const // константы диалогов
    DIALOG_STYLE_INPUT = 1 
    DIALOG_STYLE_LIST = 2 
end
0000:nop
while not SAMP.Available()       // антикрашер
    wait 400
end
0ac8: alloc 2@ size 64
0ac8: alloc 30@ size 64
0ac8: alloc 0@ size 64
15@ = 0
16@ = 0
while true
wait 0
    09E8: 19@ = actor $PLAYER_ACTOR active_interior    
    if and
    0ADC:   test_cheat "SGUN"
    0B61:  samp is_local_player_spawned
    19@ >= 1
    then
        0ad3: format_stirng 0@ = "Grove Street%cBallas Gang%cAztecas Gang%cVagos Gang%cRifa Gang" 0xA 0xA 0xA 0xA
        0B3B: samp show_dialog id 50 caption "[Выбор Банды]" text 0@ button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_LIST
        wait 1000
    end
   
     
    if 0B3C: samp is_dialog_responded id 50 button 1@ list_item 3@ input_text 0
        then
        if 1@ == 1 // Была нажата первая кнопка
        then
            if 3@ == 0
            then
                  0af8: chat "{e76d07}[Sellgun] {1cce31}Grove Street" -1
                  10@ = 1 // grove
            end

            if 3@ == 1
            then
                  0af8: chat "{e76d07}[Sellgun] {ad07e7}Ballas Gang" -1
                  10@ = 2 // ballas
            end

            if 3@ == 2
            then
                  0af8: chat "{e76d07}[Sellgun] {07d6e7}Aztecas Gang" -1
                  10@ = 3 // aztec
            end
            if 3@ == 3
            then
                  0af8: chat "{e76d07}[Sellgun] {e7de07}Vagos Gang" -1
                  10@ = 4 // vagos
            end
            if 3@ == 4
            then
                  0af8: chat "{e76d07}[Sellgun] {3979c1}Rifa Gang" -1
                  10@ = 5 // rifa
            end
            0B3B: samp show_dialog id 51 caption "Выбор оружия" text "Введите название оружия! Пример: deagle,m4,shotgun,smg,sdpistol" button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_INPUT
        end
        end
       
       
        if 0B3C: samp is_dialog_responded id 51 button 6@ list_item 0 input_text 30@
        then
            if 6@ == 1 // Была нажата первая кнопка
            then
                0af8: chat "Выбрано оружие {ffff00}%s" -1 30@
                0B3B: samp show_dialog id 52 caption "Количество патронов" text "Введите количество патронов! Максимум: 100" button_1 "Выбрать" button_2 "Закрыть" style DIALOG_STYLE_INPUT
            end
        end
        if 0B3C: samp is_dialog_responded id 52 button 7@ list_item 0 input_text 2@
        then
            if 7@ == 1 // Была нажата первая кнопка
            then
                0AD4: 5@ = scan_string 2@ format "%d" 9@ 
                0af8: chat "Количество патронов: {ffff00}%d" -1 9@
                15@ = 1 // МОЖНО ЛИ ТПШИТЬ
            end
        end
       
       
        if 
        15@ == 1
        then
            wait 0
            0AF8: samp add_message_to_chat "Выходите из интерьера" -1
            16@ = 1
            15@ = 0
        end
       
        if and
        16@ == 1
        19@ == 0
        then
            wait 0
            Actor.StorePos($PLAYER_ACTOR,27@,28@,29@)
            0B2B: samp 33@ = get_player_id_by_actor_handle $PLAYER_ACTOR
            0AF8: samp add_message_to_chat "Телепортируемся.." -1
            if
                10@ == 1
                then
                    Actor.PutAt($PLAYER_ACTOR,2492.9324,-1680.1575,13.3377)
            end
            wait 50
            0AF9: samp say_msg "/sellgun %s %d 4 %s" 30@ 9@ 33@
            0AF8: samp add_message_to_chat "/sellgun %s %d 4 %s" -1 30@ 9@ 33@
            wait 50
            Actor.PutAt($PLAYER_ACTOR,27@,28@,29@)
            16@ = 0
        end                      
end

хелп, почему-то вместо названия оружия он пишет в чат количество патронов, ид игрока пишется не тот =(