#4401 17-11-2013 12:01

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

Re: Один вопрос

@d88 -
С точки зрения конечного результата, нет разницы, каким именно способом будет поворачиваться объект - "автоматически" (например, с помощью анимации) или "вручную" (с помощью многократной установки объекту нового угла поворота, который должен с каждым разом увеличиваться на одну и ту же величину). Но для того, чтобы вращение выглядело плавным при "ручном" способе, присвоение нового значения угла поворота должно происходить как можно чаще (желательно - каждый кадр, т.е. в скрипте должен быть только один wait 0).

Offline

#4402 17-11-2013 13:19

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Voron295 wrote:

Я так и не понял, почему вращение тем способом, который я указал, не плавное?

Оно плавное, но из-за этой ошибки с изменением поворота я не могу использовать эти опкоды.

Voron295 wrote:

при вращении по оси X (я так понял, именно это тебе нужно)

Я пробовал со всеми осями, и всегда одно и тоже.
Ты сам пробовал эти опкоды? Я хотел показать видео, но что-то там с ютубом не так, видео не загружается. В общем, там как будто даже не объект поворачивается, а только его модель. Я заставляю его вращаться, к примеру, по оси X, сначала всё нормально, но через секунду как будто поворачивается по оси Z, хотя продолжает вращаться в ту же сторону. Т.е. получается, что его оси не повернулись вместе с ним.

Den_spb wrote:

@d88 -
С точки зрения конечного результата, нет разницы, каким именно способом будет поворачиваться объект - "автоматически" (например, с помощью анимации) или "вручную" (с помощью многократной установки объекту нового угла поворота, который должен с каждым разом увеличиваться на одну и ту же величину). Но для того, чтобы вращение выглядело плавным при "ручном" способе, присвоение нового значения угла поворота должно происходить как можно чаще (желательно - каждый кадр, т.е. в скрипте должен быть только один wait 0).

Ну да. Просто было бы удобнее, если бы удалось заставить объект вращаться одним опкодом.

Offline

#4403 18-11-2013 14:45

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

@d88, я не пойму, ты в скрипте после вращения используешь получение угла объекта? Ну, опкод 0176? Визуально вращение продолжается в нужном направлении, так ведь?


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4404 18-11-2013 15:51

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Voron295 wrote:

@d88, я не пойму, ты в скрипте после вращения используешь получение угла объекта? Ну, опкод 0176? Визуально вращение продолжается в нужном направлении, так ведь?

Так в том-то и дело, что я с этим объектом больше ничего не делаю. И да, визуально вращение продолжается в ту же сторону.

Offline

#4405 18-11-2013 16:09

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

d88 wrote:

Так в том-то и дело, что я с этим объектом больше ничего не делаю. И да, визуально вращение продолжается в ту же сторону.

Тогда какая тебе разница, что показывает тебе опкод, получающий текущий угол объекта?


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4406 18-11-2013 19:15

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Voron295 wrote:

Тогда какая тебе разница, что показывает тебе опкод, получающий текущий угол объекта?

Что-то мы тут совсем запутались, о чём речь. Я же ничего про этот опкод не говорил и не использовал его. Я пытался объяснить, что 05A1: и 05A2: работают некорректно, если до их испоьзования задать объекту угол поворота, т.е. Z_angle.

Offline

#4407 18-11-2013 20:12

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

d88 wrote:

Что-то мы тут совсем запутались, о чём речь. Я же ничего про этот опкод не говорил и не использовал его. Я пытался объяснить, что 05A1: и 05A2: работают некорректно, если до их испоьзования задать объекту угол поворота, т.е. Z_angle.

Так бы сразу и сказал. Я не мог понять, в чём твоя проблема. Значит объект вращается "криво", если угол Z отличен от нуля?


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4408 19-11-2013 06:16

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Voron295 wrote:
d88 wrote:

Что-то мы тут совсем запутались, о чём речь. Я же ничего про этот опкод не говорил и не использовал его. Я пытался объяснить, что 05A1: и 05A2: работают некорректно, если до их испоьзования задать объекту угол поворота, т.е. Z_angle.

Так бы сразу и сказал. Я не мог понять, в чём твоя проблема. Значит объект вращается "криво", если угол Z отличен от нуля?

Да, именно так. Я это и пытался объяснить.

Offline

#4409 19-11-2013 15:54

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

d88 wrote:

Да, именно так. Я это и пытался объяснить.

Ясно. Нужно преобразовать локальное вращение в глобальное. Я попробую написать код.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4410 19-11-2013 18:17

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Voron295 wrote:
d88 wrote:

Да, именно так. Я это и пытался объяснить.

Ясно. Нужно преобразовать локальное вращение в глобальное. Я попробую написать код.

Может, это кому-то пригодится, но я для себя уже написал код, где вращаю объект в цикле с помощью 0453.

