You are not logged in.
В этом спидометре такой проблемы нет
ну что ж я буду чужим пользоваться, когда свой есть? ладно, забей. может сам найду
Offline
какая может быть ошибка в этом скрипте?
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 ??? У тебя один ляп за другим.
Вот примерно так надо.
: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
эту часть надо заменить на
: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
и заставить его палить по актеру?
Я пробовал но он не хочет.
ну прально не хочет, он же не пасажир.
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:
Перед применением
04C0: create_roadblock_in_area_cornerA 2336.63 -1548.68 23.99 cornerB 2347.01 -1548.37 23.68 type 1
IMHO, нужно отключать движение по прилегающим путям, типа:
01E8: create_forbidden_for_cars_cube 2336.63 -1548.68 23.99 2347.01 -1548.37 23.68
Ну и наверное, после всего - всё назад восстанавливать:
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) Как отключить прыжок у игрока?
0901: set_player $PLAYER_CHAR jump_disabled 1
2) Как отключить спринт у игрока?
06AF: set_player $PLAYER_CHAR sprint 1 ;; 0 (enabled)/ 1 (disabled)
3) Когда игрок падает, или там например когда в него стреляют, воспроизводятся звуки (ор, визги например , как выключить эти звуки чтобы он вообще молчал? вроде бы есть такой опкод, но я не нашел.
Возможно (не уверен):
0A09: set_actor $PLAYER_ACTOR muted 1
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Еще есть опкод отключающий любую клавишу:
07CC: set_player $PLAYER_CHAR button_15 0
Offline