You are not logged in.
В этом спидометре такой проблемы нет
ну что ж я буду чужим пользоваться, когда свой есть? ладно, забей. может сам найду
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 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 | create_thread @TURRETCOP :TURRETCOP wait 100 model.Load( #TEC9 ) model.Load( #SFPD1 ) 038B: load_requested_models :TURRETCOP2 wait 300 if and model.Available( #TEC9 ) model.Available( #SFPD1 ) Player.WantedLevel( $PLAYER_CHAR ) > 1 jf @TURRETCOP2 03C0: 3@ = actor $PLAYER_ACTOR car :TURRETCOP3 var //$x1 :float // ?? ??????????? //$x2 :float // ?.?. ??? ?? ???????????? //$y1 :float // ? ?????????????? //$y2 :float // ?????????? //$z1_no :float //$z2_no :float $step : integer = 1 $copcar : array 100 of car end :TURRETMODE while true wait 2000 04C4: create_coordinate $x1 $y1 $z1_no from_actor $PLAYER_ACTOR offset 500.0 500.0 0.0 04C4: create_coordinate $x2 $y2 $z1_no from_actor $PLAYER_ACTOR offset - 500.0 - 500.0 0.0 1@ = - 1 053E: 1@ = get_random_car_with_actors - 1 in_area $x1 $y1 $x2 $y2 if 1@ <> - 1 then if Car.Id( 1@ ) == #COPBIKE then :TURRETMODE2 wait 1000 01C8: 2@ = create_actor_pedtype 6 model #SFPD1 in_car 1@ passenger_seat 0 01B2: give_actor 2@ weapon 32 ammo 99999 Actor.WeaponAccuracy( 2@ ) = 90 0713: actor 2@ drive_by actor $PLAYER_ACTOR car 3@ point 0.0 0.0 0.0 radius 200.0 8 1 firing_rate 60 return :TURRETMODEREFERENCE wait 100 Actor.RemoveReferences( 2@ ) end end jump @TURRETCOP |
Offline
какая может быть ошибка в этом скрипте?
А что, это типа работало O_o ??? У тебя один ляп за другим.
Вот примерно так надо.
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 | :start while true if 010F: player $PLAYER_CHAR wanted_level > 1 then model.Load( #TEC9 ) model.Load( #SFPD1 ) 038B: load_requested_models :cont if and Model.Available( #TEC9 ) Model.Available( #SFPD1 ) then :create_and_set 04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 200.0 200.0 0.0 04C4: create_coordinate 4@ 5@ 3@ from_actor $PLAYER_ACTOR offset - 200.0 - 200.0 0.0 053E: 6@ = get_random_car_with_actors - 1 in_area 1@ 2@ 4@ 5@ if Car.Id( 6@ ) == #COPBIKE then 01C8: 7@ = create_actor_pedtype 6 model #SFPD1 in_car 6@ passenger_seat 0 01B2: give_actor 7@ weapon 32 ammo 99999 Actor.WeaponAccuracy( 7@ ) = 90 gosub @plahavecar 0713: actor 7@ drive_by actor $PLAYER_ACTOR car 8@ point 0.0 0.0 0.0 radius 200.0 8 1 firing_rate 60 // дальше надо либо искать другую машину и проверять, что бы она не была равна 6@, // либо продолжать код дальше. в противном случае его надо завершить. 004E: end_thread end goto @create_and_set end goto @cont end end :plahavecar if Actor.Driving( $PLAYER_ACTOR ) then 0811: 8@ = actor $PLAYER_ACTOR car // versionC return else 8@ = - 1 return end |
Offline
:plahavecar
if
Actor.Driving($PLAYER_ACTOR)
then
0811: 8@ = actor $PLAYER_ACTOR car // versionC
return
else
8@ = -1
return
end
эту часть надо заменить на
1 2 3 4 5 6 7 8 9 | :plahavecar if Actor.Driving( $PLAYER_ACTOR ) then 03C0: 8@ = actor $PLAYER_ACTOR car else 8@ = - 1 end return |
Используйте только 03С0 для получения хэндла машины.
Модели нужно загружать непосредственно перед созданием оружия
Для поиска машины подошел бы Interceptor.
Offline
Используйте только 03С0 для получения хэндла машины.
вопрос - почему? в чем отличие? вроде еще есть какой-то третий опкод на получение хендла(если есть, то чем он отличается?)?
Offline
вопрос - почему? в чем отличие? вроде еще есть какой-то третий опкод на получение хендла(если есть, то чем он отличается?)?
00D9, 0A33, 0811. Все, кроме 03С0, ставят получение хэндла в зависимость от различных условий (текущий таск (Task) актера, его флаги и т.д.). 03С0 гарантированно возвращает хендл машины.
Offline
хмм, спасибо.. и зачем, интересно, они тогда нужны, эти опкоды, которые не гарантируют получение хэндла? веть наверняка не просто так...
Offline
FlashTrash,
А что если не морочиться и записать пасссажира-копа в хэндл?
0432: $Act = get actor handle from car $Car passenger 0
и заставить его палить по актеру?
Я пробовал но он не хочет.
ну прально не хочет, он же не пасажир.
1 | 046C: 125@ = car 42@ driver |
Offline
Кхм, кхм.
Вскрывать чужие технологии я не намерен.
Опкод создания нашел, но хорошо бы узнать типы роадблоков.
04C0: create_roadblock_in_area_cornerA 2336.63 -1548.68 23.99 cornerB 2347.01 -1548.37 23.68 type 1
Координаты это как и police_trigger видимо противоположные углы прямоугольника?
Last edited by Agenzvell (01-12-2007 04:17)
Offline
Координаты это как и police_trigger видимо противоположные углы прямоугольника?
да.
хорошо бы узнать типы роадблоков.
их там всего два. 0 - это каркас машины, 1 - это барьер с двумя ментами по бокам, если мне не изменяет память.
Offline
2Agenzvell:
Перед применением
1 | 04C0: create_roadblock_in_area_cornerA 2336.63 - 1548.68 23.99 cornerB 2347.01 - 1548.37 23.68 type 1 |
IMHO, нужно отключать движение по прилегающим путям, типа:
1 | 01E8: create_forbidden_for_cars_cube 2336.63 - 1548.68 23.99 2347.01 - 1548.37 23.68 |
Ну и наверное, после всего - всё назад восстанавливать:
1 2 | 04C1: remove_references_to_roadblocks 01E7: remove_forbidden_for_cars_cube 2336.63 - 1548.68 1.0 2347.01 - 1548.37 5.0 |
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
2Agenzvell. это шутка, да? заменить транспорт на здание...
Offline
У меня несколько вопросов:
1) Как отключить прыжок у игрока?
2) Как отключить спринт у игрока?
3) Когда игрок падает, или там например когда в него стреляют, воспроизводятся звуки (ор, визги например , как выключить эти звуки чтобы он вообще молчал? вроде бы есть такой опкод, но я не нашел.
Offline
1. 2. Можно отключить соответствующие кнопки.
3. Зашито в ехе.
Offline
ок, только как их отключить?
Offline
2Sub:
1) Как отключить прыжок у игрока?
1 | 0901: set_player $PLAYER_CHAR jump_disabled 1 |
2) Как отключить спринт у игрока?
1 | 06AF: set_player $PLAYER_CHAR sprint 1 ;; 0 (enabled)/ 1 (disabled) |
3) Когда игрок падает, или там например когда в него стреляют, воспроизводятся звуки (ор, визги например , как выключить эти звуки чтобы он вообще молчал? вроде бы есть такой опкод, но я не нашел.
Возможно (не уверен):
1 | 0A09: set_actor $PLAYER_ACTOR muted 1 |
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Еще есть опкод отключающий любую клавишу:
1 | 07CC: set_player $PLAYER_CHAR button_ 15 0 |
Offline