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

Mikha Mikhin

Новичок
131
4
CLEO:
:check
wait 0
if
111112@ == 1
then
wait 0
FOR 198@ = 0 TO MAX_PLAYERS [STEP = 1]
    IF 0B23:  samp is_player_connected 198@
    THEN
        IF 0B20: samp 199@ = actor_handle_by_samp_player_id 198@
        THEN
            IF 0104:   actor $PLAYER_ACTOR near_actor 199@ radius 2.0 2.0 2.0 sphere FALSE
            THEN
            0B36: samp 199@v = get_player_nickname 198@
            printf "~r~ %s is near u!" 199@v 1000
            END
        END
    END
END

jump @check
Почему-то пишет без никнейма. просто "is near u", причём мигает, хоть я вроде сделал, чтобы оно секунду показывалось.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
Выделил. Не помогло
Выделять память под ник не нужно. Потому что там указатель на строку.
CLEO:
{$CLEO}
{$INCLUDE SF}
0000:

REPEAT
0001: WAIT 0
UNTIL 0AFA:

WHILE TRUE
0001: WAIT 0
    FOR 0@ = 0 TO MAX_PLAYERS [STEP = 1]
        IF 0B23:  samp is_player_connected 0@
        THEN
            IF 0B20: samp 1@ = actor_handle_by_samp_player_id 0@
            THEN
                IF 0104:   actor $PLAYER_ACTOR near_actor 1@ radius 15.0 15.0 15.0 sphere FALSE
                THEN
                0B36: samp 1@ = get_player_nickname 0@
                0AD1: show_formatted_text_highpriority "Player: %s~N~Near U!" time 1000 1@
                END
            END
        END
    END
END
 

Perojek)0

Известный
205
3
В RPC_SCRCLIENTMESSAGE 3 параметра
Как их получить и что это за параметры?
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
Если не путаю, то цвет, длина и само сообщение. Первые два INT.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
CLEO:
0B2B: samp 0@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B36: samp 0@ = get_player_nickname 0@
 

zwhoz

Известный
106
11
CLEO:
0B37: samp 1@ = get_player_color 0@
Возвращает цвет указанного игрока в формате 0xAARRGGBB.
А этот опкод хочет RBGA
CLEO:
0340: set_text_draw_RGBA 255 255 255 alpha 255
Как можно получить из ARGB - RBGA.
 

fiendshadow

3LFhocV726q7pKWWky2vv3W38Dm9sGJV86
Проверенный
455
121
как закрывать потоки которые я создал опкодом 0C6A: ?
0C6E: destroy_custom_thread 27@ это пишу и крашит, вернее первый поток норм работает, во втором 1 варнинг кидает, третий просто крашит)
CLEO:
then 0C6E: destroy_custom_thread 27@
end
А если так ? Мейб не прав.
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,957
CLEO:
0B37: samp 1@ = get_player_color 0@
Возвращает цвет указанного игрока в формате 0xAARRGGBB.
А этот опкод хочет RBGA
CLEO:
0340: set_text_draw_RGBA 255 255 255 alpha 255
Как можно получить из ARGB - RBGA.
0B66: render argb 1@ to_a 2@ r 3@ g 4@ b 5@
0B67: render a 1@ r 2@ g 3@ b 4@ to_argb 5@
 
  • Нравится
Реакции: zwhoz

Perojek)0

Известный
205
3
CLEO:
0AD4: 8@ = scan_string 4@ format " - %s (%s) [%i]" 5@ 6@ 7@
if
8@==3
then
0AF8: samp add_message_to_chat "ID: %i Nick: %s" color 0xFFFFFF 7@ 6@
end

У меня не правильно сканирует строчку.
Как исправить?
 
Последнее редактирование:

juzihozawi

Новичок
7
0
Доброго времени суток, вот код, в котором реализовал чтение значения каждого ключа в .ini файле, но в дальнейшем необходимо, чтобы все эти значения форматировались в одну переменную.
CLEO:
{$CLEO}

0001: wait 0 ms

repeat
    wait 400
until 0AFA:  is_samp_available
while true
    wait 0
    if 0AAB:   file_exists "cleo\myfile.ini"
    then
        for 0@ = 0 to 50
           0AD3: 1@v = format "%d" 0@
           0AC8: 2@ = allocate_memory_size 128
          
           if 0AF4: 2@ = read_string_from_ini_file "cleo\myfile.ini" section "mysection" key 1@v
           then
               //вот именно здесь полученное значение должно форматироваться с предыдущим в одну переменную
           end
          
          
        end
    end
end
Как это можно сделать?
 

Dark_Knight

Me, me and me.
Друг
4,062
2,077
Ты хочешь хранить херовую тучу значений в одной переменной? Массив или структуру от СФ юзай.
 

juzihozawi

Новичок
7
0
Ты хочешь хранить херовую тучу значений в одной переменной? Массив или структуру от СФ юзай.
По сути в каждом ini ключе есть строка, которую я потом ещё бы хотел разобрать. :D
Ну, что-то типо: ник лвл номер
А где про структуру прочесть можно?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,448
вроде можно по серийнику жёсткого диска https://www.blast.hk/threads/897/#post-34172 , но у меня этот способ не работает.
Это бессмысленно для клео, пока не найдешь топ криптор для своего скрипта. Иначе будет очень легко её обойти