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

scuboshit

Известный
37
2
Есть ли софт, чтобы узнать расстояние до игрока в метрах? Подскажите пожалуйста, очень срочно нужно
 
Последнее редактирование:
  • Нравится
Реакции: NesKo

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,956
050A: 17@ = distance_between_XYZ $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 and_XYZ 4@ 5@ 6@
 

DarkP1xel

Сила воли наше всё.
BH Team
3,635
4,956
Если не шаришь, то зачем было задавать вопрос в этой теме?
 

kraft1k

Вынь х*й из головы и все получится © hnnssy
Друг
1,479
1,163
Народ,помогите,как мне сделать генератор кодов? Типа: asdbdfgdrtd , hsdfyyubrtufd. ?
 

Bogach

Активный
558
27
Ребята, помогите пожалуйста решить проблему.
Пишу небольшой скриптец и одним из функцией этого скрипта будет "повышение/понижение ранга"
Хочу сделать по одному из двух принципов работы:
1. Либо когда ввожу число на которое я хочу повысить/понизить игрока
пример: был 1 ранг, ввел в диалог цифру 4 = 5 ранг.
2. Либо я сразу ввожу цифру(ранг) до которого хочу повысить/понизить игрока
пример: был первый ранг, ввел цифру 5, стал 5-ый ранг.
С циклом "For" работаю первый раз и разумеется, у меня толком ничего не получается.
вот на повышение:
CSS:
0AC8: 6@ = allocate_memory_size 50
if 0B3C:  samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
then
    if 11@ == 1
    then
        0AD4: 8@ = scan_string 6@ format "%d" 7@
        FOR 12@ = 1 to 7@ step 1
        0AF9: samp say_msg "/rang %d +" 1@
        wait 1000
        END
        0AC9: free_allocated_memory 6@
    else
    end
end

вот на понижение:

CSS:
0AC8: 6@ = allocate_memory_size 50
if 0B3C:  samp is_dialog_responded id 1005 button 13@ list_item 0 input_text 6@
then
    if 13@ == 1
    then
        0AD4: 8@ = scan_string 6@ format "%d" 7@
        FOR 12@ = 8 downto 7@ step 1
        0AF9: samp say_msg "/rang %d -" 1@
        wait 1000
        END
        0AC9: free_allocated_memory 6@
    else
    end
end
Прошу помощи, заранее спасибо.
Насколько я помню, повышение вроде бы у меня нормально работает по первому принципу, но точно не помню, нет возможности сейчас потестить.
 
Последнее редактирование:

XyJluraH_J

Потрачен
116
26
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Есть на стене надпись типо этого - http://i.imgur.com/y8sY5EM.png , как сделать так, если эта надпись находиться в зоне моего стрима, то меня тпшило бы туда?
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,447
рошу помощи, заранее спасибо.
Насколько я помню, повышение вроде бы у меня нормально работает по первому принципу, но точно не помню, нет возможности сейчас потестить.
CLEO:
0AC8:6@ = allocate_memory_size 50
while true
    wait 0
    if 0B3C: samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
    then
        if 11@ == 1
        then
            if 0AD4: 8@ = scan_string 6@ format "%d" 7@
            then
                FOR 12@ = 1 to 7@ step 1
                    0AF9: samp say_msg "/rang %d +" 12@
                    wait 1000
                END
            end
        end
    end
end
Второй по такому же принципу.

Есть на стене надпись типо этого - http://i.imgur.com/y8sY5EM.png , как сделать так, если эта надпись находиться в зоне моего стрима, то меня тпшило бы туда?
Перебрать от 0 до 2047(иды 3d текстов), получить нужный путем проверки(с помощью 0C46), если нашел - телепортируешь на полученные координаты.
 

Bogach

Активный
558
27
CLEO:
0AC8:6@ = allocate_memory_size 50
while true
    wait 0
    if 0B3C: samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
    then
        if 11@ == 1
        then
            if 0AD4: 8@ = scan_string 6@ format "%d" 7@
            then
                FOR 12@ = 1 to 7@ step 1
                    0AF9: samp say_msg "/rang %d +" 12@
                    wait 1000
                END
            end
        end
    end
end
Второй по такому же принципу.

Стоило наверное начало кода показать.
Вот начало.

C++:
{$CLEO}
0000:

