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

user337567

Участник
91
10
Код:
    0BF3: raknet 2@ = bit_stream 1@ get_data_ptr // Получаем указатель на содержимое битстрима
    0C0D: struct 2@ offset 15 size 4 = -90.0 // в данные битстрима установим значение -90.0. Это будет координата Z в синхронизации.

как рассчитать оффсет и размер?
 

hnnssy

Известный
Друг
2,684
2,746
Код:
    0BF3: raknet 2@ = bit_stream 1@ get_data_ptr // Получаем указатель на содержимое битстрима
    0C0D: struct 2@ offset 15 size 4 = -90.0 // в данные битстрима установим значение -90.0. Это будет координата Z в синхронизации.

как рассчитать оффсет и размер?
не надо ничего считать, все структуры уже давно расписаны, в том же samp.lua можно подсмотреть
 

andrewcrown

Новичок
1
0
Подскажите как добавить ограничение на скорость поезда? На аризоне нельзя ехать больше 121-122 км/ч. Есть скрипт, как я понимаю, этот метод отвечает за ограничение:
Код:
Car.SetSpeedInstantly($P_A_C_C_1, 33.0)
Какой мне нужно поставить индекс, чтобы скорость была 121-122?
 

Impossible In Rage

Известный
955
247
Подскажите как добавить ограничение на скорость поезда? На аризоне нельзя ехать больше 121-122 км/ч. Есть скрипт, как я понимаю, этот метод отвечает за ограничение:
Код:
Car.SetSpeedInstantly($P_A_C_C_1, 33.0)
Какой мне нужно поставить индекс, чтобы скорость была 121-122?
словишь штраф , 3 штрафа - конец рейса
 

skripterotmenya

Новичок
13
0
Помогите
Это наркотаймер надо переделать ,чтобы юзалось не 15 нарко, а 3 максимум.
CLEO:
0000: nop
thread 'bladee'
repeat
    wait 300
until 0AFA: is_samp_structures_available

0C48: samp textdraw 10 create "Timer" pos 585.0 65.0
0C4D: samp textdraw 10 set_shadow 1 color 0xFF000000
0C4E: samp textdraw 10 set_outline 1 color 0xFF000000

1@ = 0
3@ = 0
alloc 2@ 64
while true
wait 0

    if and
    0ab0: key_pressed 88
    not SAMP.ChatInputOpened()
    then
        if
            1@ <= 0
            then
           
                if 3@ == 0
                then
                1@ = 60 // nach. timer
                018C: play_sound 1052 at 0.0 0.0 0.0
                12@ = Actor.Health($PLAYER_ACTOR)
                17@ = 160
                0062: 17@ -= 12@ // (int)
                17@ /= 30
                if
                17@ >= 16
                then
                17@ = 15
                else
                say "/usedrugs %d" 17@
                log "%d" 17@
                end
                end
               
                if 3@ == 1
                then
                1@ = 30 // nach. timer
                018C: play_sound 1052 at 0.0 0.0 0.0
                12@ = Actor.Health($PLAYER_ACTOR)
                17@ = 160
                0062: 17@ -= 12@ // (int)
                17@ /= 30
                if
                17@ >= 16
                then
                17@ = 15
                else
                say "/usedrugs %d" 17@
                log "%d" 17@
                end
                end
            end
    end
             
    if
    1@ >= 1
    then
        1@ -= 1
        format 2@ "%d" 1@
        0C50: samp textdraw 10 set_string 2@
        wait 1000
    end

    if
    1@ <= 0
    then
        0C50: samp textdraw 10 set_string "Use!"
    end   
   
    if
    1@ == 0
    then
        018C: play_sound 1057 at 0.0 0.0 0.0
        1@ -= 1
    end
    if and
    0ab0: key_pressed 90
    0ab0: key_pressed 49
    3@ == 0
    not SAMP.ChatInputOpened()
    then
        0ACD: show_text_highpriority "~p~30" time 300
        3@ = 1
    end
   
    if and
    0ab0: key_pressed 90
    0ab0: key_pressed 50
    3@ == 1
    not SAMP.ChatInputOpened()
    then
        0ACD: show_text_highpriority "~p~60" time 300
        3@ = 0
    end
   
end   v  __SBFTR
 
Последнее редактирование модератором:

avi01z

Новичок
1
0
Ребят, кто может помочь со сменой клавиши активации?

CLEO:
:Noname_654
if
key_down 88
else_jump @Noname_688
gosub @Noname_1108
call @Noname_1337 1 88

Не могу изменить 88 на 115, при компиляции ругается на следующее:
Untitled.png
 

Вложения

  • adriver.cs
    24.3 KB · Просмотры: 2

Impossible In Rage

Известный
955
247
Ребят, кто может помочь со сменой клавиши активации?

CLEO:
:Noname_654
if
key_down 88
else_jump @Noname_688
gosub @Noname_1108
call @Noname_1337 1 88

Не могу изменить 88 на 115, при компиляции ругается на следующее:
переменную 0 не правильно записал
 

Ilysha228 (ded)

Новичок
3
4
why код сюда не кинул?
Часовой пояс другой, с телефона ночью, код завтра скину.
CLEO:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
if and
0AB0:   key_pressed 49
0184:   actor 0@ health >= 0
jf @1
0226: 0@ = actor $PLAYER_ACTOR health
055E: set_player 0@ max_health += 100
jump @1
Не робит.
 
Последнее редактирование:

Impossible In Rage

Известный
955
247
Часовой пояс другой, с телефона ночью, код завтра скину.
CLEO:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
if and
0AB0:   key_pressed 49
0184:   actor 0@ health >= 0
jf @1
0226: 0@ = actor $PLAYER_ACTOR health
055E: set_player 0@ max_health += 100
jump @1
Не робит.
чел ты учился по исходникам что ли?Во 1 переменную 0 нужно записать выше её использовние , во 2 лучше юзать не переменную а $PLAYER_ACTOR , в 3 это скорее всего не будет работать в сампе.
 

user337567

Участник
91
10
Часовой пояс другой, с телефона ночью, код завтра скину.
CLEO:
{$CLEO}
{$NOSOURCE}
0000:

:1
wait 0
if and
0AB0:   key_pressed 49
0184:   actor 0@ health >= 0
jf @1
0226: 0@ = actor $PLAYER_ACTOR health
055E: set_player 0@ max_health += 100
jump @1
Не робит.
ок, во первых, не тот опкод был заюзан, прочитай внимательней, ты прибавляешь макс кол-во хп а не само хп, такие условности будут тебе попадаться очень часто, читай внимательней описания опкодов, ежели не знаешь что он делает то можешь в гугле забить, пример 0000: opcode samp, во вторых, ты ссылаешься на переменную 0@ до того как ты её ссылаешь на хендл актёра, это на будущее, но в случае с плеер актором этого делать не нужно, можно просто использовать $PLAYER_ACTOR, в ней пермаментно хранится хендл игрока.
 

Impossible In Rage

Известный
955
247
Вот вроде бы так
CLEO:
{$CLEO}          // Cleo
{$NOSOURCE}      // Не сохраняется исходник
0000:            // 0000:

:1         // Label
if and     // До 7 условий
0AB0:   key_pressed 49 // Проверка нажатия клавиши 1
0184:   actor $PLAYER_ACTOR health >= 1    // Проверка хп $PLAYER_ACTOR 
jf @1                                      // Если не верно прыгает в начало лабела
0223: set_actor $PLAYER_ACTOR health_to 100  // Установка $PLAYER_ACTOR хп
jump @1                                      // Бесконечный цикл
 
  • Нравится
Реакции: Ilysha228 (ded)