#1 09-11-2009 19:18

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Неожиданные и забавные эффекты скриптов

Хороший способ борьбы с врагами - это закидать их автомобилями smile
Дело вот в чём: написал несложный спаунер машин и в процессе испытания обнаружил интересную особенность. Если зависнуть в воздухе (например на вертолёте) и вызвать функцию, создающую машину (0x43A0B0), то начнётся дождь из транспортных средств, который прекратится только после того как игрок начнёт перемещаться.

{$CLEO} 
wait 0
0@ = -229908
while true
    repeat
        wait 0
    until player.Defined($player_char)
    while true
        wait 0
        if and
            &0(0@,1i) > 0x3030302f // нажат 0 и введен 3-значный ИД транспортного средства (кроме поезда)
            &0(0@,1i) < 0x3039393a
        then
            break
        end
    end
    0085: 1@ = &0(0@,1i) // (int) 
    1@ -= 0x30300000
    if and
        1@ <= 0x93939
        1@ > 0x302f
    then
        0A91: 2@ = 1@ / 0x10000
        2@ *= 0x10000
        0062: 1@ -= 2@ // (int) 
        2@ /= 0x10000
        1@ -= 0x3000
        if and
            1@ <= 0x939
            1@ > 0x2f
        then
            0A91: 3@ = 1@ / 0x100
            3@ *= 0x100
            0062: 1@ -= 3@ // (int)
            3@ /= 0x100
            1@ -= 0x30
            if and
                1@ < 0xa
                1@ >= 0x0
            then
                3@ *= 0xA
                2@ *= 0x64
                005A: 1@ += 2@ // (int)
                005A: 1@ += 3@ // (int)
                0AA7: call_function 0x43A0B0 num_params 1 pop 1 1@ 4@
            end
        end
    end 
    wait 1000           
    while true
        wait 0
        if or
            &0(0@,1i) > 0x3030302f
            &0(0@,1i) < 0x3039393a
        then
            break
        end
    end
end

93c20365c496t.jpg

Offline

#2 09-11-2009 19:57

Alien
Registered: 12-10-2008
Posts: 564

Re: Неожиданные и забавные эффекты скриптов

это усе потому, что ты не обнуляешь чит-строку после обнаружения факта совпадения набранных символов.:crazy:

Offline

#3 09-11-2009 20:46

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Неожиданные и забавные эффекты скриптов

crazy Действительно промахнулся, в конце такие условия должны быть:

        if or
            &0(0@,1i) < 0x30303030
            &0(0@,1i) > 0x30393939
        then

Offline

#4 17-01-2010 16:29

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Неожиданные и забавные эффекты скриптов

Немного усовершенствовал код, добавив предохраняющие проверки. Можно спаунить любые транспортные средства (кроме поездов). Идея, конечно, не нова, но может кому-то пригодится:

{$CLEO} 
wait 0
0@ = -229908
while true
    repeat
        wait 0
    until player.Defined($player_char)
    while true
        wait 0
        if and
            &0(0@,1i) > 0x3030302f // 0 and ID-number of vehicle model entered
            &0(0@,1i) < 0x3039393a
        then
            break
        end
    end
    0085: 1@ = &0(0@,1i) // (int) 
    1@ -= 0x30300000
    if and
        1@ <= 0x93939
        1@ > 0x302f
    then
        0A91: 2@ = 1@ / 0x10000
        2@ *= 0x10000
        0062: 1@ -= 2@ // (int) 
        2@ /= 0x10000
        1@ -= 0x3000
        if and
            1@ <= 0x939
            1@ > 0x2f
        then
            0A91: 3@ = 1@ / 0x100
            3@ *= 0x100
            0062: 1@ -= 3@ // (int)
            3@ /= 0x100
            1@ -= 0x30
            if and
                1@ < 0xa
                1@ >= 0x0
            then
                3@ *= 0xA
                2@ *= 0x64
                005A: 1@ += 2@ // (int)
                005A: 1@ += 3@ // (int)
                0AA7: call_function 0x4c5aa0 num_params 1 pop 1 1@ 4@ // isModelCar
                0AA7: call_function 0x4c5b60 num_params 1 pop 1 1@ 5@ // isModelBike
                0AA7: call_function 0x4c5c20 num_params 1 pop 1 1@ 6@ // isModelBmx
                0AA7: call_function 0x4c5bf0 num_params 1 pop 1 1@ 7@ // isModelQuad
                0AA7: call_function 0x4c5c50 num_params 1 pop 1 1@ 8@ // isModelTrailer           
                if or
                    081E:   model 1@ boat
                    081F:   model 1@ plane
                    0820:   model 1@ heli 
                    4@ == true
                then 
                    0AA7: call_function 0x43A0B0 num_params 1 pop 1 1@ 9@ // car spawn
                    &0(0@,1i) = 0
                else
                    if or
                        5@ == 8766721 // True
                        6@ == 8766721 // True
                        7@ == 8766721 // True
                        8@ == 8766721 // True
                    then
                        0AA7: call_function 0x43A0B0 num_params 1 pop 1 1@ 9@ // car spawn
                        &0(0@,1i) = 0
                    end                   
                end
            end
        end
    end 
end

Offline

#5 12-06-2011 08:11

444andrei444
Registered: 29-03-2011
Posts: 317
Website

Re: Неожиданные и забавные эффекты скриптов

Ну вообшем решил пополнить тему своей небольшой находкой. Все наверное знают опкод который отменяет все команды к актеру. Так вот  если его поставить в цикле что произойдет? Ничего интересного если игрок не в джетпаке. А если в джетпаке то нажимая пробел он поднимается вверх даже если вы уже не жмете пробел. Причем поднимается на любую высоту я с грув стрит поднялся на высоту 1369 метров.

Offline

#6 21-06-2011 09:23

kenking
From: Казахстан
Registered: 28-06-2010
Posts: 253

Re: Неожиданные и забавные эффекты скриптов

Все фокусники отдыхают:lol:

{$CLEO .cs}
0000:
repeat
  wait 0
until Player.Defined($PLAYER_CHAR)
Player.SetClothes($PLAYER_CHAR, "gimpleg", "gimpleg", 2)
Player.Build($PLAYER_CHAR)
0A93: end_custom_thread

dac5e5096f54t.jpg

Offline

Board footer

Powered by FluxBB