repeat
wait 0
if and
0AD2: 0@ = player $PLAYER_CHAR targeted_actor //IF and SET  /получаем хэндл затаргетированного игрока
0ADC:   test_cheat "H"
then
    0B2B: samp 1@ = get_player_id_by_actor_handle 0@ // получаем ид игрока по его хендлу
    0AC6: 2@ = label @MainBuffer offset
    0AC6: 2@ = label @spisok offset
    0B3B: samp show_dialog id 1000 caption "{53377a}Menu" text 2@ button_1 "-ok-" button_2 "-close-" style 2 // создаем диалог при нажатии пкм + H
    end

Ид игрока получаем в 1@. А 12@ - это переменная счетчик
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,695
1,447
Ид игрока получаем в 1@. А 12@ - это переменная счетчик
Ну тк измени тогда))

Не заходил так глубоко,хелп.
CLEO:
alloc 0@ 32
// 1@ = random_int 0x41 to 0x5A
// 0C1C: 2@ = itoa 1@ radix 10
// 0C15: strcat destination 0@ source 2@
for 2@ = 0 to 30 // 0 - 30 = 31 символ, 31 символ нулевой.
    1@ = random_int 0x41 to 0x5A
    0C1E: array 0@ element 2@ el_size 1 = 1@
end
 

Bogach

Активный
558
27
Ну тк измени тогда))


CLEO:
alloc 0@ 32
// 1@ = random_int 0x41 to 0x5A
// 0C1C: 2@ = itoa 1@ radix 10
// 0C15: strcat destination 0@ source 2@
for 2@ = 0 to 30 // 0 - 30 = 31 символ, 31 символ нулевой.
    1@ = random_int 0x41 to 0x5A
    0C1E: array 0@ element 2@ el_size 1 = 1@
end
А в чем тогда отличие? Разве что у тебя через "While", а у меня через "repeat"
моя часть:
C++:
0AC8: 6@ = allocate_memory_size 50
if 0B3C:  samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
then
    if 11@ == 1
    then
        0AD4: 8@ = scan_string 6@ format "%d" 7@
        FOR 12@ = 1 to 7@ step 1
        0AF9: samp say_msg "/rang %d +" 1@
        wait 1000
        END
        0AC9: free_allocated_memory 6@
        chatmsg "переменная аннулирована" -1
    else
    end
end
твоя часть:
C++:
0AC8:6@ = allocate_memory_size 50
while true
    wait 0
    if 0B3C: samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
    then
        if 11@ == 1
        then
            if 0AD4: 8@ = scan_string 6@ format "%d" 7@
            then
                FOR 12@ = 1 to 7@ step 1
                    0AF9: samp say_msg "/rang %d +" 12@
                    wait 1000
                END
            end
        end
    end
end
ведь абсолютно нет различия.
Может быть ты не понял, что мне нужно?
У меня так - то работает, в чем проблема, так это в том, что допустим, я хочу понизить игрока на 4 ранга ниже, скрипт понижает на 5 рангов
ну как - то так
 

Thomas_Johnson

Известный
Проверенный
183
21
А в чем тогда отличие? Разве что у тебя через "While", а у меня через "repeat"
моя часть:
C++:
0AC8: 6@ = allocate_memory_size 50
if 0B3C:  samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
then
    if 11@ == 1
    then
        0AD4: 8@ = scan_string 6@ format "%d" 7@
        FOR 12@ = 1 to 7@ step 1
        0AF9: samp say_msg "/rang %d +" 1@
        wait 1000
        END
        0AC9: free_allocated_memory 6@
        chatmsg "переменная аннулирована" -1
    else
    end
end
твоя часть:
C++:
0AC8:6@ = allocate_memory_size 50
while true
    wait 0
    if 0B3C: samp is_dialog_responded id 1004 button 11@ list_item 0 input_text 6@
    then
        if 11@ == 1
        then
            if 0AD4: 8@ = scan_string 6@ format "%d" 7@
            then
                FOR 12@ = 1 to 7@ step 1
                    0AF9: samp say_msg "/rang %d +" 12@
                    wait 1000
                END
            end
        end
    end
end
ведь абсолютно нет различия.
Может быть ты не понял, что мне нужно?
У меня так - то работает, в чем проблема, так это в том, что допустим, я хочу понизить игрока на 4 ранга ниже, скрипт понижает на 5 рангов
ну как - то так
Опкод 0AD4 является проверкой