You are not logged in.
Каким образом можно сделать "несдвигаемую" машину в GTA 3? Параметр массы не нашел.
Last edited by starzzz (03-03-2014 14:14)
Offline
Я так понимаю в мобильном са опкоды 00E1: key_pressed 0 не робят? Пытаюсь использовать 0E1: key_pressed 0 6 в авто, реакции нет. Есть другой способ проверять нажатие наэкранных кнопок?
Offline
Offline
Подскажите пожалуйста список номеров анимации для опкода VC 
0372: set_actor $player_actor anim 0 wait_state_time 100 ms
Или по-другому: как, зная название анимации получить этот номер?
Offline
Спасибо, но это же мизерная часть анимаций. Из названия анимации никак на номер не выйти?
Offline
Я когда-то делал скрипт для проигрывания аним в гта3...
А вот и он:
{$CLEO}
const
    // variables
    currentAnimID = 0@ // int
    modelClump    = 1@ // RpClump*
    FUNC_blendAnimation = 2@ // int
    gameVersion   = 3@
    timer         = 16@
    
    // constants
    KEY_SWITCH          = 77
    KEY_LEFT            = 188
    KEY_RIGHT           = 190
    KEY_APPLYANIM       = 191
    KEY_RESET           = 16
    TIME_FOR_SWITCH     = 120
    ANIM_RATE           = 8.0
end
goto @begin
:drawNumber
03F0: enable_text_draw 1
01E3: text_1number_styled 'NUMBER' currentAnimID 70 ms 3
return
:applyCurrentAnimToPlayer
05E6: modelClump = actor $3 struct
modelClump += 0x4C
05E0: modelClump = read_memory modelClump size 4 virtual_protect 1
05E5: gameVersion = game_version
if
    gameVersion == 0
then
    FUNC_blendAnimation = 0x403710
else
    FUNC_blendAnimation = 0x403710
end
05E1: call 0x403710 num_params 4 pop 4 8.0 currentAnimID 0 modelClump
return
:begin
currentAnimID = 0
while true
    wait 0
    if
        0256: player 0 defined
    then
        if
            05EE: key_pressed KEY_SWITCH
        then
            while 05EE: key_pressed KEY_SWITCH
                wait 0
                if
                    8256: not player 0 defined
                then
                    goto @begin
                end
            end
            // here we go
            while true
                wait 0
                gosub @drawNumber
                if
                    8256: not player 0 defined
                then
                    goto @begin
                end
                if
                    05EE: key_pressed KEY_SWITCH
                then
                    while 05EE: key_pressed KEY_SWITCH
                        wait 0
                    end
                    goto @begin
                end
                if
                    05EE: key_pressed KEY_LEFT
                then
                    timer = 0
                    while 05EE: key_pressed KEY_LEFT
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                        if
                            timer > TIME_FOR_SWITCH
                        then
                            break
                        end
                    end
                    if
                        currentAnimID > 0
                    then
                        currentAnimID -= 1
                    end
                else if
                        05EE: key_pressed KEY_RIGHT
                    then
                        while 05EE: key_pressed KEY_RIGHT
                            wait 0
                            gosub @drawNumber
                            if
                                8256: not player 0 defined
                            then
                                goto @begin
                            end
                            if
                                timer > TIME_FOR_SWITCH
                            then
                                break
                            end
                        end
                        currentAnimID += 1
                    end
                end
                if
                    05EE: key_pressed KEY_RESET
                then
                    while 05EE: key_pressed KEY_RESET
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                    end
                    currentAnimID = 0
                    gosub @applyCurrentAnimToPlayer
                end
                if
                    05EE: key_pressed KEY_APPLYANIM
                then
                    while 05EE: key_pressed KEY_APPLYANIM
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                    end
                    gosub @applyCurrentAnimToPlayer
                end
            end
        end
    else
        goto @begin
    end
end
						Last edited by DK22Pac (15-09-2014 14:58)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
В VC скрипт не робит, адрес наверно другой?  
Offline
{$CLEO}
const
    // variables
    currentAnimID = 0@ // int
    modelClump    = 1@ // RpClump*
    FUNC_blendAnimation = 2@ // int
    gameVersion   = 3@
    timer         = 16@
    
    // constants
    KEY_SWITCH          = 77
    KEY_LEFT            = 188
    KEY_RIGHT           = 190
    KEY_APPLYANIM       = 191
    KEY_RESET           = 16
    TIME_FOR_SWITCH     = 100
    ANIM_RATE           = 8.0
    START_ANIM_ID = 0
