#1 16-08-2016 19:03

DMITRY_R
Registered: 13-06-2016
Posts: 10

Searchlight на игрока. (Или освещение для скафандра)

Доброго времени суток.
Первая и основная проблема:

Хочу сделать освещение на скафандре.
Первое что пришло в голову это:

06B1: 383@($7257,6i) = create_searchlight_at 0.0 0.0 0.0 radius 0.0 target 0.0 0.0 0.0 radius 0.0

Ну и этот опкод, что бы выводить координаты игрока:

04C4: store_coords_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 from_actor 215@ with_offset 1.0 3.0 1.0

Но, что бы луч был приаттачен к игроку. Приходится постоянно удалять и создавать луч заново. Иначе он останется там где и появился вместе с игроком. И это вызывает постоянное мерцание луча соответственно, и прочие артефакты.

Вторая проблема:
Хоть луч и выглядит красиво, но нужно осветить и самого игрока.
Создать невидимый объект с 2dfx и приделать к игроку. Будет ли это функционировать?

Хотел попытаться реализовать что то типо этого: тык (Игрок в свете фар от марсохода)

Прошу помощи.

Offline

#2 17-08-2016 17:41

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

Re: Searchlight на игрока. (Или освещение для скафандра)


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

Offline

#3 17-08-2016 18:32

DMITRY_R
Registered: 13-06-2016
Posts: 10

Re: Searchlight на игрока. (Или освещение для скафандра)

Опкод ничего не дает. Вообще ничего.

Offline

#4 17-08-2016 20:36

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Searchlight на игрока. (Или освещение для скафандра)

DMITRY_R wrote:

Опкод ничего не дает. Вообще ничего.

Его нужно рисовать в цикле, например:

while true
wait 0
// use opcode
end

кстати, интересная идея с Марсом! мне понравилось, но пока он сыроват, нужно много ещё доделать.

Last edited by wmysterio (17-08-2016 20:41)

Offline

#5 17-08-2016 21:34

DMITRY_R
Registered: 13-06-2016
Posts: 10

Re: Searchlight на игрока. (Или освещение для скафандра)

wmysterio wrote:
DMITRY_R wrote:

Опкод ничего не дает. Вообще ничего.

Его нужно рисовать в цикле, например:

while true
wait 0
// use opcode
end

кстати, интересная идея с Марсом! мне понравилось, но пока он сыроват, нужно много ещё доделать.

Благодарю. Отлично. Закрепил с оффсетом 1 метр спереди от игрка. Поставил радиус 5 метров.
Освещает как надо. И марсоход освещается когда подходишь к нему. good Но вот что делать с лучом?
Нужно же землю осветить.

Last edited by DMITRY_R (17-08-2016 21:35)

Offline

#6 18-08-2016 00:57

wmysterio
Registered: 04-03-2011
Posts: 215
Website

Re: Searchlight на игрока. (Или освещение для скафандра)

А что мешает Вам прицепить луч к объекту а объект к игроку?

{$CLEO}
thread 'SEARCHLIGHT'

:SEARCHLIGHT_START     
wait 0
if
0256:   player $PLAYER_CHAR defined
jf @SEARCHLIGHT_START
0247: load_model 1240
038B: load_requested_models
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0  
0107: 10@ = create_object 1240 at 1@ 2@ 3@
0382: set_object 10@ collision_detection 0
0750: set_object 10@ visibility 0
0249: release_model 1240

:SEARCHLIGHT_GENERATE 
wait 0
if
0256:   player $PLAYER_CHAR defined
jf @SEARCHLIGHT_GENERATE  
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0  
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
06B1: 0@ = create_searchlight_at 1@ 2@ 3@ radius 5.0 target 4@ 5@ 6@ radius 5.0
06CA: attach_searchlight 0@ to_tower 10@ to_housing 10@ to_bulb 10@ with_offset 0.0 0.0 0.0  
069B: attach_object 10@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0 rotation 0.0 0.0 0.0
06B6: set_searchlight 0@ follow_actor $PLAYER_ACTOR speed 10.0

:SEARCHLIGHT_LOOP 
wait 0
if or
8256:   not player $PLAYER_CHAR defined
86B3:   not searchlight 0@ active
then
jump @SEARCHLIGHT_END
end
jump @SEARCHLIGHT_LOOP 
    
:SEARCHLIGHT_END    
06B2: destroy_searchlight 0@ 
0108: destroy_object 10@
jump @SEARCHLIGHT_START

Смещения координат и радиус уже сами выставляйте. Если помогло, то упомяните мой никнейм wmysterio в проекте.

Last edited by wmysterio (18-08-2016 01:20)

Offline

#7 18-08-2016 15:42

DMITRY_R
Registered: 13-06-2016
Posts: 10

Re: Searchlight на игрока. (Или освещение для скафандра)

wmysterio wrote:

А что мешает Вам прицепить луч к объекту а объект к игроку?

{$CLEO}
thread 'SEARCHLIGHT'

:SEARCHLIGHT_START     
wait 0
if
0256:   player $PLAYER_CHAR defined
jf @SEARCHLIGHT_START
0247: load_model 1240
038B: load_requested_models
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0  
0107: 10@ = create_object 1240 at 1@ 2@ 3@
0382: set_object 10@ collision_detection 0
0750: set_object 10@ visibility 0
0249: release_model 1240

:SEARCHLIGHT_GENERATE 
wait 0
if
0256:   player $PLAYER_CHAR defined
jf @SEARCHLIGHT_GENERATE  
04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0  
04C4: store_coords_to 4@ 5@ 6@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
06B1: 0@ = create_searchlight_at 1@ 2@ 3@ radius 5.0 target 4@ 5@ 6@ radius 5.0
06CA: attach_searchlight 0@ to_tower 10@ to_housing 10@ to_bulb 10@ with_offset 0.0 0.0 0.0  
069B: attach_object 10@ to_actor $PLAYER_ACTOR with_offset 0.0 0.0 15.0 rotation 0.0 0.0 0.0
06B6: set_searchlight 0@ follow_actor $PLAYER_ACTOR speed 10.0

:SEARCHLIGHT_LOOP 
wait 0
if or
8256:   not player $PLAYER_CHAR defined
86B3:   not searchlight 0@ active
then
jump @SEARCHLIGHT_END
end
jump @SEARCHLIGHT_LOOP 
    
:SEARCHLIGHT_END    
06B2: destroy_searchlight 0@ 
0108: destroy_object 10@
jump @SEARCHLIGHT_START

Смещения координат и радиус уже сами выставляйте. Если помогло, то упомяните мой никнейм wmysterio в проекте.

К сожалению не работает. Ладно обойдусь без освещения.
Но все равно спасибо.

Last edited by DMITRY_R (18-08-2016 15:43)

Offline

#8 18-08-2016 16:22

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

Re: Searchlight на игрока. (Или освещение для скафандра)

"Луч" - это просто лоу-поли меш с прозрачностью. Он ничего не освещает.
Для имитации освещения надо вызывать 09E5 и 016F.


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