Offline

#4411 30-11-2013 14:35

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Можно сделать, чтоб убитый пед не истекал кровью? 0332: на трупы не действует.

Offline

#4412 30-11-2013 14:49

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

Re: Один вопрос

d88,

0A8C: write_memory 0x630DEA size 2 value 0xE990 virtual_protect 1

Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#4413 01-12-2013 14:02

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

DK22Pac wrote:

d88,

0A8C: write_memory 0x630DEA size 2 value 0xE990 virtual_protect 1

Нет, надо чтобы кровь не текла у определённого педа и чтобы кровавых следов тоже не было.

Ещё пара вопросов:
1. Можно ли установить педу голос? Вообще-то голоса прописаны в peds.ide для каждого id педа, но походку же можно изменить скриптом, так может, и голос тоже?
2. Есть ли способ поменять угол поворота у объекта, если он прикреплён к кости? Я пробовал в опкоде 070A: менять седьмой параметр, но, похоже, там только два варианта поворота, и не те, что надо.

Last edited by d88 (01-12-2013 14:03)

Offline

#4414 05-12-2013 14:52

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

d88 wrote:

2. Есть ли способ поменять угол поворота у объекта, если он прикреплён к кости? Я пробовал в опкоде 070A: менять седьмой параметр, но, похоже, там только два варианта поворота, и не те, что надо

Нет, менять угол крепления нельзя.


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4415 06-12-2013 16:28

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

Re: Один вопрос

Нет, надо чтобы кровь не текла у определённого педа и чтобы кровавых следов тоже не было.

Такого поля в структуре педа нет, так что надо писать инжект в это место и сверять педов.


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

#4416 14-12-2013 17:13

Deshefrator
Registered: 14-12-2013
Posts: 4

Re: Один вопрос

Пробую создать миссию в васе, но уже есть странная проблема... Когда игра доходит до create_thread @PINCAR - вылетает ошибка... В чем может бы ть проблема? Раньше с таким не сталкивался.

//-------------Mission 1---------------

:MIS1
03A4: name_thread 'MIS1' 
0050: gosub @MIS1_57 
00D6: if 
0112:   wasted_or_busted 
004D: jump_if_false @MIS1_37 
0050: gosub @PINCAR_78 

:MIS1_37
0050: gosub @MIS1_46 
004E: end_thread 

:MIS1_46
0004: $1399 = 0 // integer values 
00D8: mission_cleanup 
0051: return 

:MIS1_57
0004: $1399 = 1 // integer values 
0247: request_model #PCJ600 
0247: request_model #BARRACKS 
0247: request_model #MAVERICK 
038B: load_requested_models 
0001: wait 100 ms 
00D6: if or
0248:   model #PCJ600 available 
0248:   model #BARRACKS available 
0248:   model #MAVERICK available 
004D: jump_if_false @MIS1_57 
00A5: $2140 = create_car #PCJ600 at 305.4366 267.688 16.2197 
0186: $2139 = create_marker_above_car $2140 
0229: set_car $2140 color_to 1 1 
016A: fade 1 2000 ms 
0001: wait 2000 ms 
[b]004F: create_thread @PINCAR [/b] 

:MIS1_171
0001: wait 1000 ms 
02A7: $223 = create_icon_marker_and_sphere 23 at 310.1116 304.3421 18.0921 
0002: jump @MIS1_171 

:PINCAR
03A4: name_thread 'PINCAR' 

:PINCAR_10
0001: wait 0 ms 
00D6: if 
0442:   player $2 in_car $2140 
004D: jump_if_false @PINCAR_10 
0164: disable_marker $2139 

:PINCAR_38
0001: wait 0 ms 
00D6: if 
8442:   not player $2 in_car $2140 
004D: jump_if_false @PINCAR_38 
0186: $2139 = create_marker_above_car $2140 
0002: jump @PINCAR_10 
004E: end_thread 

:PINCAR_78
0001: wait 99999999 ms 
004E: end_thread

Offline

#4417 14-12-2013 20:09

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

Re: Один вопрос

@Deshefrator - все потоки (threads) нужно располагать ДО миссий. Эта часть скриптов называется майн. В нем находятся все потоки. В миссиях код потоков вставлять нельзя это приведет к ошибке

Offline

#4418 15-12-2013 10:00

Deshefrator
Registered: 14-12-2013
Posts: 4

Re: Один вопрос

Seemann, Не совсем понятно. Что значит до миссий? До потока 'MIS1'?

Offline

#4419 15-12-2013 10:38

Deshefrator
Registered: 14-12-2013
Posts: 4

Re: Один вопрос

А вот такой пример, в миссии создаются сразу несколько потоков:

