You are not logged in.
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Offline
Постоянно как я создаю актёров,у меня они плавают в воздухе и всегда их 2! (даже когда не плавают в воздухе,как это было в ВС).
В чём проблема?
create_thread @GOP :GOP thread 'GOP' wait 100 Model.Load(#WMYBMX) 038B: load_requested_models :GOP_21 wait 100 Model.Available(#WMYBMX) else_jump @GOP_21 $GOP2 = Actor.Create(CivMale, #WMYBMX, 2495.66, -1677.64, 13.5219)
Offline
Постоянно как я создаю актёров,у меня они плавают в воздухе и всегда их 2! (даже когда не плавают в воздухе,как это было в ВС).
В чём проблема?
Пример кода:
create_thread @GOP :GOP thread 'GOP' wait 100 Model.Load(#WMYBMX) 038B: load_requested_models :GOP_21 wait 100 Model.Available(#WMYBMX) else_jump @GOP_21 $GOP2 = Actor.Create(CivMale, #WMYBMX, 2495.66, -1677.64, 13.5219)
Offline
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Ахах. Как можно будет газовать если двигатель выключен.
Offline
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Ахах. Как можно будет газовать если двигатель выключен.
Offline
Нифига себе. Дабл-даблпост. У russkiy не только актёры двоятся 
Dr_Emmett_Brown_2011 wrote:Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Ахах. Как можно будет газовать если двигатель выключен.
Понятное дело, никак. Инерция.
Нашёл 2 опкода, не знаю как насчёт управления.
02D4: car 290@($7257,2i) turn_off_engine 0ABF: set_vehicle 0@ engine_state_to 0
Offline
Хотя бы подскажите, как уменьшить звук двигателя...
Offline
Хотя бы подскажите, как уменьшить звук двигателя...
0918: enable_car 34@ engine_sound 0
Offline
~AquaZ~, он глушит двигатель...
Offline
Тогда извращайся; захватывай нажатие кнопок вперед/назад/... и поворачивай/газуй если они нажаты.
Offline
Попробую... 
Теперь следующий вопрос: есть 3 опкода:
00A7: car 99@ drive_to 252@ 253@ 254@ 02C2: car 0@ drive_to 7@ 8@ 9@ 0704: car 17@ drive_to $X_BCE2_CHECKPOINTS(26@,85f) $Y_BCE2_CHECKPOINTS(26@,85f) $Z_BCE2_CHECKPOINTS(26@,85f)
Автомобиль находится в Las Vegas, а доехать надо до San Fierro, и при выполнении этих команд машина пытается проехать "напрямик", по дороге он не едет даже с опкодом "00AF: set_car 0@ driver_behaviour_to 1". Как заставить машину ехать по дороге?
Last edited by Dr_Emmett_Brown_2011 (24-10-2011 12:12)
Offline
Как дать актёру Cellphone?
Пытался дать как оружие,но игра вылитает.
Offline
Для этого есть опкод. Не помню названия. Поиск по слову: cellphone
Offline
@russkiy -
0729: AS_actor $PLAYER_ACTOR hold_cellphone 1
@Dr_Emmett_Brown_2011 - ищи на форуме, уже было и давно.
Offline
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Измени код .exe, чтобы можно было ездить с выключенным двигателем!
Offline
Вопрос №1: вылетает по непонятной мне причине, вот конец записи в SCMLog:
********************************************
thread time_tra
Local variables dump:
1 0 100 1010000 1200 1010000 1200 0 0 0 0 1154879004 -1006439718 1107966443 -2147483648 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
********************************************
00000019: 0006
get numeric params: 1
param 1 = 0
00000026: 0006
get numeric params: 1
param 1 = 5000
00000034: 0AB3
get numeric params: 2
param 1 = 815
param 2 = 0
00000041: 0A92
get numeric params: 1
param 1 = 1
00000054: 1900
*********************************
> Total opcodes: 65462
> Logging finished: 22:51:48
Powered by SCMLog v1.04
*********************************Откуда взялся опкод 1900? Я его не вставлял, и этот глюк появляется довольно часто, но не всегда...
Вопрос №2: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
Last edited by Dr_Emmett_Brown_2011 (27-10-2011 00:42)
Offline
Вопрос №2: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
можно, просто в цикле ставь какой-нибудь плоский объект с коллизией под авто, перед этим узнав уровень воды около игрока, т.е. будет выглядеть примерно так:
{$CLEO}
0000: NOP
while not player.Defined($PLAYER_CHAR)
wait 0
end
0@ = Object.Create(3095, 0.0, 0.0, 0.0)
0750: set_object 0@ visibility 0
while true
wait 0
if
actor.Driving($PLAYER_ACTOR)
then
03C0: 1@ = actor $PLAYER_ACTOR car
car.StorePos(1@, 2@, 3@, 4@)
092E: get_water_height_at 2@ 3@ flag 0 store_to 5@ // записываем уровень воды в месте, где находится авто
if
5@ > -100 // если воды поблизости нет, то в переменную 5@ возвращается большое отрицательное число
then
5@ -= 0.5 // на самом деле возвращается значение на полметра больше, чем надо, так что отнимаем...
object.PutAt(0@, 2@, 3@, 5@)
else
object.PutAt(0@, 0.0, 0.0, 0.0)
end
else
object.PutAt(0@, 0.0, 0.0, 0.0)
end
endНо таким образом будут неточности, ибо не учитываются волны...
Offline
Offline
Возможно-ли в принципе встроить в игру редактор реплеев? Такой же как в жта4 (кастомизация камеры например).
Offline
Вопрос №2: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
тут у меня есть старый скрипт для плавания по воде, как раз для этого случая -
thread 'seaways'
{$CLEO}
var
$PLAYER_ACTOR: Actor
$PLAYER_CHAR: Player
0@: Car
1@: Float
2@: Float
3@: Float
4@: Float
5@: Float
6@: Car
8@: Actor
13@: array 6 of Float
end
const
BOAT_MODEL=#DINGHY {#COASTG}
end
0A8C: write_memory 0x96918C size 1 value 0 virtual_protect 0
060A: create_decision_maker_type 0 store_to 12@
0708: reset_decision_maker 12@ event 13
0708: reset_decision_maker 12@ event 56
0708: reset_decision_maker 12@ event 0
0708: reset_decision_maker 12@ event 44
while true
if $PLAYER_CHAR.Defined
then
if and
$PLAYER_ACTOR.Driving
84A7: not actor $PLAYER_ACTOR driving_boat
then
03C0: 0@ = actor $PLAYER_ACTOR car
while $PLAYER_ACTOR.InCar(0@)
if 02bf: car 0@ sunk
then
// #launch
// #jetmax
//#COASTG
//#DINGHY
09B9: show_entered_car_name 0
Model.Load(BOAT_MODEL)
while not Model.Available(BOAT_MODEL)
wait 0
end
0@.StorePos(1@, 2@, 3@)
3@ -= 1.2
3@ -= 0.4
6@ = Car.Create(BOAT_MODEL, 1@, 2@, 3@)
Model.Destroy(BOAT_MODEL)
{0A97: 9@ = car 0@ struct
9@+=1145
0A8C: write_memory 9@ size 1 value 2 virtual_protect 0
9@+=1
0A8C: write_memory 9@ size 1 value 2 virtual_protect 0
9@+=1
0A8C: write_memory 9@ size 1 value 2 virtual_protect 0
9@+=1
0A8C: write_memory 9@ size 1 value 2 virtual_protect 0
}
0A97: 9@ = car 0@ struct
0A97: 10@ = car 6@ struct
9@+=20
10@+=20
0A8D: 9@ = read_memory 9@ size 4 virtual_protect 0
0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0
for 32@ = 0 to 14
0A8D: 11@ = read_memory 9@ size 4 virtual_protect 0
0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0
9@+=4
10@+=4
end
0A97: 9@ = car 0@ struct
0A97: 10@ = car 6@ struct
9@+=68
10@+=68
for 32@ = 1 to 6
0A8D: 11@ = read_memory 9@ size 4 virtual_protect 0
0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0
9@+=4
10@+=4
end
0338: set_car 6@ visibility 0
{0174: 4@ = car 0@ Z_angle
06BE: 5@ = car 0@ y_angle
0175: set_car 6@ Z_angle_to 4@
0731: set_car 6@ y_angle_to 5@}
// 0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 0.0 0.0 0.0
//09B9: show_entered_car_name 0
036a: put_actor $PLAYER_ACTOR in_car 6@
//09B9: show_entered_car_name 1
0683: attach_car 0@ to_car 6@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0
0852: set_car 6@ damages_visible 0
7@ = 0@.Health
6@.Health = 7@
0129: 8@ = create_actor_pedtype 23 model #NULL in_car 0@ driverseat
036A: put_actor 8@ in_car 0@
02ab: set_actor 8@ immunities BP 1 FP 1 EP 1 CP 1 MP 1
04D8: set_actor 8@ drowns_in_water 0
039e: set_actor 8@ locked 1 while_in_car
0526: set_actor 8@ stay_in_car 1
054A: set_actor 8@ immune_to_car_headshots 1
020A: set_car 0@ door_status_to 3
060B: set_actor 8@ decision_maker_to 12@
while true
if not $PLAYER_CHAR.Defined
then
Break
end
if not $PLAYER_ACTOR.InCar(6@)
then
Break
end
if 02BF: car 6@ sunk
then
32@ = 0
end
if and
82BF: not car 6@ sunk
32@ > 666 {ms}
then
// 32@ = 0
Break
end
if 8686: not car 0@ attached
then
0683: attach_car 0@ to_car 6@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0
end
7@ = 6@.Health
0@.Health = 7@
wait 0
end
end
wait 0
end
//065C: release_decision_maker 9@
if and
056E: car 6@ defined
056E: car 0@ defined
$PLAYER_CHAR.Defined
then
0A97: 9@ = car 6@ struct
9@+=68
for 31@ = 0 to 5
0A8D: 13@[31@] = read_memory 9@ size 4 virtual_protect 0
9@+=4
end
020A: set_car 0@ door_status_to 0
0684: detach_car 0@ 0.0 0.0 0.0 collision_detection 1
0A97: 9@ = car 6@ struct
0A97: 10@ = car 0@ struct
9@+=20
10@+=20
0A8D: 9@ = read_memory 9@ size 4 virtual_protect 0
0A8D: 10@ = read_memory 10@ size 4 virtual_protect 0
for 32@ = 0 to 14
0A8D: 11@ = read_memory 9@ size 4 virtual_protect 0
0A8C: write_memory 10@ size 4 value 11@ virtual_protect 0
9@+=4
10@+=4
end
if //and
80E1: not player 0 pressed_key 15
// 02BF: car 0@ sunk
then
// 0362: remove_actor $PLAYER_ACTOR from_car_and_place_at 0.0 0.0 0.0
036a: put_actor $PLAYER_ACTOR in_car 0@
end
0A97: 10@ = car 0@ struct
10@+=68
for 31@ = 0 to 5
0A8C: write_memory 10@ size 4 value 13@[31@] virtual_protect 0
10@+=4
end
end
if 056E: car 6@ defined
then
6@.Destroy
if 056D: actor 8@ defined
then
8@.DestroyInstantly
end
end
0@.RemoveReferences
wait 0
09B9: show_entered_car_name 1
end
end
wait 0
end
Last edited by VcSaJen (28-10-2011 12:41)
[small][/small]
Offline
Sw[ee]t, VcSaJen, спасибо. Попробую оба варианта... 
Offline
Часть кода, вызывающий машину и запускающий скрипт:
00D6: if and 0AB0: key_pressed 50 0AB0: key_pressed 98 004D: jump_if_false @SPAWN_310 0006: 10@ = 541 0247: load_model 10@ 038B: load_requested_models :SPAWN_94 0001: wait 10 ms 0256: player $PLAYER_CHAR defined 004D: jump_if_false @SPAWN_94 0248: model 10@ available 004D: jump_if_false @SPAWN_94 04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0 0172: 4@ = actor $PLAYER_ACTOR Z_angle 00A5: 0@ = create_car 10@ at 1@ 2@ 3@ 0175: set_car 0@ Z_angle_to 4@ 02AC: set_car 0@ immunities BP 0 FP 0 EP 0 CP 1 MP 1 036A: put_actor $PLAYER_ACTOR in_car 0@ 0AB4: 5@ = var 807 00BF: 6@ = current_time_hours, 7@ = current_time_minutes 0012: 6@ *= 100 005A: 6@ += 7@ // (int) 0A92: create_custom_thread "TIMETRAVEL.S" 0@ 1 2 5@ 0 5@ 6@ 0 0 0 0 1@ 2@ 3@ 4@ 0249: release_model 10@ 0001: wait 500 ms 0002: jump @SPAWN_11
Часть кода загружаемого скрипта:
03A4: name_thread 'TIME_TRAVEL' 0006: 32@ = 0 0006: 33@ = 5000 0AB3: var 815 = 0 0A92: create_custom_thread "DOOR.S" 0@ //после этого опкода иногда появляется ошибка 0119: car 0@ wrecked 004D: jump_if_false @TIME_TRAVEL_297 0AB4: 30@ = var 814 0039: 30@ == 0 004D: jump_if_false @TIME_TRAVEL_193 0107: 30@ = create_object 18641 at 11@ 12@ 13@
А вот 2 пример:
Скрипт №1:
03A4: name_thread 'KITT_SCAN_ON' :KITT_SCAN_ON_19 0001: wait 0 ms 0256: player $PLAYER_CHAR defined 004D: jump_if_false @KITT_SCAN_ON_19 00D6: if or 00DD: actor $PLAYER_ACTOR driving_car_with_model #REGINA 00DD: actor $PLAYER_ACTOR driving_car_with_model #BFINJECT 00DD: actor $PLAYER_ACTOR driving_car_with_model #SOLAIR 004D: jump_if_false @KITT_SCAN_ON_19 0AB4: 1@ = var 800 0039: 1@ == 0 004D: jump_if_false @KITT_SCAN_ON_19 8241: not player $PLAYER_CHAR in_remote_mode 004D: jump_if_false @KITT_SCAN_ON_19 :KITT_SCAN_ON_104 0001: wait 10 ms // иногда тут вылетает 0256: player $PLAYER_CHAR defined 004D: jump_if_false @KITT_SCAN_ON_104 00D6: if or 00DD: actor $PLAYER_ACTOR driving_car_with_model #REGINA 00DD: actor $PLAYER_ACTOR driving_car_with_model #BFINJECT 00DD: actor $PLAYER_ACTOR driving_car_with_model #SOLAIR 004D: jump_if_false @KITT_SCAN_ON_19 03C0: 0@ = actor $PLAYER_ACTOR car 0AB4: 1@ = var 700 803B: not 0@ == 1@ // (int) 004D: jump_if_false @KITT_SCAN_ON_19 :KITT_SCAN_ON_186 0001: wait 10 ms // иногда тут вылетает 0256: player $PLAYER_CHAR defined 004D: jump_if_false @KITT_SCAN_ON_186 00D6: if or 00DD: actor $PLAYER_ACTOR driving_car_with_model #REGINA 00DD: actor $PLAYER_ACTOR driving_car_with_model #BFINJECT 00DD: actor $PLAYER_ACTOR driving_car_with_model #SOLAIR 004D: jump_if_false @KITT_SCAN_ON_19 03C0: 0@ = actor $PLAYER_ACTOR car 0AB4: 1@ = var 700 803B: not 0@ == 1@ // (int) 004D: jump_if_false @KITT_SCAN_ON_19 0A92: create_custom_thread "KITT_SCANNER.S" 0@ 0002: jump @KITT_SCAN_ON_19
А вот часть скрипта, вызванный предыдущим скриптом:
03A4: name_thread 'KITT_SCANER' // Вылетает сразу до этого опкода, происходит не всегда 22@ = 150 31@ = 106.0 gosub @CAR_WRECKED 0039: 2@ == 1 004D: jump_if_false @KITT_SKANER_81 0006: 25@ = 1 :KITT_SKANER_81 0227: 18@ = car 0@ health 8137: not car 0@ model == 424 004D: jump_if_false @KITT_SKANER_113 0006: 3@ = -0.05 0002: jump @KITT_SKANER_123 :KITT_SKANER_113 0006: 3@ = 0.025 :KITT_SKANER_123 0001: wait 0 ms 0256: player $PLAYER_CHAR defined 004D: jump_if_false @KITT_SKANER_123 gosub @CAR_WRECKED 0AB4: 1@ = var 800 0039: 1@ == 0 004D: jump_if_false @KITT_SKANER_123 gosub @IMMUNITETS gosub @AUTO_CRUISE_INDICATION 0050: gosub @SKANNER 0050: gosub @KITT_SKANER_6224 0050: gosub @KITT_SKANER_6978 00DB: actor $PLAYER_ACTOR in_car 0@ 004D: jump_if_false @KITT_SKANER_3698 jump @01
Вот два примера...
Last edited by Dr_Emmett_Brown_2011 (28-10-2011 15:04)
Offline