Вопросы по 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,637
5,060
Выделил. Не помогло
Выделять память под ник не нужно. Потому что там указатель на строку.
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,637
5,060
Если не путаю, то цвет, длина и само сообщение. Первые два INT.
 

DarkP1xel

Ухожу в армию... Вернусь через год.
BH Team
3,637
5,060
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
122
как закрывать потоки которые я создал опкодом 0C6A: ?
0C6E: destroy_custom_thread 27@ это пишу и крашит, вернее первый поток норм работает, во втором 1 варнинг кидает, третий просто крашит)
CLEO:
then 0C6E: destroy_custom_thread 27@
end
А если так ? Мейб не прав.
 

DarkP1xel

Ухожу в армию... Вернусь через год.
BH Team
3,637
5,060
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,083
2,113
Ты хочешь хранить херовую тучу значений в одной переменной? Массив или структуру от СФ юзай.
 

juzihozawi

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

itsLegend

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