#226 03-03-2014 14:11

starzzz
Registered: 01-03-2014
Posts: 2

Re: Вопросы по опкодам

Каким образом можно сделать "несдвигаемую" машину в GTA 3? Параметр массы не нашел.

Last edited by starzzz (03-03-2014 14:14)

Offline

#227 14-03-2014 06:48

Kostyan
Registered: 27-09-2009
Posts: 94

Re: Вопросы по опкодам

Я так понимаю в мобильном са опкоды 00E1: key_pressed 0  не робят? Пытаюсь использовать 0E1: key_pressed 0 6 в авто, реакции нет. Есть другой способ проверять нажатие наэкранных кнопок?

Offline

#229 15-09-2014 13:05

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

Re: Вопросы по опкодам

Подскажите пожалуйста список номеров анимации для опкода VC
0372: set_actor $player_actor anim 0 wait_state_time 100 ms
Или по-другому: как, зная название анимации получить этот номер?

Offline

#230 15-09-2014 13:38

Seemann
Registered: 07-08-2006
Posts: 2,156

Offline

#231 15-09-2014 14:55

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

Re: Вопросы по опкодам

Спасибо, но это же мизерная часть анимаций. Из названия анимации никак на номер не выйти?

Offline

#232 15-09-2014 14:57

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопросы по опкодам

Я когда-то делал скрипт для проигрывания аним в гта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

#233 15-09-2014 17:04

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

Re: Вопросы по опкодам

В VC скрипт не робит, адрес наверно другой?  sad

Offline

#234 16-09-2014 00:30

DK22Pac
From: Ukraine
Registered: 26-03-2010
Posts: 447
Website

Re: Вопросы по опкодам

{$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

#235 16-09-2014 05:47

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

Re: Вопросы по опкодам

Ага сейчас работает, спасибо. Это же все анимации из ped.ifp? Да и то не полностью. Как просмотреть таким же способом остальные анимы из этого файла и из других .ifp?

Offline

#236 25-09-2014 15:49

Dark_Knight
From: г. Полтава
Registered: 09-07-2013
Posts: 33

Re: Вопросы по опкодам

Можно открыть IFP в 3ds max'e или Anim Viewer.

Offline

#237 26-09-2014 21:12

НикИТОС
Registered: 05-06-2013
Posts: 133
Website

Re: Вопросы по опкодам

Dark_Knight wrote:

Можно открыть IFP в 3ds max'e или Anim Viewer.

http://yelmi.com/modules/files/showfile.php?lid=51

Offline

#238 13-04-2015 20:43

Alex91
Registered: 13-04-2015
Posts: 3

Re: Вопросы по опкодам

Подскажите, возможно ли  передвинуть  объект кат сцены в Вайсе.  Например:
02E5: $161 = create_cutscene_object #SPECIAL02  //тут  я, как понимаю создается модель
02E6: set_cutscene_anim $161 'CSDIAZ' //тут  я , как понимаю применяется конкретная анимация к $161 из загруженной кат сцены.
Возможно ли с помощью опкода  поставить эту модель по нужным мне начальным координатам.

Offline

#239 15-08-2017 09:13

trashmas
Registered: 12-04-2016
Posts: 41

Re: Вопросы по опкодам

kenking wrote:

Подскажите пожалуйста список номеров анимации для опкода VC

Тоже интересует этот вопрос, хотелось воспроизвести анимку колющего удара катаной

Offline

#240 12-09-2022 17:13

Red_Ender
From: Смоленск
Registered: 28-07-2020
Posts: 40

Re: Вопросы по опкодам

Есть ли опкод, триггерящий войну банд в определённой зоне? Видел на одном сайте его, но к нему вроде какой-то плагин нужен, а какой и где его брать я не разобрался.

Offline

Board footer

Powered by FluxBB