:NONAME_5
03BC: $769 = create_sphere 369.444 -484.255 12.836 1.0 
03BC: $770 = create_sphere 367.767 -471.821 12.836 1.0 
03BC: $771 = create_sphere 360.833 -487.561 12.836 1.0 
03BC: $772 = create_sphere 369.002 -476.872 12.836 1.0 
03BC: $773 = create_sphere 377.34 -473.071 12.836 1.0 
03BC: $774 = create_sphere 380.841 -476.128 12.836 1.0 
create_thread @N1 
create_thread @N2 
create_thread @N3 
create_thread @P1 
create_thread @P2 
create_thread @C 
create_thread @NONAME_7 
create_thread @NONAME_8 
create_thread @K4 
end_thread 

:N1
thread 'N1' 
wait 200 
if 
00F8:   player $2 stopped 1 369.444 -484.255 12.836 radius 1.0 1.0 1.5 
else_jump @N1 
054C: use_GXT_table 'INTRO' 
00BC: text_highpriority 'INT1_B' 5000 ms 1  // Didn't think they'd ever let him out.
03BD: destroy_sphere $769 
end_thread 

:N2
thread 'N2' 
wait 200 
if 
00F8:   player $2 stopped 1 367.767 -471.821 12.836 radius 1.0 1.0 1.5 
else_jump @N2 
054C: use_GXT_table 'INTRO' 
00BC: text_highpriority 'INT1_B' 5000 ms 1  // Didn't think they'd ever let him out.
03BD: destroy_sphere $770 
end_thread 

:N3
thread 'N3' 
wait 200 
if 
00F8:   player $2 stopped 1 360.833 -487.561 12.836 radius 1.0 1.0 1.5 
else_jump @N3 
054C: use_GXT_table 'INTRO' 
00BC: text_highpriority 'INT1_B' 5000 ms 1  // Didn't think they'd ever let him out.
03BD: destroy_sphere $771 
$767 = 1 // integer values 
jump @K4_80

Last edited by Deshefrator (15-12-2013 10:39)

Offline

#4420 22-12-2013 22:17

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

Re: Один вопрос

@Deshefrator - рекомендую почитать цикл статей "Создание миссии" в справке Sanny Builder (F12->Статьи->Введение в скриптинг)

Offline

#4421 23-12-2013 15:15

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

02E0:   actor $PLAYER_ACTOR aggressive

Эта проверка срабатывает, как я понял, если актёр использует оружие. Но не сразу, а через некоторое время. Видимо, есть какой-то показатель агрессии, и когда он достигает какого-то значения, проверка срабатывает. Можно ли как-то изменять этот показатель? К примеру, чтобы он увеличивался, если актёр выполняет ещё за какие-то действия.

Offline

#4422 23-12-2013 15:32

Voron295
From: Каушаны
Registered: 06-12-2010
Posts: 425
Website

Re: Один вопрос

d88 wrote:
02E0:   actor $PLAYER_ACTOR aggressive

Эта проверка срабатывает, как я понял, если актёр использует оружие. Но не сразу, а через некоторое время. Видимо, есть какой-то показатель агрессии, и когда он достигает какого-то значения, проверка срабатывает. Можно ли как-то изменять этот показатель? К примеру, чтобы он увеличивался, если актёр выполняет ещё за какие-то действия.

Насколько я помню, у меня эта проверка срабатывала, когда игрок находится в агрессивной стойке (к примеру, после удара). Насчёт оружия не знаю.
Здесь идёт не показатель, а просто проверка состояния игрока.
Можно сделать показатель самому, отсчитывая, сколько, к примеру, игрок сделал ударов/убийств за определённый промежуток времени (к примеру за последнюю минуту).


Добро всегда побеждает зло. Кто победил, тот и добрый!
userbar.png

Offline

#4423 23-12-2013 15:46

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

Re: Один вопрос

В оригинале

02E0=IS_CHAR_SHOOTING

Offline

#4424 23-12-2013 20:40

RitrS
From: Downtown
Registered: 11-07-2013
Posts: 62
Website

Re: Один вопрос

Здравствуйте. Хотелось бы узнать есть ли проверка на то что игрок убил актера? Причем желательно что бы не определялся ближайший актер и проверялся его статус(мертв или нет) а что он был убит именно от рук нашего любимого CJ.

Offline

#4425 25-12-2013 23:51

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

Re: Один вопрос

Узнать, мёртв ли актёр, дальше

CPed +0x764 m_pLastEntityDamaged // CPed *

Сверить со структом игрока.

Last edited by DK22Pac (25-12-2013 23:51)


Plugin-SDK https://github.com/DK22Pac/plugin-sdk
Discord-сервер по plugin-sdk и программированию в GTA
RU https://discord.gg/QEesDGb
ENG https://discord.gg/zaVqFQv

Offline

Board footer

Powered by FluxBB