end
goto @begin
:drawNumber
01E5: text_1number_highpriority 'NUMBER' currentAnimID 100 ms 1  // Cost: $~1~
return
:applyCurrentAnimToPlayer
05E6: modelClump = actor $3 struct
modelClump += 0x4C
05E0: modelClump = read_memory modelClump size 4 virtual_protect 1
05E1: call 0x405640 num_params 4 pop 4 8.0 currentAnimID 0 modelClump
return
:begin
currentAnimID = START_ANIM_ID
while true
    wait 0
    if
        0256: player 0 defined
    then
        if
            05EE: key_pressed KEY_SWITCH
        then
            while 05EE: key_pressed KEY_SWITCH
                wait 0
                if
                    8256: not player 0 defined
                then
                    goto @begin
                end
            end
            // here we go
            while true
                
                gosub @drawNumber
                wait 0
                if
                    8256: not player 0 defined
                then
                    goto @begin
                end
                if
                    05EE: key_pressed KEY_SWITCH
                then
                    while 05EE: key_pressed KEY_SWITCH
                        wait 0
                    end
                    goto @begin
                end
                if
                    05EE: key_pressed KEY_LEFT
                then
                    timer = 0
                    while 05EE: key_pressed KEY_LEFT
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                        if
                            timer > TIME_FOR_SWITCH
                        then
                            break
                        end
                    end
                    if
                        currentAnimID > 0
                    then
                        currentAnimID -= 1
                    else
                        currentAnimID = 172
                    end
                else
                    if
                        05EE: key_pressed KEY_RIGHT
                    then
                        timer = 0
                        while 05EE: key_pressed KEY_RIGHT
                            wait 0
                            gosub @drawNumber
                            if
                                8256: not player 0 defined
                            then
                                goto @begin
                            end
                            if
                                timer > TIME_FOR_SWITCH
                            then
                                break
                            end
                        end
                        currentAnimID += 1
                        if
                            currentAnimID == 173
                        then
                            currentAnimID = 0
                        end
                    end
                end
                if
                    05EE: key_pressed KEY_RESET
                then
                    while 05EE: key_pressed KEY_RESET
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                    end
                    currentAnimID = 0
                    gosub @applyCurrentAnimToPlayer
                end
                if
                    05EE: key_pressed KEY_APPLYANIM
                then
                    while 05EE: key_pressed KEY_APPLYANIM
                        wait 0
                        gosub @drawNumber
                        if
                            8256: not player 0 defined
                        then
                            goto @begin
                        end
                    end
                    gosub @applyCurrentAnimToPlayer
                end
            end
        end
    else
        goto @begin
    end
endНужен пофиксенный CLEO, чтобы работало. Почему-то...
Last edited by DK22Pac (16-09-2014 01:18)
Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv
Offline
Ага сейчас работает, спасибо. Это же все анимации из ped.ifp? Да и то не полностью. Как просмотреть таким же способом остальные анимы из этого файла и из других .ifp?
Offline
Можно открыть IFP в 3ds max'e или Anim Viewer.
Offline
Можно открыть IFP в 3ds max'e или Anim Viewer.
Offline
Подскажите, возможно ли  передвинуть  объект кат сцены в Вайсе.  Например:
02E5: $161 = create_cutscene_object #SPECIAL02  //тут  я, как понимаю создается модель
02E6: set_cutscene_anim $161 'CSDIAZ' //тут  я , как понимаю применяется конкретная анимация к $161 из загруженной кат сцены. 
Возможно ли с помощью опкода  поставить эту модель по нужным мне начальным координатам.
Offline
Подскажите пожалуйста список номеров анимации для опкода VC
Тоже интересует этот вопрос, хотелось воспроизвести анимку колющего удара катаной
Offline
Есть ли опкод, триггерящий войну банд в определённой зоне? Видел на одном сайте его, но к нему вроде какой-то плагин нужен, а какой и где его брать я не разобрался.
Offline
Всем привет, кто шарит в саньке за этот опкод?
04D2: set_plane $PTERO45_1 fly_autopilot_around_point -2340.18 1401.524 160.0 altitude_between 0.0 and 0.0
Столкнулся с критическим багом, точнее, даже не я, а спидраннеры моего мода спустя десяток лет... в этом году стал наблюдать, что вроде как именно этот опкод не работает (и вроде на 11 винде), у меня на 7 и 10 не удается данный баг воспроизвести. А именно - вместо того, чтобы лететь как обычно, ломается координата Z - самолет появляется, судя по миникарте, где-то высоко в небе и очень медленно движется (пикирует вниз?), может ли кто помочь разобраться? Из-за сломанного полета миссия становится непроходимой и тут же проваливается. В чате советовал спидраннерам поэкспериментировать с частотой кадров, разрешением и перезапуском игры - ничего не помогало.
Offline
Всем привет, кто шарит в саньке за этот опкод?
04D2: set_plane $PTERO45_1 fly_autopilot_around_point -2340.18 1401.524 160.0 altitude_between 0.0 and 0.0
Столкнулся с критическим багом, точнее, даже не я, а спидраннеры моего мода спустя десяток лет... в этом году стал наблюдать, что вроде как именно этот опкод не работает (и вроде на 11 винде), у меня на 7 и 10 не удается данный баг воспроизвести. А именно - вместо того, чтобы лететь как обычно, ломается координата Z - самолет появляется, судя по миникарте, где-то высоко в небе и очень медленно движется (пикирует вниз?), может ли кто помочь разобраться? Из-за сломанного полета миссия становится непроходимой и тут же проваливается. В чате советовал спидраннерам поэкспериментировать с частотой кадров, разрешением и перезапуском игры - ничего не помогало.
ну сразу бросается в глаза mix/max altitute выставленная в 0. Как самолет может летать на такой высоте? Может надо поставить что-то вроде 10.0..50.0 ?
Offline
Раньше это все работало, а в инструкции к Санни билдеру написано, что эти параметры почему-то трогать не надо. В целом, ответил в соседней теме, в чем оказалась проблема.
Offline