#3901 22-10-2011 10:16

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

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

Sw[ee wrote:

t]Не знаю как ворон...

Ну я как раз сейчас на стадии изучения, сижу на ютубе, смотрю видеоуроки...


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

Offline

#3902 23-10-2011 05:47

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?

Offline

#3903 23-10-2011 07:30

russkiy
Registered: 02-08-2011
Posts: 41

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

Постоянно как я создаю актёров,у меня они плавают в воздухе и всегда их 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

#3904 23-10-2011 07:32

russkiy
Registered: 02-08-2011
Posts: 41

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

Постоянно как я создаю актёров,у меня они плавают в воздухе и всегда их 2! (даже когда не плавают в  воздухе,как это было в ВС).
В чём проблема?
5952065.jpg
Пример кода:

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

#3905 23-10-2011 08:00

444andrei444
Registered: 29-03-2011
Posts: 317
Website

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

Dr_Emmett_Brown_2011 wrote:

Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?

Ахах. Как можно будет газовать если двигатель выключен.

Offline

#3906 23-10-2011 08:00

444andrei444
Registered: 29-03-2011
Posts: 317
Website

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

Dr_Emmett_Brown_2011 wrote:

Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?

Ахах. Как можно будет газовать если двигатель выключен.

Offline

#3907 23-10-2011 08:44

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Нифига себе. Дабл-даблпост. У russkiy не только актёры двоятся smile

444andrei444 wrote:
Dr_Emmett_Brown_2011 wrote:

Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?

Ахах. Как можно будет газовать если двигатель выключен.

Понятное дело, никак. Инерция.
Нашёл 2 опкода, не знаю как насчёт управления.

02D4: car 290@($7257,2i) turn_off_engine 
0ABF: set_vehicle 0@ engine_state_to 0

Offline

#3908 23-10-2011 09:01

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Хотя бы подскажите, как уменьшить звук двигателя...

Offline

#3909 23-10-2011 09:19

~AquaZ~
Registered: 01-03-2010
Posts: 726

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

Dr_Emmett_Brown_2011 wrote:

Хотя бы подскажите, как уменьшить звук двигателя...

0918: enable_car 34@ engine_sound 0

Offline

#3910 23-10-2011 09:26

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

~AquaZ~, он глушит двигатель...

Offline

#3911 23-10-2011 09:41

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

Тогда извращайся; захватывай нажатие кнопок вперед/назад/... и поворачивай/газуй если они нажаты.

Offline

#3912 23-10-2011 10:11

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Попробую... grin
Теперь следующий вопрос: есть 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

#3913 24-10-2011 13:14

russkiy
Registered: 02-08-2011
Posts: 41

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

Как дать актёру Cellphone?

Пытался дать как оружие,но игра вылитает.

Offline

#3914 24-10-2011 13:41

444andrei444
Registered: 29-03-2011
Posts: 317
Website

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

Для этого есть опкод. Не помню названия. Поиск по слову: cellphone

Offline

#3915 24-10-2011 14:06

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

@russkiy -

0729: AS_actor $PLAYER_ACTOR hold_cellphone 1

@Dr_Emmett_Brown_2011 - ищи на форуме, уже было и давно.

Offline

#3916 24-10-2011 14:16

Jack Daniel's
Registered: 05-07-2011
Posts: 211

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

Dr_Emmett_Brown_2011 wrote:

Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?

Измени код .exe, чтобы можно было ездить с выключенным двигателем!

Offline

#3917 24-10-2011 14:54

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Вопрос №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

#3918 27-10-2011 20:37

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

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

Dr_Emmett_Brown_2011 wrote:

Вопрос №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

Но таким образом будут неточности, ибо не учитываются волны...


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

Offline

#3919 28-10-2011 09:44

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

и как же ездить? машина будет просто стоять на месте

Offline

#3920 28-10-2011 09:50

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

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

Возможно-ли в принципе встроить в игру редактор реплеев? Такой же как в жта4 (кастомизация камеры например).

Offline

#3921 28-10-2011 12:37

VcSaJen
Registered: 25-08-2006
Posts: 217

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

Dr_Emmett_Brown_2011 wrote:

Вопрос №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

#3922 28-10-2011 13:12

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Sw[ee]t, VcSaJen, спасибо. Попробую оба варианта... smile

Offline

#3923 28-10-2011 13:21

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

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

Sw[ee wrote:

t]кастомизация камеры например

Я собираюсь этим заняться, а вот насчёт реплеев незнаю... тут всё достаточно сложно...


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

Offline

#3924 28-10-2011 14:53

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

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

@Dr_Emmett_Brown_2011
Покажи опкод 0A92 (интересует параметр) и опкод, который идёт за ним.

Offline

#3925 28-10-2011 15:03

Dr_Emmett_Brown_2011
Registered: 28-04-2011
Posts: 80

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

Часть кода, вызывающий машину и запускающий скрипт:

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

Board footer

Powered by FluxBB