You are not logged in.
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Offline
Постоянно как я создаю актёров,у меня они плавают в воздухе и всегда их 2! (даже когда не плавают в воздухе,как это было в ВС).
В чём проблема?
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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! (даже когда не плавают в воздухе,как это было в ВС).
В чём проблема?
Пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 опкода, не знаю как насчёт управления.
1 2 | 02D4: car 290@ ( $7257 ,2i) turn_off_engine 0ABF: set_vehicle 0@ engine_state_to 0 |
Offline
Хотя бы подскажите, как уменьшить звук двигателя...
Offline
Хотя бы подскажите, как уменьшить звук двигателя...
1 | 0918: enable_car 34@ engine_sound 0 |
Offline
~AquaZ~, он глушит двигатель...
Offline
Тогда извращайся; захватывай нажатие кнопок вперед/назад/... и поворачивай/газуй если они нажаты.
Offline
Попробую...
Теперь следующий вопрос: есть 3 опкода:
1 2 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 -
1 | 0729: AS_actor $PLAYER_ACTOR hold_cellphone 1 |
@Dr_Emmett_Brown_2011 - ищи на форуме, уже было и давно.
Offline
Можно ли как - нибудь выключить двигатель, не выключая управления (то есть, можно газовать, тормозить, поворачивать...)?
Измени код .exe, чтобы можно было ездить с выключенным двигателем!
Offline
Вопрос №1: вылетает по непонятной мне причине, вот конец записи в SCMLog:
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 | ******************************************** 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: 0AB 3 get numeric params: 2 param 1 = 815 param 2 = 0 00000041: 0A 92 get numeric params: 1 param 1 = 1 00000054: 1900 ********************************* > Total opcodes: 65462 > Logging finished: 22 :51 :48 Powered by SCMLog v 1.04 ********************************* |
Откуда взялся опкод 1900? Я его не вставлял, и этот глюк появляется довольно часто, но не всегда...
Вопрос №2: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
Last edited by Dr_Emmett_Brown_2011 (27-10-2011 00:42)
Offline
Вопрос №2: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
можно, просто в цикле ставь какой-нибудь плоский объект с коллизией под авто, перед этим узнав уровень воды около игрока, т.е. будет выглядеть примерно так:
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 | { $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: Можно ли как - нибудь разрешить плавать ТОЛЬКО ОДНОМУ АВТОМОБИЛЮ, и чтобы у него колёса "не раскладывались"?
тут у меня есть старый скрипт для плавания по воде, как раз для этого случая -
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 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 | 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
Часть кода, вызывающий машину и запускающий скрипт:
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 | 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 |
Часть кода загружаемого скрипта:
1 2 3 4 5 6 7 8 9 10 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:
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 | 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 |
А вот часть скрипта, вызванный предыдущим скриптом:
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 | 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