#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,158

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...

А вот и он:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
{$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: Вопросы по опкодам

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
{$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